Commit Graph

180 Commits

Author SHA1 Message Date
OBattler
b52e91f031 Fixed the FPU stuff and added the ability to select the 487SX. 2020-07-22 16:39:57 +02:00
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
driver1998
43a3eb398d Add MO settings UI, fix MO status bar icon 2020-07-16 14:28:06 +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
RichardG867
adb500c63b Disable CPU selector if only one CPU is available 2020-07-07 16:21:45 -03:00
OBattler
e4dbacdce3 Bumped up maximum MFM tracks from 1023 to 2047, fixes #822. 2020-06-19 12:10:04 +02:00
RichardG867
09083aa98a Add custom buttons to overwrite confirmation questions 2020-06-19 00:21:40 -03:00
RichardG867
9733beb542 Improve settings messageboxes 2020-06-19 00:16:05 -03:00
RichardG867
02cdf5e787 Convert settings save prompt to TaskDialog 2020-06-17 23:07:32 -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
90d1ddac52 Hopefully fixed the UI for the Internal/External FDC hookup. 2020-06-17 00:51:06 +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
cfc8af3d05 Fixed the fix 4. 2020-06-16 16:50:16 +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
cfd10447e0 The Settings dialogs now categorizes the machines to declutter the list. 2020-06-16 01:58:07 +02:00
OBattler
af06ba62c0 Hooked up the new FPU type selection to the UI. 2020-06-15 21:21:26 +02:00
David Hrdlička
fb8c96189e win: Fix hardcoded resource IDs 2020-04-26 21:59:22 +02:00
David Hrdlička
7d2f9189d3 win: Re-number string table entries 2020-04-26 21:03:31 +02:00
David Hrdlička
af07bd5e6c win: Don't show full path for HD images in usrpath 2020-04-24 14:56:30 +02:00
David Hrdlička
908ee7d046 win: fix confusion with LPT checkboxes/comboboxes 2020-04-10 15:14:34 +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
OBattler
132d1f092b Merge branch 'rawinput' of https://github.com/driver1998/86Box into driver1998-rawinput 2020-03-25 02:29:20 +01: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
GH Cao
382c606483 win_settings: fix progress bar in new disk image dialog 2020-02-04 22:43:13 +08: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
932ad5595a Fixed the third batch of problems. 2020-01-15 04:58:28 +01:00
OBattler
171cc75b1e Fixed another potential overrun in win/win_settings.c. 2020-01-15 01:07:06 +01:00
OBattler
8928ef3f66 Fixed an overrun in win/win_ui.c, a few newly introduced bugs, and a warning in the MPU-401 code. 2020-01-15 01:03:54 +01:00
OBattler
2b5425de79 Removed a block of dead code from win/win_settings.c. 2020-01-15 00:38:29 +01:00
OBattler
93695b15b3 Fixed another potential overrun in win/win_settings.c. 2020-01-14 23:07:10 +01:00
OBattler
79a10c06b0 Fixed an unintentional integer overflow in win/win_settings.c. 2020-01-14 22:26:22 +01:00
Altheos
3bdec705e5 GUS soundcard improvements :
IO address flexibility
256kb, 512kb or 1Mb total memory variant
2020-01-08 18:26:24 +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
OBattler
3cc320d2b2 Increased maximum ESDI sectors 99 and fixed the cylinders truncation in config.c. 2019-11-19 07:48:49 +01:00
OBattler
4d39da9cfe Applied Ryuzaki's fixes for the New Floppy/ZIP Image and Settings dialog progress bars, those now work correctly. 2019-11-19 04:52:24 +01:00
OBattler
4262b20235 Finalized the Window Message protocol for communicating with the 86Box Manager. 2019-11-03 03:18:30 +01:00
OBattler
7807548be6 Reworked the behavior of the shutdown status message, and the virtual machine and manager window messages are now paused in case of a message box issued by a command from the manager. 2019-11-02 16:18:18 +01:00
OBattler
f632885c47 86Box v2.05 Stable/Final release. 2019-11-01 04:09:19 +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
driver1998
27fc87f5e8 Fixes various warnings on clang 9.0 2019-03-20 02:42:55 +08:00
OBattler
a3fb51acd8 Moved settings category #define's to win.h and added the win_settings_open_ex() function to open the Settings dialog with a specific category page displayed. 2019-02-11 01:54:00 +01: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
d386240fcb Removed the file pointer from the hdd_t struct;
Partially split off the Logitech Serial Mouse emulation from Microsoft Serial Mouse;
Slightly reworked serial port emulation (the two UART's are now device_t's, non-FIFO mode implemented and is now default, FIFO mode reimplemented from scratch so it's now actually correct);
Added the emulation of the SiS 85c497 chip to the SiS 85c496/497 chipset;
Bugfixes to the emulated Super I/O chips and made them all device_t's now.
2018-11-08 19:21:55 +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