Applied the recent mainline PCem commits (and fixed the Pentium machines);
Ported the Roland MT-32 emulation (using MUNT) from bit's MT32 emulation branch of PCem; Sanitized the OpenAL give buffer code in openal.c a bit; NVR path is now specifiable in the Settings dialog; Added Logitech 3-button serial mouse per protocol description by waltje; The RTL8029AS and the BT-958D now actually use the PCI IRQ routing; Fixed BT-958D PCI device initialization on the bus; PCI IRQ routing now respects the edge/level setting set on ports 4D0/4D1.
This commit is contained in:
10
src/pci.c
10
src/pci.c
@@ -150,8 +150,7 @@ void pci_issue_irq(int irq)
|
||||
|
||||
if (irq_elcr)
|
||||
{
|
||||
/* picintlevel(1 << irq); */
|
||||
picint(1 << irq);
|
||||
picintlevel(1 << irq);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -161,21 +160,22 @@ void pci_issue_irq(int irq)
|
||||
|
||||
void pci_set_irq(int card, int pci_int)
|
||||
{
|
||||
int irq = ((pci_int - PCI_INTA) + (pci_irq_routing[card] - PCI_INTA)) & 3;
|
||||
|
||||
if (pci_irq_routing[card])
|
||||
{
|
||||
int irq = ((pci_int - PCI_INTA) + (pci_irq_routing[card] - PCI_INTA)) & 3;
|
||||
if (pci_irqs[irq] != PCI_IRQ_DISABLED && !pci_irq_active[card])
|
||||
pci_issue_irq(pci_irqs[irq]);
|
||||
/* picint(1 << pci_irqs[irq]); */
|
||||
pci_irq_active[card] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void pci_clear_irq(int card, int pci_int)
|
||||
{
|
||||
int irq = ((pci_int - PCI_INTA) + (pci_irq_routing[card] - PCI_INTA)) & 3;
|
||||
|
||||
if (pci_irq_routing[card])
|
||||
{
|
||||
int irq = ((pci_int - PCI_INTA) + (pci_irq_routing[card] - PCI_INTA)) & 3;
|
||||
if (pci_irqs[irq] != PCI_IRQ_DISABLED && pci_irq_active[card])
|
||||
picintc(1 << pci_irqs[irq]);
|
||||
pci_irq_active[card] = 0;
|
||||
|
||||
Reference in New Issue
Block a user