[Bug] 430VX is not setting PCI IRQ registers
[Bug] 430VX is not setting PCI IRQ registers
Basically, it never updates the registers so they always stay at 0x80, ie. disabled.
- SarahWalker
- Site Admin
- Posts: 2054
- Joined: Thu 24 Apr, 2014 4:18 pm
Re: [Bug] 430VX is not setting PCI IRQ registers
Pretty sure it is. I did test this you know...
Code: Select all
switch (addr)
{
case 0x00: case 0x01: case 0x02: case 0x03:
case 0x08: case 0x09: case 0x0a: case 0x0b:
case 0x0e:
return;
case 0x60:
// pclog("IRQ routing %02x %02x\n", addr, val);
if (val & 0x80)
pci_set_irq_routing(PCI_INTA, PCI_IRQ_DISABLED);
else
pci_set_irq_routing(PCI_INTA, val & 0xf);
break;
case 0x61:
// pclog("IRQ routing %02x %02x\n", addr, val);
if (val & 0x80)
pci_set_irq_routing(PCI_INTB, PCI_IRQ_DISABLED);
else
pci_set_irq_routing(PCI_INTB, val & 0xf);
break;
case 0x62:
// pclog("IRQ routing %02x %02x\n", addr, val);
if (val & 0x80)
pci_set_irq_routing(PCI_INTC, PCI_IRQ_DISABLED);
else
pci_set_irq_routing(PCI_INTC, val & 0xf);
break;
case 0x63:
// pclog("IRQ routing %02x %02x\n", addr, val);
if (val & 0x80)
pci_set_irq_routing(PCI_INTD, PCI_IRQ_DISABLED);
else
pci_set_irq_routing(PCI_INTD, val & 0xf);
break;
}
card_piix[addr] = val;
Re: [Bug] 430VX is not setting PCI IRQ registers
- SarahWalker: I commented out the pclog's, and I don't see anything. What BIOS are you using?
Re: [Bug] 430VX is not setting PCI IRQ registers
OK, I just tried another BIOS and it works correctly. Howeveer, the fact some BIOS'es do not set those registers still means soemthing is wrong IMHO.
- SarahWalker
- Site Admin
- Posts: 2054
- Joined: Thu 24 Apr, 2014 4:18 pm
Re: [Bug] 430VX is not setting PCI IRQ registers
The regular 430VX one, 55xwuq0e.bin. You are emulating with a PCI card that uses IRQs aren't you? You won't see any writes otherwise.
Re: [Bug] 430VX is not setting PCI IRQ registers
I am. And I confirmed above that with the regular 430VX BIOS, I indeed see the writes. However, with other BIOS'es I don't, at all. Maybe some register is returning a value some BIOS'es don't like?
- SarahWalker
- Site Admin
- Posts: 2054
- Joined: Thu 24 Apr, 2014 4:18 pm
Re: [Bug] 430VX is not setting PCI IRQ registers
Are you sure the other BIOSes are mapping the PCI slots to the same PCI devices as the normal BIOS? Generally they will only try to route IRQs for devices in slots that are recognised. PCI.EXE will be able to tell you which devices are being routed - the normal BIOS (for a Shuttle HOT-433) routes slots 17, 18, 19 and 20 :
Re: [Bug] 430VX is not setting PCI IRQ registers
Do you remember old motherboards, that You had to set IRQ's manually? Can that have caused the problem with Bios?
Re: [Bug] 430VX is not setting PCI IRQ registers
Where can I get this PCI.EXE? It looks like I'd really need it.
Re: [Bug] 430VX is not setting PCI IRQ registers
Found the right PCI.EXE, and got all the slot information right. Much better! Thanks. :p