NVSoftQuadroX - SoftQuadro for 64-bits!

Discussion in 'Rivatuner Statistics Server (RTSS) Forum' started by gellmar, Jun 17, 2008.

  1. gellmar

    gellmar Member Guru

    Messages:
    146
    Likes Received:
    0
    GPU:
    Sapphire HD3850 1024MB
    Well, is there a 64bit version of the d3d patch?
     
  2. quadxeon

    quadxeon Member

    Messages:
    27
    Likes Received:
    0
    GPU:
    Quadro FX5600
    I'm sorry, its not working, no professional capabilities
     
  3. quadxeon

    quadxeon Member

    Messages:
    27
    Likes Received:
    0
    GPU:
    Quadro FX5600
    No, I dont think so. All we need is a x64 antiprotection patch script.
    Then we should be able to use prof. capabilities, but only in direct 3d mode. open gl will not work after the patch (experience from x32 patchscript).
     
  4. gellmar

    gellmar Member Guru

    Messages:
    146
    Likes Received:
    0
    GPU:
    Sapphire HD3850 1024MB
    The antiprotection for x64 is implemented in offsets 1 and 2 of the script I have published before. Just copy the antiprotect entries and make a new patch.
     

  5. quadxeon

    quadxeon Member

    Messages:
    27
    Likes Received:
    0
    GPU:
    Quadro FX5600
    This is the script now (driver 169.96):

    Code:
    [Common]
    SrcFile	= nv4_mini.sys
    BakFile = nv4_mini.old
    HlpFile = NVSoftQuadroX.rth
    MakeCRC = 1
    Packed	= 1
    
    [Common 6.14.11.69xx]
    
    	; antiprotect entry #1
    
    Src0=0F BA F0 1F
    Dst0=0F BA E8 1F
    Off0=000B85E6
    
    	; antiprotect entry #2
    
    Src1=0F BA F0 1F
    Dst1=0F BA E8 1F
    Off1=0017032F
    
    Src15=FE 86 1D 04 00 00
    Dst15=90 90 90 90 90 90 
    Off15=008ae06
    
    	; SoftQuadro entries
    
    Src2=CC CC CC CC CC CC CC
    Dst2=0D 00 00 01 00 EB 3F
    Off2=001CE817
    
    Src3=0F BA E0 10
    Dst3=EB BC 90 90
    Off3=001CE859
    
    Src4=CC CC CC CC CC CC CC
    Dst4=0D 00 00 01 00 EB 9B
    Off4=001EF671
    
    Src5=0F BA E0 10
    Dst5=EB 60 90 90
    Off5=001EF60F
    
    Src6=CC CC CC CC CC CC CC
    Dst6=0D 00 00 01 00 EB C5
    Off6=00224532
    
    Src7=0F BA E0 10
    Dst7=EB 36 90 90
    Off7=002244FA
    
    Src8=CC CC CC CC CC CC CC
    Dst8=0D 00 00 01 00 EB 2E
    Off8=00224539
    
    Src9=0F BA E0 10
    Dst9=EB CD 90 90
    Off9=0022456A
    
    Src10=CC CC CC CC CC CC CC
    Dst10=0D 00 00 01 00 EB 19
    Off10=00287648
    
    Src11=0F BA E0 10
    Dst11=EB E2 90 90
    Off11=00287664
    
    Src12=0F BA E0 10
    Dst12=EB A2 90 90
    Off12=002876A4
    
    Src13=CC CC CC CC CC CC CC
    Dst13=0D 00 00 01 00 EB 19
    Off13=0035BB98
    
    Src14=0F BA E0 10
    Dst14=EB E2 90 90
    Off14=0035BBB4

    no success :(
     
  6. juang3d

    juang3d Active Member

    Messages:
    72
    Likes Received:
    0
    GPU:
    Ati 4870 1024mb
    Still no success, but i noticed something...why is windows sowing the device ID of mi card as 0191 in the "Details" tab at the Device Manager under the propierties of my card...it is supposed to be 019E if i have the nvstrap driver from riva tuner installed, or not?...i'm not sure, but prhaps rivatuner and the nvstrap driver are not working correctly...is it possible? some Rivatuner Master please?
     
  7. juang3d

    juang3d Active Member

    Messages:
    72
    Likes Received:
    0
    GPU:
    Ati 4870 1024mb
    Ok, nvstrap driver is working correctly if i dont activate "Use ROM straps for PCI DeviceID programming", i don't know if it's ok, but the patch is still not working, io'm going to try activating that option, hopes that work
     
  8. gellmar

    gellmar Member Guru

    Messages:
    146
    Likes Received:
    0
    GPU:
    Sapphire HD3850 1024MB
    juang3d, have you used the whole script or just this part of it:

    Code:
    [Common]
    SrcFile	= nv4_mini.sys
    BakFile = nv4_mini.old
    HlpFile = NVSoftQuadroX.rth
    MakeCRC = 1
    Packed	= 1
    
    [Common 6.14.11.69xx]
    
    	; antiprotect entry #1
    
    Src0=0F BA F0 1F
    Dst0=0F BA E8 1F
    Off0=000B85E6
    
    	; antiprotect entry #2
    
    Src1=0F BA F0 1F
    Dst1=0F BA E8 1F
    Off1=0017032F
    
    
     
  9. juang3d

    juang3d Active Member

    Messages:
    72
    Likes Received:
    0
    GPU:
    Ati 4870 1024mb
    The whole script

    this is my current script

    EDIT 1 : i forgot to mention that nvstrap driver works even with "Use ROM straps for PCI DeviceID programming" feature enabled, i don't know what happened before.
     
    Last edited: Jun 23, 2008
  10. quadxeon

    quadxeon Member

    Messages:
    27
    Likes Received:
    0
    GPU:
    Quadro FX5600
    Any news gellmar?
     

  11. gellmar

    gellmar Member Guru

    Messages:
    146
    Likes Received:
    0
    GPU:
    Sapphire HD3850 1024MB
    QuadXeon, there are some:) I have unlocked the Prof.OpenGL settings tab in riva, but currently without lines acceleration and with big stucks on 7xxx series boards...and maxtreme still can not install:( Today I will try to understand what is going on with maxtreme and publish the working script.
     
  12. juang3d

    juang3d Active Member

    Messages:
    72
    Likes Received:
    0
    GPU:
    Ati 4870 1024mb
    You are the king man!!!

    I hope you arrive where others failed to arrive and the script works great also in 8800gtx!!!

    One thing, maxtreme installs correctly in max 2008 or 2009 (does not have the install limitation like in max9 i think, the limitation exists when you start max, then if the board is not a quadro, then maxtreme gives you an error and null driver is loaded)

    Thanks for your hard work man :)
     
  13. gellmar

    gellmar Member Guru

    Messages:
    146
    Likes Received:
    0
    GPU:
    Sapphire HD3850 1024MB
    juang3d & quadxeon, try this script:

    Code:
    	; NVSoftQuadroX patchscript by gellmaR (gellmar@yahoo.com) - for XP 64bit Quadro softmods
            ; revision 1.04 date 25.06.2008
    [Common]
    SrcFile	= nv4_mini.sys
    BakFile = nv4_mini.old
    HlpFile = NVSoftQuadroX.rth
    MakeCRC = 1
    Packed	= 1
    
    	; common sequence for AntiProtect (64-bit)
    Src0	= FF 96 60 08 00 00 BA 00 10 10 00 48 8B CE 0F BA F0 1F 44 8B C0
    SCM0	= FF FF 00 00 FF FF FF FF FF FF FF FF FF 00 FF FF FF FF FF FF FF
    Dst0	= FF 96 60 08 00 00 BA 00 10 10 00 48 8B CE 0F BA E8 1F 44 8B c0
    DCM0	= 00 00 FF FF 00 00 00 00 00 00 00 00 00 FF 00 00 00 00 00 00 00
    Num0	= 0
    
    Src1	= FF 93 60 08 00 00 BA 00 10 10 00 48 8B CB 0F BA F0 1F 44 8B C0
    SCM1	= FF FF 00 00 FF FF FF FF FF FF FF FF FF 00 FF FF FF FF FF FF FF
    Dst1	= FF 93 60 08 00 00 BA 00 10 10 00 48 8B CB 0F BA E8 1F 44 8B c0
    DCM1	= 00 00 FF FF 00 00 00 00 00 00 00 00 00 FF 00 00 00 00 00 00 00
    Num1	= 0
    	
    	; common sequences for SoftQuadro & NVRC unlocks
    
    
    Src2	= 85 C0 74 28 BA 84 10 00 00 48 8B CF FF 97 60 08 00 00 0F BA E0 10 73 64
    SCM2	= FF FF FF FF 00 FF FF FF FF FF FF FF FF FF 00 00 00 FF FF FF FF FF FF FF
    Dst2	= 85 C0 74 00 BA 84 10 00 00 48 8B CF FF 97 60 08 00 00 0F Ba E0 10 73 00
    DCM2	= 00 00 00 00 00 00 00 00 00 FF 00 00 00 00 FF FF 00 00 00 00 00 00 00 00
    Num2	= 0
    
    
    Src3	= 85 C0 74 2E BA 84 10 00 00 FF 93 60 08 00 00 0F BA E0 10 72 12
    SCM3	= FF FF FF 00 FF FF FF FF FF FF FF 00 00 FF FF FF FF FF FF FF 00
    Dst3	= 85 C0 74 00 BA 84 10 00 00 FF 93 60 08 00 00 0F BA E0 10 EB 12
    DCM3	= 00 00 00 FF 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 00 FF
    Num3	= 0
    
    Src4	= 85 C0 8B F8 74 35 BA 84 10 00 00 48 8B CB FF 93 60 08 00 00 0F BA E0 10 73 21 8A 83 7E 01 00 00 83 E0 0F 3B C7 72 14 B8 01 00
    SCM4	= FF FF FF FF FF FF FF 00 FF FF FF FF FF FF FF FF 00 00 FF FF FF FF FF FF 00 FF FF FF 00 00 00 00 FF FF FF FF FF 00 FF FF FF FF
    Dst4	= 85 C0 8B F8 74 00 BA 84 10 00 00 48 8B CB FF 93 60 08 00 00 0F BA E0 10 73 00 8A 83 7E 01 00 00 83 E0 0F 3B C7 72 00 B8 01 00
    DCM4	= 00 00 00 00 00 00 00 FF 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 FF 00 00 00 FF FF FF FF 00 00 00 00 00 FF 00 00 00 00 
    Num4	= 0
    
    Src5	= 48 8B D9 BA 84 10 00 00 FF 93 60 08 00 00 0F BA E0 10 73 18 0F B6 83 7E 01 00 00 24 0F 3C 0A 72 0B B8 01 00
    SCM5	= FF FF FF FF FF 00 FF 00 FF FF 00 00 FF FF FF FF FF FF FF FF FF FF FF 00 00 FF FF FF FF FF FF FF FF FF FF 00
    Dst5	= 48 8B D9 BA 84 10 00 00 FF 93 60 08 00 00 0F BA E0 10 73 00 0F B6 83 7E 01 00 00 24 0F 3C 0A 72 00 B8 01 00
    DCM5	= 00 00 00 00 00 FF 00 FF 00 00 FF FF 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 00 00 00 00 00 
    Num5	= 0
    
    Src6	= 48 8B D9 BA 84 10 00 00 FF 93 60 08 00 00 0F BA E0 10 72 18 0F B6 83 7E 01 00 00 24 0F 3C 0A 72 0B B8 01 00
    SCM6	= FF FF FF FF FF 00 FF 00 FF FF 00 00 FF FF FF FF FF FF FF FF FF FF FF 00 00 FF FF FF FF FF FF FF FF FF FF 00
    Dst6	= 48 8B D9 BA 84 10 00 00 FF 93 60 08 00 00 0F BA E0 10 72 00 0F B6 83 7E 01 00 00 24 0F 3C 0A 72 00 B8 01 00
    DCM6	= 00 00 00 00 00 FF 00 FF 00 00 FF FF 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 00 00 00 00 00 
    Num6	= 0
    
    Src7	= 48 8B D9 BA 84 10 00 00 FF 93 60 08 00 00 0F BA E0 10 73 18 0F B6 83 7E 01 00 00 24 1F 3C 18 72 0B B8 01 00
    SCM7	= FF FF FF FF FF 00 FF 00 FF FF 00 00 FF FF FF FF FF FF FF FF FF FF FF 00 00 FF FF FF FF FF FF FF FF FF FF 00
    Dst7	= 48 8B D9 BA 84 10 00 00 FF 93 60 08 00 00 0F BA E0 10 73 00 0F B6 83 7E 01 00 00 24 1F 3C 18 72 00 B8 01 00
    DCM7	= 00 00 00 00 00 FF 00 FF 00 00 FF FF 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 00 00 00 00 00 
    Num7	= 0
    
     
  14. juang3d

    juang3d Active Member

    Messages:
    72
    Likes Received:
    0
    GPU:
    Ati 4870 1024mb
    I knew it from the very first moment i saw you trying this... not anyone tried sufficient hard, until the end, until he until arrive to the finish and of course to try as many times as needed to WON.
    YEAAAAAAAAAAAAAH!!!!

    8800GTX 768Mb CONVERTED TO QUADRO 4600 768Mb !!!!

    MAXTREME WORKING PERFECTLY YYYYEEEEEEEEEEEEEEEEEEEEEAAAAAAH!!
    Now i must try opengl capabilities, still testing, but for max and windows, ALL IS WORKING PERFECT!!!!

    Also tested with a 6600 GT, converted to Quadro 540, another of my machines :)

    THANKS GELLMAR!!!!

    one more thing, are all the capabilities of the Quadro unlocked?

    Thanks man, really really THANKS!!
     
  15. juang3d

    juang3d Active Member

    Messages:
    72
    Likes Received:
    0
    GPU:
    Ati 4870 1024mb
    OK, sadly bad news.

    SoftQuadro is working perfectly with 3dsmax and Direct3D but OpenGl capabilities are stil dead.

    Testing with SpecOpc, in the max test, i did not get even 1 frame per second, and with maya test i get 3 frames per second.

    Then GOOD NEWS: QUadro in DIrect3D working perefctly
    BAD NEWS: still kills the OpenGL.

    But Gellmar, keep this path, i'm sure yo will beat or big friend of envy! :)
     

  16. gellmar

    gellmar Member Guru

    Messages:
    146
    Likes Received:
    0
    GPU:
    Sapphire HD3850 1024MB
    Juang3d, thanks for appreciation and contribution of my treats on Quadro softmodding:) All that we need now is love and very hard testing to understand if it really works fine and why doesn't it work with 7xxx cards. So, can you run some benchmarks and post the results here? So, I'm not saying the battle is won, but we all are on the right way!
    Regards, gellmar
     
  17. juang3d

    juang3d Active Member

    Messages:
    72
    Likes Received:
    0
    GPU:
    Ati 4870 1024mb
    Of course i can, but i need to know what benchmarks, because SpecOp works with OpenGL, and i think i need some Direct3D benchmark, i'll investigate to find a maxtreme benchmark, but if you know some, tell me please :)

    Also i think i have some 7900GTX, i'm not sure if are dead, but i'll see that tomorrow at the office.

    Now i'll look for the Maxtreme benchmark :)
     
  18. gellmar

    gellmar Member Guru

    Messages:
    146
    Likes Received:
    0
    GPU:
    Sapphire HD3850 1024MB
    P.S. Just read your last post about opengl dead tests... I think they maybe use some fuses or hardlocked points to prevent it from being softmodded...
    Anyway, please test the opengl maxtreme and let us see what will happen.
     
  19. gellmar

    gellmar Member Guru

    Messages:
    146
    Likes Received:
    0
    GPU:
    Sapphire HD3850 1024MB
    Juang3d, once in your previous posts you have asked me about Direct3D patch. So, that is probably the idea BlueFireXP had to keep.
     
  20. loop29

    loop29 Guest

    Messages:
    705
    Likes Received:
    0
    GPU:
    Gigabyte GTX 670 OC
    Congratulations gellmar, nice work :)

    And yes that´s pretty much what BluefireXP has done in his modification for 3dsmax.
    Now on to the openGL stuff, I can´t really say if they really have done a hardware lock on the chips.
    One guy on a chinese forum claimed that he successfully transformed a 8800 GT with resistor soldering to a Quadro 3700, but I have no idea if that is for real ???
    You need to know the story behind the modification for the nv40 (Geforce 6800 to Quadro 4000) to understand a bit of how nv programs the GPU´s during initialisation. Unfortunately that needs documentation of video card bios internal procedures.
    During the approach to remove hardware masks for getting the missing pixel and vertex shaders on lower grades of nv40 GPU´s, it was detected that the change in bios code affected the programming procedure of the register that is responsible for enabling proffesional capabilities as well.
    To sum it up there is code in the bios that reads specific registers and calculates value for professional capabilities flag in nv40 GPU´s.

    I don´t know if that procedure is still happening in todays nvidia GPU´s or if they really hardware locked a couple of values to protect professional capabilities. But since it wouldn´t be efficient to implement hardware lock during wafer production it must happen either during packaging or while GPU is assembled to PCB. And it could be possible that nvidia still uses resistors on the GPU packaging to differ openGL chips from regular consumer GPU´s.

    regards
     

Share This Page