NV4x softmodding boom continues. Ability to enable hardware masked units with RC15.2!

Discussion in 'RivaTuner Advanced Discussion forum' started by Unwinder, Sep 28, 2004.

  1. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,127
    Likes Received:
    6,691
    Hi guys. As you may remember, yesterday we’ve reproduced FOUFOUTOS’s report (http://forums.guru3d.com/showthread.php?s=&threadid=107639) using the same ASUS V9999GE and reference GeForce6800 Ultra BIOS version 5.40.02.03.00 in Digit-Life’s labs. Tonight I’ve continued investigating this story and today I’m back with some really interesting information. I’ve decompiled initialization scripts in a lot of BIOSes and nailed down the differences in 5.40.02.03.00, allowing it to activate all pixel / vertex units, even hardware masked ones. I must say that FOUFOUTOS is pretty lucky, because unlike the most of 6800 Ultra / GT BIOSes we’ve tried before, only 5.40.02.03.00 seems to be able to do the magic. Anyway, now the differences between this magic BIOS and the rest ones are localized and I’ve managed to add ‘Allow enabling hardware masking units’ option to NVStrap and enable hardware masked vertex processor on my 16x1,5vp GeForce 6800 sample without any tricks with flashing that magic BIOS / etc. As I’ve assumed yesterday, it is really possible to force the GPU to ignore hardware units mask and activate all of them, even defective ones.

    For those who read my NV40 softmodding FAQ, here is some technical background to make everything pretty clean. If you’ve read FAQ carefully, you probably remember that NV40 GPUs contain special units configuration register, allowing to enable / disable all pixel / vertex units available in the GPU. Each unit is mapped to a bit of this register, so writing 1 to it effectively enables mapped unit. Zeroing the bit prevents the GPU from using the corresponding unit. NVStrap driver uses this technology to reprogram GPU units configuration via this register. However, you should also remember about so called hardware units mask. This mask defines which units have not passed hardware quality tests and forces the GPU to make the corresponding bits of units configuration register R/O, i.e. hardwires it 0. This way it effectively prevents any software including BIOS/NVStrap/etc from activating ‘bad’ units via the configuration register.
    However, the researches conducted last night allowed me to find two more NV40 registers related to GPU units configuration programming. One of them provides the ‘hole’ for activating hardware masked units. Here they are:

    1) Default hardware units mask register. This register is R/O and it allows software to read information about pixel / vertex units, which haven’t passed hardware quality tests and which must not be activated by the GPU. However, this register doesn’t seem to have any effect on GPU functionality, it is intended for providing this information to software only and doesn’t actually strap anything.
    2) Current hardware units mask register (R/W). This register defines which units will be hardware masked, i.e. which units will not be controllable via the configuration register. If a bit of this register is set to 1, the corresponding bit of the configuration register is hardware masked, (i.e hardwired to 0). All bits of this register are set to 0 by default, so all units can be enabled by default. The most of BIOS’es simply initialize this register with value stored in default hardware units mask register, effectively locking bad units this way. 5.40.02.03.00 BIOS simply skips this step leaving current hardware units mask register uninitialized (i.e. = 0) and allowing BIOS to activate even bad units. For me it looks like a trivial bug in the script, but this 'bug' allowed to find out really interesting info :)

    So I’ve simply added to NVStrap ‘Allow enabling hardware masking units’ option, allowing the driver to zap current hardware units mask register before programming the configuration register, and enable even hardware masked units. But please don’t be very optimistic about it. NVIDIA does seem to have problems with manufacturing yields, and the units are not masked just for fun. For example, unlocked hardware masked pixel / vertex units on Digit-Life’s ASUS V9999GE caused major rendering artifacts, unlocked hardware masked vertex unit on my MSI NX6800 boosted vertex processing performance in 3Dmark2003/VertexShader by up to 20%, but seems to work extremely unstable causing system to hang pretty often. Furthermore, I have serious stability problems even after disabling it so probably it is possible that attempt to enable ‘bad’ unit may even cause permanent hardware damage. I’ve not found the reason of my instability yet, but I don’t exclude such a possibility.
    Anyway, testing is currently in progress. If you’re brave enough, if you don’t afraid to fry your NV40 after enabling bad units and wish to assist with 15.2 beta testing – just contact me. If we’ll find at leas one system working properly after enabling hardware masked units – this function will be included in the next public release of RT. Stay tuned ;)
     
    Last edited: Sep 28, 2004
  2. panZEr gt

    panZEr gt Master Guru

    Messages:
    830
    Likes Received:
    0
    GPU:
    evga 6800gt 433/1200 @ 1.4v AC-nv5 modded
    Just one question: Where did you learn how to do all of this?

    Really impressive. Good Luck to those that this would beneift.

    These 'upcoming releases of rivatuner' are really generating a lot of buzz about your program. Congrats.
     
  3. FOUFOUTOS

    FOUFOUTOS Guest

    Thanks For all the info.
    You really do a grate job. :)
    Now i realize how lucky i got choosing a Bios. :)
    I'm willing to help beta testing, if you like.
    You can send me the beta at the known e-mail.

    Thank you again.
     
  4. Matariel

    Matariel Master Guru

    Messages:
    642
    Likes Received:
    0
    GPU:
    Geforce GTX285
    This is great news, as i only bought my 6800 yesterday and found that it cant be softmodded.
    Im willing to help beta test if you need more people, this is my bios output:
    $1100000000 Title : ASUS V9999 VGA BIOS Version 5.4...
    $1100000002 Version : 5.40.02.15
    $1100000001 BMP version : 5.28
    $1100000100 BIT version : 1.00
    $1100010000 Perf. level 0 : 325MHz/350MHz/1.20V
    $1100020000 VID bitmask : 00000011b
    $1100020100 Voltage level 0 : 1.10V, VID 00000000b
    $1100020101 Voltage level 1 : 1.20V, VID 00000001b
    $1100020102 Voltage level 2 : 1.40V, VID 00000010b
    $1100000003 GPU units mask : 16x1,6vp
     

  5. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,127
    Likes Received:
    6,691
    Digit-Life tried new version with ASUS V9999GE and Palit 6800NU today. Major rendering artifacts right after enabling 16x1/6vp on the first one. No rendering artifacts in the beginning on the second one, but they appeared after few minutes of stress-testing and haven't disappeared even after reboot. We thought that the board died, but it came to life 5 minutes later. Unfortunately tester didn't monitored temperature during 3D mark runtime, but it seems like enabling damaged pipelines caused serious overheating. Currenlty all 6800's we've tested have problems after enabling 16x1,6vp and all disabled units are really defective. Waiting for feedback from other testers.
     
  6. Lief_Adje

    Lief_Adje Guest

    I'm willing to help beta testing, if you like.
    I own a Aopen 6800LE 128mb card. (willing to distroy :p)
    You can send me the beta at the known e-mail.

    Thanks already
     
  7. Yodar

    Yodar New Member

    Messages:
    8
    Likes Received:
    0
    im verry curious what it will do with a 6800le :)
     
  8. August

    August Guest

    I'm game for beta testing on my 6800LE. Please send me a message.
     
  9. Sjah

    Sjah Member

    Messages:
    29
    Likes Received:
    0
    I have a trivial question about the overheating of the 16pipes NU, but....did you put 3dvolt on 1.3 instead of NU's 1.4? Cause the GT's have 1.3 as I saw in Nibitor. Maybe you thought of this long time ago, but if not then this suggestion might be helpful.
     
  10. Mummins

    Mummins Member

    Messages:
    15
    Likes Received:
    0
    GPU:
    MSI 7800GT
    I have a Galaxy 6800NU 128MB, Unwinder would you be so kind and mail me the beta version of RT, so I can test and inform you about the result.
     

  11. AlecRyben

    AlecRyben Guest

    Messages:
    7,740
    Likes Received:
    0
    GPU:
    5x580 2x590 2x780Ti 1x970
    Why not release the new beta into the public with a big disclaimer shown whenever you run the software, so anyone with a deathwish could try and fry? ;)
     
  12. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,127
    Likes Received:
    6,691
    AlecRyben

    Bad idea, sorry. I never release something withoun intensive closed beta testing.

    All

    Now some good news. First, I sorted out problems with stability on my home PC with MSI NX6800 (16x1,5vp engineering sample). The problems were not related to additional vertex unit unlocking, I've simply reinstalled the board and it seems like it was installed in AGP slot improperly. Now everything is rock stabe in both 16x1,6vp and 16x1,5vp modes.
    Second, I've received good testing report from veridian3 @ driverheaven:

    Still waiting for other reports and sending RT to new beta testers. But even now I see that it may help some ppl, so this feature will be definitively included in 15.2. Stay tuned.
    And thanks a lot to everybody whishing to assist with testing.
     
  13. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,127
    Likes Received:
    6,691
    Just checked up PMs and found 2 more reports from other beta testers:


    Well, it seems like it is time to release RC15.2. Massive beta testing will started within a few days, then testers will try the rest features added to this version during one week of closed beta testing. Then it will become public, if we'll not found any serious problems. Approximated ETA is 04.10.2004.
     
  14. ChrisRay

    ChrisRay Member

    Messages:
    28
    Likes Received:
    0
    GPU:
    Geforce 8800GTX 575/1900
    Good news!

    My Geforce 6800NU reference sample from Nvidia has modded to 16 pipes 5 VP with no problems whatsoever, The 6 VP however does not work.
     
  15. majetrix

    majetrix Member

    Messages:
    16
    Likes Received:
    0
    GPU:
    Asus V9999GE
    With this new rivatuner, do you still need to flash the bios?
     

  16. ChrisRay

    ChrisRay Member

    Messages:
    28
    Likes Received:
    0
    GPU:
    Geforce 8800GTX 575/1900
    my original Assessment was wrong. My card went from a 12 Pipe, 5 Vertex unit, to a 16 pipe 6 vertex unit card. Its been fully functioning for almost 5 hours now,

    My 3dmark2003 score went from 9,250 to 10,480, Not bad increase.


    I have an Nvidia Reference Sample 6800NU,


    Clocked @ 355 Core/900 Memory.
     
  17. majetrix

    majetrix Member

    Messages:
    16
    Likes Received:
    0
    GPU:
    Asus V9999GE
    ChrisRay : did you flash the bios or did you user the soon to come rivatuner?
     
  18. evert.999

    evert.999 Active Member

    Messages:
    87
    Likes Received:
    0
    GPU:
    vga 512kb
    I have a 6800LE with a sparkle 6800NU bios, running at 300/700@400/900 1.5 volts... 8700 3dmarks2k3

    I'd like to test my card with the new rivatuner, drop me a mail at defey@multiweb.nl if you like.
     
  19. RBEJ

    RBEJ Member Guru

    Messages:
    156
    Likes Received:
    0
    Hi.I have Leadtek A400(6800 NU) 12xp,5xV.Please Alex send me Riva Tuner 15.2 BETA.

    rbej@wp.pl
     
  20. AlecRyben

    AlecRyben Guest

    Messages:
    7,740
    Likes Received:
    0
    GPU:
    5x580 2x590 2x780Ti 1x970
    I am keeping my fingers crossed that a lot of 6800LE users will be able to mod their cards into at least 6800NU...
    It will be interesting to see the percentage of successfully modded 6800LE cards since the chances of getting 4 more pipes and one VP are doubled (two additional quads and two additional VPs available for possible activation) when compared to the 6800NU (only one additional quad and one additional VP available).
    Thanks to Unwinder, there is still hope for all budget constrained users out there... :thumbup:
     

Share This Page