X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=libpcsxcore%2Fpsxhle.c;h=379ffd1f94b0fc979ca230a7e50ca99e71c4bfc1;hb=fc3afcaefe3d58cdb44b43d556309c3fc4166eb7;hp=75071922820073c4e1d2ae032bd265e3e39ba436;hpb=833174ecc4ca153acb4bf7417836af2e6cc2de49;p=pcsx_rearmed.git diff --git a/libpcsxcore/psxhle.c b/libpcsxcore/psxhle.c index 75071922..379ffd1f 100644 --- a/libpcsxcore/psxhle.c +++ b/libpcsxcore/psxhle.c @@ -30,7 +30,10 @@ #endif static void hleDummy() { + log_unhandled("hleDummy called @%08x ra=%08x\n", + psxRegs.pc - 4, psxRegs.GPR.n.ra); psxRegs.pc = psxRegs.GPR.n.ra; + psxRegs.cycle += 1000; psxBranchTest(); } @@ -87,7 +90,7 @@ static void hleExecRet() { psxRegs.GPR.n.ra = header->ret; psxRegs.GPR.n.sp = header->_sp; - psxRegs.GPR.n.s8 = header->_fp; + psxRegs.GPR.n.fp = header->_fp; psxRegs.GPR.n.gp = header->_gp; psxRegs.GPR.n.s0 = header->base; @@ -95,8 +98,15 @@ static void hleExecRet() { psxRegs.pc = psxRegs.GPR.n.ra; } -void (*psxHLEt[256])() = { +void (* const psxHLEt[24])() = { hleDummy, hleA0, hleB0, hleC0, - hleBootstrap, hleExecRet, - hleDummy, hleDummy + hleBootstrap, hleExecRet, psxBiosException, hleDummy, + hleExc0_0_1, hleExc0_0_2, + hleExc0_1_1, hleExc0_1_2, hleExc0_2_2_syscall, + hleExc1_0_1, hleExc1_0_2, + hleExc1_1_1, hleExc1_1_2, + hleExc1_2_1, hleExc1_2_2, + hleExc1_3_1, hleExc1_3_2, + hleExc3_0_2_defint, + hleExcPadCard1, hleExcPadCard2, };