Commit Graph

136 Commits

Author SHA1 Message Date
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
Jasmine Iwanek
4287e44824 newlines at end of file 2022-02-18 21:38:51 -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
David Hrdlička
52486e121e Convert CMake files to 4 spaces indentation 2021-12-20 15:08:23 +01:00
OBattler
5b972fc477 Implemented CD Audio de-emphasizing for pre-emphasized tracks, closes #1623. 2021-09-02 20:52:30 +02:00
Cacodemon345
d9fdc5fcc1 Implement keyboard support
Numpad will be done eventually
2021-08-29 23:50:21 +06:00
Miran Grča
b0cb4d974c Update cdrom.c 2021-08-27 20:19:50 +02:00
OBattler
eb827a6629 Fixed CD-ROM backend logging. 2021-08-26 21:26:56 +02:00
OBattler
6d7acaa100 Made sure cdrom_image.c doesn't strcpy() from the same place to the same place. 2021-08-26 10:14:27 +02:00
David Hrdlička
dfbbe08a07 rewrite the emulator to use UTF-8 internally 2021-03-30 09:46:49 +02:00
David Hrdlička
96eb8d806e Add copyright headers 2021-01-12 18:26:18 +01:00
David Hrdlička
11b6604196 Add CMake build files 2021-01-12 18:22:40 +01: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
9d6f6b38ea Fixed a warning in cdrom/cdrom_image_backend.c. 2020-12-12 16:28:04 +01:00
OBattler
26d42adb1e CD-ROM CUE indexes are now respected for skip even if prestart is 0 (fixes CUE+BIN images that use indexes for pregap), CD Audio attenuation is now done per the specification, and proper sound card filtering and volume calculation now applies to CD Audio. 2020-10-19 01:02:40 +02:00
OBattler
649c084eef Rewrote the CD-ROM TOC handling. 2020-07-20 03:18:56 +02:00
OBattler
aeaf5ad34a Properly enabled SMM (and with the correct SMBASE) on AMD 486 CPU's. 2020-07-20 01:44:19 +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
OBattler
dc7983902e Fixed some wrong letter casing in cdrom/cdrom_image_backend.c and updated Makefile.local. 2020-06-13 10:44:18 +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
2d02d941f8 Fixed for DVD-related stuff, DVD images should now be better readable on 86Box. 2020-01-17 03:02:12 +01:00
OBattler
bb3c5a6f52 Fixed a potential overrun in the CD-ROM image backend code. 2020-01-15 02:22:30 +01:00
OBattler
9f9883f8da Fixed a maintainability issue in the CD-ROM image backend code. 2020-01-15 02:16:25 +01:00
OBattler
70ccf03f2d The CD-ROM image code now returns with error if a seek has failed. 2020-01-14 20:49:01 +01:00
OBattler
04247f2664 The CD-ROM image code function to check if a track is audio now simply returns with a false condition if the track number obtained from the sector is -1. 2020-01-14 20:45:20 +01:00
OBattler
0139c44b7d Removed an obsolete return with error in the CD-ROM image backend code. 2020-01-14 20:43:04 +01:00
OBattler
a021607228 Fixed a bug in the CD-ROM image backend code. 2020-01-14 20:10:01 +01:00
OBattler
ad47659fd6 The CD-ROM image backed code no longer returns the pointer of a stack variable. 2020-01-14 19:46:02 +01:00
OBattler
1861d8cb0d Changed the fatal condition in the CD-ROM image backend code. 2020-01-14 19:30:33 +01:00
OBattler
fea96d6b67 Fixed some bugs in the CD-ROM image backend code. 2020-01-14 19:26:27 +01:00
OBattler
fb088329e1 Fixed NULL pointer dereferences in the CD-ROM image code. 2020-01-13 21:46:45 +01:00
OBattler
dcf06f4ba9 Fixed the mess in cdrom/cdrom_image_backend.c. 2020-01-13 21:06:32 +01:00
OBattler
be9b57fcad Added some sanity checks and pointer frees / NULL'ings to the CD-ROM image code, fixes #543. 2020-01-13 21:03:58 +01:00
OBattler
1b8017640e Fixed parsing of PREGAP clauses in CUE sheets. 2020-01-11 22:30:28 +01:00
OBattler
4957a9f867 Fixed Mode 2 handling again and added support for reading raw sectors from non-raw images with reconstructed headers. 2019-12-21 21:01:43 +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
4378de7e5c 86Box v2.00 Stable/Final release. 2019-10-22 01:34:43 +02:00
OBattler
93e6b9bc70 More tweaks to cue sheet loading code - feof(fp) is now checked for before fgets() is called, should allow final lines without a trailing line break to be parsed. 2019-10-20 14:47:02 +02:00
OBattler
9bf4c8fb5e Hopefully made the CD-ROM image code work with cue sheets without a trailing newline, and removed two files that should not have been there. 2019-10-20 14:19:33 +02: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
46d0ed2baa Rewritten 808x CPU emulation core based on reenigne's XTCE, VisiOn, SnatchIt, and 8088 MPH now work correctly;
Fixed PC speaker sound volume in PIT mode 0;
A few CPU emulation clean-ups;
Hard disk controller changing redone in a less messy way;
Re-added the long-missing key send delay handling to the XT keyboard handler;
Fixed a bug that was causing SLiRP not to work when compiled with MingW/GCC 7.3.0-2 or newer;
Some serial mouse and port fixes;
A lot of changes to printer emulation, mostly based on DOSBox-X;
Printer PNG writer now uses statically linked libpng;
Added support for the HxC MFM floppy image format and upped 86F format version to 2.12;
Ported various things from PCem and some from VARCem;
Added the S3 86c801/805 emulation (patch from TheCollector1995);
Fixed and renamed the EGA monitor options;
Better synchronized the 808x to the PIT and the CGA;
Fixed the CGA wait state calculation;
Cleaned up some things in mem.c;
Fixed some things in the floppy emulation to make VisiOn get the correct errors from the copy protection disk;
Fixed several renderer-related bugs, including the SDL2 renderer's failure to take screenshots;
The Jenkins builds are now compiled with MingW/GCC 7.4.0-1 and include all the required DLL's.
2019-02-06 03:34:39 +01: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
OBattler
3a8bd15b9d Extensive rework of SCSI and ATAPI devices and numerous bug fixes and cleanups;
Extensive rework of CD-ROM image handling;
The settings save code now forces some devices' (SCSI disk, CD-ROM, etc.) pointers to NULL before resetting the machine - fixes segmentation faults after changing settings;
Added the NCR 53c825A and 53c875 SCSI controllers;
Fixed IDE/ATAPI DMA;
Slight changed to PCI IDE bus master operation.
2018-10-30 13:32:25 +01:00