Commit Graph

1086 Commits

Author SHA1 Message Date
Volker Ruppert
682fd2ffdb - fixed PIC IRQ signal handling 2006-01-05 21:57:58 +00:00
Volker Ruppert
54b9499e58 - ELCR setup was sent to wrong PIC 2006-01-02 22:26:27 +00:00
Volker Ruppert
97e1f39d8f - I/O APIC signal handling rewritten ("backported" from qemu)
- don't flood the logfile if APIC EOI has no effect
- fixed a warning in the APIC code
- TODO: fix IRQ 0 handling, implement ExtINT
2006-01-01 11:33:06 +00:00
Volker Ruppert
ff7f41541f - first attempt to fix the I/O APIC code
* IRQ 0, 2 and 13 are usually not connected to the I/O APIC INTIN pins
  * if the IRQ line is set to inactive, clear IRR bit (same as PIC, but that
    needs to be checked)
  * added symbols for I/O APIC input types according to the specs
  * TODO: PIC INTR is connected to INTIN0, edge/level handling in I/O APIC and
    APIC code, ...
2005-12-31 14:46:21 +00:00
Volker Ruppert
00eabeb2de - seek function added in lowlevel cdrom code (reads a block at specified address) 2005-12-27 13:21:25 +00:00
Stanislav Shwartsman
9e4a3675d3 Cleanup APIC code
Fixed APIC timer problem (too many registered timers) reported by Brendan
2005-12-26 19:42:09 +00:00
Volker Ruppert
682895ca77 - fixed error handling for the read ID command (bad drive, media not present)
- the seek command is always executed (doesn't set the EC bit)
2005-12-25 12:03:14 +00:00
Volker Ruppert
7f714b568a - read support for 8029 ID and config registers added 2005-12-24 22:35:04 +00:00
Volker Ruppert
520da21dcf - fixed device type checks (must be compared with FDRIVE_NONE now)
- fixed motor off condition for recalibrate and seek
2005-12-23 12:21:09 +00:00
Stanislav Shwartsman
90059c8faa Non-functional changes, little bit optimize ioapic code 2005-12-13 20:27:23 +00:00
Volker Ruppert
83a799bca8 - don't include the device headers in networking/sound lowlevel code, virtual
and slowdown timers, hdimage and vmware3 code
- updated makefile dependencies
2005-12-10 18:37:35 +00:00
Volker Ruppert
751c0f8ea5 - splitted ATA/ATAPI emulation and image handling code. Now it is possible to use
the hdimage.* stuff with other mass storage interfaces (e.g. SCSI, USB)
2005-12-10 15:02:26 +00:00
Volker Ruppert
ef51fd3595 - if cmos image is enabled, save it on exit 2005-12-04 17:43:09 +00:00
Volker Ruppert
b59b3aed31 - fixed floppy media type check
- fixed result values after trying to access a not existing sector
2005-12-03 18:22:18 +00:00
Volker Ruppert
531c75c002 - keyboard/mouse runtime parameter handlers moved into the device code
- minor code cleanups
2005-12-02 17:27:19 +00:00
Volker Ruppert
f92a666e70 - minor USB updates from Ben Lunt 2005-11-30 18:34:59 +00:00
Volker Ruppert
c227c822b8 - USB runtime parameter handling prepared in the device code 2005-11-29 20:46:17 +00:00
Volker Ruppert
e753570e1f - enable VDE networking module on Linux (same conditions as ethertap)
- eth_vde.cc compilation fix and TUN/TAP hack removed
- mentioned VDE and added example in documentation
2005-11-29 19:28:43 +00:00
Volker Ruppert
fd687a06c2 - fixed sparse type hd image larger than 4GB compiled with MSVC 2005-11-29 18:03:39 +00:00
Stanislav Shwartsman
ff015089b1 Fix get_EIP references in iodebug 2005-11-29 17:38:57 +00:00
Volker Ruppert
cef74b528a - moved runtime handler for 'vga_update_interval' into the device (TODO: this could
be done with some parameters, e.g. mouse, keyboard, usb)
2005-11-27 17:49:59 +00:00
Volker Ruppert
e51c248aaa - fixed size of debug message for the result of a floppy command 2005-11-25 22:29:20 +00:00
Volker Ruppert
31c23fc102 - floppy media type check added (prevents inserting of invalid media in drive,
e.g. 1.2MB 5.25" media in 1.44MB 3.5" drive)
2005-11-22 18:34:51 +00:00
Volker Ruppert
cbf474f7d3 - disk change line behaviour fixed (set at media removal and hardware reset,
cleared at the first step pulse)
2005-11-20 14:15:28 +00:00
Volker Ruppert
8fd02e184b - floppy controller type changed to 82077AA and added a few commands to make
Linux detect it correctly. This changes has no effect on r/w operations.
- data rate select register partially implemented
- register reset fixes and additions
2005-11-16 21:21:35 +00:00
Volker Ruppert
fa996ca9de - don't register i/o and memory address ranges during PCI probe
- PCI devices now report real base address changes only
- writes to the high word of i/o base addresses now permitted (for PCI probe)
2005-11-15 17:19:28 +00:00
Stanislav Shwartsman
5cf5aaef42 Fix compilation warnings 2005-11-14 19:03:12 +00:00
Volker Ruppert
e0f02463f9 - the step delay for the recalibrate and seek commands is now calculated from the
number of steps to do, the step rate time and the date rate
- the option floppy_command_delay is obsolete now, since all floppy delays are
  based on the hardware specs. The usage of this option caused a warning now.
2005-11-12 10:38:51 +00:00
Volker Ruppert
3e00c16800 - define IOCTL_DISK_GET_LENGTH_INFO only if necessary
- fixed UPC flag in ATAPI command 'read subchannel'
- ATAPI command 'read subchannel' now returns "ISRC not recorded"
2005-11-11 22:52:57 +00:00
Volker Ruppert
902b8ec684 - better floppy write timing implementation (TC pulse is only available in DMA
r/w functions and must be stored in a variable)
2005-11-10 18:56:45 +00:00
Volker Ruppert
23776bab81 - more accurate timimg for floppy commands 'write normal data' and 'read ID' based
on a motor speed of 300 RPM
2005-11-09 19:13:32 +00:00
Volker Ruppert
611acd047c - some more usb fixes by Ben Lunt
- small hack for debug messages from the start added (disabled by default)
2005-11-08 18:49:45 +00:00
Volker Ruppert
9934d3b46b - prepared USB flash stick implementation (patch by Ben Lunt - not yet complete) 2005-11-07 19:06:05 +00:00
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