diff --git a/src/arm/cpu.S b/src/arm/cpu.S index f0ffb8eb..79a1b899 100644 --- a/src/arm/cpu.S +++ b/src/arm/cpu.S @@ -2431,11 +2431,13 @@ continue: add r9, r9, cycles_exe str r9, [r1] +#if CONFORMANT_IRQ_CHECKPOINT SYM(r1, irqCheckTimeout) // AppleWin : CheckInterruptSources() ldr r9, [r1] subs r9, r9, cycles_exe str r9, [r1] bmi irq_checkpoint +#endif continue1: SYM(r1, cpu65_cycles_to_execute) ldr r9, [r1] @@ -2451,12 +2453,14 @@ continue2: SYM(r1, cpu65__signal) CPUStatsReset JumpNextInstruction +#if CONFORMANT_IRQ_CHECKPOINT irq_checkpoint: bl CALL(cpu_irqCheck); SYM(r1, irqCheckTimeout) eor r9, r9, r9 str r9, [r1] b continue1 +#endif /* ------------------------------------------------------------------------- Exception handlers diff --git a/src/x86/cpu.S b/src/x86/cpu.S index 434fd971..5d997b41 100644 --- a/src/x86/cpu.S +++ b/src/x86/cpu.S @@ -2162,8 +2162,10 @@ continue: REG2MEM(addl, %eax, cpu65_cycle_count) REG2MEM(subl, %eax, gc_cycles_timer_0) REG2MEM(subl, %eax, gc_cycles_timer_1) +#if CONFORMANT_IRQ_CHECKPOINT REG2MEM(subl, %eax, irqCheckTimeout) jl irq_checkpoint // AppleWin : CheckInterruptSources() +#endif continue1: REG2MEM(subl, %eax, cpu65_cycles_to_execute) jle exit_cpu65_run continue2: xorLQ _XAX, _XAX @@ -2172,6 +2174,7 @@ continue2: xorLQ _XAX, _XAX CPUStatsReset JumpNextInstruction +#if CONFORMANT_IRQ_CHECKPOINT irq_checkpoint: #if __PIC__ && __i386__ pushl %ebx @@ -2182,6 +2185,7 @@ irq_checkpoint: #endif REG2MEM(movl, $IRQ_CHECK_CYCLES, irqCheckTimeout) jmp continue1 +#endif /* ------------------------------------------------------------------------- Exception handlers