1
0
Fork 0

Map inactive video memory regions as empty rather than filled with RAM. Fixes later version of Sargon 3 on color machine types.

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3974
This commit is contained in:
ripsaw8080 2016-04-05 05:19:06 +00:00
parent 3a8712202e
commit ea40599a4b

View file

@ -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))