Skip to content

Commit

Permalink
update comments regarding Toshiba Satellite Pro 465CDX strange behavior,
Browse files Browse the repository at this point in the history
and reminder to self to add 32-bit PIO test routine.
  • Loading branch information
joncampbell123 committed Aug 4, 2014
1 parent c280f82 commit 40583e0
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions hw/ide/test.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
* * ATAPI packet commands
* * EVERYTHING---This code basically works on test hardware, now it's time to clean it up
* modularize and refactor.
* - Add menu item where the user can ask this code to test whether or not the IDE controller
* supports 32-bit PIO properly.
* - Start using this code for reference and implementation of IDE emulation within DOSBox-X
* - Add menu items to allow the user to play with SET FEATURES command
* - Add submenu where the user can play with the S.M.A.R.T. ATA commands
Expand All @@ -18,6 +20,22 @@
* Also don't forget:
* - Test programs for specific IDE chipsets (like Intel PIIX3) to demonstrate IDE DMA READ/WRITE commands
*
* Interesting notes:
* - Toshiba Satellite Pro 465CDX/2.1
* - Putting the hard drive to sleep seems to put the IDE controller to sleep too. IDE controller
* "busy" bit is stuck on when hard drive asleep. Only way out seems to be doing a "host reset"
* on that IDE controller. Note that NORMAL behavior is that the IDE controller remains not-busy
* but the device is not ready.
*
* - The CD-ROM drive (or secondary IDE?) appears to ignore 32-bit I/O to port 0x170 (base_io+0).
* If you attempt to read a sector or identify command results using 32-bit PIO, you get only
* 0xFFFFFFFF. Reading data only works when PIO is done as 16-bit. NORMAL behavior suggests
* either 32-bit PIO gets 32 bits at a time (PCI based IDE) or 32-bit PIO gets 16 bits of IDE
* data and 16 bits of the adjacent 16-bit I/O register due to 386/486-era ISA subdivision of
* 32-bit I/O into two 16-bit I/O reads. Supposedly, on pre-PCI controllers, 32-bit PIO could
* be made to work if you tell the card in advance using the "VLB keying sequence", but I have
* yet to find such a card.
*
* Known hardware this code has trouble with (so far):
*
* - Ancient (1999-2002-ish) DVD-ROM drives. They generally work with this code but there seem to be a lot
Expand Down

0 comments on commit 40583e0

Please sign in to comment.