X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fpsxinterpreter.c;h=6c19f061debfc1a7dbe81da99c345785cde6c23c;hb=4f0c5e3fd702a35b7a2ebc22519f59bbae7b3008;hp=db8e73b04bbc36f66b9bc6a65aa0557c63cf7fa4;hpb=f533290e855dcdb9d266f147716b10e9a6268058;p=pcsx_rearmed.git diff --git a/libpcsxcore/psxinterpreter.c b/libpcsxcore/psxinterpreter.c index db8e73b0..6c19f061 100644 --- a/libpcsxcore/psxinterpreter.c +++ b/libpcsxcore/psxinterpreter.c @@ -39,7 +39,9 @@ static u32 branchPC; #define debugI() #endif -#ifdef NDEBUG +#ifndef NDEBUG +#include "debug.h" +#else void StartDebugger() {} void ProcessDebug() {} void StopDebugger() {} @@ -854,7 +856,13 @@ void psxBASIC(struct psxCP2Regs *regs) { void psxHLE() { // psxHLEt[psxRegs.code & 0xffff](); - psxHLEt[psxRegs.code & 0x07](); // HDHOSHY experimental patch +// psxHLEt[psxRegs.code & 0x07](); // HDHOSHY experimental patch + uint32_t hleCode = psxRegs.code & 0x03ffffff; + if (hleCode >= (sizeof(psxHLEt) / sizeof(psxHLEt[0]))) { + psxNULL(); + } else { + psxHLEt[hleCode](); + } } void (*psxBSC[64])() = {