Mercurial > repos > blastem
diff m68k_core_x86.c @ 872:7022ba865cfd
Initial work for allowing loading a ROM from menu
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 08 Nov 2015 15:51:57 -0800 |
parents | 7decd421cdc8 |
children | 9f149f0e98b7 |
line wrap: on
line diff
--- a/m68k_core_x86.c Fri Nov 06 19:47:58 2015 -0800 +++ b/m68k_core_x86.c Sun Nov 08 15:51:57 2015 -0800 @@ -2509,7 +2509,14 @@ mov_rr(code, RAX, opts->gen.context_reg, SZ_PTR); jmp(code, opts->gen.load_context); *skip_sync = code->cur - (skip_sync+1); + cmp_irdisp(code, 0, opts->gen.context_reg, offsetof(m68k_context, should_return), SZ_B); + code_ptr do_ret = code->cur + 1; + jcc(code, CC_NZ, do_ret); retn(code); + *do_ret = code->cur - (do_ret+1); + pop_r(code, opts->gen.scratch1); + retn(code); + mov_rrdisp(code, opts->gen.scratch1, opts->gen.context_reg, offsetof(m68k_context, resume_pc), SZ_PTR); *do_int = code->cur - (do_int+1); //implement 1 instruction latency cmp_irdisp(code, 0, opts->gen.context_reg, offsetof(m68k_context, int_pending), SZ_B);