Commit Graph

35 Commits

Author SHA1 Message Date
ts-korhonen
3825d5c53c Merge branch 'master' into qt 2021-12-17 22:17:14 +02:00
ts-korhonen
805638ddd8 Fix window resize not always working
Change doresize to atomic_flag to prevent race condition
2021-12-17 22:15:21 +02:00
ts-korhonen
fee52c0b99 Merge branch 'master' of https://github.com/86Box/86Box into qt 2021-12-17 21:33:46 +02:00
David Hrdlička
7381ab6928 Minor changes to threading
- Renamed `cpp11_thread.cpp` to `thread.cpp`
- Removed features that are only supported by Win32 threads (`thread_wait` with timeout and mutex with spinlock)
- Fixed formatting in `thread.cpp`
2021-12-17 19:59:25 +01:00
Cacodemon345
563869a06e Fix macOS builds 2021-12-01 01:00:41 +06:00
Laci bá
dfa795b267 Add reverse conversion from string to LCID 2021-11-13 23:51:29 +01:00
Laci bá
dafc429e93 A lot of changes
- Fix the broken itemindex of ComboBox  in the Settings dialog
- Change from LCID to uint32_t
- Rewrite the headers of the lang related functions (can handle the whole LCID as input)
- Add dummy functions to unix.c
- Add proper combobox handling in win_settings.c
- Added a lot of debug calls temporarily
- Reactivate every disabled option related to language changes
- Move lang_id to 86box.h from win.h
- Implement on-fly resource switch as discussed with OBattler
- Reimplement everything language related in the initialization section of the program
- Implemented the ladder of three points
1, what is the --lang?
2, what are definied in the config? (to be implemented)
3, what is the system language
2021-11-09 22:33:54 +01:00
Laci bá
9914ad520c Multiple language-related updates
Add the possibility to change runtime language, via --lang parameter. Also specify the verbose language code in the Hungarian translation.
2021-11-09 18:53:15 +01:00
RichardG867
5bf8aa2d58 Port plat_m(un)map from the VFIO branch 2021-10-16 20:12:49 -03:00
Cacodemon345
d232ce99fe Redirect fopen64 functions to fopen for non-Linux Unix systems 2021-09-07 16:24:50 +06:00
Cacodemon345
f6af2b0162 Fix compile errors and get rid of glib dependency 2021-08-29 23:50:21 +06:00
Cacodemon345
39fea69d5c Fix warnings 2021-08-29 23:50:21 +06:00
dob205
34a14354bf Fixes some small potential issues with the updated plat.h
Added a small fix for the if condition, so that the OS definition can work properly
2021-08-22 17:56:34 +02:00
dob205
672ff82e46 Update plat.h 2021-08-22 17:30:05 +02:00
OBattler
d1991ac763 Added the ability to hide the status bar, closes #1530. 2021-07-30 04:01:46 +02:00
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