]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Fix TekMagic RAM mapping.
authorToni Wilen <twilen@winuae.net>
Sat, 21 Sep 2024 17:23:43 +0000 (20:23 +0300)
committerToni Wilen <twilen@winuae.net>
Sat, 21 Sep 2024 17:23:43 +0000 (20:23 +0300)
cpuboard.cpp
expansion.cpp

index fd2e110bbad0ca28205d6c67d337820d73db68ea..6f200cd08750cd8f4750f65ec090f0f8cab2bc38 100644 (file)
@@ -1651,7 +1651,7 @@ void cpuboard_map(void)
                        map_banks(&dummy_bank, 0xf00000 >> 16, 0x80000 >> 16, 0);
                }
        }
-       if (is_tekmagic(&currprefs) || is_quikpak(&currprefs) || is_trexii(&currprefs)) {
+       if (is_quikpak(&currprefs) || is_trexii(&currprefs)) {
                map_banks(&blizzardf0_bank, 0xf00000 >> 16, 131072 >> 16, 0);
                map_banks(&blizzardea_bank, 0xf40000 >> 16, 65536 >> 16, 0);
        }
@@ -1713,6 +1713,14 @@ void cpuboard_map(void)
                }
        }
 
+       if (is_tekmagic(&currprefs)) {
+               map_banks(&blizzardf0_bank, 0xf00000 >> 16, 131072 >> 16, 0);
+               map_banks(&blizzardea_bank, 0xf40000 >> 16, 65536 >> 16, 0);
+               if (cpuboardmem1_bank.allocated_size) {
+                       map_banks(&cpuboardmem1_bank, cpuboardmem1_bank.start >> 16, cpuboardmem1_bank.allocated_size >> 16, cpuboardmem1_bank.allocated_size >> 16);
+               }
+       }
+
        if (is_falcon40(&currprefs)) {
                map_banks(&blizzardram_bank, blizzardram_bank.start >> 16, cpuboard_size >> 16, 0);
        }
@@ -1989,7 +1997,23 @@ static void cpuboard_init_2(void)
                blizzardram_bank.label = _T("fusionforty");
                mapped_malloc(&blizzardram_bank);
 
-       } else if (is_tekmagic(&currprefs) || is_quikpak(&currprefs) || is_trexii(&currprefs)) {
+       } else if (is_tekmagic(&currprefs)) {
+
+               blizzardf0_bank.start = 0x00f00000;
+               blizzardf0_bank.reserved_size = 131072;
+               blizzardf0_bank.mask = blizzardf0_bank.reserved_size - 1;
+               mapped_malloc(&blizzardf0_bank);
+
+               blizzardea_bank.reserved_size = 65536;
+               blizzardea_bank.mask = blizzardea_bank.reserved_size - 1;
+               mapped_malloc(&blizzardea_bank);
+
+               cpuboardmem1_bank.start = 0x02000000;
+               cpuboardmem1_bank.reserved_size = cpuboard_size;
+               cpuboardmem1_bank.mask = cpuboardmem1_bank.reserved_size - 1;
+               mapped_malloc(&cpuboardmem1_bank);
+
+       } else if (is_quikpak(&currprefs) || is_trexii(&currprefs)) {
 
                blizzardf0_bank.start = 0x00f00000;
                blizzardf0_bank.reserved_size = 131072;
index f84e371408054afc34c8270156c1f2d3902550e4..a71f6da97c1864cc565cda4ced462c6756388733 100644 (file)
@@ -6446,7 +6446,7 @@ static const struct cpuboardsubtype gvpboard_sub[] = {
                _T("TekMagic"),
                ROMTYPE_CB_TEKMAGIC, 0, 4,
                tekmagic_add_scsi_unit, EXPANSIONTYPE_SCSI,
-               BOARD_MEMORY_HIGHMEM,
+               BOARD_MEMORY_25BITMEM,
                128 * 1024 * 1024
        },
        {