diff --git a/src/hardware/vga_memory.cpp b/src/hardware/vga_memory.cpp index 39d4d8fc..619f81b3 100644 --- a/src/hardware/vga_memory.cpp +++ b/src/hardware/vga_memory.cpp @@ -794,9 +794,12 @@ void VGA_SetupHandlers(void) { switch (machine) { case MCH_CGA: case MCH_PCJR: + MEM_SetPageHandler( VGA_PAGE_A0, 16, &vgaph.empty ); + MEM_SetPageHandler( VGA_PAGE_B0, 8, &vgaph.empty ); MEM_SetPageHandler( VGA_PAGE_B8, 8, &vgaph.pcjr ); goto range_done; case MCH_HERC: + MEM_SetPageHandler( VGA_PAGE_A0, 16, &vgaph.empty ); vgapages.base=VGA_PAGE_B0; if (vga.herc.enable_bits & 0x2) { vgapages.mask=0xffff; @@ -825,7 +828,7 @@ void VGA_SetupHandlers(void) { } else { vga.tandy.draw_base = TANDY_VIDBASE( vga.tandy.draw_bank * 16 * 1024); vga.tandy.mem_base = TANDY_VIDBASE( vga.tandy.mem_bank * 16 * 1024); - MEM_SetPageHandler( 0xb8, 8, &vgaph.tandy ); + MEM_SetPageHandler( VGA_PAGE_B8, 8, &vgaph.tandy ); } goto range_done; // MEM_SetPageHandler(vga.tandy.mem_bank<<2,vga.tandy.is_32k_mode ? 0x08 : 0x04,range_handler); @@ -903,21 +906,21 @@ void VGA_SetupHandlers(void) { vgapages.base = VGA_PAGE_A0; vgapages.mask = 0xffff; MEM_SetPageHandler( VGA_PAGE_A0, 16, newHandler ); - MEM_ResetPageHandler( VGA_PAGE_B0, 16); + MEM_SetPageHandler( VGA_PAGE_B0, 16, &vgaph.empty ); break; case 2: vgapages.base = VGA_PAGE_B0; vgapages.mask = 0x7fff; MEM_SetPageHandler( VGA_PAGE_B0, 8, newHandler ); - MEM_ResetPageHandler( VGA_PAGE_A0, 16 ); - MEM_ResetPageHandler( VGA_PAGE_B8, 8 ); + MEM_SetPageHandler( VGA_PAGE_A0, 16, &vgaph.empty ); + MEM_SetPageHandler( VGA_PAGE_B8, 8, &vgaph.empty ); break; case 3: vgapages.base = VGA_PAGE_B8; vgapages.mask = 0x7fff; MEM_SetPageHandler( VGA_PAGE_B8, 8, newHandler ); - MEM_ResetPageHandler( VGA_PAGE_A0, 16 ); - MEM_ResetPageHandler( VGA_PAGE_B0, 8 ); + MEM_SetPageHandler( VGA_PAGE_A0, 16, &vgaph.empty ); + MEM_SetPageHandler( VGA_PAGE_B0, 8, &vgaph.empty ); break; } if(svgaCard == SVGA_S3Trio && (vga.s3.ext_mem_ctrl & 0x10))