Connor McLaughlin
05eea3cd2b
CPU/CodeCache: Always compute uncached fetch ticks
...
Running code out of uncached ROM is slowwww.
2023-01-11 19:15:59 +10:00
Connor McLaughlin
8c7a192128
Misc: Add copyright/license statement to applicable files
...
Should've did this in the beginning.
2022-12-04 21:03:49 +10:00
Connor McLaughlin
601e3586b2
CPU/CodeCache: Impove overflow handling
2022-11-05 14:43:52 +10:00
Connor McLaughlin
7bbacd2392
Misc: Remove unused code
2022-08-22 19:55:38 +10:00
Connor McLaughlin
541947c6f8
CPU/CodeCache: Fix currently-invalidated blocks breaking memory states
2022-01-06 22:47:10 +10:00
Connor McLaughlin
c440593788
CPU/CodeCache: Add InvalidateAll() method
2021-12-25 14:28:32 +10:00
Connor McLaughlin
a542fa85d6
CPU/CodeCache: Fix crash when switching from interpreter to recompiler
2021-07-31 13:29:02 +10:00
Connor McLaughlin
5bf24265aa
CPU/CodeCache: Fix compilation without recompiler
2021-07-27 13:11:46 +10:00
Connor McLaughlin
c9f8828448
CPU/CodeCache: Drop block linking warning to dev level
2021-07-27 13:11:42 +10:00
Connor McLaughlin
d9d41de81b
CPU/Recompiler: Skip updating current_instruction_pc
2021-07-24 13:30:35 +10:00
Connor McLaughlin
21938e14c6
CPU/Recompiler: Implement block linking
2021-07-24 13:07:11 +10:00
Connor McLaughlin
033d85cd90
CPU/Recompiler: Simplify fast map addressing
2021-07-24 13:03:43 +10:00
Connor McLaughlin
7ea78ad2df
CPU/CodeCache: Fix incorrect macro for code buffer size
2021-07-20 00:00:43 +10:00
Connor McLaughlin
ca747d8d7a
CPU/CodeCache: Support UWP
2021-07-11 15:20:38 +10:00
Connor McLaughlin
7c43f5c13e
CPU/CodeCache: Fix compilation on 32-bit x86
2021-05-26 02:48:46 +10:00
Connor McLaughlin
8c7282046b
CPU/CodeCache: Re-enable interpreter fallback heuristic
2021-05-20 12:19:25 +10:00
Connor McLaughlin
acda42be16
CPU/Recompiler: Get rid of non-constant offsetofs
2021-05-20 12:19:24 +10:00
Connor McLaughlin
e382df0d41
Support expanding RAM to 8MB (dev console)
2021-05-03 12:43:33 +10:00
Connor McLaughlin
f34a048009
CPU/CodeCache: Fall back constantly-modified blocks to interpreter
...
Partial fix for slowdown in Colin McRae Rally 2.0.
2021-04-27 02:56:57 +10:00
Connor McLaughlin
dd5277321b
CPU/CachedInterpreter: Fix infinite loop when block compile fails
2021-04-14 19:06:52 +10:00
Connor McLaughlin
e087e6f3a2
CPU/Recompiler: Prevent using fastmem when cache is isolated
...
No point even trying since it's just going to fault.
2021-04-12 02:08:56 +10:00
Connor McLaughlin
922d320523
CPU/Recompiler: Reserve whole fastmem region to avoid clashes
2021-04-11 12:42:51 +10:00
Connor McLaughlin
5bbbb8d3d5
CPU/Recompiler: Use MAP_JIT for code space on Apple Silicon
2021-03-19 18:47:31 +10:00
Connor McLaughlin
bf5f53e1d1
CPU/CodeCache: Don't choke on indirect -> direct branch in delay slot
2021-03-06 02:21:27 +10:00
Connor McLaughlin
520b64e711
CPU/Recompiler: Don't zero read-only bits in mtc0
...
Fixes memory card error in Digimon Digital Card Battle.
2021-02-28 15:06:24 +10:00
Connor McLaughlin
701edb335a
Various warning fixes
2021-02-06 19:19:55 +10:00
Connor McLaughlin
c9240eea72
CPU/Recompiler: Use PGXP interpreter for fallback
...
Fixes holes in geometry with PGXP enabled in Threads of Fate.
2021-01-01 17:16:55 +10:00
Connor McLaughlin
02377b1a92
CPU/CodeCache: Fix possible crash on invalidate->recompile->overflow
2020-12-31 02:10:49 +10:00
Connor McLaughlin
a894b295b6
CPU/CodeCache: Fix assertion failure when patching in double branch
2020-12-29 22:49:52 +10:00
Connor McLaughlin
3b23542ec9
CPU: Provide debugger/breakpoint/step functionality
2020-12-17 11:57:47 +10:00
Connor McLaughlin
5164840c25
CPU/CodeCache: Don't choke on indirect branches in delay slot
...
Fixes emulator crash/memory usage explosion in Shadow Master.
2020-12-14 01:35:53 +10:00
Connor McLaughlin
f5ccb6ea60
CPU: Fall back to mmap'ed buffer if reprotecting code space fails
2020-12-06 18:13:07 +10:00
Connor McLaughlin
bf2e38aed5
CPU/Recompiler: Implement LUT-based fastmem
2020-11-24 14:49:21 +10:00
Connor McLaughlin
0793f98c87
CPU/Recompiler: Reduce armv7 code buffer size
2020-11-22 13:59:26 +10:00
Connor McLaughlin
a03bca2f72
CPU: Make fastmem a compile-time feature (support 32-bit targets)
2020-11-21 18:39:03 +10:00
Connor McLaughlin
53f81d067a
CPU/CodeCache: Remove warning about executing uncompiled blocks
2020-11-21 18:39:03 +10:00
Connor McLaughlin
042bdd9c0c
CPU/CodeCache: Fetch second delay slot from first branch for double branches
2020-11-19 00:40:02 +10:00
Connor McLaughlin
576914cd2c
CPU/CodeCache: Backpatch code writes after they exceed 10 faults
...
Small performance improvement in Driver 2.
2020-11-08 00:22:35 +10:00
Connor McLaughlin
2e53bf914e
CPU/CodeCache: Fix crash when jumping to invalid block in recompiler
2020-10-31 14:27:57 +10:00
Connor McLaughlin
be63d893cd
CPU: Use partial icache fills for non-line-aligned addresses
2020-10-30 00:44:40 +10:00
Connor McLaughlin
cbc7e3d64a
CPU/Recompiler: Add register allocation safety check to fastmem
2020-10-26 21:59:29 +10:00
Connor McLaughlin
7566c45f64
CPU/Recompiler: Implement fastmem
2020-10-18 14:54:38 +10:00
Connor McLaughlin
a6f8dde790
CPU/Recompiler: Faster ASM dispatcher
2020-10-18 14:54:38 +10:00
Connor McLaughlin
cb351a7dbd
CPU: Move interrupt check out of inner-most exec loop
2020-10-18 14:54:38 +10:00
Connor McLaughlin
19d6037b99
CPU: Implement instruction cache simulation
...
Implemented for all execution modes. Disabled by default in the cached
interpreter and recompiler, always enabled in the pure interpreter.
2020-08-29 22:07:40 +10:00
Connor McLaughlin
d3f530f96e
CPU/CachedInterpreter: Very slight optmization
2020-08-23 01:41:55 +10:00
Connor McLaughlin
1d4d1d06a7
CPU/Recompiler: Disable static code buffer on macOS/Haiku
2020-08-22 13:24:57 +10:00
kwyxz
31695c4ff7
Haiku port of duckstation libretro core ( #716 )
...
* Haiku build 1st attempt
* fix load on Haiku
* Removed debugging flags
* Added a couple ifndef
2020-08-22 13:20:37 +10:00
Connor McLaughlin
2e9f656546
CPU: Implement PGXP CPU Mode
...
This is *very* slow. You don't want to enable it if you don't need it.
It is also incompatible with the recompiler and will disable it if the
option is enabled.
2020-08-20 00:49:39 +10:00
Connor McLaughlin
5b9db71b87
CPU/Recompiler: Fix mid-block software interrupts not updating pc
...
Fixes Need for Speed: High Stakes hanging at boot.
2020-08-09 04:32:53 +10:00