Commit Graph

298 Commits

Author SHA1 Message Date
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
8a1862c4b2 CD-ROM: Correctly return from read sector with the return code from the back-end in case of error, fixes System Shock 2 CD detection. 2025-01-30 06:38:05 +01:00
OBattler
b57281c57e CD-ROM: No longer fatal when encountering a mode 1 sector on a XA disc - apparently such discs actually exist. 2025-01-29 23:48:09 +01:00
OBattler
2d7fb72830 CD-ROM Image: close log before closing the file, fixes segmentation fault on image unload. 2025-01-28 23:22:06 +01:00
OBattler
7c6f45b4cd Fixed CD-ROM image mounting crashes and, hopefully, Linux compiles. 2025-01-28 18:39:26 +01:00
OBattler
90e1190c92 The great CD-ROM clean-up and rewrite, fixes #5134. 2025-01-28 16:26:28 +01:00
Jasmine Iwanek
49f5c358d8 Revert two fixes as batty has that covered 2025-01-11 04:37:18 -05:00
Jasmine Iwanek
035b8deee2 Random warning fixes 2025-01-11 00:08:26 -05:00
OBattler
370c560c34 Only attempt Cue sheet parsing on files that end in .cue (in any letter case), fixes errors with some .ISO images. 2025-01-03 01:19:52 +01:00
OBattler
509e1e5961 cdrom/cdrom.c that I forgot to commit before. 2025-01-03 00:27:21 +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
084011bd70 cdrom/cdrom.c: Fix some nonsense with labels, fixes compile error on... I think Linux? 2024-12-31 04:58:59 +01:00
OBattler
3187595885 Fixed some warnings. 2024-12-31 04:40:14 +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
593d09b9ec CD-ROM: Fix track starting address calculation. 2024-11-20 00:29:02 +01:00
OBattler
945a57376f CD-ROM: Fix raw TOC reads. 2024-11-19 23:43:55 +01: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
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
Jasmine Iwanek
f4b63caf0b One line per file in CmakeLists.txt 2024-09-04 18:34:06 -04:00
Jasmine Iwanek
7d73eb8400 Correctly devbranch mitsumi CDROM 2024-08-09 20:10:27 -04:00
Jasmine Iwanek
5b922c4747 Cleanups to logging in cdrom_image_backend.c 2024-08-07 01:07:51 -04:00
OBattler
5912a88a1b Fixed initializations in the CD-ROM code, fixes #4653. 2024-07-25 19:05:05 +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
Cacodemon345
4dd4d2e6e1 A bit of more fixes 2024-07-17 13:34:15 +06:00
Cacodemon345
138059ff45 libsndfile support 2024-07-17 13:34:15 +06:00
OBattler
382b941ff9 CD-ROM image backend: Add the 8-byte skip also to ISO image loading. 2024-06-15 17:40:41 +02:00
OBattler
bf105c6f29 CD-ROM image backend: Skip 8 bytes on every sector on non-raw CD-XA Mode 2 images. 2024-06-15 17:27:19 +02:00
OBattler
6df49cc8a9 Merge branch 'master' of https://github.com/86Box/86Box 2024-06-15 16:59:45 +02:00
OBattler
b997b9df3e CD-ROM image backend: Fix handling of CD-XA Mode 2 Form 1 images with a sector size of 2336. 2024-06-15 16:59:02 +02:00
RichardG867
05226efe3d VISO: Type flexibility and macro cleanups 2024-06-14 00:50:08 -03:00
RichardG867
7fd04ad942 VISO: Fix disc corruption caused by >2GB files on Windows 2024-06-13 23:53:03 -03:00
Jasmine Iwanek
193838b7c2 Fix several uninitialized variables 2024-06-11 21:01:47 -04:00
OBattler
7c74a977fa There goes the legacy host_drive. 2024-05-20 02:15:17 +02:00
OBattler
9dc92bc1d4 More IOCTL fixes - audio now works correctly. 2024-05-20 01:57:15 +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
dd9f6f8bd4 Merge branch 'master' into feature/cdrom-ioctl 2024-05-18 19:37:38 +02:00
OBattler
10fd8fb004 Assorted CD-ROM fixes, fixes #4386. 2024-04-22 02:04:57 +02:00
OBattler
fb53ed47b0 cdrom_image_backend: Fix sector header generation for non-raw sectors. 2024-03-24 16:21:25 +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
5c15da4a17 CD-ROM: Converted the wrong kind of trailing slash, fixes #4038. 2024-01-14 21:31:46 +01:00
TC1995
ecd67950d4 SCSI CD-ROM Toshiba fixes.
Data track is not audio, fixes anything that wants to play data track as audio.
2023-12-16 14:03:42 +01:00
TC1995
7cf1ffeb68 Initial stub for CD-ROM passthrough (currently Windows only). 2023-12-07 20:30:48 +01:00
RichardG867
9bcece63fc Fix some random comments which have been bugging me 2023-11-10 17:27:30 -03: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
7013949310 Made sure the dummy "None"/"Internal" devices never get initialized and fixed some PCI AGP bridge mess (including AGP-less 440BX/ZX/GX erroneously initializing the 440LX/EX AGP bridge), fixes #3696. 2023-10-14 06:45:45 +02:00
Jasmine Iwanek
197e817ea3 Remove several unused variables 2023-10-08 13:32:43 -04:00