- unsigned int i;
-
- printf("CYCLE 0x%08x PC 0x%08x", psxRegs.cycle, psxRegs.pc);
-
- if (lightrec_very_debug)
- printf(" RAM 0x%08x SCRATCH 0x%08x HW 0x%08x",
- hash_calculate_le(psxM, 0x200000),
- hash_calculate_le(psxH, 0x400),
- hash_calculate_le(psxH + 0x1000, 0x2000));
-
- printf(" CP0 0x%08x CP2D 0x%08x CP2C 0x%08x INT 0x%04x INTCYCLE 0x%08x GPU 0x%08x",
- hash_calculate(&psxRegs.CP0.r,
- sizeof(psxRegs.CP0.r)),
- hash_calculate(&psxRegs.CP2D.r,
- sizeof(psxRegs.CP2D.r)),
- hash_calculate(&psxRegs.CP2C.r,
- sizeof(psxRegs.CP2C.r)),
- psxRegs.interrupt,
- hash_calculate(psxRegs.intCycle,
- sizeof(psxRegs.intCycle)),
- LE32TOH(HW_GPU_STATUS));
-
- if (lightrec_very_debug)
- for (i = 0; i < 34; i++)
- printf(" %s 0x%08x", mips_regs[i], psxRegs.GPR.r[i]);
- else
- printf(" GPR 0x%08x", hash_calculate(&psxRegs.GPR.r,
- sizeof(psxRegs.GPR.r)));
- printf("\n");
-}
-
-static void lightrec_dump_regs(struct lightrec_state *state)
-{
- struct lightrec_registers *regs = lightrec_get_registers(state);
-
- if (unlikely(booting))
- memcpy(&psxRegs.GPR, regs->gpr, sizeof(regs->gpr));
- psxRegs.CP0.n.Status = regs->cp0[12];
- psxRegs.CP0.n.Cause = regs->cp0[13];
-}
-
-static void lightrec_restore_regs(struct lightrec_state *state)
-{
- struct lightrec_registers *regs = lightrec_get_registers(state);
-
- if (unlikely(booting))
- memcpy(regs->gpr, &psxRegs.GPR, sizeof(regs->gpr));
- regs->cp0[12] = psxRegs.CP0.n.Status;
- regs->cp0[13] = psxRegs.CP0.n.Cause;
- regs->cp0[14] = psxRegs.CP0.n.EPC;
-}
-
-extern void intExecuteBlock();
-extern void gen_interupt();