Commit Graph

138 Commits

Author SHA1 Message Date
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
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
OBattler
6410e0ac75 Attempted mitigation for the problems regarding user-initiated resizes/moves. 2018-10-28 18:26:51 +01:00
OBattler
89ec54ebd2 The WM_SENDSTATUS and WM_SENDSSTATUS window messages now send the emulator's hWnd in LPARAM. 2018-10-24 18:56:17 +02:00
OBattler
51f3a7a335 The Windows code now uses PostMessage to send manager WM's instead of SendMessage. 2018-10-24 16:01:20 +02:00
OBattler
53e64c22ba Added the WM_SENDSTATUS (0x8895) and WM_SENDSSTATUS (0x8896) window message for manager purposes. 2018-10-23 19:41:17 +02:00
OBattler
50fac1484b Added the WM_CTRLALTDEL window message that sends CTRL+ALT+DEL to the VM. 2018-10-12 16:27:47 +02:00
OBattler
6155802b59 Split generic CD-ROM from SCSI-style CD-ROM;
Redid the way SCSI and ATAPI devices are handled;
Slight timings change in the NCR 5380;
Devices are now closed by device_close_all() in the reverse order of the one in which they were started;
Slight changes to some code in win/;
Added the WM_HARDRESET and WM_SHUTDOWN window messages for configuration manager purposes.
2018-10-10 22:33:24 +02:00
OBattler
45731dbaa0 Fixed some minor things. 2018-10-07 15:05:14 +02:00
David Hrdlička
65aedbbcee win_d2d: moved to dev branch and made optional + fixes 2018-07-28 23:41:16 +02:00
David Hrdlička
7ea15090d9 Added a Direct2D 1.0 renderer. 2018-07-19 04:39:27 +02:00
OBattler
950ce8f5aa Added the 3Com 3C503 Network card;
Several bug fixes;
Preliminar addition of the SDL 2 renderer (does not yet work correctly in full screen mode);
SCSI devices no longer have configurable LUN's (this matches the configurability of real SCSI devices);
SCSI LUN's are now handed by the device's handler;
Removed all unused strings;
Removed some unused code files;
Significantly rewrote the bus mouse emulation.
2018-07-15 01:41:53 +02:00
OBattler
5d8deea63b Changes to logging - nothing (other than some parts of pc.c) uses the global pclog anymore (and logs will be almost empty (until the base set logging flags is agreed upon);
Fixes to various hard disk controllers;
Added the Packard Bell PB640;
Fixed the InPort mouse emulation - now it works correctly on Windows NT 3.1;
Removed the status window and the associated variables;
Completely removed the Green B 486 machine;
Fixed the MDSI Genius;
Fixed the single-sided 5.25" floppy drive;
Ported a CPU-related commit from VARCem.
2018-05-21 19:04:05 +02:00
OBattler
16a7b1cef2 Removed win_status.c and the related stuff as it was not updated for a while and no longer displayed useful information. 2018-04-26 13:33:29 +02:00
OBattler
a412ceb4d9 Applied all relevant PCem commits;
Extensively cleaned up and changed the CD-ROM code;
Removed CD-ROM IOCTTL (it was causing performance and stability issues);
Turned a lot of things into device_t's;
Added the PS/1 Model 2011 XTA and standalone XTA hard disk controllers, ported from Varcem;
Numerous FDC fixes for the PS/1 Model 2121;
NVR changes ported from Varcem;
The PCap code no longer requires libpcap to be compiled;
Numerous fixes to various SCSI controllers;
Updated NukedOPL to 1.8;
Fixes to OpenAL initialization and closing, should give less Audio issues now;
Revorked parts of the common (S)VGA code (also based on code from QEMU);
Removed the Removable SCSI hard disks (they were a never finished experiment so there was no need to keep them there);
Cleaned up the SCSI hard disk and Iomega ZIP code (but more cleanups of that are coming in the future);
In some occasions (IDE hard disks in multiple sector mode and SCSI hard disks) the status bar icon is no longer updated, should improve performance a bit;
Redid the way the tertiary and quaternary IDE controllers are configured (and they are now device_t's);
Extensively reworked the IDE code and fixed quite a few bugs;
Fixes to XT MFM, AT MFM, and AT ESDI code;
Some changes to XTIDE and MCA ESDI code;
Some fixes to the CD-ROM image handler.
2018-04-25 23:51:13 +02:00
OBattler
473fd383d2 Do not allow mouse capturing if no mouse configured, patch from VARCem;
Reimplemented saving of all the non-volatile things of the Toshiba T1000 and T1200;
Applied the latest T1200 patch from John Elliott;
Applied the latest ATI Korean VGA patch from greatpsycho.
2018-03-19 04:19:19 +01:00
OBattler
07bc427839 Limited the render area to a minimum size of 1x1, should fix some crashes. 2018-02-15 12:48:31 +01:00
OBattler
12760db9cc More tweaks to the resize code, should fix the P55T2S. 2018-02-14 15:23:02 +01:00
OBattler
60a4127216 On receiving the WM_MOVE message, the main thread is now told to issue another window resize if window is not in resizable mode, fixes the last glitches when moving during resize. 2018-02-14 12:40:53 +01:00
OBattler
bd0169cab8 Window resizing fixes - switching between resizable and non-resizable modes no longer distorts the renderer output, and moving the window while it's resizing should (hopefully) no longer trigger spurious resizes. 2018-02-14 12:04:54 +01:00
OBattler
678f0a71f7 Added the option to disable updating status bar icons (doing so gains performance during disk I/O);
Reduced sound gain options to one (because the per-source gain does not work right);
Added the Diamond SpeedStar PRO (CL-GD 5428), per patch from TheCollector1995.
2018-02-11 20:51:42 +01:00
OBattler
760689b35d Fixed (S)VGA sense again;
Added option to remap right CTRL to left ALT so that right CTRL + TAB can be used to send the guest ALT+TAB.
2018-02-10 00:01:52 +01:00
OBattler
437b519d94 Moved the Sound Gain control option from the Tools menu to a new Sound icon on the status bar;
LPT2 and LPT3 devices can now be selected.
2018-02-06 19:53:34 +01:00
OBattler
73ee3c5538 The minimize button no longer disappears when switching between resizable and non-resizable modes. 2018-02-01 14:46:17 +01:00
OBattler
58e20abaa1 Middle click to release mouse now works when no mouse is selected. 2018-01-28 22:15:08 +01:00
OBattler
8e6497f01d Added the "New Floppy Image" functionality with its own dialog box, can create 86F, Japanese FDI, and IMG images;
The settings dialog now keeps track of MFM/XTIDE/ESDI/IDE channels and SCSI ID's and LUN's;
The IBM PS/2 Model 50 now installs a Model 80-style memory expansion card (MCA ID FCFF) when more than 2 MB RAM is selected, and now supports a maximum of 10 MB RAM.
2018-01-19 15:39:13 +01:00
OBattler
5318bc08d8 The FDC is now a device_t, and the FDC code has been cleaned up;
Merged floppy.c and fdd.c and renamed floppy_*.c (the floppy image format handlers) to fdd_*.c;
Reading the AT or PS/2 keyboard controller status no longer clears the transmit timeout bit, fixes error 8601 (mouse error) on the IBM PS/2 Model 80;
MMU translate and DMA physical reads and writes now go through _mem_exec instead of directly to ram[], should fix the last remaining problems with remapped mappings;
Implemented the Sound gain dialog;
Added the resource for the "New floppy image" dialog and the needed functions for the functionality of exporting the currently mounted floppy image as 86F, both of which should be finished in the next commit;
Applied the CD-ROM fixes from the PCem commit;
Added the "Keep ratio" option for full screen stretch.
2018-01-17 18:43:36 +01:00
OBattler
4a829b31ad Commented out a lot of excess logging;
Updated Makefile.local to add comments about NCR 53C810 and Voodoo log enable flags.
2017-12-28 20:42:45 +01:00
OBattler
4f8506b65e Fixed the hang on unclipping the mouse and (hopefully) all the hangs on switching to/from full screen. 2017-12-15 18:47:29 +01:00
waltje
3bd6b0eccc Hopefully correct setting of host mouse cursor in window and fullscreen modes. 2017-12-15 00:44:54 -05:00
OBattler
1fc459b8b9 Moved the call to pc_init_modules() once again to before the renderer API is initializes, fixes Eradicator when 86Box is started with the renderer set to Direct3D;
Added some sanity checks to both the DirectDraw and Direct3D code.
2017-12-15 03:40:36 +01:00
waltje
d52846d3be Mouse changes - mice are now regular devices with config options. 2017-12-10 02:09:06 -05:00
waltje
fc34a6eaf3 Re-worked mouse code to be devices (to allow for configuration.)
Re-worked the system pathnames (pc.c), renamed cfg_path to usr_path.
Other small things here and there.
Logitech bus mouse re-worked, should be OK now.
2017-12-04 12:01:56 -05:00
waltje
204e10795a Fixes error message when running on system without DX (reported by foxlet.) 2017-11-28 22:52:30 -05:00
waltje
397c693170 Hopefully final update to Logitech Bus Mouse - now works on DOS(MS 2.0/9.1), Win3, WfW311, Win95, Win98, NT 3.1, NT 3.51. 2017-11-23 17:42:00 -05:00
waltje
fa6ef13050 Moved the config-load code to pc.c, and (for now) disabled LoadConfig and SaveConfig menu items for non-Dev builds. 2017-11-20 01:58:32 -05:00
waltje
59624c0884 VNC back to DEV builds (not everybody has the libs) and double-declares vars in win/. 2017-11-20 00:23:12 -05:00
waltje
44b8824552 More cleanups, preparing for multi-language. 2017-11-19 03:19:59 -05:00