Icache emulation from PCSX Redux + Senquack changes from PCSX4ALL (#198)
* Merge Icache emulation from PCSX Redux
See (Redux) :
https://github.com/grumpycoders/pcsx-redux/commit/
1923ce54ef585beba3a948d50f8c30161102312c
See original icache implementation (mirror of PCSX Reloaded):
https://github.com/gameblabla/pcsxr
Without icache emulation, F1 2001 will greatly misbehave :
if you accelerate, the car will go around like crazy.
With icache emulation, it works as intended.
Our code is slightly different from theirs as i found out that
having the icache arrays in psxregs would cause crashes so instead
what i'm doing is to taking them out of there and only allocating them
on the heap (due to their great size).
Co-authored-by: Nicolas Noble <nicolasnoble@users.noreply.github.com>
* Fix issues with BREAK and some interpreter commands. Fixes F1 2000.
Note that the game is very sensible to timing issues when it comes to the CDROM
controller.
That will be for a separate commit however.
* Culling off cache bits from the hardware addresses.
Based on those PRs from PCSX-Redux :
https://github.com/grumpycoders/pcsx-redux/commit/
0cd940100e96b95eea87dbb47381596f7f8dbe72#diff-009cbf66734b5de152bf170b80f8c7e03bebaa08a191f6ad7a06c7420f24b69c
https://github.com/grumpycoders/pcsx-redux/commit/
03d2ba3f278868cdd7ee3a44edef7ee87e6a1589#diff-009cbf66734b5de152bf170b80f8c7e03bebaa08a191f6ad7a06c7420f24b69c
Co-authored-by: Nicolas Noble <nicolasnoble@users.noreply.github.com>
* Slightly better "open bus" behavior
OG commit is here from PCSX Redux :
https://github.com/grumpycoders/pcsx-redux/commit/
128ba97f9680ab8dcd2f840f72ae998507325730#diff-8552772bc73559e3448880c9b8126252b49b95a89cfac254148d27127cbec719
Co-authored-by: Nicolas Noble <nicolasnoble@users.noreply.github.com>
* [Interpreter] Link even if branch is not taken in BGEZAL/BLTZAL
Source :
grumpycoders/pcsx-redux@
c1a0569
Co-authored-by: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com>
Co-authored-by: Nicolas Noble <nicolasnoble@users.noreply.github.com>