# HG changeset patch # User Mike Pavone # Date 1372227537 25200 # Node ID 8e136187c0e00f3710382546501c091c418fcd3d # Parent 642b2f8aee32c211e877e4665d95440e14a6a938 Use the registers that were freed up by the memory map function changes diff -r 642b2f8aee32 -r 8e136187c0e0 m68k_to_x86.c --- 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); diff -r 642b2f8aee32 -r 8e136187c0e0 runtime.S --- 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