Commit Graph

1103 Commits

Author SHA1 Message Date
Volker Ruppert
3c4b32f9a4 - splitted image headers from hard drive header (TODO: split emulation and image
code for non-IDE interfaces)
- fixed bximage error messages
2005-11-06 11:07:01 +00:00
Volker Ruppert
9e57072f28 - ATAPI command "read subchannel format 2" now returns "UPC not recorded"
- changed bool types to bx_bool, false and true to 0 and 1
- some indent mode fixes
2005-11-06 08:21:38 +00:00
Volker Ruppert
82d009c632 - some more usb fixes by Ben Lunt
- missing interrupt on resume added
2005-11-05 12:57:18 +00:00
Volker Ruppert
355e656dd5 - ATAPI command 'read cd': Packet-DMA and raw read support added 2005-11-04 19:03:46 +00:00
Volker Ruppert
5109a7e679 - fixed toc size returned by IOCTL_CDROM_READ_TOC_EX using the size field of toc data
- prepared read_block() function for block size 2352
- report block number at cdrom read block panic
2005-11-02 20:26:24 +00:00
Volker Ruppert
fbd3bc709c - missing closing bracket added 2005-11-02 16:44:00 +00:00
Volker Ruppert
107d68f385 - fixed capacity function on Windows XP using IOCTL_DISK_GET_LENGTH_INFO 2005-11-01 21:43:47 +00:00
Volker Ruppert
6d1e5d6d05 - SET FEATURES subcommands now returning success
- read raw toc for image files and platforms other than Windows XP implemented (ported from qemu)
- several cdrom capacity fixes / report capacity only on Bochs init and cdrom change
- flag 'using_file' must be set to 0 for WIN32 ASPI or direct access
- multisession format handling removed from harddrv.cc (now handled in cdrom code)
- ATAPI error messages improved
- prepared ATAPI buffer for block size 2352
2005-11-01 19:10:24 +00:00
Volker Ruppert
5addd3c8c6 - reply with NACK (resend) to unknown/unsupported keyboard mouse commands
- unnecessary return statements removed
- some messages changed
2005-10-31 15:32:18 +00:00
Volker Ruppert
71185561ad - IDE busmaster DMA for cdroms fixed and enabled
- more accurate DMA timing depending on the transfer size
2005-10-30 19:18:59 +00:00
Volker Ruppert
13bfb46cdc - IDE busmaster DMA for cdroms (packet DMA) prepared, but not enabled yet 2005-10-30 14:14:03 +00:00
Volker Ruppert
afd665f369 - some more usb fixes by Ben Lunt 2005-10-30 10:02:51 +00:00
Volker Ruppert
04d33f73fe - PCI IDE busmaster DMA feature fixed and enabled (Win98 guest can use it without
errors, WinXP guest cannot enable it yet)
2005-10-29 12:35:01 +00:00
Volker Ruppert
0784eac61c - some fixes to usb support from SF patch #1340111 by Ben Lunt 2005-10-29 09:12:39 +00:00
Volker Ruppert
d7807a9841 - allocate vbe memory dynamicly (saves memory if extension Bochs VBE is not selected) 2005-10-27 17:53:41 +00:00
Volker Ruppert
2bbf61deed - read_block() now tries 3 times before giving up
- read_block() now returns a bx_bool value and panic moved to hard drive code
- insert_cdrom() now uses read_block() to test the media presence
- small code cleanups
2005-10-27 17:01:11 +00:00
Volker Ruppert
87e7dd3434 - don't allocate video memory if already done (this was wasting memory)
- don't init / reset Cirrus extension if disabled
- store last active BPP value independent from selected vga extension (fixes possible
  panic when switching from a Cirrus 640x480 mode to standard VGA)
2005-10-27 09:32:02 +00:00
Volker Ruppert
906062fb01 - load pcivga plugin only if assigned to a pci slot and Bochs VBE is selected 2005-10-27 08:20:16 +00:00
Volker Ruppert
7b8ed58815 - end-of-track (EOT) condition implemented
- set valid EOT value in BIOS floppy read/write functions
- added hack to make older Bochs BIOS version work with EOT feature
2005-10-27 07:38:20 +00:00
Stanislav Shwartsman
34ec2c532a Change BX_INFO to BX_DEBUG, it floods the log with a lots of messages 2005-10-23 20:42:20 +00:00
Volker Ruppert
d964eb58ad - the Bochs BIOS and the LGPL'd VGABIOS never cause a panic at line number 0 2005-10-23 13:23:49 +00:00
Volker Ruppert
ca3ccdc096 - fixed typos in manpages, user documentation and others
- clock sync setting "both" was missing in the docs
2005-10-23 07:17:01 +00:00
Volker Ruppert
36187fe1ba - fixed the slowdown timer sleep rate on platforms that don't support the usleep()
function. Now using the value 1 msec on all platforms.
- slowdown timer doesn't need the reset() function (it's not hardware)
2005-10-22 17:31:02 +00:00
Volker Ruppert
0a57b7360c - the polling initiated interrupt occurs 250 usec after leaving reset state
- the main status register returns 0 when in reset state
- improved a panic message
2005-10-09 17:58:37 +00:00
Volker Ruppert
6a290014f6 - ATAPI command 'read cd' partially implemented
- cdrom name returned by ATAPI command 'inquiry' changed
- some more indent mode fixes
2005-10-02 15:44:10 +00:00
Volker Ruppert
0cacb9af0c - deprecated option 'newharddrivesupport' removed from hard drive code
- sense code ASC_ILLEGAL_OPCODE added for unimplemented/unknown ATAPI commands
- some panics changed to errors
- unsupported bits message in drive and head register changed to BX_DEBUG
- improved info about not existing drive
- indent mode fixed in ATAPI packet command section
2005-10-02 10:16:54 +00:00
Volker Ruppert
9b264e8830 - don't report read/write accesses to the PCI host controller with wrong io_len
(guest PCI probe can flood the logfile)
- fixed indent mode in some functions
2005-10-01 17:40:07 +00:00
Volker Ruppert
9e0089fb9e - floppy commands 0x04 and 0x4A do not reset the disk change line (SF patch
#1294930 by Ben Lunt)
- disk change line can be active only when the motor is on
2005-09-28 17:36:01 +00:00
Volker Ruppert
a434503a02 - PCI command register behaviour fixes in some devices 2005-09-23 19:31:12 +00:00
Volker Ruppert
ae3621fb5f - removed temporary PCI base address initialization in the reset() functions
- removed obsolete parameters for usb1 and pnic (now assigned by the PCI BIOS)
- PCI base address register mechanism now leaves the flags untouched
- missing reset of pnic options added
2005-09-22 21:12:26 +00:00
Volker Ruppert
edd430d573 - base address area set to read-only (TODO: implement framebuffer base at 0x10)
- unnecessary io_len check removed
2005-09-18 13:02:56 +00:00
Volker Ruppert
9bc26a67d5 - PCI IDE: base address area must be read-only except BM-DMA base
- PCI devices: debug messages fixed
2005-09-18 09:01:05 +00:00
Volker Ruppert
0706c5bcfb - renamed cmos image parameter to 'rtc_init'
- bochsrc sample: example for serial mode 'socket' added
2005-09-18 07:16:28 +00:00
Volker Ruppert
fb44fe9ed1 - removed disabled code for obsolete split-HD support
- missing return value added
- fixed indent mode in modified section
- fixed some typos
2005-09-14 19:52:41 +00:00
Volker Ruppert
6d56565092 - ignore the clock line until after the BAT completion code has been sent
- input port now reports 'keyboard not inhibited'
- output port now reports IRQ1/IRQ12 levels (PS/2 mode)
2005-09-13 19:35:01 +00:00
Volker Ruppert
c58b8b54c3 - binary RTC mode implemented
- cmos image options renamed
- new cmos option controls the usage of the RTC values from image
- report time0 in use after handling the cmos image stuff
- MSVC warning fixed
2005-09-11 20:03:56 +00:00
Volker Ruppert
d0c6b75a70 - number of CMOS registers now set to the fixed value of 128
- new functions bcd_to_bin() and bin_to_bcd() to simplify data conversion
- Bochs CMOS map completed
2005-09-11 08:46:09 +00:00
Volker Ruppert
e450b1af53 - removed obsolete configure option --enable-time0. The 'clock' runtime option
is already doing the same.
- DCC oscillator disable support added
- fixed indent mode in modified sections
2005-09-10 16:40:59 +00:00
Volker Ruppert
fd427df0d7 - RTC 12-hour mode implemented
- unsupported shutdown status values no longer cause a panic
- definition of BX_NUM_CMOS_REGS moved from config.h to cmos.h (TODO: get rid
  of this and implement 128 registers)
- indent mode fixed in modified section
2005-09-10 13:22:51 +00:00
Volker Ruppert
feb7f84dd3 - the BM-DMA interrupt flag must be set when the ide controller generates an interrupt
- BM-DMA base address set to 0xc000 at reset (shoud be done by the PCI BIOS)
- BM-DMA status register write messages changed to BX_DEBUG
- fixed an MSVC warning in the harddrive code
2005-09-05 18:32:23 +00:00
Volker Ruppert
5f9d527dc0 - more accurate timing for formatting using a motor speed of 300 RPM
- indent mode fixed in modified section
2005-09-03 17:20:18 +00:00
Volker Ruppert
b88facfb66 - more accurate timing for reading data using a motor speed of 300 RPM. This is
important at boot time if the user wants to control the boot process.
  TODO:
  * implement timing for write and format commands
  * more accurate timing for seek, recalibrate and maybe others
  * raw floppy access slows down the emulation, use separate threads (???)
- irq line goes low with when reading the first result byte
- the drive status bits are only modified after reading the first result byte
- handling of floppy command 'sense interrupt status' simplified
- improved debug messages for i/o port reads and writes
2005-08-31 19:48:03 +00:00
Volker Ruppert
246d89d6a3 - SB16: in 16-bit mode the 8-bit DMA channel is used if 16-bit DMA is disabled
- SB16: improved some messages and changed some loglevels
- SB16 documentation updates
2005-08-27 08:17:13 +00:00
Volker Ruppert
86c3c68dc4 - fixes for OS/2 in the floppy and rombios code (patch from Robin Kay)
* support for XDF images added
  * floppy controller should hang if media not present
  * rombios has to reset the floppy controller after read/write failure
2005-08-24 20:45:57 +00:00
Volker Ruppert
fec5b4e135 - added new function set_signature() for several ATA/ATAPI commands
- ATA command 0x90 (execute drive diagnostics) now supports cdrom (Plan 9 boots now)
- indent mode in modified sections fixed
2005-08-21 17:40:45 +00:00
Volker Ruppert
ea18b29e12 - geometry autodetection for 'flat' hard disk images added. It works with all
images created with bximage (heads = 16, sectors per track = 63)
- size check for 'flat' hard disk images added. The image size is now compared
  with the size calculated from the geometry.
2005-08-06 18:29:36 +00:00
Volker Ruppert
4f0892a8d4 - assign a unique serial number to each drive (fixes detection problems with
Linux kernels 2.6.x: "ignoring undecoded slave")
2005-08-05 18:35:00 +00:00
Stanislav Shwartsman
7f0fc6df78 Change BX_ERROR message to BX_DEBUG (flooding log file and slows down simulation) 2005-08-03 20:59:35 +00:00
Volker Ruppert
2b52b52145 - detection of wget (or equivalent commands) added (based on SF patch #816979)
- fixed compilation with plugins or an alternative gui enabled on win32 (Cygwin,
  MinGW/MSYS) after adding serial mode 'socket'
2005-07-30 15:04:26 +00:00
Volker Ruppert
c755483e23 - added simple speaker support for OS X using the default system beep
(patch by brianonn@telus.net)
2005-07-27 19:17:29 +00:00
Volker Ruppert
5ec69e8eec - some fixes for OS X Tiger (10.4.1) by brianonn@telus.net 2005-07-24 07:25:02 +00:00
Volker Ruppert
89c2554b7c - missing include for FreeBSD and others added
- set member sin_len of struct sockaddr_in if present
2005-07-11 16:24:47 +00:00
Volker Ruppert
bff2c04c5b - com->socket redirection support added (initial SF patch #1107945 by Andrew Backer) 2005-07-10 16:51:09 +00:00
Volker Ruppert
d4871e66a9 - fixes for Solaris 2.9 (tested with the compile farm)
* .conf.sparc fixed / cleaned up / new features added
  * flag _XOPEN_SOURCE is already defined
  * define BX_HAVE_NET_IF_H when <net/if.h> exists
2005-07-03 09:57:41 +00:00
Volker Ruppert
8380541a8f - replacing uint* types by Bit*u types since they are identical (BeOS code untouched) 2005-06-26 10:54:49 +00:00
Volker Ruppert
048467681c - fixes for compiling on MorphOS (configure script, cdrom, sdl) 2005-06-23 18:40:35 +00:00
Volker Ruppert
60c7be796c - added prefix "ataX-Y:" to messages in some more harddisk commands
- added missing break statement after command_aborted() call
- fixed indent mode in the modified sections
2005-06-19 07:22:20 +00:00
Volker Ruppert
e23d77f103 - changes in some hard drive commands:
* added prefix "ataX-Y:" to panic mesages (X=channel, Y=drive)
  * added command_aborted() call after the panic
  * fixed indent mode in the modified section
2005-06-18 15:00:11 +00:00
Volker Ruppert
f67552df29 - TFTP write support implemented (doesn't overwrite files)
- missing DHCP symbol added
2005-06-12 08:59:32 +00:00
Volker Ruppert
96767b28b6 - C++ strings seem to make trouble on some platforms. Now using standard C strings
- prepared TFTP write support
2005-06-08 21:11:54 +00:00
Volker Ruppert
69fe0b00d4 - some more warnings in MSVC fixed 2005-06-07 19:26:21 +00:00
Stanislav Shwartsman
b5514f42de Merged patch for "compilation outside source directory"
Added missed copyrights for APIC.CC
2005-06-07 05:54:57 +00:00
Volker Ruppert
5e75dc3a10 - some more warnings in MSVC fixed 2005-06-06 20:14:50 +00:00
Volker Ruppert
b6fc5768fa - fixed compilation with x86_64 and gcc4 (SF patch #1211525 by scop) 2005-06-05 07:24:43 +00:00
Volker Ruppert
e98c100f74 - a bunch of warnings in MSVC fixed
- name of source file in wxworkspace.zip fixed
2005-06-04 17:44:59 +00:00
Volker Ruppert
2ea23a5f6e - access to data register fixed (initial patch by Gregory Trubetskoy)
- removed unnecessary io_len checks
2005-06-04 07:58:02 +00:00
Volker Ruppert
8bd2d27e29 - update irq level after IMR write
- attempt to set IMR bit 7 no longer causes a panic
- fixed multicast/broadcast packet detection
- small code cleanup
2005-05-26 09:24:28 +00:00
Volker Ruppert
e5fb8cd8ba - reject TFTP read requests until the current session has been completed
- silently ignore error packets
- changed symbol name to TFTP_BUFFER_SIZE
2005-05-21 19:33:25 +00:00
Volker Ruppert
c2e53c2d95 - fixed tuntap incompatibility with Linux kernels 2.6.x (SF patch #1203305)
- improved debug message for the received packet
2005-05-21 07:38:29 +00:00
Volker Ruppert
837a46eddc - applied SF patch #1200515 by easeway <easeway@163.com>
* simple read-only TFTP server implemented
  * don't discard IPv4 packets larger than the length stored in header
- TFTP server uses ethdev value for the root directory
- removed trailing newlines in messages
2005-05-13 18:10:58 +00:00
Volker Ruppert
4a7d435ba7 - now using GetDiskFreeSpaceEx() and valid arguments to determine the media size
- report the cdrom capacity in megabytes instead of bytes
- don't flood the logfile with error messages when the guest OS checks the cdrom
  unit periodicly for media presence
2005-05-04 18:19:49 +00:00
Volker Ruppert
7b5d0b53ed - fixed horizontal pel panning handling in text mode 2005-04-30 21:22:26 +00:00
Stanislav Shwartsman
19750b0324 Fixed highest_priority_int calculation function
Fixed I/O APIC ID for 8CPU configuration to match BIOS tables
Remove I/O APIC initialization when INIT IPI received
2005-04-27 18:09:27 +00:00
Volker Ruppert
4c6478d6dd - use the 6th byte of the guest mac address if the source and destination address
of the received packet are identical
2005-04-24 11:06:49 +00:00
Volker Ruppert
eaf492de82 - destination write mask handling fixed in 24 bpp modes 2005-04-21 18:31:58 +00:00
Volker Ruppert
34653048ef - optimizations in function redraw_area()
- if a screen update is needed after i/o writes, now redraw_area() is called instead
  of duplicating the code
2005-04-15 17:33:54 +00:00
Volker Ruppert
53a99cc3b2 - hack added to make the hardware cursor visible on indexed displays (e.g. win32
display library in 8 bpp mode). FIXME: find nearest match in DAC table
- optimizations in function redraw_area()
- removed unnecessary code in colorexpand functions
2005-04-14 18:59:46 +00:00
Volker Ruppert
301b491a3f - fixes for colorexpand with destination write mask values > 0 2005-04-13 20:38:09 +00:00
Volker Ruppert
6ce17bbc2e - cpu-to-video transparent colorexpand function renamed and implementation completed
- some other code cleanups
2005-04-13 18:39:26 +00:00
Volker Ruppert
7e6ea7c1ee - fixes for patterncopy with destination write mask values > 0
- some comments updated
2005-04-12 21:26:55 +00:00
Stanislav Shwartsman
8191e3f577 Rolled back mistakely committed I/O APIC experiment 2005-04-11 16:51:09 +00:00
Stanislav Shwartsman
1755589376 Separate pageWriteStamp from ICACHE. The pageWriteStamp has totally independant structure and could be used in future with icache structure. Also it could be significantly speeded up using BX_SMF analog constructions. 2005-04-10 19:42:48 +00:00
Volker Ruppert
90e9e78450 - more accurate implementation of the bitblt destination write mask
- extended bitblt flag DWORDGRANULARITY now supported
- bitblt messages changed to BX_DEBUG
- report write mask in bitblt message
2005-04-10 17:17:19 +00:00
Volker Ruppert
12bb6400f3 - cpu-to-video bitblt code rewritten and dword alignment fixed
- memory mask for the 2 MB ISA version fixed
- bltwidth is unmodified now (width corrected in bitblt functions if necessary)
2005-04-09 11:57:23 +00:00
Volker Ruppert
0074e82a82 - extra page registers implemented (these registers have no effect on DMA operations)
- port 0x80 belongs to the DMA page register set
2005-04-06 21:09:25 +00:00
Volker Ruppert
db46b687d8 - controller disable feature added
- code cleanup (removed unused stuff and unnecessary statements etc.)
2005-04-05 17:57:32 +00:00
Volker Ruppert
a5fb44c340 - changed data type of bulkIOHostAddr to Bit8u* (fixed compilation on 64 bit hosts) 2005-04-02 11:30:08 +00:00
Stanislav Shwartsman
b2148cdf07 Fixed swapped memset params 2005-04-01 09:24:15 +00:00
Volker Ruppert
b084267f75 - fixed pattern pitch for 24 bpp video-to-video patterncopy 2005-03-30 19:47:28 +00:00
Volker Ruppert
e1aee85d19 - fixed src start address for video-to-video patterncopy 2005-03-29 19:42:02 +00:00
Volker Ruppert
35ee22210d - fixed redrawing after backwards bitblt operations
- print mode switch information only when there's really a change
2005-03-27 09:46:31 +00:00
Volker Ruppert
bf1f4816a6 - store the text snapshot at the base address of the text_snapshot array again.
The old code could fail when an OS scroll with start address changes (DLX Linux)
- handle the graphics controller shift register value 3 the same way as 2. We need
  a test case for this setting.
2005-03-27 08:02:54 +00:00
Volker Ruppert
90cae090c2 - missing initialization of the BM-DMA base address added 2005-03-24 19:19:19 +00:00
Volker Ruppert
447a88986a - print the type of Cirrus card active after init
- read/write access to unknown CRTC, sequencer or GFX controller registers now
  causes a BX_DEBUG message
- replaced not portable variable 'unsigned long' by portable ones
2005-03-22 22:20:26 +00:00
Stanislav Shwartsman
f77ddd9701 Remove cpu_onlline_map varaible, it wasn't initialized properly and might cause APIC problems 2005-03-19 18:43:00 +00:00
Volker Ruppert
6144d8118a - text mode update code no longer depends on the memory mapping (fixes SF bug
#1159639)
- size of text snapshot space increased to 128 kByte (for all memory mappings)
- immediately return after the panic when the number of text lines is too large
  to avoid segfault
2005-03-18 14:52:29 +00:00
Stanislav Shwartsman
e6e9dd3825 Extend Bochs instrumentation
Compatability fixes
2005-03-17 20:50:57 +00:00
Volker Ruppert
bb1eb205a8 - fixed keyboard command "get scancode set" (SF patch #1159626) 2005-03-14 20:43:45 +00:00
Volker Ruppert
3c475e831f - prepared non-DMA mode implementation
- improved lseek() panic message and immediatly return if lseek() fails
2005-03-11 21:12:54 +00:00
Volker Ruppert
0b1497d13e - fixed broken screen updating in VBE mode (SF patch #1153511)
- fixed 8-bit DAC support in the VBE update code
- simplified redraw code in vbe_write()
2005-02-28 21:23:34 +00:00