--- BasiliskII/src/AmigaOS/main_amiga.cpp 2000/07/06 16:04:24 1.6 +++ BasiliskII/src/AmigaOS/main_amiga.cpp 2000/07/14 21:29:10 1.7 @@ -347,6 +347,13 @@ void __saveds quit_emulator(void) void QuitEmulator(void) { + // Stop 60Hz thread + if (tick_proc) { + SetSignal(0, SIGF_SINGLE); + tick_proc_active = false; + Wait(SIGF_SINGLE); + } + // Restore stack if (stack_swapped) { stack_swapped = false; @@ -360,13 +367,6 @@ void QuitEmulator(void) FreeSignal(IRQSig); } - // Stop 60Hz thread - if (tick_proc) { - SetSignal(0, SIGF_SINGLE); - tick_proc_active = false; - Wait(SIGF_SINGLE); - } - // Remove trap handler MainTask->tc_TrapCode = OldTrapHandler; @@ -495,6 +495,8 @@ static __saveds void tick_func(void) if (++tick_counter > 60) { tick_counter = 0; WriteMacInt32(0x20c, TimerDateTime()); + SetInterruptFlag(INTFLAG_1HZ); + TriggerInterrupt(); } // Trigger 60Hz interrupt