From: Toni Wilen Date: Wed, 17 Apr 2019 16:04:47 +0000 (+0300) Subject: Map 128k UAE boot ROM after state restore. X-Git-Tag: 4300~240 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=f889a19d3c5fea1b84e7c50d0bfb0526ff2c1453;p=francis%2Fwinuae.git Map 128k UAE boot ROM after state restore. --- diff --git a/expansion.cpp b/expansion.cpp index b4e51e83..beeb1abe 100644 --- a/expansion.cpp +++ b/expansion.cpp @@ -3931,7 +3931,7 @@ uae_u8 *restore_expansion (uae_u8 *src) gfxmem_banks[0]->start = restore_u32 (); rtarea_base = restore_u32 (); fastmem_bank[1].start = restore_u32 (); - if (rtarea_base != 0 && rtarea_base != RTAREA_DEFAULT && rtarea_base != RTAREA_BACKUP && rtarea_base != RTAREA_BACKUP_2) + if (rtarea_base != 0 && rtarea_base != RTAREA_DEFAULT && rtarea_base != RTAREA_BACKUP && rtarea_base != RTAREA_BACKUP_2 && (rtarea_base < 0xe90000 || rtarea_base >= 0xf00000)) rtarea_base = 0; return src; } diff --git a/memory.cpp b/memory.cpp index f87382e0..70723889 100644 --- a/memory.cpp +++ b/memory.cpp @@ -2143,6 +2143,12 @@ static void init_mem_banks (void) #endif } +static void map_banks_set(addrbank *bank, int start, int size, int realsize) +{ + bank->startmask = start << 16; + map_banks(bank, start, size, realsize); +} + static void allocate_memory (void) { bogomem_aliasing = 0; @@ -2341,6 +2347,9 @@ static void allocate_memory (void) protect_roms (false); restore_ram (bootrom_filepos, rtarea_bank.baseaddr); protect_roms (true); + if (currprefs.uaeboard >= 2) { + map_banks_set(&rtarea_bank, rtarea_base >> 16, 1, 0); + } } restore_ram (chip_filepos, chipmem_bank.baseaddr); if (bogomem_bank.allocated_size > 0) @@ -2498,12 +2507,6 @@ void map_overlay (int chip) m68k_setpc_normal (m68k_getpc ()); } -static void map_banks_set(addrbank *bank, int start, int size, int realsize) -{ - bank->startmask = start << 16; - map_banks(bank, start, size, realsize); -} - void memory_clear (void) { mem_hardreset = 0;