notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
drc/gte: add some stall handling
[pcsx_rearmed.git]
/
libpcsxcore
/
psxinterpreter.c
diff --git
a/libpcsxcore/psxinterpreter.c
b/libpcsxcore/psxinterpreter.c
index
02e00a9
..
b171b0a
100644
(file)
--- a/
libpcsxcore/psxinterpreter.c
+++ b/
libpcsxcore/psxinterpreter.c
@@
-26,6
+26,7
@@
#include "gte.h"
#include "psxhle.h"
#include "debug.h"
#include "gte.h"
#include "psxhle.h"
#include "debug.h"
+#include "psxinterpreter.h"
static int branch = 0;
static int branch2 = 0;
static int branch = 0;
static int branch2 = 0;
@@
-39,8
+40,6
@@
static u32 branchPC;
#define debugI()
#endif
#define debugI()
#endif
-void execI();
-
// Subsets
void (*psxBSC[64])();
void (*psxSPC[64])();
// Subsets
void (*psxBSC[64])();
void (*psxSPC[64])();
@@
-935,7
+934,10
@@
void psxCOP0() {
}
void psxCOP2() {
}
void psxCOP2() {
- psxCP2[_Funct_]((struct psxCP2Regs *)&psxRegs.CP2D);
+ u32 f = _Funct_;
+ if (f != 0 || _Rs_ < 4) // not MTC2/CTC2
+ gteCheckStall(f);
+ psxCP2[f]((struct psxCP2Regs *)&psxRegs.CP2D);
}
void psxBASIC(struct psxCP2Regs *regs) {
}
void psxBASIC(struct psxCP2Regs *regs) {