SIO/PIIX/PIIX3 turbo reset control as well as emulator hard reset now also reset the PCI interrupt hold status in addition to the ELCR.

This commit is contained in:
OBattler
2017-08-28 22:55:10 +02:00
parent 3cad1672a8
commit 979977b430
3 changed files with 20 additions and 2 deletions

View File

@@ -282,13 +282,30 @@ void pci_clear_irq(int card, int pci_int)
}
}
void pci_reset(void)
{
int i = 0;
for (i = 0; i < 16; i++)
{
if (pci_irq_hold[i])
{
pci_irq_hold[i] = 0;
picintc(1 << i);
}
}
elcr_reset();
}
void pci_init(int type)
{
int c;
PCI = 1;
elcr_reset();
pci_reset();
io_sethandler(0x04d0, 0x0002, elcr_read, NULL, NULL, elcr_write, NULL, NULL, NULL);