Exceptions *do* take some cycles, at least 1 for now
This commit is contained in:
@@ -11,14 +11,14 @@ int Interpreter::Step() {
|
|||||||
if(!MapVAddr(regs, LOAD, regs.pc, paddr)) {
|
if(!MapVAddr(regs, LOAD, regs.pc, paddr)) {
|
||||||
HandleTLBException(regs, regs.pc);
|
HandleTLBException(regs, regs.pc);
|
||||||
FireException(regs, GetTLBExceptionCode(regs.cop0.tlbError, LOAD), 0, false);
|
FireException(regs, GetTLBExceptionCode(regs.cop0.tlbError, LOAD), 0, false);
|
||||||
return 0;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 instruction = mem.Read32(regs, paddr);
|
u32 instruction = mem.Read32(regs, paddr);
|
||||||
|
|
||||||
if(ShouldServiceInterrupt()) {
|
if(ShouldServiceInterrupt()) {
|
||||||
FireException(regs, ExceptionCode::Interrupt, 0, false);
|
FireException(regs, ExceptionCode::Interrupt, 0, false);
|
||||||
return 0;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
regs.oldPC = regs.pc;
|
regs.oldPC = regs.pc;
|
||||||
|
|||||||
Reference in New Issue
Block a user