From 3d0986fb731fb151951451561044c362857cb546 Mon Sep 17 00:00:00 2001 From: SarahW Date: Thu, 16 Jan 2020 19:52:53 +0000 Subject: [PATCH] Don't map Mystique memory ranges when base addresses are zero. Fixes boot of FIC VA-503 BIOS with Mystique selected. --- src/vid_mga.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/vid_mga.c b/src/vid_mga.c index 97cf402..a4aa4d4 100644 --- a/src/vid_mga.c +++ b/src/vid_mga.c @@ -882,9 +882,18 @@ static void mystique_recalc_mapping(mystique_t *mystique) return; } - mem_mapping_set_addr(&mystique->ctrl_mapping, mystique->ctrl_base, 0x4000); - mem_mapping_set_addr(&mystique->lfb_mapping, mystique->lfb_base, 0x800000); - mem_mapping_set_addr(&mystique->iload_mapping, mystique->iload_base, 0x800000); + if (mystique->ctrl_base) + mem_mapping_set_addr(&mystique->ctrl_mapping, mystique->ctrl_base, 0x4000); + else + mem_mapping_disable(&mystique->ctrl_mapping); + if (mystique->lfb_base) + mem_mapping_set_addr(&mystique->lfb_mapping, mystique->lfb_base, 0x800000); + else + mem_mapping_disable(&mystique->lfb_mapping); + if (mystique->iload_base) + mem_mapping_set_addr(&mystique->iload_mapping, mystique->iload_base, 0x800000); + else + mem_mapping_disable(&mystique->iload_mapping); if (mystique->pci_regs[0x41] & 1) {