}
}
+static int rt_addr;
+static int rt_straddr;
+static int rt_addr_restart;
+static bool rt_addr_reset;
+
void rtarea_reset(void)
{
uae_u8 *p = rtarea_bank.baseaddr;
memset(p + RTAREA_HEARTBEAT, 0, 0x10000 - RTAREA_HEARTBEAT);
memset(p + RTAREA_VARIABLES, 0, RTAREA_VARIABLES_SIZE);
}
+ if (rt_addr_reset) {
+ rt_addr_reset = false;
+ rt_addr_restart = rt_addr;
+ }
+ rt_addr = rt_addr_restart;
trap_reset();
absolute_rom_address = 0;
}
* scratch paper
*/
-static int rt_addr;
-static int rt_straddr;
-
uae_u32 addr (int ptr)
{
return (uae_u32)ptr + rtarea_base;
rt_straddr = 0xFF00 - 2;
rt_addr = 0;
+ rt_addr_reset = true;
rt_trampoline_ptr = rtarea_base + RTAREA_TRAMPOLINE;
trap_entry = 0;