}
}
+static void debug_continue(void)
+{
+ set_special (SPCFLAG_BRK);
+}
+
+
void debug (void)
{
int i;
}
}
if (!bp) {
- set_special (SPCFLAG_BRK);
+ debug_continue();
return;
}
}
if (skipaddr_doskip > 0) {
skipaddr_doskip--;
if (skipaddr_doskip > 0) {
- set_special (SPCFLAG_BRK);
+ debug_continue();
return;
}
}
do_skip = 1;
if (do_skip) {
set_special (SPCFLAG_BRK);
- m68k_resumestopped ();
- debugging = 1;
+ debugging = -1;
}
resume_sound ();
inputdevice_acquire (TRUE);
unset_special (SPCFLAG_TRAP);
Exception (3);
}
-
while ((regs.spcflags & SPCFLAG_STOP) && !(regs.spcflags & SPCFLAG_BRK)) {
+isstopped:
if (uae_int_requested || uaenet_int_requested) {
INTREQ_f (0x8008);
set_special (SPCFLAG_INT);
if (regs.spcflags & SPCFLAG_BRK) {
unset_special(SPCFLAG_BRK);
#ifdef DEBUGGER
- if (debugging)
+ if (debugging) {
debug();
+ if (regs.stopped)
+ goto isstopped;
+ }
#endif
}