]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Check 24-bit addressing.
authorToni Wilen <twilen@winuae.net>
Sun, 14 Jan 2024 19:25:03 +0000 (21:25 +0200)
committerToni Wilen <twilen@winuae.net>
Sun, 14 Jan 2024 19:25:03 +0000 (21:25 +0200)
include/memory.h
od-win32/mman.cpp

index 9946d7d6e32ca14f12c3b0fde7f7ff388f9452f1..895c7b517d9dd3c314cfb0fc969f902181701df8 100644 (file)
@@ -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
 
index d1d14a82ab6853e2b83b48fe48b40ee0eb7164cd..a6ca716eddbc752588b95bb95d4e8f5024d62907 100644 (file)
@@ -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) {