Amend previous Hercules change so the MDA-compatible address wrapping is used only when graphics are disabled, but still only in 32kB mode. Thanks TheGreatCodeholio, and thanks Great Hierophant for testing on a real Hercules card.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3903
This commit is contained in:
parent
bd6e01565d
commit
8a464fb312
1 changed files with 6 additions and 2 deletions
|
@ -803,8 +803,12 @@ void VGA_SetupHandlers(void) {
|
|||
MEM_SetPageHandler(VGA_PAGE_B0,16,&vgaph.map);
|
||||
} else {
|
||||
vgapages.mask=0x7fff;
|
||||
/* With hercules in 32kb mode it leaves a memory hole on 0xb800 */
|
||||
MEM_SetPageHandler(VGA_PAGE_B0,8,&vgaph.herc);
|
||||
// With hercules in 32kB mode it leaves a memory hole on 0xb800
|
||||
// and has MDA-compatible address wrapping when graphics are disabled
|
||||
if (vga.herc.enable_bits & 0x1)
|
||||
MEM_SetPageHandler(VGA_PAGE_B0,8,&vgaph.map);
|
||||
else
|
||||
MEM_SetPageHandler(VGA_PAGE_B0,8,&vgaph.herc);
|
||||
MEM_SetPageHandler(VGA_PAGE_B8,8,&vgaph.empty);
|
||||
}
|
||||
goto range_done;
|
||||
|
|
Loading…
Add table
Reference in a new issue