Fixed Cirrus VGA PCI save/restore when a standard VGA mode is active. The PCI

memory setup doesn't depend on the mode and must always be done after restore.
This commit is contained in:
Volker Ruppert 2017-03-22 21:24:30 +00:00
parent fef9a3b3f7
commit f0afd30a9a

View File

@ -417,9 +417,6 @@ void bx_svga_cirrus_c::register_state(void)
void bx_svga_cirrus_c::after_restore_state(void)
{
if ((BX_CIRRUS_THIS sequencer.reg[0x07] & 0x01) == CIRRUS_SR7_BPP_VGA) {
BX_CIRRUS_THIS bx_vgacore_c::after_restore_state();
} else {
#if BX_SUPPORT_PCI
if (BX_CIRRUS_THIS pci_enabled) {
if (DEV_pci_set_base_mem(BX_CIRRUS_THIS_PTR, cirrus_mem_read_handler,
@ -445,6 +442,9 @@ void bx_svga_cirrus_c::after_restore_state(void)
}
}
#endif
if ((BX_CIRRUS_THIS sequencer.reg[0x07] & 0x01) == CIRRUS_SR7_BPP_VGA) {
BX_CIRRUS_THIS bx_vgacore_c::after_restore_state();
} else {
for (unsigned i=0; i<256; i++) {
bx_gui->palette_change_common(i, BX_CIRRUS_THIS s.pel.data[i].red<<2,
BX_CIRRUS_THIS s.pel.data[i].green<<2,