Commit Graph

458 Commits

Author SHA1 Message Date
TC1995
6d43f7e2df More fixes for 5380-based SCSI chips of the day (March 29th, 2025)
1. Avoid audio stops when they don't need to be.
2. And improved the MMIO-based NCR 53c400 timings to be similar to the port I/O-based one (T130B).
3. Minor timing fixes to the T128/PAS as well (especially for the hdd, when entering Windows 1.x using a SCSI HDD).
2025-03-29 14:24:20 +01:00
OBattler
0ebadfb942 CD-ROM, ATAPI HDD, MO, and ZIP: correct bus speed arithmetic, makes especially MO and ZIP much faster. 2025-03-21 03:29:46 +01:00
OBattler
f74db2660f Fix the exact same READ 10/12/16 bug in scsi_disk.c as well. 2025-03-20 06:25:49 +01:00
OBattler
48c294a13b SCSI CD-ROM: Fix a warning. 2025-03-17 20:59:18 +01:00
OBattler
556c74c159 IDE DMA: Properly handle partial transfers, fixes ATAPI DMA in Windows 98 SE. 2025-03-17 20:58:15 +01:00
OBattler
bb1b666010 Removed some commented out stuff. 2025-03-17 00:43:18 +01:00
OBattler
a386bd015f Merge remote-tracking branch 'origin/master' into cdrom_changes 2025-03-10 16:57:56 +01:00
Jasmine Iwanek
fc639750ac Fix three warnings 2025-03-10 05:28:11 -04:00
TC1995
4d5907eac6 T128 changes of the evening (March 9th, 2025)
1. More accurate speed without stalls.
2. Added more IRQ's for AT compatibles.
2025-03-09 20:32:44 +01:00
OBattler
77f945ec59 Merge remote-tracking branch 'origin/master' into cdrom_changes 2025-03-08 15:36:20 +01:00
TC1995
a2534c1f4f Trantor T128/MediaVision SCSI changes of the day (March 8th, 2025)
1. Made as best as possible implementation of the status bits 1-2 of the Trantor 128 so to make a more accurate speed for SCSI devices (CD-ROM and HDD) without stalls.
2. Slightly reorganized the timer of the T128.
2025-03-08 14:41:59 +01:00
TC1995
63c5b6003f Spock/Tribble changes of the day (March 8th, 2025)
1. Make IRQ's more correct and per manual.
2. Only an adapter reset command should reset the SCSI devices connected to it.
3. Differentiate the two controllers by the connector bit (pos3 bit 12) in the CMD GET POS INFO SCB command.
4. Actually emulate bit 7 of pos4 in the pos writes so that selection between 16KB and 32KB rom loading is done properly.
5. Some cleanups.
2025-03-08 14:29:13 +01:00
TC1995
265152db75 NCR 53c400: slightly more accurate speed.
See above.
2025-03-07 19:58:36 +01:00
OBattler
010ce43c1e Merge remote-tracking branch 'origin/master' into cdrom_changes 2025-03-06 22:56:10 +01:00
Cacodemon345
74368bfe7a Don't include cpu.h in timer.h
Change the name of the define used to indicate SVGA multi-monitor-capable cards
2025-03-06 19:26:11 +06:00
OBattler
4be691afe7 IDE: Correctly terminate ATAPI command on DMA underrun, fixes Windows 9x freezes. 2025-03-06 01:44:02 +01:00
OBattler
a62a6594e6 SCSI CD-ROM: Fixed SCSI standard reporting in INQUIRY. 2025-03-05 23:48:47 +01:00
OBattler
24e64fa622 Merge remote-tracking branch 'origin/master' into cdrom_changes 2025-03-04 19:16:23 +01:00
Jasmine Iwanek
62444f3da0 Devices supported on PCjr
PC Enterprises GameMaster, Resound jr (adlib)

MS Booster/PC Enterprises jrBus-Mouse, PC Enterprises GameMaster (bus mouse)

Various (generic) RTC

Corel LS2000 SCSI
2025-02-21 16:41:41 -05:00
TC1995
67c02a5361 Spock/Tribble (IBM PS/2 SCSI) changes of the late night (February 21st, 2025)
1. Made logs more consistent.
2. Actually add Write and Verify command, used by IBM OS/2 1.2 Extended, and fixes a hang by said OS after inserting disk 6.
2025-02-21 00:32:15 +01:00
OBattler
c8d88d1dd0 Merge remote-tracking branch 'origin/master' into cdrom_changes 2025-02-14 07:40:18 +01:00
OBattler
2c197000ea Removed the legacy #defines in device.h. 2025-02-14 07:39:21 +01:00
OBattler
ee2b523653 Fixed two warnings. 2025-02-14 01:02:13 +01:00
OBattler
1a33a2bd09 CD-ROM: Ignore zero-length pages on MODE SELECT, and also stop properly on error.
TODO: Apply to SCSI Disk, ZIP, and MO as well.
2025-02-13 19:47:21 +01:00
OBattler
4221b72059 Commented out some logging stuff. 2025-02-13 04:28:52 +01:00
OBattler
8a66dbef37 Fixed ATAPI PIO operation and ATAPI DMA timings. 2025-02-13 04:28:05 +01:00
OBattler
9a1ae5997f Fixed ATAPI transfer split by sectors and improved the performance of IOCTL by making it no longer constantly open and close the handle. 2025-02-13 01:44:10 +01:00
OBattler
1168d2d002 Merge remote-tracking branch 'origin/master' into cdrom_changes 2025-02-12 03:21:41 +01:00
Jasmine Iwanek
109a913bf5 Remove duplicate .close in scsi_t228_device 2025-02-11 12:02:47 -05:00
OBattler
ae597c2e46 Reverted the dark mode forcing and reveted CD-ROM to old behavior if bus is SCSI, because it turns out the changes are not even needed on SCSI. 2025-02-10 05:31:29 +01:00
OBattler
74e0408201 Current WIP CD-ROM changes. 2025-02-09 20:06:15 +01:00
Jasmine Iwanek
d5d1d5c449 More cleanups to device structs 2025-02-08 01:28:25 -05:00
OBattler
35a12e0826 CD-ROM: IOCTL now detects medium changes without having to read the host drive's TOC on every operation, improves performance. 2025-02-03 10:57:19 +01:00
Jasmine Iwanek
5f273265ae Assorted warning fixes 2025-02-02 03:24:50 -05:00
Jasmine Iwanek
4e6f29a7d5 malloc to calloc 2025-02-01 15:38:36 -05:00
Jasmine Iwanek
81b8038bc5 Clean up .available & .poll 2025-02-01 03:38:52 -05:00
OBattler
e11b5535e1 Fixed some CD-ROM commands not stopping audio play when they should have (fixes data playing as audio, producing nasty artifacts, in some games), and increased the media history for all drive types from 4 to 10, also refactored cdrom_read_sector() and moved the last module-wide variables into the cdrom_t struct. 2025-01-30 08:15:39 +01:00
OBattler
90e1190c92 The great CD-ROM clean-up and rewrite, fixes #5134. 2025-01-28 16:26:28 +01:00
TC1995
9af10bdac3 More changes to the 5380 chips (January 26th, 2025)
Apparently the Trantor T130B SCSI controllers has a different way of calculating the timings and removed the scsi_bus_read() calls from the Current SCSI bus status port (Read Port+4).
Fixes NT using said controller as well as CD swapping while maintaining the correct accurate CD speed.
2025-01-26 15:42:03 +01:00
TC1995
4008010131 Big SCSI bus update of the day, NCR 5380 too (January 20th, 2025)
1. Separate the SCSI bus functions from NCR 5380 into true general purpose SCSI bus functions, allowing use of future legacy scsi controllers.
2. Corrected NCR 5380 chip period for the SCSI controllers based on that chip so that CD-ROM speed is correct enough per speed tests and no more breakage (I hope, report if they are still there, please!) on desyncs.
3. A NCR 5380 software reset involves asserting an IRQ.
2025-01-20 19:55:18 +01:00
MaxwellS04
2a16c3cea6 Added other five models I have forgotten
Also changed the HL-DT-ST CD-ROM to reflect the model revision.
2025-01-15 16:42:13 +07:00
MaxwellS04
72571d6211 Added other two models (1x DVD/1x CD)
Also updated the revision on CRN-8245B
2025-01-15 14:26:31 +07:00
MaxwellS04
7bc89f6feb Added a plenty of IDE CD-ROM models
-Added other four ATA-3 models
-Corrections to Western Digital pre-ATA-4 HDD models
2025-01-15 07:13:21 +07:00
unreal9010
514abd4abd Update scsi_cdrom.c 2025-01-14 17:42:49 +01:00
unreal9010
68a8392baf Add TEAC CD-532E (32X)/NEC CDR-1900A (32X) 2025-01-14 17:31:21 +01:00
TC1995
c9985798d3 Remove excess logs. 2025-01-13 22:04:29 +01:00
TC1995
29ec9fa9ba More NCR53c400 fixes (January 13th, 2025)
Getting on my nerves, NCR 5380...
2025-01-13 21:10:12 +01:00
TC1995
be878ede58 Okay, maybe for the 53c400 only so.
Based on my tests, the former 5380 commit will apply to the 53c400 only, for now...
2025-01-13 00:56:04 +01:00
TC1995
8dc456cce5 NCR 5380-based changes of the day (January 12, 2025)
1. Sanity check for the SCSI temp_buffer if it's allocated or not.
2. Data reads and writes in non-DMA mode should be accessible only when DMA mode is Idle (as in, no DMA at all, whereas DMA mode will go to the SCSI controllers' callbacks).
2025-01-12 20:37:50 +01:00
Jasmine Iwanek
fabe71150c Various improvements & Cleanups
Some ported from ANightly's work
2025-01-11 21:25:29 -05:00