From: Toni Wilen Date: Sun, 14 Jan 2024 19:25:03 +0000 (+0200) Subject: Check 24-bit addressing. X-Git-Tag: 5200~53 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=e69931acf180a2aa939c1d5d6e5c1aeefe90c1fb;p=francis%2Fwinuae.git Check 24-bit addressing. --- diff --git a/include/memory.h b/include/memory.h index 9946d7d6..895c7b51 100644 --- a/include/memory.h +++ b/include/memory.h @@ -39,9 +39,11 @@ extern uaecptr highest_ram; #ifdef ADDRESS_SPACE_24BIT #define MEMORY_BANKS 256 +#define MEMORY_BANKS_24 256 #define MEMORY_RANGE_MASK ((1<<24)-1) #else #define MEMORY_BANKS 65536 +#define MEMORY_BANKS_24 256 #define MEMORY_RANGE_MASK (~0) #endif diff --git a/od-win32/mman.cpp b/od-win32/mman.cpp index d1d14a82..a6ca716e 100644 --- a/od-win32/mman.cpp +++ b/od-win32/mman.cpp @@ -1022,14 +1022,15 @@ void protect_roms(bool protect) void mman_set_barriers(bool disable) { addrbank *abprev = NULL; - for (int i = 0; i < MEMORY_BANKS; i++) { + int maxbank = currprefs.address_space_24 ? MEMORY_BANKS_24 : MEMORY_BANKS; + for (int i = 0; i < maxbank; i++) { uaecptr addr = i * 0x10000; addrbank *ab = &get_mem_bank(addr); if (ab == abprev) { continue; } int size = 0x10000; - for (int j = i + 1; j < MEMORY_BANKS; j++) { + for (int j = i + 1; j < maxbank; j++) { uaecptr addr2 = j * 0x10000; addrbank *ab2 = &get_mem_bank(addr2); if (ab2 != ab) {