Mercurial > repos > blastem
changeset 1323:c9dc2603b087
Fixed timing for RTS and RTE
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 20 Apr 2017 22:28:58 -0700 |
parents | b1423d432c0e |
children | 2fc444b69351 |
files | m68k_core.c |
diffstat | 1 files changed, 2 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/m68k_core.c Tue Apr 18 19:27:10 2017 -0700 +++ b/m68k_core.c Thu Apr 20 22:28:58 2017 -0700 @@ -305,10 +305,10 @@ static void translate_m68k_rts(m68k_options * opts, m68kinst * inst) { code_info *code = &opts->gen.code; - //TODO: Add cycles areg_to_native(opts, 7, opts->gen.scratch1); addi_areg(opts, 4, 7); call(code, opts->read_32); + cycles(&opts->gen, 2*BUS); call(code, opts->native_addr); jmp_r(code, opts->gen.scratch1); } @@ -626,6 +626,7 @@ call(code, opts->read_32); addi_areg(opts, 4, 7); check_user_mode_swap_ssp_usp(opts); + cycles(&opts->gen, 2*BUS); //Get native address, sync components, recalculate integer points and jump to returned address call(code, opts->native_addr_and_sync); jmp_r(code, opts->gen.scratch1);