Commit Graph

13 Commits

Author SHA1 Message Date
OBattler
1aa37bfc27 REQUEST SENSE now correctly delays the reporting of UNIT ATTENTION if another error is pending, unless the error is not ready and the REQUEST SENSE is a standalone command;
The SCSI-specific auto-REQUEST SENSE now no longer advances UNIT ATTENTION phase, making sure the next command will report UNIT ATTENTION.
2017-01-21 03:03:46 +01:00
OBattler
6a396b4bcb Fixed the last compile-breaking error, for really this time. 2017-01-21 02:02:35 +01:00
OBattler
a24020efcd Fixed the last compile-breaking error. 2017-01-21 02:00:34 +01:00
OBattler
4486926b6d Fixed a compile-breaking error. 2017-01-21 01:58:48 +01:00
OBattler
45183ea026 SCSI auto-sense is now done as an actual pseudo-execution of the REQUEST SENSE command. 2017-01-21 01:48:55 +01:00
OBattler
13e85cc7a6 Fixed a compile-breaking error. 2017-01-21 01:19:49 +01:00
OBattler
2e15aca382 The error code in cdrom.c now logs errors;
Illegal LUN is now invalid LUN and 05/25/00.
2017-01-21 01:17:49 +01:00
OBattler
3f612ab71a IDE dword reads and writes reverted to original operation, fixes the last hard disk problems;
ATAPI CD-ROM word reads no longer incorrectly discard the upper 16 bits, fixes the CD-ROM problems;
Significantly rewrote parts of the AHA-154x and BusLogic emulation, NT 3.1 RTM and MS-DOS drivers now works correctly;
The function in cdrom.c to read data blocks from the disc now correctly advances the position of the sector to read in non-passthrough mode, fixes multiblock reads from directly mounted ISO's;
Both ATAPI and SCSI now always check for Unit Attention and Not Ready on command execution.
2017-01-20 23:53:19 +01:00
OBattler
0548d8f9c8 Essentially reverted 8-bit IDE data reads and writes to old operation, fixes the hard disk bug;
SCSI LUN is now selectable for the CD-ROM drives;
Made sure every BusLogic RequestSetup ends in a StartMailbox sooner or later, fixes freezes with the DOS BusLogic drivers;
Commented out execess logging from mem.c;
Applied the mainline PCem commit that fixes the Bahamas64 on some boards.
2017-01-18 21:51:03 +01:00
OBattler
6b86549b7e Modified empty IDE channel handling, should hopefully reduce problems;
Fixed several ATAPI CD-ROM bugs;
Added some missing CPL override checks to the MMU translate functions;
Tertiary and quaternary IDE controllers are now automatically disabled if not a single device is attached to them;
Changed sleep time on compile from 10 seconds to 2 seconds.
2017-01-17 19:41:42 +01:00
OBattler
082c4e9ff8 Fixed some compile-breaking errors. 2017-01-17 00:04:49 +01:00
OBattler
7e54cc4436 Two instances of the IDE code setting the error register did not set it in the cdrom struct if drive is CD-ROM, now they do, fixes CD-ROM booting on the Intel Advanced/ATX and possibly other things;
Fixed IDE and ATAPI 8-bit data reads and writes by rewriting the IDE and CD-ROM PIO data read and write code so that the base code is now 8-bit;
Added some compiler directives that if set, will enable togglable logging and log breakpoints;
Empty IDE channels now always report a status of 0x10 rather than 0x20, and do it on port 3F6h/376h/36Eh/3EEh too, fixes OAKCDROM.SYS infinite loop when hitting an empty IDE channel.
2017-01-17 00:01:59 +01:00
OBattler
4f7fd84229 Overhauled and unified CD-ROM emulation;
Four CD-ROM drives are now emulated;
ATAPI DMA is now emulated;
Unified CD-ROM pass through to host drive handling;
Applied all (applicable) mainline PCem commits.
2017-01-16 01:49:19 +01:00