Mercurial > repos > blastem
comparison 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 |
comparison
equal
deleted
inserted
replaced
871:f364f4f22f8f | 872:7022ba865cfd |
---|---|
2507 call(code, opts->gen.save_context); | 2507 call(code, opts->gen.save_context); |
2508 call_args_abi(code, (code_ptr)sync_components, 2, opts->gen.context_reg, opts->gen.scratch1); | 2508 call_args_abi(code, (code_ptr)sync_components, 2, opts->gen.context_reg, opts->gen.scratch1); |
2509 mov_rr(code, RAX, opts->gen.context_reg, SZ_PTR); | 2509 mov_rr(code, RAX, opts->gen.context_reg, SZ_PTR); |
2510 jmp(code, opts->gen.load_context); | 2510 jmp(code, opts->gen.load_context); |
2511 *skip_sync = code->cur - (skip_sync+1); | 2511 *skip_sync = code->cur - (skip_sync+1); |
2512 cmp_irdisp(code, 0, opts->gen.context_reg, offsetof(m68k_context, should_return), SZ_B); | |
2513 code_ptr do_ret = code->cur + 1; | |
2514 jcc(code, CC_NZ, do_ret); | |
2512 retn(code); | 2515 retn(code); |
2516 *do_ret = code->cur - (do_ret+1); | |
2517 pop_r(code, opts->gen.scratch1); | |
2518 retn(code); | |
2519 mov_rrdisp(code, opts->gen.scratch1, opts->gen.context_reg, offsetof(m68k_context, resume_pc), SZ_PTR); | |
2513 *do_int = code->cur - (do_int+1); | 2520 *do_int = code->cur - (do_int+1); |
2514 //implement 1 instruction latency | 2521 //implement 1 instruction latency |
2515 cmp_irdisp(code, 0, opts->gen.context_reg, offsetof(m68k_context, int_pending), SZ_B); | 2522 cmp_irdisp(code, 0, opts->gen.context_reg, offsetof(m68k_context, int_pending), SZ_B); |
2516 do_int = code->cur + 1; | 2523 do_int = code->cur + 1; |
2517 jcc(code, CC_NZ, do_int); | 2524 jcc(code, CC_NZ, do_int); |