1
0
mirror of https://github.com/TomHarte/CLK.git synced 2025-02-07 05:30:30 +00:00

Alternative zero page should affect bank 0's language card area when the card is disabled.

This commit is contained in:
Thomas Harte 2022-06-27 07:56:45 -04:00
parent 686dccb48d
commit 21842052cf

View File

@ -279,14 +279,14 @@ class MemoryMap {
assert(region_map[bank_base | 0xd0] + 1 == region_map[bank_base | 0xe0]); assert(region_map[bank_base | 0xd0] + 1 == region_map[bank_base | 0xe0]);
assert(region_map[bank_base | 0xe0] == region_map[bank_base | 0xff]); 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]]; auto &d0_region = regions[region_map[bank_base | 0xd0]];
d0_region.read = ram_base; d0_region.read = ram;
d0_region.write = ram_base; d0_region.write = ram;
auto &e0_region = regions[region_map[bank_base | 0xe0]]; auto &e0_region = regions[region_map[bank_base | 0xe0]];
e0_region.read = ram_base; e0_region.read = ram;
e0_region.write = ram_base; e0_region.write = ram;
// Assert assumptions made above re: memory layout. // Assert assumptions made above re: memory layout.
assert(region_map[bank_base | 0xd0] + 1 == region_map[bank_base | 0xe0]); assert(region_map[bank_base | 0xd0] + 1 == region_map[bank_base | 0xe0]);
@ -294,8 +294,8 @@ class MemoryMap {
}; };
if(inhibit_banks0001) { if(inhibit_banks0001) {
set_no_card(0x0000); set_no_card(0x0000, zero_state ? &ram_base[0x01'0000] : ram_base);
set_no_card(0x0100); set_no_card(0x0100, ram_base);
} else { } else {
apply(0x0000, zero_state ? &ram_base[0x01'0000] : ram_base); apply(0x0000, zero_state ? &ram_base[0x01'0000] : ram_base);
apply(0x0100, ram_base); apply(0x0100, ram_base);