Alexander Babikov
c1d97fc72a
Fix some more remaining warnings
2022-04-14 07:58:22 +05:00
Alexander Babikov
710d34db97
Remove unused variables and functions
2022-04-14 07:13:50 +05:00
Alexander Babikov
4e82d93729
Fix warnings related to variable types
2022-04-14 07:13:48 +05:00
Alexander Babikov
519781ff4f
Add a missing include and disable extraneous logging in codegen_backend_arm.c
2022-04-14 07:13:48 +05:00
Alexander Babikov
eba088c692
Remove trailing whitespace + indentation consistency fixes
2022-04-14 07:10:18 +05:00
RichardG867
dcd54bff3f
New Dynarec: Disable 3DNow opcodes on ARM, just in case
2022-03-18 17:13:52 -03:00
RichardG867
25cb062427
New Dynarec: Disable more MMX opcodes on ARM
2022-03-18 16:07:01 -03:00
RichardG867
1da566e673
New Dynarec: Disable recompilation of some MMX opcodes on ARM, pending investigation
2022-03-18 15:06:57 -03:00
Cacodemon345
c1f9d35de8
qt: Add support for Haiku
...
* OpenAL backend is enabled by default on Haiku
* bswap include now makes use of builtins if they exist
* Use a local fgetws method for Haiku to avoid crashes
* OpenGL renderers are completely disabled on Haiku (they do not work)
* Software renderer is a widget, not a window on Haiku (fixes blank screen)
* Add option to disable System MIDI at compile time
2022-03-11 12:13:08 +06:00
Jasmine Iwanek
8597e4e4d7
Merge branch 'master' into more-updates
2022-02-20 16:28:50 -05:00
Jasmine Iwanek
4674756664
More newline and whitespace cleanups
2022-02-20 16:26:40 -05:00
OBattler
f19aaa14ae
Fixed three instances of undefined behavior.
2022-02-20 20:30:20 +01:00
Jasmine Iwanek
4287e44824
newlines at end of file
2022-02-18 21:38:51 -05:00
Cacodemon345
2da187c0bd
Fix plat_mmap on FreeBSD ( #1980 )
...
* Fix plat_mmap on FreeBSD
* Same for old codegen backend
* ...and for new codegen backend
2022-01-07 09:58:59 +01:00
David Hrdlička
52486e121e
Convert CMake files to 4 spaces indentation
2021-12-20 15:08:23 +01:00
Cacodemon345
0f9dd7b970
Add missing stdlib.h include to codegen_backend_x86-64.c
2021-08-29 23:50:22 +06:00
Cacodemon345
766f321d4d
Add missing string.h include on new codegen backends
2021-08-29 23:50:22 +06:00
David Hrdlička
44ccefb28a
cmake: refactor the architecture detection
2021-08-29 03:55:07 +02:00
OBattler
196f0f8bdd
Merge branch 'master' of https://github.com/86Box/86Box
2021-08-27 20:11:17 +02:00
OBattler
08e36e7d52
Added a sanity check to the new recompiler, prevents the emulator from dividing by zero and crashing.
2021-08-27 20:10:59 +02:00
David Hrdlička
a68ac70c47
Fix ARM64 build
...
There is some weird issues regarding linking `__clear_cache` under `clang-cl`, therefore we just call the Windows API instead on these builds.
2021-08-27 15:16:49 +02:00
OBattler
ddc7c5b78a
Reorganized some CPU structures a bit and fixed inappropriate behavior of some mem.c functions on 64-bit binaries (and made mem.c aware of ARM64 as well), fixes both 64-bit recompilers, closes #1215 .
2021-08-27 13:31:47 +02:00
OBattler
87ee489f7d
And now for the new recompiler.
2021-04-30 19:30:35 +02:00
OBattler
fbe2537ddd
Undid the loop unrolling disable in the new recompiler.
2021-04-29 22:14:34 +02:00
qeeg
38d9724c81
Disable loop unrolling in the new dynarec. MASSIVE performance gains in XP, while negligible impact on DOS 6.22
2021-03-29 16:23:45 -05:00
David Hrdlička
96eb8d806e
Add copyright headers
2021-01-12 18:26:18 +01:00
David Hrdlička
11b6604196
Add CMake build files
2021-01-12 18:22:40 +01:00
David Hrdlička
a90d03a45d
codegen: fix ARM linkage
2020-12-17 12:06:36 +01:00
David Hrdlička
34422d27dd
codegen: don't use inline asm on MSVC/ARM
2020-12-17 12:06:31 +01:00
David Hrdlička
251dc45048
codegen: replace asm block with an intrinsic
2020-12-17 01:24:39 +01:00
David Hrdlička
144b19b941
codegen: fix architecture detection on MSVC
2020-12-17 00:58:37 +01:00
David Hrdlička
53144ed8ec
fix target architecture checks
2020-12-16 20:32:56 +01:00
David Hrdlička
fd554cbcbc
fix WIN64 checks to _WIN64
2020-12-16 20:29:46 +01:00
OBattler
1d4988221f
Fixed SYSENTER, SYSEXIT, SYSCALL, and SYSRET;
...
SYSCALL and SYSRET are now perfectly in line with AMD's specification;
Improvements to the API call to gracefully stop the emulator.
2020-11-16 17:47:05 +01: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
Alexander Babikov
53bb559446
Fix compilation warnings.
2020-11-14 05:46:57 +05:00
qeeg
a268715893
Micro-optimizations for the AND and OR opcodes in the new dynarec
2020-09-06 23:33:05 -05:00
OBattler
d489317573
VPCEXT instructions now get fetchdat also on x64 old recompiler and on new recompiler.
2020-07-25 05:16:06 +02:00
OBattler
eba7d798a0
Merged the two copies of x86seg.c, finishing the mergers started in February.
2020-07-22 17:46:43 +02:00
OBattler
1ff36987a2
Merged the two copies of x86_ops_shift.h.
2020-07-22 16:45:46 +02:00
OBattler
0b4b2b4d2f
A number of recompiler fixes and put some of the timer/cycle-related changes behind #ifdef's as they are no longer used but someone may want to still try them out.
2020-07-15 18:30:27 +02:00
OBattler
10e16249fd
Merged the two copies of x86_ops_call.h.
2020-07-15 03:37:44 +02:00
OBattler
39726915d3
Merged the two versions of x86_flags.h into one.
2020-07-15 03:22:28 +02:00
OBattler
63975d636b
New recompiler fixes: fixed cycle accumulation and a division by zero.
2020-07-13 22:18:21 +02:00
OBattler
a862bda04c
Rewrote the recompiler interrupt checking in assembly (and removed it for the new dynamic compiler because the requires uops are not present), brings performance back up, and also did a number of CPU-related clean-ups (mostly removal of dead variables and associated code).
2020-07-13 19:46:19 +02:00
OBattler
0cd0d83cee
Both recompilers now check for interrupt after every instruction and exit the block if one has happened.
2020-07-13 01:23:40 +02:00
OBattler
099fd2fc34
Properly fixed update_tsc().
2020-07-12 23:51:56 +02:00
OBattler
38828bdc3b
TSC update cycle fixes.
2020-07-12 21:05:46 +02:00
OBattler
be9d369a91
A number of bugfixes.
2020-07-12 20:20:06 +02:00
OBattler
2788ea59bf
Hopefully fixed compilation of the new recompiler.
2020-07-12 20:14:25 +02:00