--- SheepShaver/src/kpx_cpu/sheepshaver_glue.cpp 2005/06/30 07:34:17 1.62 +++ SheepShaver/src/kpx_cpu/sheepshaver_glue.cpp 2005/06/30 09:09:59 1.63 @@ -935,13 +935,7 @@ void HandleInterrupt(powerpc_registers * if (int32(ReadMacInt32(XLM_IRQ_NEST)) > 0) return; - // Do nothing if there is no pending interrupt - if (InterruptFlags == 0) - return; - - // Current interrupt nest level - static int interrupt_depth = 0; - ++interrupt_depth; + // Update interrupt count #if EMUL_TIME_STATS interrupt_count++; #endif @@ -957,7 +951,7 @@ void HandleInterrupt(powerpc_registers * #if INTERRUPTS_IN_NATIVE_MODE case MODE_NATIVE: // 68k emulator inactive, in nanokernel? - if (r->gpr[1] != KernelDataAddr && interrupt_depth == 1) { + if (r->gpr[1] != KernelDataAddr) { // Prepare for 68k interrupt level 1 WriteMacInt16(tswap32(kernel_data->v[0x67c >> 2]), 1); @@ -1015,9 +1009,6 @@ void HandleInterrupt(powerpc_registers * break; #endif } - - // We are done with this interrupt - --interrupt_depth; } static void get_resource(void);