Hi, apologies, but this post is going to be quite long.
A few months ago, in another thread about games for the ATI Rage Pro, I discussed overclocking my card and hitting a wall with the memory clock speed at 118 MHz. I’ve spent the last few evenings wrestling with the card BIOS, trying to bypass this limitation, and I think this is the right place to share my findings.
In short, my card is an ATI Rage Pro Turbo AGP 2x (P/N 109-49800-11) with 8MB of 7ns SDRAM. Its original BIOS bears a sticker labeled "RGPRO AGP 49801 101," and I believe the BIOS I’m sharing here will work with cards bearing similar markings.
A very important note: ALMOST ALL ATI RAGE CARDS USE WRITE-ONCE BIOS CHIPS! If you want to make changes and the markings on your BIOS chip start with "27...", you will need to purchase a rewritable chip—specifically a Winbond W27C512P or an SST 27SF512 (in the PLCC32 package).
I’ve successfully decoded the original BIOS, which now allows for the adjustment of memory timings. The "3D Rage LT Pro Register Reference Guide" was essential for this; I checked several similar documents, but only this one contained the "MEM_CNTL" register—which controls memory operation—that actually corresponds to the Rage Pro cards. I’ll skip the finer details to keep this post concise (though I’m happy to provide more information if you need it).
Results: The original BIOS is configured with CL=3, tRCD=3, tRP=3, and tRAS=6 (settings significantly less stringent than I had assumed).
As a test, I applied the settings for 100MHz CL2 (as specified in my RAM's datasheet), which resulted in a measurable but very slight performance gain in 3DMark99—an increase of about 20–30 points.
I also experimented with even looser timings in an attempt to break past the "magic" 118MHz barrier, but to no avail. Numerous adjustments to other settings also proved ineffective.
During the process, I tested several versions of PowerStrip and Rage Tweaker; I managed to modify "Tweaker 1.2" to allow for clock speeds exceeding the program's hardcoded limits of 115MHz (for memory) and 105MHz (for the core). I have included a modified `rage.dll` file, to apply this change you must replace the existing file in two locations:
C:\WINDOWS\SYSTEM\ShellExt\Rage.dll
C:\WINDOWS\Rage\Rage.dll
The provided file raises the limits to 150MHz (memory) and 110MHz (core). Please note that I am unsure how this affects Rage II or Rage 128 cards; more importantly, it does not remove the 118MHz limit for the memory.
Removing that specific limit required adding a new function to the BIOS to recalculate the variable responsible for memory clocking (above 118MHz, one of the 8-bit variables would exceed its range, causing a system crash). With this modified BIOS, I managed to achieve stable memory operation on the card at a clock speed of 150 MHz, while maintaining the original timings that came with the card.
The BIOS version with looser than factory timings presents some issues that would require further investigation (though I’m not particularly inclined to look into them, as the current BIOS works fine for me).
Does this provide a significant performance boost? Compared to the factory 100 MHz—yes; however, when comparing results between 120 MHz and 150 MHz... in 3DMark99, increasing the core clock by 5 MHz yields a greater gain than increasing the memory clock by 30 MHz. My test platform only supplies about 3.24V on the 3.3V rail, which limited the stable core clock to 103 MHz (my previous setup allowed for 106 MHz). For these cards, it would likely be worthwhile to use a motherboard—or a modified power supply—capable of delivering a slightly higher voltage to the card. A stable 105 MHz core with 120 MHz memory performs better than a 100 MHz core with 150 MHz memory. Such an aggressive memory overclock only yields a noticeable effect when the core is also significantly overclocked.
I used an Xgecu T48 programmer to modify the BIOS. I’m not sure if it’s possible to perform such modifications on these cards using any Windows based software—I suspect not.
Attachments:
BIOS that sets more aggressive CL2 timings (for ~100 MHz operation)
rage.dll for unlocking the sliders in Rage Pro Tweaker 1.2
BIOS that enables memory clock speeds above 118 MHz