Commit Graph

10 Commits

Author SHA1 Message Date
luisjoseromero
9ddd0a841f Turn all mutexes into critical sections
Removing all win32 mutexes and turning them into critical
sections, since mutexes in win32 are meant generally for
inter process communication, tend to be slower, and aren't
really needed for current purposes. Critical sections
are roughly equivalent to std::mutex in the c++ stl.
2021-01-20 23:45:33 +00:00
luisjoseromero
eca2625093 Force Voodoo blit
Certain applications using the Voodoo adapter stop blitting
when there's no activity (e.g mouse movement, animation).
This results in a black screen when events like window/full screen
transitions take place. Usually this can be fixed by
moving the mouse or with keyboard inout. This change forces
a blit to refresh the screen.

In addition, added critical sections since they are lighter
than mutexes.
2021-01-19 00:39:40 +00:00
OBattler
0faf6692c9 WARNING: CONFIGS MIGHT PARTIALLY BREAK WHERE DEVICE NAMES HAVE CHANGED.
Changes to device_t struct to accomodate the upcoming PCI IRQ arbitration rewrite;
Added device.c/h API to obtain name from the device_t struct;
Significant changes to win/win_settings.c to clean up the code a bit and fix bugs;
Ported all the CPU and AudioPCI commits from PCem;
Added an API call to allow ACPI soft power off to gracefully stop the emulator;
Removed the Siemens PCD-2L from the Dev branch because it now works;
Removed the Socket 5 HP Vectra from the Dev branch because it now works;
Fixed the Compaq Presario and the Micronics Spitfire;
Give the IBM PC330 its own list of 486 CPU so it can have DX2's with CPUID 0x470;
SMM fixes;
Rewrote the SYSENTER, SYSEXIT, SYSCALL, and SYSRET instructions;
Changed IDE reset period to match the specification, fixes #929;
The keyboard input and output ports are now forced in front of the queue when read, fixes a number of bugs, including the AMI Apollo hanging on soft reset;
Added the Intel AN430TX but Dev branched because it does not work;
The network code no longer drops packets if the emulated network card has failed to receive them (eg. when the buffer is full);
Changes to PCI card adding and renamed some PCI slot types, also added proper AGP bridge slot types;
USB UHCI emulation is no longer a stub (still doesn't fully work, but at least Windows XP chk with Debug no longer ASSERT's on it);
Fixed NVR on the the SMC FDC37C932QF and APM variants;
A number of fixes to Intel 4x0 chipsets, including fixing every register of the 440LX and 440EX;
Some ACPI changes.
2020-11-16 00:01:21 +01:00
OBattler
241ad90b54 Got rid of a lot of incorrect variable declaration and missing extern's, 86Box now successfully links when compiled with GCC 10.x. 2020-05-12 13:36:47 +02:00
David Hrdlička
2a5382a97b Remove mutex names, fixes #722
Named mutexes are used for inter-process synchronization, using them to synchronize threads of a single process is just begging for trouble when running multiple instances of the application.
2020-04-27 13:24:43 +02:00
David Hrdlička
aa5014a3ce win: Move remaining mount helper functions
We might want to consider renaming win_cdrom.c to something more fitting :P
2020-04-26 21:03:31 +02:00
David Hrdlička
70503973eb win: Add the new Media menu handler 2020-04-26 21:03:31 +02:00
David Hrdlička
9acb489a1d MSVC and Windows SDK compatibility 2020-04-04 12:45:47 +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