incompatibility b/w old motherboard and new graphics card

Only for programmers and BIOS gurus with technical questions.
gandhig
New visitors - please read the rules.
Posts: 13
Joined: Fri Nov 15, 2013 7:48 am

hi, my old P3 mainboard bios was not properly detecting a modern PCI graphics card(with a PCI-e to PCI bridge) and it doesn't turn up in the pci device listing during bootup. on diagnosing with a DOS tool, the reverse PCI-PCIe bridge (Pericom chip) onboard the graphics card was not passing on the memory ranges to the secondary side of the bridge due to error condition. The PCI registers of the graphics card itself was showing "Bus access disabled".

When i installed the graphics card in a somewhat modern Core2Duo system, everything went fine. When i wrote the Memory range settings (obtained from new system) to the PCI registers of the graphics card using a DOS based PCI config utility in my old system, i was able to use the same in Windows XP but with poor performance.

i decided to disassemble my mainboard bios to understand the incompatibility and possibly mod the bios for proper detection. one abnormality i noticed was that my motherboard(award ver 6.00) bios doesn't not properly identify device BAR's if it is a combination of 'Prefetchable' type and '64 bit decoder' while pci enumeration. it is handling prefetchable memory requests(64-bit memory space) by the pci devices as 'non-prefetchable' which is the default when there is no match with the last 4 bits of BAR.

can someone shed some light on the consequences, if a non-prefetchable address range is assigned by the host to the 'prefetchable' type BAR of a pci device. i just want to know whether this is the main culprit so that i can attempt to mod my bios or it is inconseequential.

thanks,
g.gandhi
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

what old P3 mainboard? Brand/model/chipset?
edwin/evasive

Do not assume anything

System error, strike any user to continue...
gandhig
New visitors - please read the rules.
Posts: 13
Joined: Fri Nov 15, 2013 7:48 am

hi,
thanks for the quick reply. it is a MSI mainboard(MS-6368 Ver 2.0) based on via ple133 chipset.
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

Which has a 32bit only PCI bus which would explain why it cannot handle the 64bit stuff. I would need to check the Pericom chip that is used and see what part of the decoding process isn't porperly implemented in the PLE133 chipset. The fact you can get it running but very slowly means the decoding is done in software, not in hardware. You could write some sort of bootstrap code that will fill the registers with the right values before windows is starting but it is always going to be a mix-n-match bunch of things. I fear it is really time to send your P3 board to the archives...
edwin/evasive

Do not assume anything

System error, strike any user to continue...
gandhig
New visitors - please read the rules.
Posts: 13
Joined: Fri Nov 15, 2013 7:48 am

hi, this graphics card(nvidia GT 520) was properly detected in a P4 system which also had a 32 bit PCI bus only. the 64-bit issue i mentioned pertains to processor's memory space and not that of 32 or 64 bit pci bus. anyway the issue i mentioned doesn't look like the cause of the incompatibility.

i can attach my old system and the p4 system reports generated with graphics card installed, but i couldn't upload the files(in txt and htm formats), if you want to have a look. as you wrote, the issue is not that of hardware. presently i boot to dos, modify the BAR's manually for the pericom pci-e to pci bridge and windows does the rest. the slowness while gaming even very old classics is probably due to the onboard graphics' (trident) video bios present in legacy video range instead of the GT 520's video bios.

it's been almost a year, i will try some more time and then throw the towel. thanks for your effort as i know it is more or less hopeless, just that it is nagging at the back of my mind.
gandhig
New visitors - please read the rules.
Posts: 13
Joined: Fri Nov 15, 2013 7:48 am

hi, i found one more probable cause for the poor performance. as i'm manually assigning values to the graphics card's BAR's and PCI-e to PCI bridge memory and prefetchable ranges(after booting to DOS), the MTRR's for these ranges are not defined in the host's address space as WC or WB. it is by default set to UC.
i will now try to set these ranges manually and observe the performance.
parallely i'm still working on finding the reason for non-detection of the graphics card. any help/observation is very much appreciated.

thanks,
g.gandhi
gandhig
New visitors - please read the rules.
Posts: 13
Joined: Fri Nov 15, 2013 7:48 am

i'm very happy to share that at last the card got detected by one(ECS P6STP-FL) of the two old mainboards(other one is MSI 6368) i have, after introducing a delay at the time of pci enumeration and a patch in awardext.rom module for properly identifying 64 bit prefetchable memory requests by a pci device. i was mainly using my abused ECS mainboard for my trial and error bios mods as i was having spare bios chips as a backup if anything went wrong. after 3-4 bios mod attempts, the card got detected. however i'm still not 100% sure that the delay is the reason which got it detected.

on the other hand, i bricked my other motherboard (MSI-6368, which is my main board that i recently re-capped) out of over-enthusiasm, applying the same technique which i used for ECS motherboard, as they both had identical pci enumeration routines. i also don't know what went wrong as i checked the modded bios 3-4 times before flashing. unfortunately i don't have backup bios chip for the msi mainboard.

i hoped that if i used the shorting pins technique (thanks to pinczakko, ruelnov and others) for a system bios checksum error, i might be able to force the bootblock recovery. but that didn't work in my case. i tried with shorting other high address pins but that was also unsuccessful. i'm scared if i shorted wrongly, it might damage the other chips on the motherboard. i'm more or less sure the bootblock is intact, as i'm getting beeps on booting without RAM. can someone suggest other options for forcing bootblock recovery on a Pm29F002T-12jc bios flash chip.

p.s i'm waiting for availability of spare bios chip so that i get it programmed to the default bios binary from a local shop.
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

If you can get your MSI chip detected in another board you can use a hotflash technique
http://www.overclock.net/t/102206/how-t ... -bios-chip
using uniflash
http://www.rainbow-software.org/uniflash/
edwin/evasive

Do not assume anything

System error, strike any user to continue...
gandhig
New visitors - please read the rules.
Posts: 13
Joined: Fri Nov 15, 2013 7:48 am

i could not update earlier. i inserted the modded bios components in the wrong order by oversight, that's why the MSI mainboard wasn't booting. i took the services of local shop for re-flashing, reapplied the same technique and got it working with the MSI mainboard too.

i'm now sure that the new graphics card (with a PCI to PCI-e reverse bridge) got detected because of the delay i introduced before pci bus enumeration. this confirmation, i got from bridge vendor's website that the secondary side of the bridge will not be ready for a full 1 second after PCI reset. if i had come across this information earlier, i need not have waited for more than a year to get a solution. on the brighter side, i learnt a lot because of it.

on the other side, performance has improved, but not by that much which i expected it to improve. still struggling to get my system upto speed in comparison to the benchmarks available online for similar system configurations. trying to tweak north bridge registers of the via chipset through trial and error.

my msi mainboard has very conservative settings in the bios. if anybody has a pci debug dump of a mainboard(preferably Asus/Abit) with a via chipset -Apollo Pro 133A/PLE133, i request you to share it.
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

still struggling to get my system upto speed in comparison to the benchmarks available online for similar system configurations.
where are those benchmarks and what is your complete system configuration? Because as always, the SYSTEM performance is dependent on ALL components, not just your video card...
edwin/evasive

Do not assume anything

System error, strike any user to continue...
gandhig
New visitors - please read the rules.
Posts: 13
Joined: Fri Nov 15, 2013 7:48 am

i'm unable to attach any file(txt, html, without extension etc.). an error 'the extension txt is not allowed' pops up and it is the same with files of other or no extension.

Processor : Pentium 850 MHz (8.5 x 100)
Memory : 784 MB PC133 SDRAM (Kingston 512 MB + HCL 256 MB)
Motherboard : MSI 6368 Ver 2.0 (VIA VT8601 NorthBridge/VT82C686B SouthBridge)
GPU : NVidia GT520 (667 MHz Core, 810 MHz DDR3 512 MB)
Harddisk : Seagate 20 GB

At default settings:
Quake3 Arena demo1 : 70 FPS
Deus Ex 1 : 10 to 40 FPS
Half Life 1 : 30 to 45 FPS

After chipset tweaks, interleaving enabled:
Quake3 Arena demo1 : 86 FPS
Deus Ex 1 : 14 to 35 FPS
Half Life 1 : 35 to 50 FPS

Online benchmark:
Quake3 Arena demo1 : 110 FPS
gandhig
New visitors - please read the rules.
Posts: 13
Joined: Fri Nov 15, 2013 7:48 am

i was benchmarking mainly with aida, 3dmark2001, sandra in addition to real-time performance in very old games. i was tweaking the chipset register settings(dram access before snoop complete, memory burst refresh, disable onboard vga shared memory etc) , adjusted memory timings and observed the improvement in benchmark performance as well as increase in fps. but still the gaming experience was relatively poor.

yesterday i was experimenting with nvidia control panel settings and when i force-enabled vsync, tripple buffer and some other settings 'globally', there was a drastic increase in smoothness while playing games. then only i realized that the poor gaming experience was not because of comparatively low fps, but due to nvidia default driver settings. still i'm not sure which of the settings i changed contributed to the improvement. another thing i don't understand is that before the bios mod, i had tried different settings in the nvidia control panel but didn't find much improvement. probably it is because of a combination of both of these things.

now the only thing remaining is poor performance in deus ex 1(still). for such a old game from 15 years back, the performance in my system is pathetic. i have tried all the advanced tweakings but the fps i get in the intro and the game opening scene is 10 to 15 fps. guess the game code is poorly optimized for pc.
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

ref: Deus Ex, have you been here?

http://kentie.net/article/dxguide/
edwin/evasive

Do not assume anything

System error, strike any user to continue...
gandhig
New visitors - please read the rules.
Posts: 13
Joined: Fri Nov 15, 2013 7:48 am

hi, yes, i had gone through that website too in addition to "http://www.techspot.com/tweaks/deusex/print.shtml".

when i compared performance between directx and opengl renderer in my system for deus ex(latest version through steam purchase), i got more fps through opengl. so i had gone ahead with the techspot suggested tweaks as the 'kentie.net' website was concentrating more towards performance fix on modern systems and DX10 whereas mine is stuck at DX9.

anyway i will give a try and thanks for the suggestion. the performance of other games is buttery smooth (@60 fps) after change in nvidia control panel settings in comparison to my earlier gaming experience, though i have to find out which setting. what a big difference it made?

i'm also planning to further mod by bios for setting my chipset default values (if anybody shares pci dump of Asus/Abit motherboards with similar chipset) as i have to manually set it in DOS before booting to OS.

do you have any suggestion for upload of files, maybe i'm not having permission, as i'm a new user.
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

settings: you would need to go back to your previous default install and then adjust them one by one until you find it, recording any changes and effects along the way. That is what you usually do when trying to improve performance, it helps to back track if something doesn't work...

upload: zip them first
edwin/evasive

Do not assume anything

System error, strike any user to continue...
Post Reply