Commit Graph

268 Commits

Author SHA1 Message Date
OBattler
5aec4ef147 Changed the MO icons to proper ones, added cassette icons, merged the Floppy drives and CD-ROM drives section of the Settings dialog into one, and changed the configuration file format accordingly with a backward compatibility measure added to correctly load older configuration files. 2020-07-19 06:07:58 +02:00
RichardG867
7b79f75ffa Machine table fixes 2020-07-13 14:31:28 -03:00
OBattler
ab5df882e9 Fixed the default values for serial ports 3 and 4 enable, and fix a warning in config.c. 2020-07-08 04:28:44 +02:00
OBattler
f696dc69ad Added the CMD640 (but the associated PB520R is not yet properly done, needs the 82091AA, so it's disabled until I implement it), fixed initialization of the IDE registers on the SMSC southbridge, bumped up the number of emulated serial ports to 4 (was 2), and added the ability to properly have multiple W83977's on a single machine. 2020-07-08 04:24:25 +02:00
OBattler
e4dbacdce3 Bumped up maximum MFM tracks from 1023 to 2047, fixes #822. 2020-06-19 12:10:04 +02:00
RichardG867
3539c4f465 Fix and improve fullscreen exit notice (also introducing MBX_DONTASK for "don't show this message again") 2020-06-18 21:46:28 -03:00
RichardG867
a5e14f2ae7 Improve pcap errors 2020-06-18 21:21:10 -03:00
TC1995
b97b9ae2f9 Merged all the latest and missed 86box commits.
Finally fixed the configuration UI of the FDC's.
2020-06-17 14:29:24 +02:00
TC1995
f62fc73862 (Re-)added the Deskpro 386, but only in the development/incomplete section of the code definitions.
Selected XT and AT clones can use either their built-in FDC controller or an external one (the IBM AT and Compaq AT machines don't support booting from a 1.44M floppy so this makes the external floppy useful).
Added the FDC to the Adaptec AHA-154xCF ("2" variant) and defaulted to None to keep compatibility with existing FDC's.
2020-06-17 00:32:48 +02:00
TC1995
aeae97fafc Fixed the fix 2. 2020-06-16 16:41:35 +02:00
TC1995
a77c88addf Added external Floppy disk controller support. 2020-06-16 16:25:23 +02:00
OBattler
5100d2ae33 FPU type is now initialized to a sane value when there is no configuration. 2020-06-15 23:04:30 +02:00
OBattler
af06ba62c0 Hooked up the new FPU type selection to the UI. 2020-06-15 21:21:26 +02:00
nerd73
a4d33513e4 Preliminary port of PCem's FPU timing emulation 2020-06-15 04:11:12 -06:00
OBattler
92a1425896 Implemented the Intel 420EX combined northbridge and southbridge, added the ASUS PVI-486AP4, and overhauled SMRAM handling (which also implements some previously missing extended SMRAM features of the 440BX+ and VIA Apollo series of chipsets). 2020-06-12 23:29:12 +02:00
OBattler
989f7bfb51 Fixed a long-standing bug in config.c, should reduce crashes on hard reset after settings changes. 2020-05-06 00:23:53 +02:00
David Hrdlička
7d2f9189d3 win: Re-number string table entries 2020-04-26 21:03:31 +02:00
David Hrdlička
31216312f7 config: fix hard disk images outside usrpath 2020-04-24 14:42:01 +02:00
Shaojun Li
f9de3183aa Allow relative path of disk images. 2020-04-24 10:02:41 +02:00
OBattler
2a0b3eb9c5 Added PAE, ported K6, P6, and WinChip 2 timings to the old recompiler, added a bunch of CPU's to the old recompiler, done some x87 fixes for both recompilers, added PAE, and fixed root directory entries for single-sided 5.25" DD floppies in the New Floppy Image dialog. 2020-04-10 01:08:52 +02:00
TC1995
254e43fb64 Added Magneto-Optical disk emulation, though the UI settings for it are to be done later. 2020-04-01 19:04:53 +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
RichardG867
79fb541ce5 Implement POST card device 2020-03-23 17:03:28 -03:00
OBattler
490c04fcae Current WIP code. 2020-02-29 19:12:23 +01:00
horkthane
3a8b89af63 Assorted Joystick fixes
Implemented use of DirectInput sliders.  They were previously lumped in with axis and then not read or used at all.

Lots of use of joystick_type == 7 or joystick_type != 7 to detect if the joystick_type was none.  Changed this to a define.

The text to enumerate the types of joysticks was contained in a numbered LPARAM sheet.  Switched to using the name listed in the joystick struct.

Joysticks with more than 32 buttons would overflow the plat_joystick_state button array.  Added overflow checks.

Added a 4 axis 4 button joystick type that Win98 can pick up as a generic 4 axis 4 button controller.
2020-01-16 19:23:54 -05:00
David Hrdlička
a575bd7e8b fix more issues reported by coverity 2020-01-15 18:48:22 +01:00
OBattler
e44e60c660 Fixed the fourth batch of problems. 2020-01-15 05:24:33 +01:00
OBattler
932ad5595a Fixed the third batch of problems. 2020-01-15 04:58:28 +01:00
OBattler
8749776144 Fixed the first batch of problems. 2020-01-15 03:04:59 +01:00
OBattler
d21ea09555 Fixed two more overruns in config.c. 2020-01-15 02:15:42 +01:00
OBattler
d861198960 Fixed an overrun in config.c. 2020-01-15 02:12:29 +01:00
OBattler
50dd49547b Increased the size of an array in config.c to fix an overrun. 2020-01-15 00:51:22 +01:00
OBattler
f710954c6f Doubled the data array in config.c, fixes an array overrun. 2020-01-14 22:24:56 +01:00
OBattler
989ee3b138 Added a sanity check to config.c. 2020-01-14 20:52:02 +01:00
OBattler
d97a1f9c17 Fixed some minor bugs in config.c. 2020-01-14 19:09:04 +01:00
TC1995
9562a20a63 Initial commit of MIDI IN. 2020-01-01 20:20:16 +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
David Hrdlička
e0d070a934 win_discord: update copyright headers 2019-12-05 00:14:25 +01:00
David Hrdlička
539ef0044a win_discord: configurability 2019-12-04 21:55:35 +01:00
OBattler
3cc320d2b2 Increased maximum ESDI sectors 99 and fixed the cylinders truncation in config.c. 2019-11-19 07:48:49 +01:00
OBattler
73f34a24f9 Configuration files no longer contain SCSI ID's for non-attached CD-ROM drives. 2019-10-21 13:36:10 +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
driver1998
27fc87f5e8 Fixes various warnings on clang 9.0 2019-03-20 02:42:55 +08: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
c663147d11 Imported CD-ROM-related changes from VARCem;
Removed cdrom_null.c/h;
Some changes to logging (will be spread to everything else soon).
2018-10-17 05:29:48 +02:00
OBattler
45731dbaa0 Fixed some minor things. 2018-10-07 15:05:14 +02:00
OBattler
c2bbe59949 Joystick configuration no longer gets discarded when joystick type is set to 0 (standard 2-button joystick), fixes saving joystick settings for that joystick type. 2018-10-06 20:42:13 +02:00
OBattler
647d78e4c2 Removed a lot of useless #include's from a lot of files and reworked the SCSI #include's a bit to resolve the problem of scsi.h being a mess. 2018-10-02 22:54:28 +02:00