Commit Graph

59 Commits

Author SHA1 Message Date
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
43cf6e0b51 Added 9 more ATA-4/ATA-5 HDD models
-Small corrections to ATA-4 Western Digital HDD models
-Line fixes to cdrom.h
2025-01-16 13:07:23 +07: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
0063a9f403 Name corrections to LG CRN-8245B 2025-01-15 12:33:26 +07:00
MaxwellS04
75b9923283 Correct the revision names 2025-01-15 07:45:13 +07:00
MaxwellS04
6b89a2e74d Small name fixes to CDR-1900A 2025-01-15 07:30:48 +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
1d6a49d749 Update cdrom.h 2025-01-14 19:11:56 +01:00
unreal9010
70891ffdb5 Updated INQUIRY 2025-01-14 18:59:31 +01:00
unreal9010
46426d5e92 Update cdrom.h for TEAC CD-532E/NEC CDR-1900A 2025-01-14 17:16:04 +01:00
OBattler
7ad3b81058 Rewritten the CD-ROM image handling and Cue sheet parsing, also fixes crashes when using VISO. 2025-01-02 22:38:10 +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
OBattler
5c27083af6 CD-ROM interface API to get raw track data, IOCTL now actually provides it, and IOCTL is now actually instantiable, as well as cleaned up a bit. 2024-11-25 21:23:28 +01:00
OBattler
7068655343 CD-ROM: Implement not ready to ready transition in a cleaner and better way, fixes #4805. 2024-09-18 08:01:38 +02:00
Cacodemon345
94c44da4d1 Add support for using directories and .iso files within CUE sheets
Add support for big-endian binary files

Remove unused is_dir member
2024-07-17 13:34:15 +06:00
OBattler
f8b93dc24e And .host as well. 2024-05-20 02:17:36 +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
TC1995
9af55412db Make the CD/DVD-ROM passthrough actually work (WIP)
Still WIP, eject/reload in the qt side is a bit broken.
2024-05-18 22:37:49 +02:00
TC1995
4fdb339407 Attempt #2 to implement CD-ROM passthrough.
Still Windows only on the QT side.
2024-05-18 19:42:00 +02: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
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
8a00ca4b5c Removed bus indicators from CD-ROM model names. 2023-10-05 03:37:28 +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
b1099fab1d Fix max types of the cdrom models. 2023-09-24 07:52:43 +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
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
3a0ddc2087 More linting in src/include/86box 2023-08-23 04:15:58 -04:00
OBattler
6fae975a72 PIT type selection, CD-ROM model filtering by bus, and translation updates - closes #3354. 2023-08-16 05:23:03 +02:00
OBattler
1811115b65 Some flags and configuration file fixes. 2023-08-15 16:42:13 +02:00
Jasmine Iwanek
1116aadb6f Another round of sonarlint work 2023-07-04 10:53:44 -04:00
Jasmine Iwanek
922c4335ae Next round of sonarlint cleanups 2023-06-27 21:17:13 -04:00
Jasmine Iwanek
21adfd4d50 Next round of sonarlint cleanups 2023-06-26 18:28:13 -04:00
Jasmine Iwanek
5c0292ae41 Disable old early CDROM support 2023-05-04 02:54:25 -04: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
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
Jasmine Iwanek
381960dfc0 More mitsumi cdrom stuff 2022-11-05 20:17:39 -04: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
RichardG867
10e9285f61 Merge branch 'master' of ssh://github.com/86Box/86Box into cleanup30
# Conflicts:
#	src/cdrom/cdrom_image.c
#	src/cdrom/cdrom_image_backend.c
#	src/include/86box/cdrom.h
#	src/include/86box/cdrom_image_backend.h
#	src/include/86box/resource.h
#	src/qt/qt_mediamenu.cpp
#	src/qt/qt_mediamenu.hpp
#	src/unix/unix.c
#	src/win/win.c
#	src/win/win_devconf.c
#	src/win/win_dialog.c
#	src/win/win_joystick_rawinput.c
#	src/win/win_media_menu.c
#	src/win/win_mouse.c
#	src/win/win_settings.c
#	src/win/win_ui.c
2022-10-15 14:00:00 -03:00
RichardG867
e706fffb34 Run clang-formats for merge 2022-10-15 13:38:10 -03:00
Jasmine Iwanek
ae4f9aedaa clang-format in src/include/86box/ 2022-09-18 17:22:54 -04:00
cold-brewed
9daa721d44 qt: Add media history manager for recently used images 2022-08-30 17:18:51 -04:00