Mercurial > repos > blastem
changeset 423:8e136187c0e0
Use the registers that were freed up by the memory map function changes
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 25 Jun 2013 23:18:57 -0700 |
parents | 642b2f8aee32 |
children | 7e8e179116af |
files | m68k_to_x86.c runtime.S |
diffstat | 2 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/m68k_to_x86.c Tue Jun 25 23:03:25 2013 -0700 +++ b/m68k_to_x86.c Tue Jun 25 23:18:57 2013 -0700 @@ -4339,8 +4339,10 @@ opts->dregs[0] = R10; opts->dregs[1] = R11; opts->dregs[2] = R12; + opts->dregs[3] = R8; opts->aregs[0] = R13; opts->aregs[1] = R14; + opts->aregs[2] = R9; opts->aregs[7] = R15; opts->native_code_map = malloc(sizeof(native_map_slot) * NATIVE_MAP_CHUNKS); memset(opts->native_code_map, 0, sizeof(native_map_slot) * NATIVE_MAP_CHUNKS);
--- a/runtime.S Tue Jun 25 23:03:25 2013 -0700 +++ b/runtime.S Tue Jun 25 23:18:57 2013 -0700 @@ -222,8 +222,10 @@ mov %r10d, 8(%rsi) /* d0 */ mov %r11d, 12(%rsi) /* d1 */ mov %r12d, 16(%rsi) /* d2 */ + mov %r8d, 20(%rsi) /* d3 */ mov %r13d, 40(%rsi) /* a0 */ mov %r14d, 44(%rsi) /* a1 */ + mov %r9d, 48(%rsi) /* a2 */ mov %r15d, 68(%rsi) /* a7 */ mov %eax, 80(%rsi) /* current cycle count */ ret @@ -237,13 +239,13 @@ mov 8(%rsi), %r10d /* d0 */ mov 12(%rsi), %r11d /* d1 */ mov 16(%rsi), %r12d /* d2 */ + mov 20(%rsi), %r8d /* d3 */ mov 40(%rsi), %r13d /* a0 */ mov 44(%rsi), %r14d /* a1 */ + mov 48(%rsi), %r9d /* a2 */ mov 68(%rsi), %r15d /* a7 */ mov 76(%rsi), %ebp /* target cycle count */ mov 80(%rsi), %eax /* current cycle count */ - mov 96(%rsi), %r8d /* cartridge address */ - mov 104(%rsi), %r9d /* work ram address */ ret .global m68k_start_context