From 6a5e9cdabab9d73828901b75522c37a92bb22604 Mon Sep 17 00:00:00 2001 From: OBattler Date: Fri, 30 Aug 2024 19:35:24 +0200 Subject: [PATCH] Fixed the S3 reset fix, fixes Windows 98 stuck on black screen on the S3 Trio64 on some machines. --- src/video/vid_s3.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/video/vid_s3.c b/src/video/vid_s3.c index 6fe5f1ad6..27d4f023e 100644 --- a/src/video/vid_s3.c +++ b/src/video/vid_s3.c @@ -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); } }