Abit VT6X4 (VIA Apollo Pro 133A) Tweak Guide
Revision: 9-10-08

There are certainly plenty of places to find information on tweaking the VIA Apollo Pro 133A chipset, but what I want to focus on here is the Abit VT6X4. Specifically, I want to handle the issue of SDRAM speeds and getting a Diamond/S3 Viper II to work properly, but later on I will include any other significant tweaks that I find. First, I'm gonna handle the memory speed problem in a way that should make more sense than other guides (or at least the ones I have read and found confusing).

Tweaking the Memory...

The first step you should do is flash your BIOS! I'm using the TG (second newest version) currently, but the newest will work too. You can get it here. Next, you'll need to access the BIOS settings (hit DEL during the POST), go to Advanced Chipset Features, and match my settings. These are dependent mostly on the quality of your RAM. I've found that my Micron RAM could take just about anything you throw at it but Loogie's Kingston RAM can't handle Turbo Timings or CL2. Try changing one setting at a time and then run your computer for one hour. Any problems with RAM settings will usually lock your computer fairly soon. Take a look:

The settings marked with red question marks are dependent on your components. If you're using the OnChip Sound then keep that set to Auto. The Same goes for Memory Parity/ECC Check; if your RAM uses ECC, set this to Enabled. Now, if you can't get Turbo to work then you'll need to use the next best thing according to these benchmarks I ran using SiSoft SANDRA 2001te Pro.

It's important to test your Cycle Length before you start trying the other settings. The Timings are especially important because with CL3, Fast is better than Normal, but it's vice-versa with CL2. Of course, if your RAM is not rated at CL2, then you probably won't be able to use CL2.

The next most important settings for RAM are Delay DRAM Read Latch and SDRAM Bank Interleave. I got some explanations of these at some site that I've forgotten now, but they explained it well.

Delay DRAM Read Latch

This function fine-tunes the DRAM timing to adjust for different DRAM loadings. DRAM load changes with the number as well as the type of DIMM installed. More DIMMs and double-sided DIMMs increase the DRAM load. As such, a single single-sided DIMM provides the lowest DRAM load. With heavier DRAM loads, you may need to delay when the chipset latches onto the DIMMs during reads. Otherwise, the chipset may fail to latch properly onto the DIMMs and read data from them.

SDRAM Bank Interleave

This feature enables you to set the interleave mode of the SDRAM interface. Interleaving allows banks of SDRAM to alternate their refresh and access cycles. One bank will undergo its refresh cycle while another is being accessed. This improves performance of the SDRAM by masking the refresh time of each bank. A closer examination of interleaving will reveal that since the refresh cycles of all the SDRAM banks are staggered, this produces a kind of pipelining effect.

The Delay DRAM Read Latch settings are dependent on the number of DIMM slots you're using and if your RAM is single or double-sided. My RAM used to take up only one slot and was single-sided, so I could easily set this to No Delay. When I added another (double-sided) stick, I had to set the Delay DRAM Read Latch to 0.5ns or a lot of games would crash. Use the lowest setting that you can without compromising the RAM's stability. I set my SDRAM Bank Interleave to Auto, which is really equal to 4-Way. 4-Way is the fastest setting and you shouldn't have any troubles with instability either.

Now we're gonna need to go a bit hardcore, but there is a lot of performance to gain in this next step. Download this zip file and extract the contents to wherever you'd like, but preferably all in its own folder. Now go to that folder and run Wpcredit.exe. It should display near the top: "Vendor ID: 1106 VIA Apollo Pro Series". If it doesn't, then open 11060691.pcr and you should be straight.

Okay, this screen probably looks more than a little confusing, but it's really rather simple. On the center-left side, there are 255 Offsets. Each Offset has 8 settings that you can change (center-right). If you're familiar with binary then this should make sense now. If not, then look at the bottom at the "Bin" (Binary) and "Hex" (Hexadecimal) box. These are relative to whatever the settings are in the center-right box. 1 (Blue) is on and 0 (White) is off. Geddit?

Since these settings aren't permanent and probably can't damage anything permanently, you can experiment with changing whatever you'd like. There are two Offsets that I'd like to bring your attention to, though...50 and 51. If you wanna go out on a limb, you could do like me and set the Hexadecimal for both of these Offsets to FF. Or, you can set them on one at a time using the binary. Turning everything on should (and I'm willing to bet WILL) give you a substantial performance increase; most notably in games.

Now that I've told you the hard way to do it, I'll point out a super easy way. I've included a file called memtweaks.rg that I saved these tweak settings to. Just Load the register and presto! (Note: This usually will lock your system, but you might wanna try it first just in case it doesn't; therefore, you don't have to figure out Wpcredit.) You should test these settings for a few hours to make sure you aren't sacrificing any stability for speed.

If everything looks good (and better), then run Instdd.exe. It'll install and prompt for a restart. When you're back in the OS, run Wpcrset.exe, click add, and fill in the right two fields like in the screenshot. Do this also for Offset (also referred to as a Register) 51. You'll see that it corresponds with the numbers in Wpcredit. Wpcrset is used to permanently set the Offsets every time your OS boots, so you'd better make sure your computer is stable before applying this. There is a way to bypass the Virtual Device driver for Wpcrset, but I won't explain it for the sake of more confusion.

To give you an idea of the gaming performance that I gained, here are two benchmarks that I did afterwards in Half-Life and UT. I used UTBench for Unreal Tournament and the S&L HL Bench for Half-Life.

You can compare those to the benchmarks in the next section. Here's the SANDRA Memory Benchmark again, but after I performed the tweaks. About a 240% increase in both the integer and floating-point transfers. Yes, you did read that correctly; the RAM transfers are 240% faster than before the Wpcredit tweaks. That beats the once mightly Intel BX boards.

Tweaking a Viper II...

System Requirements:

When I first started using the Viper II on my old 440LX board, it was a huge memory hog. That system had only 32MB of RAM and because it was made by Packard Bell, the piece of shit wouldn't accept any more than that. I could barely play Half-Life, because it was so laggy; therefore, I figured it was because the swapfile was being used to hold textures. Then, I ditched that crap and used 64MB of RAM on the original Serpent. This proved better for the most part, yet Unreal Tournament still had fits of lagging on larger levels (i.e. DM-Gothic). Finally, I threw out that 64MB PC100 stick for a Micron 128MB PC133 CL2. So, the purpose of that little story was to show that for some reason, a Viper II should only be used on a system with 128MB of RAM or more.

Another thing to note is that the AGP slot and the first PCI slot share an IRQ. I had a bit of trouble with my SBLive! sound card in PCI1, so I moved it to PCI3. It seemed to fix some locks in UT. The locks were characterized by the video/input freezing, but the music would continue playing. In place of the SBLive!, I put a fan that was right up against Viper II's heatsink. I dunno if that ever really helped or not, but consider it.

And, just so you know, everything I do is on Win98. I guarantee nothing with any other OS, but you can go ahead and try it anyways.

VIA GART Drivers:

I've tried quite a few AGP GART drivers with this card (and with a GeForce2 Ultra), and have come to the conclusion that the original Abit-supplied 4.00 GART works the best. In fact, I would never consider changing my 4-in-1's at all unless making a change to newer Windows Operating Systems. GART 4.00 added the last important Win98 feature, which was Fast-Writes.

Viper II Drivers:

Like the VIA drivers, I've tried several Viper II drivers as well. I ran 4 tests to see how the 5 drivers performed and compiled them into charts. The tests included 3DMark 99 Race and First-Person Shooter, S&L Half-Life Bench v1107, and UTBench. In the charts, I use the middle four numbers for identification. Like 9013, in the driver name I think this is the ICD version number, but either way, it's unique to every driver.

S&L Half-Life Bench v1107 [OpenGL]
9005 Failed
Unreal Tournament (UTBench) [Metal]

From these tests, I decided to continue to use 9007. It's obviously faster in OGL and being a latter driver, should be more mature with support for more games. These were done before the memory tweaks above. The benches at the end of that section show my maximum ever scores in UT and HL. Now, let's see it graphically:

Viper II Tweaking:

The absolute best program for tweaking the Viper II is S3Tweak. I realize that it's a bit hard to find now, so I copied the executable over to this folder for anyone that needs it: S3Tweak 1.16. To use 4X and SideBanding, this is the only way to enable (or at least the only way I found to). Make sure you have the three jumpers on to enable 4X, set the BIOS to enable 4X, and then use this to turn on AGP4X within Windows. It's under the AGP menu, as well as SideBanding.

In retrospect, those are the only two setting you should worry about. Overclocking the Viper II is worthless; you compromise stability for 1 more frame per second. I was gonna have a chart of my overclocking results, but I'd rather not waste my time and yours. Also, never disable V-Sync and always disable Hardware TnL; the support for TnL sucks too much (see-through walls and other artifacts) and UT won't run properly without V-Sync.

Just to show you how my wild ride with the Viper II has been, below is a download for the 3DMark 99 Pro Max benchmarks I did over my 10 months of use. About the 4th score is when the card was actually rock-solid stable at UT and Half-Life. Make sure you have the 3DMark 99 Result browser, cause it won't work in 2001 or 2000: viper2 history.3db

More WPCREDIT Tweaks...

Okay, I've been using this one for a while but it's pretty cool, especially if you're benchmark crazy like myself. This is a video tweak that will (depending on your video card), give you around 5 frames per second more; 5 is about what I got (when testing using v1108 of the S&L Half-Life Timedemo). So, like the section's title implies, you'll need to know how to use wpcredit and/nor wpcrset. See the first section if you haven't looked already.

This is what you do: open wpcredit and goto Edit>Device. Select the second one, which is "PCI-PCI Bridge". Now, just like with the memory tweaks, select Offset (Register) 40 and then give it a hex of 78. This enables CPU to AGP 1 wait state writes and AGP to DRAM prefetch. It's basically fact that the 1ws writes are the big tweak here. I read an article once about the technology the GeForce 3 used to bypass the CPU for a lot of functions, namely (this is important) the triangle setup. With that I mind, I benched my GeForce 2 Ultra in 3DMark 2000 and exactly as expected, I got a boost in the KTriangles per second tests. Not just a little boost either, take a look:

The second screenshot is from the Madonion.com Online Result Browser. The score on the right was from a GeForce 3 user with similar settings to mine. I know the GF3 isn't designed for DX7, but that's no excuse when your new nVidia triangle setup thing is getting its ass kicked by a tweaked GF2. If you have set up an account there and all, you can compare with my score here. Rock on, my fellow VT6X4 users! Oh, and...remember that in wpcrset, the device for this tweak is 1 not 0.

Related Resources:
Gaines Hillix's VT6X4 Users FAQ (MIA. If someone knows where a copy is, let me know.)
Official Abit VT6X4 Page
[H]ardOCP's VT6X4 Review
Column Editor's Specs

Contacting the VT6X4 TweakMaster:
Questions, comments, and appraisal can be directed to Snake, Editor-in-Chief at S&L.