summaryrefslogtreecommitdiff
path: root/menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'menu.c')
-rw-r--r--menu.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/menu.c b/menu.c
index c656dca..6dbbd12 100644
--- a/menu.c
+++ b/menu.c
@@ -191,8 +191,17 @@ void * menu_write_w(uint32_t address, void * context, uint16_t value)
m68k->should_return = 1;
break;
case 3: {
- m68k->should_return = 1;
- gen->should_exit = 1;
+ switch (dst)
+ {
+ case 1:
+ m68k->should_return = 1;
+ gen->should_exit = 1;
+ break;
+ case 2:
+ m68k->should_return = 1;
+ break;
+ }
+
break;
}
}
@@ -204,6 +213,9 @@ void * menu_write_w(uint32_t address, void * context, uint16_t value)
menu->latch = value;
menu->state = 1;
}
+ if (m68k->should_return) {
+ m68k->target_cycle = m68k->current_cycle;
+ }
return context;
}