How to Modify Your HD2900 BIOS Clock Frequencies by Hex File
I had a sudden idea that perhaps others had in comparing HD2900 bios files in HEX to find frequency settings. I had no Idea I would find it as easily as I did. I could not however figure out the format for the voltage settings. Can't really figure it out, although I did manage a few Bios with raised voltages.
How to set your HD2900 freq to your own BIOS file for flashing:
Download a free HEX editing tool, search for the string D9 00 04 01. It is the section of the Bios that contains the cpu and memory clock frequencies.
http://i25.photobucket.com/albums/c8...e/2900bios.jpg
To do this you should understand that integers can be two-byte, four-byte, eight etc. I wasn't finding numbers that I could recognize in the files raw hex data, as the hex software is limited to 2 , 4 , eight, floating point, and thats about it. I compared different versions of the Bios and found a table for the clocks lined up nice and easy. The integers are in reverse byte order, and are three byte; meaning the data in hex goes from least important to most, so C60C or 50700 (for 2d core ) mhz will be represented as 0C C6 in the bios file (if you count the next byte 00 its reversed ordered as 00C60C.) So in the same sense 3C 22 01 it typed into a hex converter in reverse as 01223C in hex and is 74300 in decimal (for 3d core 743mhz). C8 C8 00 is 00c8c8 is 51400 for the 514mzh 2d memory clock. 70 43 01 is 014370 is 82800 for the 828mhz 3d memory clock.
http://i25.photobucket.com/albums/c8.../converted.jpg
So if you want to set it to 800mhz, 80000 in decimal is 13880 so in reversed bit order it is 80 38 01 in the Bios file and you can set it this way. 90 5F 01 in a hex dec converter as 015F90 in hex is 90000 in decimal and will set the memory to 900mhz
http://i25.photobucket.com/albums/c8...etheclocks.jpg
GPU-Z Validation Link
If you want to flash your card to bypass the current way of over-clocking crossfire, save the Bios to a file and use atiflash v3.43 in dos to flash the card.
It really works, and for some reason if there is a problem, like memory timings or something, as long as you only change the 3d mode clocks, you should still be able to flash it back without any trouble.
If you can find a Bios with raised voltages, you can edit that one the same way and avoid the current hassle of overclocking these cards.
By posting this I assume you understand the risks of flashing any kind of memory chip. If you don't understand what you've just read I don't recommend you try it.
modded 2900Pro Bios works on AN8-U after checksum edit
First try got a black screen after flashing with a modified Bios of my Pro.
After learning something about Hex-Editors:confused: , I got it to work like this:
modified Bios as I need
went into cmd and found out checksum with atiflash (atiflash -cf bios.bin)
opened Hex-editor and searched for some empty space (00 00 00 00)
entered what i need to get to my checksum ( e.g. if i get a checksum for the orig.bios of 0x8B00, but my modified file has 0x8A9B; I overwrote some zeros with 65 (0x0065) and as result got again to a checksum of 0x8B00)
Hope I explained it right, as I dont´t really know what I´m doing here. But after editing to the correct checksum, I even don´t need the -F option to flash.
I´m now running my Sapphire 512 MB Pro with Bios 2D 400/400 @ 0,9V, 3D 793/927 @ 1,2 V.
3dmark06 runs up to 850/1000
Crysis runs up to 793/1000 (over 793 core some strange flashing when smoke appears)
Hellgate an NFS Pro Street would both run the core up to 850, but doesn´t allow the VidRam to run more then 927
Perhaps I could get it higher with more power, but as I´m running stock cooler I think 793/927 ist nice for me.
Forgot to mention: runnig Vista DX10