/* See if there's a chance of a copper wait ending this line. */
compute_spcflag_copper();
-
+ // check reset and process it immediately, don't wait for vsync
+ if (quit_program == -UAE_RESET || quit_program == -UAE_RESET_KEYBOARD || quit_program == -UAE_RESET_HARD) {
+ quit_program = -quit_program;
+ set_special(SPCFLAG_BRK | SPCFLAG_MODE_CHANGE);
+ }
#if 0
if (quit_program < 0) {
#ifdef SAVESTATE
- if (!savestate_state) {
- if (currprefs.quitstatefile[0]) {
- savestate_initsave(currprefs.quitstatefile, 1, 1, true);
- save_state(currprefs.quitstatefile, _T(""));
- }
+ if (!savestate_state && quit_program == -UAE_QUIT && currprefs.quitstatefile[0]) {
+ savestate_initsave(currprefs.quitstatefile, 1, 1, true);
+ save_state(currprefs.quitstatefile, _T(""));
}
#endif
quit_program = -quit_program;
return;
}
-
if (ad->framecnt == 0) {
init_drawing_frame();
} else if (currprefs.cpu_memory_cycle_exact) {