Commit Graph

88 Commits

Author SHA1 Message Date
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
Laci bá
17f7fa3437 Merge further fixes to the 32-bit recompiler
Remove mprotect usages in 32-bit x86 dynamic recompiler
2021-10-16 19:43:50 +02:00
Laci bá
8b5e39ceed Merge dynarec fixes from Cacodemon345's branch
Get rid of mprotect call entirely on x64 dynamic recompiler
Use mmap whenever possible on old dynamic recompiler
2021-10-16 18:38:32 +02:00
OBattler
edb949090c Missing 64-bit old recompiler functions. 2021-09-17 19:29:20 +02:00
OBattler
d9123cad4a Fixed 16-bit and 32-bit FISTP(P) instruction, fixes OpenStep 4.2 font on interpreter and old recompiler, closes #1204. 2021-09-17 02:17:25 +02:00
Cacodemon345
a903e24702 Fix remaining warnings 2021-08-29 23:50:21 +06:00
David Hrdlička
44ccefb28a cmake: refactor the architecture detection 2021-08-29 03:55:07 +02:00
OBattler
aa3a52da3c Reordered some CPU variables and rewrote codegen emitted by the old recompiler's 64-bit version of codegen_accumulate_flush() to not assume 32-bit pointers, fixes 64-bit old recompiler, closes #1615. 2021-08-26 13:53:13 +02:00
OBattler
049efbf465 64-bit old recompiler fixes. 2021-04-30 19:28:01 +02: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
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
66ca9aa6aa Fixed two warnings on the old recompiler when compiling for 64-bit. 2020-12-12 16:11:06 +01:00
OBattler
a55b9c6512 Fixed 8-bit XCHG instruction on the 64-bit old recompiler when both source and destination are a high 8-bit register (AH, CH, BH, or DH), fixes the longstanding Chicago 58s bug. 2020-12-12 15:59:10 +01:00
OBattler
d65207ec21 Fixed the 64-bit old recompiler. 2020-12-10 01:12:28 +01:00
OBattler
a615c45001 Added load_param_2_reg_64(). 2020-12-09 18:09:08 +01:00
OBattler
1ddee67aa6 Got rid of the last differences between the old and new recompilers with regards to the readmem*/writemem* functions. 2020-12-01 02:41:22 +01:00
OBattler
a5ae4cfba5 Got completely rid of readmemb386l() and writememb386l(). 2020-11-30 05:27:04 +01:00
OBattler
795a6017d2 PIC rewrite, proper SMRAM API, complete SiS 471 rewrite and addition of 40x, 460, and 461, changes to mem.c/h, disabled Voodoo memory dumping on exit, bumped SDL Hardware scale quality to 2, bumped IDE/ATAPI drives to ATA-6, finally bumped emulator version to 3.0, redid the bus type ID's to allow for planned ATAPI hard disks, made SST flash set its high mappings to the correct address if the CPU is 16-bit, and added the SiS 401 AMI 486 Clone, AOpen Vi15G, and the Soyo 4SA2 (486 with SiS 496/497 that can boot from CD-ROM), assorted 286+ protected mode fixes (for slightly more accuracy), and fixes to 808x emulation (MS Word 1.0 and 1.10 for DOS now work correctly from floppy). 2020-10-14 23:15:01 +02: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
70dd4ba3be Generic MO Device ID changes and implemented the VPCEXT instructions (on the Virtual PC 2007 VM only). 2020-07-25 05:14: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
4cd95df959 Another 64-bit old recompiler change. 2020-07-16 01:39:55 +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
ec74ffb6a5 Old recompiler improvements: limited in-block IRQ checking to floppy IRQ's only, rewrote the GPF handlers in ASM, and changed the recompiled INC and DEC instructions to actually use INC and DEC on host. Also removed the keyboard_at.c timer hack. 2020-07-15 05:03:19 +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
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
974a7ae4f1 Fixed cycles accumulation in update_tsc() when cache is enabled (and the actual recompiler kicks in), and also fixed a warning in the 82091AA code. 2020-07-12 20:01:16 +02:00
OBattler
4e48943ad5 Moved the recompiler timings to cpu/ because they are common to both recompilers and fixed a bug in the common timings header file. 2020-06-13 11:12:28 +02:00
OBattler
395537070b Renamed the three CPU folders to their final names. 2020-06-13 10:53:11 +02:00