- if (ctc)
- CTC2(value, reg);
- else
- MTC2(value, reg);
-}
-
-static void cop0_mtc(struct lightrec_state *state, u8 reg, u32 value)
-{
- cop0_mtc_ctc(state, reg, value, false);
-}
-
-static void cop0_ctc(struct lightrec_state *state, u8 reg, u32 value)
-{
- cop0_mtc_ctc(state, reg, value, true);
-}
-
-static void cop2_mtc(struct lightrec_state *state, u8 reg, u32 value)
-{
- cop2_mtc_ctc(state, reg, value, false);
-}
-
-static void cop2_ctc(struct lightrec_state *state, u8 reg, u32 value)
-{
- cop2_mtc_ctc(state, reg, value, true);
-}
-
-static void cop0_op(struct lightrec_state *state, u32 func)
-{
- fprintf(stderr, "Invalid access to COP0\n");
+ return ((psxHu32(0x1070) & psxHu32(0x1074)) &&
+ (psxRegs.CP0.n.Status & 0x401) == 0x401) ||
+ (psxRegs.CP0.n.Status & psxRegs.CP0.n.Cause & 0x0300);