Commit Graph

20 Commits

Author SHA1 Message Date
OBattler
949dea3524 Added IBM PCjr cartridge support. 2021-07-29 20:34:55 +02:00
OBattler
827065c0bc Ported the cassette emulation from PCE, closes #835. 2021-07-27 06:12:09 +02:00
OBattler
706ad0e896 Changed the way the emulator is shut down, fixes #1555. 2021-07-21 04:05:40 +02:00
OBattler
9adf0fdcc4 Added the ability for keyboard to require capture, in order for 86Box keyboard input to operate like VMWare, closes #829. 2021-07-19 02:27:22 +02:00
OBattler
78c3f6759f Removed all usage of TerminateThread()/thread_kill(), thread_wait() is used instead now. 2021-07-16 06:45:32 +02:00
ts-korhonen
2bf6c7aa11 win_opengl: UI for options and add them to config. Reloading changed options at runtime. Improved framerate limitter. 2021-04-23 16:09:45 +03:00
ts-korhonen
afc5122a50 win_opengl: Add loading shaders from a file and few common uniforms.
plat.h,win.c: Add missing const
2021-04-15 16:38:23 +03:00
David Hrdlička
dfbbe08a07 rewrite the emulator to use UTF-8 internally 2021-03-30 09:46:49 +02:00
Sean Ramey
8d9a3f02ea Fix build due to renamed variable.
quited -> is_quit
2021-03-25 03:20:25 -05:00
luisjoseromero
c0e7ac3762 Integrated Chrome tracing
Added support for chrome tracing by integrating the
minitrace library (github.com/hrydgard/minitrace),
and modified it with a background flushing thread that allows
tracing to continue automatically after the predefined
1 million event limit.

Menu items and an accelerator (Ctr+T) have also been
added. Starting and stopping the trace simply replaces
trace.json with the new trace data.

The feature is disabled by default. Pass MINITRACE=y
to the build command to enable it. Some traces are
already added as an example, however they won't have
any effect if the feature is disabled.
2021-02-14 17:27:46 +00:00
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