1057 Commits

Author SHA1 Message Date
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
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