Commit Graph

100 Commits

Author SHA1 Message Date
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
TC1995
0d88e8394c SCSI CD-ROM fixes of the day.
1.Re-implemented in the best way possible the muted part of the Toshiba/NEC Play Audio commands and related, per spec.
2. Forgot to add a check to a Sony Vendor Data Out command  when the len is 0 it should become a Status command, fixes emulator crashes when len is 0 using some CD software.
2024-02-06 21:18:25 +01:00
OBattler
0265b34384 1x CD-ROM speed is 176400 bytes per second, not 176 * 1024 bytes per second. 2023-12-30 19:40:05 +01:00
OBattler
137581c080 Fix for CD-ROM timings - seek times are no longer always calculated as if it was seeking from sector 0. 2023-12-28 18:42:16 +01:00
RichardG867
9bcece63fc Fix some random comments which have been bugging me 2023-11-10 17:27:30 -03:00
OBattler
d2713cb7ca Merge branch 'master' of https://github.com/86Box/86Box 2023-10-28 22:00:35 +02:00
OBattler
b474e3d056 Massive IDE clean-ups, and finally implemented ATAPI hard disks. 2023-10-28 22:00:23 +02:00
TC1995
961a2483ad SCSI CD-ROM fixes (NEC):
1. Added Mode Page Codes 0x00 and 0x03 (Unit Attention and Format Device) to the SCSI CD-ROM code.
2. Corrected the Read Disc Information TOC (actually Read TOC vendor unique) for NEC SCSI CD-ROMs, this, together with the fix above, fixes reading data cd-rom's using NEC vendor commands.
3. Actually identify NEC drives per manual (SCSI unknown version per the -75 and -77 manuals).
4. Re-added the 75 and 77 drives now that the NEC vendor commands are fine + an extra 25a drive with revision 1.0a (from a screenshot from vogons).
2023-10-24 20:15:08 +02:00
OBattler
209c8fbbda Assorted CD-ROM fixes (now cue sheets starting at a non-zero sector work correctly) and increased the maximum number of CD-ROM drives to 8. 2023-10-04 02:49:22 +02:00
TC1995
f30c71ed3b SCSI changes 2:
Replaced the string comparisons with proper drive types comparisons without strings.
2023-09-24 07:44:25 +02:00
TC1995
45ecdf37de SCSI corrections:
1. Changed the p's back to priv's.
2. Made the Spock/Tribble cards use picint instead of picintlevel.
3. Corrected fallthroughs and a minor change in the SCSI CD-ROM code core.
2023-09-20 23:14:00 +02:00
TC1995
7c6381b2ea SCSI changes and fixes:
1. Added the Tribble 16-bit IBM SCSI adapter.
2. Reworked the vendor unique commands to counter audio issues as well as adding some undocumented commands (thanks to the source code of xmcd!), plus replacing the NEC CD-ROM DRIVE:75 with the :38 one.
2023-09-20 20:29:32 +02:00
OBattler
aee88dcb52 Fixed headers in scsi/scsi_cdrom.c. 2023-08-24 01:11:10 +02:00
OBattler
937589b6e3 Unmarked fallthroughs: scsi. 2023-08-24 01:05:45 +02:00
TC1995
971e61db58 Change the NEC CD-ROM DRIVE:74 to 75 due to the former being buggy on NT. 2023-08-23 20:52:02 +02:00
Jasmine Iwanek
d32a3914da More linting in src/scsi 2023-08-23 00:18:15 -04:00
Jasmine Iwanek
81bb5e564b Better fallthrough annotation macro. 2023-08-09 20:09:36 -04:00
Jasmine Iwanek
d2f42198fd Fix clang build failure 2023-07-26 12:41:18 -04:00
Jasmine Iwanek
998cfe5cc8 Constification 2023-07-25 17:59:24 -04:00
Jasmine Iwanek
db66543959 Apple build fix 2023-07-25 17:59:22 -04:00
Jasmine Iwanek
ee695e71f9 More sonarlint work 2023-07-25 17:59:22 -04:00
TC1995
81918a19d1 SCSI CD-ROM: some vendor specific commands for Toshiba and others now have more correct speed.
PCSCSI PCI: re-implemented SCSI bus reset.
2023-07-14 21:05:22 +02:00
Jasmine Iwanek
ed1b369abd Yet more sonarlint fixes 2023-05-29 06:21:17 -04:00
Jasmine Iwanek
610401de7a Yet more clang-formatting 2023-02-28 23:53:57 -05:00
TC1995
9ceec90d79 Added more ATAPI CD-ROM types (including the NEC CDR-273 4.20 drive used to be there at some point) and removed some non-working types. 2023-02-07 21:17:14 +01:00
OBattler
db55912a63 Fixed another warning in scsi/scsi_cdrom.c. 2023-01-10 04:11:01 +01:00
OBattler
829671848e Fixed warning sin scsi/scsi_cdrom.c. 2023-01-10 04:03:34 +01:00
TC1995
1064c697e2 Darn git. 2023-01-08 14:25:18 +01:00
TC1995
e5496e2638 Overhauled CD-ROM selection for SCSI and ATAPI, including model and vendor specific commands.
Fixed the Spock SCSI ID selection.
Fixed CD Audio on NCR 5380-based SCSI controllers.
Added a proprietary CD-ROM controller selection (not hooked up yet).
All on qt only.
2023-01-07 23:48:45 +01:00
TC1995
df3c4b155a SCSI/CD-ROM fixes: Properly implemented the Toshiba specific SCSI commands including the Audio side per the Toshiba CD-ROM SCSI-2 manual from 1990 (they were previously implemented with some hacks). 2022-12-04 20:53:03 +01:00
OBattler
c63f9e23a7 ATAPI CD-ROM normal model now identifies as a SONY CDU-76 when the machine is a Sony, the Sony Vaio recovery disk should now work. 2022-11-19 23:40:14 +01:00
Jasmine Iwanek
3fe4f75108 A bit more clang-format 2022-11-19 11:53:07 -05:00
Jasmine Iwanek
bd75bc141a Header cleanups
Tabs to spaces
Consistency
2022-11-13 21:15:47 -05:00
OBattler
f88fbd6fd2 The later SCSI and ATAPI CD-ROM drives correctly identify as having tray loaders and not caddy loaders. 2022-11-06 20:04:10 +01:00
OBattler
5b45654c69 Properly fix the READ CD command on data sectors, closes #2788. 2022-11-02 05:53:38 +01:00
OBattler
65fc4e989d Some fixes and implemented the --image/-I command line parameter to load an image to the specified floppy drive. 2022-10-31 03:24:09 +01:00
OBattler
a588fa8c0a Assorted CD-ROM fixes, including for the READ CD command on a data sector on an ATAPI, fixes MTMCDAI.SYS when used with the Acer CPR CD. 2022-10-31 02:13:20 +01:00
OBattler
676a41d9d5 Fixed interrupt DRQ on CD-ROM - should fix the Windows 95 Protection Errors. 2022-10-29 17:58:53 +02:00
OBattler
4d19b8a1e4 Added the ability to select earlier CD-ROM drive (emulates Chinon CDS-431 for SCSI and NEC CDR-260 for ATAPI) - needs to be ported to QT. 2022-10-29 06:44:30 +02:00
Jasmine Iwanek
fab1632cee Fixes almost all the logging options which were previously broken 2022-10-27 11:23:10 -04:00
OBattler
d8eb5c7ff4 Change ATAPI CD-ROM phase earlier (the ATAPI specification's flow chart says it should happen when data is ready, but that behavior is not listed as mandatory, and at least one DOS CD-ROM driver from Acer expects it to be set right after the current command phase has finished). 2022-10-26 06:07:02 +02:00
OBattler
fcf68054f4 ATAPI CD-ROM now identifies as Hitachi instead of NEC so we can emulate the regular ATAPI standard instead of a preliminary one, while still passing the PB640 CD-ROM drive detection check. 2022-10-26 02:44:37 +02:00
OBattler
7a7f87b532 Enabled the LUN check for ATAPI MO, ZIP, and CD-ROM drives. 2022-09-28 04:01:19 +02:00
Jasmine Iwanek
97a7459fd4 clang-format in src/scsi/ 2022-09-18 17:22:55 -04:00
Jasmine Iwanek
5d999920f5 Move SCSI defines to scsi.h 2022-08-02 22:35:43 -04:00
Jasmine Iwanek
4674756664 More newline and whitespace cleanups 2022-02-20 16:26:40 -05:00
OBattler
bf8227dd6c And another. 2022-01-10 20:41:43 +01:00
OBattler
e0578fbf5b And another fix. 2022-01-10 20:26:36 +01:00