From: Toni Wilen Date: Sat, 21 Sep 2024 17:23:43 +0000 (+0300) Subject: Fix TekMagic RAM mapping. X-Git-Tag: 5310~9 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=c9af906a1c6817636e2a8cd1bc7e06cb21e73467;p=francis%2Fwinuae.git Fix TekMagic RAM mapping. --- diff --git a/cpuboard.cpp b/cpuboard.cpp index fd2e110b..6f200cd0 100644 --- a/cpuboard.cpp +++ b/cpuboard.cpp @@ -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; diff --git a/expansion.cpp b/expansion.cpp index f84e3714..a71f6da9 100644 --- a/expansion.cpp +++ b/expansion.cpp @@ -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 }, {