First post, by mbarszcz
I picked up a Riva TNT2 M64 as a PCI graphics card for my socket 7 system (no AGP) to replace my S3 Trio 64V2/DX. The S3 is a pretty reasonable 2D card, but without a Voodoo in the system and having no 3D capabilities at all, it is limiting in Windows for just about anything that uses Direct3D. I know the M64 doesn't set the world on fire in terms of performance (especially when compared to the full strength TNT2, but for a 233MHz socket 7 PC with no AGP, it is one of the few affordable and still readily available PCI graphics cards with a good output and 3D capabilities in Windows. Plus being a later card (1999), if anything it is a bit on the overkill side, but still has great DOS compatibility and built in VBE 2.0.
Phils computer lab had a good video on the TNTs, https://www.youtube.com/watch?v=hnT2hPClb-0
I was also considering one of the "new" ATI Rage XLs (that use the old chips), but ultimately decided to go with the Riva TNT2 M64 instead.
So I got it home, and put it in my Socket 7 system (P/I-P55T2P4 Rev 3.10), and..... nothing but a black screen and 1 Long, 3 Short beeps (no video). Nothing. Dead I thought, so I looked around on Vogons and found a very long thread that got me thinking perhaps my the socket 7 board was not providing 3.3V to the card at all. I also found a video by Mark Furneaux about modding the ATI Rage XL PCI to solve the same problem https://www.youtube.com/watch?v=Gbyv4wI0v0s. This thread was also interesting: PCI Video card works in one PC, not in another
So I popped in my POST card, and sure enough, there was no 3.3v (Bottom Left Light)
I tried the TNT2 M64 in a later Pentium 4 machine and the card worked perfectly. I probed around on the card looking for the 3.3V and 5V locations on a working system and found there was a spot for a capacitor on the 3.3V line near the bottom of the board that was unpopulated (because the 3.3V regulator at the top of the board was also unpopulated. I guess with this being a Dell OEM card and it going into Dell systems that have 3.3V on their PCI slots, they deemed the 3.3V regulation circuitry unnecessary, so now it was time for an experiment. Could I feed in 3.3V to the board and have it regulate down to the proper 1.8V to power up the GPU? Also, would this back feed into the board and potentially into the other slots? Just to confirm this was the problem, I put the card back in the socket 7 machine and sure enough, there was no 3.3V being delivered to the regulator, and therefore no 1.8V for the GPU. So that was definitely the problem.
I didn't want to modify the board or have a bunch of wires hanging all over the case to power the GPU externally, and wanted to keep the mods on the card. So to test the concept, I soldered some wires onto the card to feed in 3.3V from my bench power supply.
The card fired right up and I was very pleased to find that the 3.3V never left the slot (my post card was in the PCI slot next to it and the 3.3v never lit up). I measured the power draw at between 5-6W (~1.6A) under various load conditions.
So with the proof of concept complete, I looked for a suitable 3.3V regulator that was both small and could provide enough current. Initially I had hoped a simple linear regulator would work to regulate the 5V down to 3.3V, but that would have to dissipate 2.72W, which was going to get hot fast, so I needed a good switch mode option. There are lots of el-cheapo no name adjustable buck converters on ebay/amazon/aliexpress, but their adjustable nature as well as poor noise (100s of mV)/regulation characteristics concerned me for this use case of trying to run a graphics card. The chintzy pots wander all over the place, and I wanted something with a fixed output voltage anyway. I found this tiny little Adafruit buck module based on the TI TPS62827. This Adafruit module outputs a steady 3.3V with a tolerance of 1%, can supply up to 2+ amps, and had very good noise characteristics. Under load on my bench, I measured only ~30mV PP noise at the 2.2MHz switching frequency under a 2A load. The ATX spec allows for 50mV ripple on the 3.3V rail, so this looked like a good fit.
I didn't want to permanently modify the card so it could only be used in a 5V slot. I wanted a way to disable the regulator when I didn't need it, and it was nice that the Adafruit module broke out the output enable pin. Simply pull it to ground and the regulator shuts off.
So I got the module, soldered some wires to it, covered the back with Kapton tape, and used UV resin to secure it to the board. I took the 5V from before the polyfuse that carries 5V to pin 9 of the VGA port, and fed it back into the unpopulated capacitor pads at the bottom of the board. I added a small switch on the top of the board that would ground the enable pin so the regulator could be easily switched off. There is also a light on the module that shows when it is running, so there is visual confirmation with a green LED.