Commit Graph

125 Commits

Author SHA1 Message Date
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
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
OBattler
10fd8fb004 Assorted CD-ROM fixes, fixes #4386. 2024-04-22 02:04:57 +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
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
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
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
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
Jasmine Iwanek
12070eb62a More linting in src/cdrom 2023-08-22 19:50:44 -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
Jasmine Iwanek
ee695e71f9 More sonarlint work 2023-07-25 17:59:22 -04:00
Jasmine Iwanek
21adfd4d50 Next round of sonarlint cleanups 2023-06-26 18:28:13 -04:00
Jasmine Iwanek
ce451a2bf4 More fixes for sonarcloud findings 2023-05-28 21:02:17 -04:00
Jasmine Iwanek
0e53a29e3d Fix build when ENABLE_CDROM_LOG is set 2023-02-06 14:28:59 -05:00
OBattler
54d862d0b7 Fixed another warning in cdrom/cdrom.c. 2023-01-10 04:15:29 +01:00
OBattler
b91f79dcdc Fixed warnings in cdrom/cdrom.c. 2023-01-10 03:50:47 +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
bd75bc141a Header cleanups
Tabs to spaces
Consistency
2022-11-13 21:15:47 -05: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
Jasmine Iwanek
d044f8d1f6 clang-format in src/cdrom/ 2022-09-18 17:19:21 -04:00
Jasmine Iwanek
5d999920f5 Move SCSI defines to scsi.h 2022-08-02 22:35:43 -04:00
OBattler
960cae34d4 Changed all the CD-ROM files to the new agreed upon coding style. 2022-02-22 22:04:40 +01:00
Jasmine Iwanek
4674756664 More newline and whitespace cleanups 2022-02-20 16:26:40 -05:00
OBattler
4f1b49f9ad Added a new CD-ROM API function. 2022-02-14 19:47:48 +01:00
OBattler
6b7e674877 And another fix. 2022-01-10 20:12:26 +01:00
OBattler
28b772b1f7 More READ CD fixes. 2022-01-10 19:53:07 +01:00
OBattler
5b972fc477 Implemented CD Audio de-emphasizing for pre-emphasized tracks, closes #1623. 2021-09-02 20:52:30 +02:00
Miran Grča
b0cb4d974c Update cdrom.c 2021-08-27 20:19:50 +02:00
David Hrdlička
dfbbe08a07 rewrite the emulator to use UTF-8 internally 2021-03-30 09:46:49 +02:00
OBattler
fa3394c04e Fixed parameter list in data out phase on MODE SELECT (10) command on all ATAPI and SCSI devices, fixes ATAPI and SCSI CD Audio volume control, fixes #1191. 2020-12-26 02:26:45 +01:00
OBattler
649c084eef Rewrote the CD-ROM TOC handling. 2020-07-20 03:18:56 +02:00
OBattler
8837d5d882 Implemented the National Semiconductors PC87307, PC87309, PC87332, and PC97307 Super I/O chips, fixed a number of bugs, and removed two machines from the Dev branch due to them now having the correct Super I/O chips. 2020-06-14 21:59:45 +02:00
David Hrdlička
a505894a10 Move all include files to src/include
- 86Box's own headers go to /86box
- munt's public interface goes to /mt32emu
- all slirp headers go to /slirp (might want to consider using only its public inteface)
- single file headers from other projects go in include root
2020-03-29 19:53:29 +02:00
Daniel Gurney
0c509fd551 Remove version tree-wide 2020-03-25 00:46:02 +02:00
OBattler
00ec4b72ea TC1995's port of the IBM PS/2 MCA SCSI controller (Spock). 2020-03-24 01:00:28 +01:00
OBattler
490c04fcae Current WIP code. 2020-02-29 19:12:23 +01:00
OBattler
51b06be28c Removed DOSBox OPL code, and made NukedOPL, the CD-ROM image code (incl. former cdrom_dosbox.cpp/h), and Raw Input mouse code C instead of C++, and fixed OPL2 emulation with NukedOPL. 2019-12-21 20:06:34 +01:00
OBattler
e9d785283b Removed the SCSI_CHINON stuff that was not supposed to be committed in the first place. 2019-09-26 10:02:43 +02:00
OBattler
552a87ea3d Added the IBM 5161 ISA expansion for PC and XT;
Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g  / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
2019-09-20 14:02:30 +02:00
OBattler
8b3f47ab4d Added the PLAY AUDIO TRACK RELATIVE (10) and PLAY AUDIO TRACK RELATIVE (12) CD-ROM commands;
More fixes for the PLAY AUDIO TRACK INDEX command.
2018-10-30 16:42:43 +01:00