analog_programmer wrote on 2023-07-01, 05:36:
@pa1983, awesome manual for BIOS modding, man! Yesterday I just compiled my version for DOS .com tool, which heals "too bright" BIOS bug on ViRGE/GX(DX) videocards, but now I'm looking for real BIOS mod solution. Your shared experience will be very useful to me. Thahks!
And now I have an question: How did you managed to find the hex values for the brightness bug in your BIOS image file? I've read the threads here on the subject, but I got the impression that for different cards these values are located at different hex addresses and I didn't find a clear answer how to find and correct them. This more of an interests to me, because my S3 ViRGE/GX card uses SGRAM chips and it hardly makes sense to try to overclock it through the BIOS.
Well the guide was not mine as I stated, I just redid it with pictures as best i understand it because its just easier for me and probably a lot of people to have som pictures with the words.
So the actual work was done by RichB93 not me.
Here is the guide he write.
Re: How do I flash VBIOS on an S3 card?
I just documented it a bit more but he has the knowledge not me.
I just took the 2.01.07 bios like people recommended that has the brightness fix then I copied the C2 to C5 bytes from my original bios that I extracted with my eprom burner.
So there is really no skill involved from my side, I read instructions on what to copy and also I used a bios file that dont have the bug.
Here is the 2.01.07 bios, its 50Mhz CLK and brightness fix.
The attachment 86c375_5.zip is no longer available
Here is my cards original 1.01.03 bios with 70Mhz clock that I took the C2-C5 values out of.
The attachment S3_VirgeDX-DSV3325DX-M70-W27E257@DIP28.BIN.zip is no longer available
Now Idk how to compute any arbitrary CLK value, someone might be able to do a guide on that but if nothing else if people posted the C2-C5 values and what clock there card runs at then its a simple copy paste.
But I did use a software fix using debug and you did have to do some calculations.
You have to use something called S3Brigth.
I will attach the file.
The attachment S3BRIGHT.zip is no longer available
Its from this Vogon thread Re: S3 AGP Cards (and possibly others) Too Bright
The readme file.
This batch removes the pedestal switch that elevates the black level of some S3 cards. […]
Show full quote
This batch removes the pedestal switch that elevates the black level of some S3 cards.
Before running RUN.BAT you have to find the correct value for you S3 card and modify the register (1F) on the fourth line in ON.SCR and OFF.SCR.
But you can try to run it as is if you have S3 or ViRGE/DX and Trio64V2/DX.
For Trio3D famly third line with 1A should be changed to 27 at the second 3c4.
For ViRGE/DX and Trio64V2/DX keep it 1A.
To find the correct "1F" value:
Run debug.exe and type:
o 3c4 08
o 3c5 06
o 3c4 1a
i 3c5
You will get a 8-bit hexadecimal value, subtract 20h from it [i.e. you got 3F, (3F - 20 = 1F)].
* Google search: 0x3F-0x20 to find the value.
Type "q" to quit debug.exe.
Replace the 1F value in OFF.SCR with the calculated resulting value and save.
Replace the 3F value in ON.SCR with the default output from "i 3c5" and save.
For more info see this thread on Vogons:
S3 AGP Cards (and possibly others) Too Bright
This is the line I ended up with in my Autoexec.bat
C:\S3BRIGHT\debug.exe < C:\S3BRIGHT\off.scr > nul
And this is my ON.SCR
o 3c4 08
o 3c5 06
o 3c4 1a
o 3c5 3f
q
:end […]
Show full quote
o 3c4 08
o 3c5 06
o 3c4 1a
o 3c5 3f
q
:end
And this is my OFF.SCR
o 3c4 08
o 3c5 06
o 3c4 1a
o 3c5 1f
q
:end […]
Show full quote
o 3c4 08
o 3c5 06
o 3c4 1a
o 3c5 1f
q
:end
I no longer have need for it tough but thats how I fixed the bug initially but removed the line today after patching the bios.
Its fairly easy if you just do what it tells you step by step and it might help you with your project too.
But Im have no real knowledge in this subject other then the fact that I can read instructions.
I got rid of my VBE extension, S3VBE20 because the new bios had the same performance now so it proved to be redundant to use a VBE extension now with the good VESA 2.0 support the later 2.01.07 bios has.
Duke Nuke 3D hits 120fps on my 486 @ 133Mhz, sure it dips to the low 20's at times to but yea pretty solid performance.
I hope the post answers your questions, its about all I know on the subject.