From 0136cba5b5caff86d4434806a05f295f94a951d4 Mon Sep 17 00:00:00 2001 From: Ted Green Date: Sun, 2 Sep 2018 14:10:09 -0600 Subject: voodoo_pci: Change readback value of PCI config 0x40 based on voodoo card type. Fixes MT06874. --- src/devices/video/voodoo_pci.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/devices/video/voodoo_pci.cpp b/src/devices/video/voodoo_pci.cpp index a481f10033b..82fc89aaa9a 100644 --- a/src/devices/video/voodoo_pci.cpp +++ b/src/devices/video/voodoo_pci.cpp @@ -203,9 +203,13 @@ READ32_MEMBER (voodoo_pci_device::pcictrl_r) // The address map starts at 0x40 switch (offset + 0x40 / 4) { case 0x40/4: - // V2: Init Enable: 19:16=Fab ID, 15:12=Graphics Rev - // Vegas driver needs this value at PCI 0x40 - result = 0x00044000; + // V1: initEnable: 11:0 + // V2: initEnable: Fab ID=19:16, Graphics Rev=15:12 + // Banshee/V3: fabID: ScratchPad=31:4 fabID=3:0 + if (m_voodoo->vd_type== TYPE_VOODOO_2) + result = (result & ~0xff000) | 0x00044000; // Vegas driver needs this value + else if (m_voodoo->vd_type >= TYPE_VOODOO_BANSHEE) + result = (result & ~0xf) | 0x1; break; case 0x54/4: // V2: SiProcess Register: Osc Force On, Osc Ring Sel, Osc Count Reset, 12 bit PCI Counter, 16 bit Oscillator Counter -- cgit v1.2.3