VOGONS


First post, by superfury

User metadata
Rank l33t++
Rank
l33t++

When I look at the PCI IDE controller in 'compatibility mode', it's supplying IRQ14 and/or IRQ15 to the interrupt controller (http://www.bswd.com/pciide.pdf).
But when I look at the PCI pinout, no IRQ14/15 pins exist? The ISA card does have those pins. Could it be that it usually uses an connected ISA card with just those two pins connected through a cable to supply the IRQs?
I never saw anything to support IRQ14/15 on PCI IDE cards?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 1 of 5, by LightStruk

User metadata
Rank Member
Rank
Member

As I understand it, PCI has four interrupt lanes, IRQA through IRQD. These four lines are shared by all PCI devices, and typically each PCI slot only has one IRQ line assigned to it to reduce contention for any individual PCI IRQ line. Integrated PCI peripherals on the motherboard or in the chipset also have to share these same lines. It's up to PCI interrupt routing, AKA the "Programmable Interrupt Router" ($PIR) table in the BIOS to assign an old-style, unshareable numbered interrupt to each PCI device via one of these four shared PCI IRQs.

That's how legacy software that only expects old-style ISA interrupts can talk to PCI devices. It's also how PCI devices can have interrupt numbers higher than 15 - it's just a number in a table, as opposed to a physical trace on the motherboard.

Reply 2 of 5, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
superfury wrote on 2022-02-22, 11:40:

Could it be that it usually uses an connected ISA card with just those two pins connected through a cable to supply the IRQs?

Such kludges did exist in early PCI era.
Later on, they got extinct - probably because motherboards already had two IDE channels, so no need for PCI cards using IRQ 14/15.

Żywotwór planetarny, jego gnijące błoto, jest świtem egzystencji, fazą wstępną, i wyłoni się z krwawych ciastomózgowych miedź miłująca...

Reply 4 of 5, by superfury

User metadata
Rank l33t++
Rank
l33t++
Matth79 wrote on 2022-02-22, 19:38:

The TEKRAM DC290N PCI IDE included a paddleboard to connect into an ISA slot

Just took a look at it. I'd assume the paddleboard pretty much only connects the IRQ14 and IRQ15 from ISA lines to the IDE board, like you would think for easy IDE compatibility mode(PCI IDE ProgIf bits 0/2 being cleared to activate compatibility mode for Primary/Secondary IDE channel)?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 5 of 5, by mkarcher

User metadata
Rank l33t
Rank
l33t
superfury wrote on 2022-02-22, 11:40:

When I look at the PCI IDE controller in 'compatibility mode', it's supplying IRQ14 and/or IRQ15 to the interrupt controller (http://www.bswd.com/pciide.pdf).
But when I look at the PCI pinout, no IRQ14/15 pins exist? The ISA card does have those pins.

PCI IDE controllers that fully support compatibility mode either need the paddleboard like the tekram controllers, or are onboard components that have a connection to ISA IRQ14 / IRQ15. You are right that a standard PCI card can not confirm to that specification.