summaryrefslogtreecommitdiff
path: root/m68k_core.c
diff options
context:
space:
mode:
Diffstat (limited to 'm68k_core.c')
-rw-r--r--m68k_core.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/m68k_core.c b/m68k_core.c
index 69cd94d..16614a7 100644
--- a/m68k_core.c
+++ b/m68k_core.c
@@ -350,6 +350,7 @@ void translate_m68k_illegal(m68k_options *opts, m68kinst *inst)
void translate_m68k_move_usp(m68k_options *opts, m68kinst *inst)
{
+ m68k_trap_if_not_supervisor(opts, inst);
cycles(&opts->gen, BUS);
int8_t reg;
if (inst->src.addr_mode == MODE_UNUSED) {
@@ -532,8 +533,9 @@ void translate_m68k_reset(m68k_options *opts, m68kinst *inst)
void translate_m68k_rte(m68k_options *opts, m68kinst *inst)
{
+ m68k_trap_if_not_supervisor(opts, inst);
+
code_info *code = &opts->gen.code;
- //TODO: Trap if not in system mode
//Read saved SR
areg_to_native(opts, 7, opts->gen.scratch1);
call(code, opts->read_16);