From 21842052cf1bdeb3d16e14f576313d64391d2192 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Mon, 27 Jun 2022 07:56:45 -0400 Subject: [PATCH] Alternative zero page should affect bank 0's language card area when the card is disabled. --- Machines/Apple/AppleIIgs/MemoryMap.hpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Machines/Apple/AppleIIgs/MemoryMap.hpp b/Machines/Apple/AppleIIgs/MemoryMap.hpp index 68f6400e0..63a3b8eb7 100644 --- a/Machines/Apple/AppleIIgs/MemoryMap.hpp +++ b/Machines/Apple/AppleIIgs/MemoryMap.hpp @@ -279,14 +279,14 @@ class MemoryMap { assert(region_map[bank_base | 0xd0] + 1 == region_map[bank_base | 0xe0]); assert(region_map[bank_base | 0xe0] == region_map[bank_base | 0xff]); }; - auto set_no_card = [this](uint32_t bank_base) { + auto set_no_card = [this](uint32_t bank_base, uint8_t *ram) { auto &d0_region = regions[region_map[bank_base | 0xd0]]; - d0_region.read = ram_base; - d0_region.write = ram_base; + d0_region.read = ram; + d0_region.write = ram; auto &e0_region = regions[region_map[bank_base | 0xe0]]; - e0_region.read = ram_base; - e0_region.write = ram_base; + e0_region.read = ram; + e0_region.write = ram; // Assert assumptions made above re: memory layout. assert(region_map[bank_base | 0xd0] + 1 == region_map[bank_base | 0xe0]); @@ -294,8 +294,8 @@ class MemoryMap { }; if(inhibit_banks0001) { - set_no_card(0x0000); - set_no_card(0x0100); + set_no_card(0x0000, zero_state ? &ram_base[0x01'0000] : ram_base); + set_no_card(0x0100, ram_base); } else { apply(0x0000, zero_state ? &ram_base[0x01'0000] : ram_base); apply(0x0100, ram_base);