Fixed the S3 reset fix, fixes Windows 98 stuck on black screen on the S3 Trio64 on some machines.

This commit is contained in:
OBattler
2024-08-30 19:35:24 +02:00
parent 1d9603fa7e
commit 6a5e9cdaba

View File

@@ -9441,18 +9441,12 @@ s3_disable_handlers(s3_t *s3)
{
s3_io_remove(s3);
mem_mapping_set_addr(&s3->linear_mapping, 0, 0);
mem_mapping_disable(&s3->linear_mapping);
mem_mapping_set_addr(&s3->mmio_mapping, 0, 0);
mem_mapping_disable(&s3->mmio_mapping);
mem_mapping_set_addr(&s3->new_mmio_mapping, 0, 0);
mem_mapping_disable(&s3->new_mmio_mapping);
mem_mapping_set_addr(&s3->svga.mapping, 0xa0000, 0x20000);
mem_mapping_disable(&s3->svga.mapping);
if (s3->pci) {
mem_mapping_set_addr(&s3->bios_rom.mapping, 0xc0000, 0x8000);
if (s3->pci)
mem_mapping_disable(&s3->bios_rom.mapping);
}
/* Save all the mappings and the timers because they are part of linked lists. */
reset_state->linear_mapping = s3->linear_mapping;
@@ -9466,8 +9460,6 @@ s3_disable_handlers(s3_t *s3)
memset(s3->svga.vram, 0x00, s3->svga.vram_max + 8);
memset(s3->svga.changedvram, 0x00, (s3->svga.vram_max >> 12) + 1);
pci_clear_irq(s3->pci_slot, PCI_INTA, &s3->irq_state);
}
static void
@@ -9482,7 +9474,6 @@ s3_reset(void *priv)
reset_state->pci_slot = s3->pci_slot;
*s3 = *reset_state;
s3_io_set(s3);
}
}