--- uae/src/ersatz.c 2018/04/24 16:38:39 1.1 +++ uae/src/ersatz.c 2018/04/24 16:39:01 1.1.1.2 @@ -14,6 +14,7 @@ #include "options.h" #include "memory.h" #include "custom.h" +#include "readcpu.h" #include "newcpu.h" #include "cia.h" #include "disk.h" @@ -63,7 +64,7 @@ void init_ersatz_rom (UBYTE *data) static void ersatz_doio (void) { - CPTR request = regs.a[1]; + CPTR request = m68k_areg(regs, 1); switch (get_word (request + 0x1C)) { case 9: /* TD_MOTOR is harmless */ case 2: case 0x8002: /* READ commands */ @@ -100,11 +101,11 @@ static void ersatz_init (void) put_long (a, 0xF80016); } regs.isp = regs.msp = regs.usp = 0x800; - regs.a[7] = 0x80000; + m68k_areg(regs, 7) = 0x80000; regs.intmask = 0; /* Build a dummy execbase */ - put_long (4, regs.a[6] = 0x676); + put_long (4, m68k_areg(regs, 6) = 0x676); put_byte (0x676 + 0x129, 0); for (f = 1; f < 105; f++) { put_word (0x676 - 6*f, 0x4EF9); @@ -123,12 +124,12 @@ static void ersatz_init (void) put_long (request + 0x28, 0x4000); put_long (request + 0x2C, 0); put_long (request + 0x24, 0x200 * 4); - regs.a[1] = request; + m68k_areg(regs, 1) = request; ersatz_doio (); m68k_setpc (0x400C); /* Init the hardware */ - put_long (0x3000, 0xFFFFFFFE); + put_long (0x3000, 0xFFFFFFFEul); put_long (0xDFF080, 0x3000); put_word (0xDFF088, 0); put_word (0xDFF096, 0xE390); @@ -166,15 +167,15 @@ void ersatz_perform (UWORD what) break; case EOP_AVAILMEM: - regs.d[0] = regs.d[1] & 4 ? 0 : 0x70000; + m68k_dreg(regs, 0) = m68k_dreg(regs, 1) & 4 ? 0 : 0x70000; break; case EOP_ALLOCMEM: - regs.d[0] = regs.d[1] & 4 ? 0 : 0x0F000; + m68k_dreg(regs, 0) = m68k_dreg(regs, 1) & 4 ? 0 : 0x0F000; break; case EOP_ALLOCABS: - regs.d[0] = regs.a[1]; + m68k_dreg(regs, 0) = m68k_areg(regs, 1); break; case EOP_NIMP: