diff options
author | notaz | 2011-10-21 02:18:46 +0300 |
---|---|---|
committer | notaz | 2011-10-30 23:48:08 +0200 |
commit | f74fb7275e1d6a8e8eb5ce8e3f8a690d5d688f1c (patch) | |
tree | d50176125beb479e476121a0ef8fa3a6496aa9fc /libpcsxcore/psxinterpreter.c | |
parent | 8575a877a535931198a3d0105cf0e6675a9d0c17 (diff) | |
download | pcsx_rearmed-f74fb7275e1d6a8e8eb5ce8e3f8a690d5d688f1c.tar.gz pcsx_rearmed-f74fb7275e1d6a8e8eb5ce8e3f8a690d5d688f1c.tar.bz2 pcsx_rearmed-f74fb7275e1d6a8e8eb5ce8e3f8a690d5d688f1c.zip |
gte: pass a pointer to registers as argument
no more need to load psxRegs in each function and all registers are
reachable by ldrh/strh.
Diffstat (limited to 'libpcsxcore/psxinterpreter.c')
-rw-r--r-- | libpcsxcore/psxinterpreter.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libpcsxcore/psxinterpreter.c b/libpcsxcore/psxinterpreter.c index 84e1da5..f9833a4 100644 --- a/libpcsxcore/psxinterpreter.c +++ b/libpcsxcore/psxinterpreter.c @@ -46,7 +46,7 @@ void (*psxBSC[64])(); void (*psxSPC[64])(); void (*psxREG[32])(); void (*psxCP0[32])(); -void (*psxCP2[64])(); +void (*psxCP2[64])(psxCP2Regs *regs); void (*psxCP2BSC[32])(); static void delayRead(int reg, u32 bpc) { @@ -833,10 +833,10 @@ void psxCOP0() { } void psxCOP2() { - psxCP2[_Funct_](); + psxCP2[_Funct_]((psxCP2Regs *)&psxRegs.CP2D); } -void psxBASIC() { +void psxBASIC(psxCP2Regs *regs) { psxCP2BSC[_Rs_](); } @@ -882,7 +882,7 @@ void (*psxCP0[32])() = { psxNULL, psxNULL, psxNULL, psxNULL, psxNULL, psxNULL, psxNULL, psxNULL }; -void (*psxCP2[64])() = { +void (*psxCP2[64])(psxCP2Regs *regs) = { psxBASIC, gteRTPS , psxNULL , psxNULL, psxNULL, psxNULL , gteNCLIP, psxNULL, // 00 psxNULL , psxNULL , psxNULL , psxNULL, gteOP , psxNULL , psxNULL , psxNULL, // 08 gteDPCS , gteINTPL, gteMVMVA, gteNCDS, gteCDP , psxNULL , gteNCDT , psxNULL, // 10 |