Icache emulation from PCSX Redux + Senquack changes from PCSX4ALL (#198)
authorgameblabla <gameblabla@users.noreply.github.com>
Sat, 2 Oct 2021 13:41:42 +0000 (13:41 +0000)
committerGitHub <noreply@github.com>
Sat, 2 Oct 2021 13:41:42 +0000 (16:41 +0300)
commit943a507a4156b8f5b00e4431152e41eeb4dc6f3d
tree9f1cddc254e4c4c5f5fc0482a2034e6b0bfad5d8
parent40337130bf8f5925875fd13c70543f5947015c1b
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>
configure
frontend/main.c
frontend/menu.c
libpcsxcore/new_dynarec/emu_if.c
libpcsxcore/psxbios.c
libpcsxcore/psxcommon.h
libpcsxcore/psxhw.c
libpcsxcore/psxinterpreter.c
libpcsxcore/psxmem.c
libpcsxcore/r3000a.c
libpcsxcore/r3000a.h