Commit Graph

147 Commits

Author SHA1 Message Date
OBattler
90265546e6 CD-ROM: Do not stop playing on a READ command that immediately terminates with an "illegal mode for this track" error, fixes track skipping in the Windows 95 CD Player. 2025-04-17 00:18:38 +02:00
OBattler
018ff46253 CD-ROM: Actually remember and use the correct number of sectors for the period, fixes... well, any kind of data reading. 2025-04-07 05:42:41 +02:00
OBattler
b93af353ef SCSI CD-ROM: Remove leftover excess logging. 2025-04-07 01:46:09 +02:00
OBattler
e48d64de45 SCSI CD-ROM/Disk/MO/ZIP: Treat data commands with request length 0 in ATAPI PIO mode as non-data commands, also allow WIN_SRST to go through BSY, fixes the regressions introduced in build 6731 reported by JVERNET. 2025-04-07 01:44:12 +02:00
OBattler
d3d5d3e780 Fix the calculation of the number of sectors per packet and stop the transfer when the total sector count has reached zero, fixes #5432. 2025-04-04 18:19:28 +02: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
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
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
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
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
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
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
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
e0daf34629 SCSI CD-ROM change of the day (December 31st, 2024)
Added undocumented 0xC5 NEC SCSI-2 CD-ROM command (most likely a no op command like 0x0D).
2024-12-31 21:29:59 +01:00
OBattler
7b6a9181c6 Current state of the CD-ROM node - no CUE/BIN overhaul or MDS/MDF support yet, but the rest is already there. 2024-12-31 04:37:21 +01:00
RichardG867
451ece0074 scsi_cdrom: Fix reporting of read errors on ATAPI drives 2024-10-28 19:57:26 -03:00
richardg867
b0e8647753 scsi_cdrom: Remove debug logging 2024-10-27 14:10:28 -03:00
RichardG867
aeaaa09b16 CD-ROM: Report image backend I/O errors as media CRC errors to the drive 2024-10-27 13:17:55 -03:00
OBattler
5234446194 CD-ROM: Remove excess logging. 2024-09-18 19:57:58 +02:00
OBattler
547ae9ad6a Make GET_CONFIGURATION results more consistent with the capabilities page. 2024-09-02 06:48:07 +02:00
OBattler
09a6aab21a More CD-ROM fixes, fixes Johnny Bazookatone. 2024-09-02 06:32:28 +02:00
OBattler
252c3034af Reworked the unit attention workaround, fixes #4770. 2024-08-30 00:57:18 +02:00
OBattler
dd2bbf3cd3 CD-ROM: Make sure the initial unit attention condition is not treated as an inserted empty drive phase. 2024-08-29 20:47:44 +02:00
OBattler
d5b0fd18aa CD-ROM disc changes without eject now insert one simulated empty drive state, fixes #4768. 2024-08-29 05:52:12 +02:00
TC1995
1e82bd88a1 SCSI fixes of the day (August 8th, 2024)
SCSI CD-ROM: request sense command should preserve its sense data unless a different command is issued, fixes DOS hanging with a blinking cursor using CDSCSI-2.sys for the 53c9x MCA card when there's no CD inside, making its no length Data In hack no longer needed.
2024-08-08 01:20:29 +02:00
TC1995
e79b722ebe Actually report the 86Box CD/DVD-ROM SCSI drive as SCSI-2 compliant 2024-08-04 22:30:50 +02:00
TC1995
0a2fa21f06 SCSI and disk fixes (July 14th, 2024)
All: the icon refresh for the respective storage now works properly across all adapters that use it (especially the aha154x compatibles and spock/tribble).
SCSI CD-ROM: The Sony/Texel/DEC SCSI command 0xC0 (Set Address Format) isn't a command that checks for ready status, however, it is for other vendors like NEC, Matsushita, etc. and I am not wishing to create a duplicate command_flags array duplicate just for vendor unique commands. This fixes the MSF bit of Sony/Texel/DEC CD-ROM drives which don't use the Mode Page equivalent.
Toshiba only: attempt to mark the 3201B as a SCSI-1 only CD-ROM drive properly.
2024-07-14 20:42:50 +02:00
OBattler
e5f676d9b5 CD-ROM: Actually set the format variable of GPCMD_READ_DVD_STRUCTURE to cdb[7], fixes heap corruptions due to the format incorrectly mismatching the given buffer lengths, fixes #4522 . 2024-06-13 19:21:37 +02:00
OBattler
7c74a977fa There goes the legacy host_drive. 2024-05-20 02:15:17 +02:00
OBattler
641da43f15 IOCTL and CD-ROM changes. 2024-05-19 21:17:57 +02:00
OBattler
4c84cccae7 The Pro Audio Spectrum SCSI controller is now based on the Trantor T128 (which it is considerable closer to), rather than on the 53c400. 2024-05-06 13:09:08 +02:00
OBattler
10fd8fb004 Assorted CD-ROM fixes, fixes #4386. 2024-04-22 02:04:57 +02:00
TC1995
da1ededb93 SCSI CD-ROM and 5380 fixes.
CD-ROM side: fixed a mode sense page (0x08 Sony, used by both Sony and Texel drives) as well as corrected the Toshiba specific drive speeds (bytes_per_second).
NCR 5380 side: split the work into the generic 5380 core and the ASICs into separate sources (53c400 and T128) and added the T228 MCA adapter based on the 128.
2024-04-10 17:27:30 +02:00
OBattler
89cc2a3956 NEC CD-ROM: Make command DAh not also set speed. 2024-02-07 20:45:45 +01:00