--- uae/src/autoconf.c 2018/04/24 16:42:02 1.1.1.4 +++ uae/src/autoconf.c 2018/04/24 16:58:14 1.1.1.8 @@ -12,11 +12,9 @@ #include "config.h" #include "options.h" -#include "machdep/m68k.h" #include "uae.h" #include "memory.h" #include "custom.h" -#include "readcpu.h" #include "newcpu.h" #include "compiler.h" #include "autoconf.h" @@ -218,23 +216,6 @@ uaecptr EXPANSION_explibname, EXPANSION_ uaecptr EXPANSION_uaedevname, EXPANSION_explibbase = 0, EXPANSION_haveV36; uaecptr EXPANSION_bootcode, EXPANSION_nullfunc; -static int current_deviceno = 0; - -void reset_uaedevices (void) -{ - current_deviceno = 0; -} - -int get_new_device (char **devname, uaecptr *devname_amiga) -{ - char buffer[80]; - - sprintf (buffer, "UAE%d", current_deviceno); - - *devname_amiga = ds (*devname = my_strdup (buffer)); - return current_deviceno++; -} - /* ROM tag area memory access */ static uae_u8 rtarea[65536]; @@ -261,25 +242,39 @@ uae_u8 REGPARAM2 *rtarea_xlate (uaecptr uae_u32 REGPARAM2 rtarea_lget (uaecptr addr) { + special_mem |= S_READ; addr &= 0xFFFF; return (uae_u32)(rtarea_wget (addr) << 16) + rtarea_wget (addr+2); } uae_u32 REGPARAM2 rtarea_wget (uaecptr addr) { + special_mem |= S_READ; addr &= 0xFFFF; return (rtarea[addr]<<8) + rtarea[addr+1]; } uae_u32 REGPARAM2 rtarea_bget (uaecptr addr) { + special_mem |= S_READ; addr &= 0xFFFF; return rtarea[addr]; } -void REGPARAM2 rtarea_lput (uaecptr addr, uae_u32 value) { } -void REGPARAM2 rtarea_wput (uaecptr addr, uae_u32 value) { } -void REGPARAM2 rtarea_bput (uaecptr addr, uae_u32 value) { } +void REGPARAM2 rtarea_lput (uaecptr addr, uae_u32 value) +{ + special_mem |= S_WRITE; +} + +void REGPARAM2 rtarea_wput (uaecptr addr, uae_u32 value) +{ + special_mem |= S_WRITE; +} + +void REGPARAM2 rtarea_bput (uaecptr addr, uae_u32 value) +{ + special_mem |= S_WRITE; +} static int trace_traps = 1; @@ -443,6 +438,12 @@ static uae_u32 getchipmemsize (void) return allocated_chipmem; } +static uae_u32 uae_puts (void) +{ + puts (get_real_address (m68k_areg (regs, 0))); + return 0; +} + void rtarea_init (void) { uae_u32 a; @@ -468,6 +469,11 @@ void rtarea_init (void) org (0xF0FF80); calltrap (deftrap2 (getchipmemsize, TRAPFLAG_DORET, "")); + + org (0xF0FF10); + calltrap (deftrap2 (uae_puts, TRAPFLAG_NO_RETVAL, "")); + dw (RTS); + org (a); filesys_install_code ();