Subscribe via RSS
16Oct/1712

Power Macintosh Graphite G4 – ATI Radeon 9250

My recently acquired Power Mac G4 was originally spec'd with an Nvidia GeForce, but instead came with an ATI Rage Pro 128. I therefore started researching my options for a graphics card upgrade. Most 'apple-designed' items, that would work out of the box, would cost an arm and a leg, so I ventured deeper into the web and came to the understanding that PC cards could be flashed to work on Apples!

Which cards?

Good question. Some people have had luck with the NVidia GeForce range, whilst others have succeeded with the ATI Radeon chipset. There's a good compatibilty chart here at The Mac Elite which will show you the series and then any required modifications.

Sapphire ATI Radeon 9250 128mb

I happened across an ATI Radeon 9250 AGP with 128mb of RAM at trash and treasure on the weekend for a few dollars and my decision was therefore made for me. The VGA port was dangling and needed whatever screws I could find to secure it.. and well, it was cheap.

DSC00337

DSC00339 DSC00340 DSC00341

Quick research showed that the basic process is to first flash it in a compatible PC, disable pins 3+11 and then shift some resistors. The pin disablement is required as the Macintosh actually uses these to send 25v over it's proprietary ADC port to power an Apple Display. AGP 1x originally didn't require these pins and so Apple hijacked them. Plugging an AGP 4x/8x card into an apple expecting a 1x card will prevent the machine from booting and possibly cause other hardware damage.

Flashing with a Macintosh ROM

Thanking The Mac Elite once more, they have a great flashing tutorial here. Firstly, you'll need a ROM, so follow the links and agree to the disclaimers. Note that the 9250 driver is actually not 'official'. It's a modified version that has the device IDs hacked in to allow this card to work. You'll find 3 ROMs for the 9250 over there. A 'full' version and 2 reduced versions. The latter are smaller versions of the original ROM file, allowing it to fit on cards with smaller flash memory. Actually, there's a whole article on reduced ROMs here. I'd read on a forum of a success story with the 'Reduced TOME ROM', so I chose that.

Finding ATIFlash actually became quite a challenge... the tools available for ATI Flashing were all windows-based and the DOS version was nowhere to be found. I tried Archive.org, but the links were all dynamic and wouldn't give me an older version. Googling then provided me with a link to a newer version of the DOS ATIFlash tool. I managed to get it onto a bootable floppy, with both of the ROMs to test and ... well ... each attempt resulted in: Adapter Not Found. The tool couldn't find my AGP card!?!

At this point I had two options... Keep scouring the web for an ancient version of ATIFlash (v3.10 is the version everyone seems to prefer) or try the windows versions... I actually did try the latter, but my test PC only had Win98SE and the app needed Windows 7 at a minimum. I therefore kept digging and found other versions of ATIFlash! Finally, v3.10. It still didn't work... so instead of wasting hours to get Windows 7 up and running, I chose to force the flash. Using atiflash -f -p [CARD_IDX] [ROM_FILE], things started happening!

DSC00347

Finally, we have a successful flash and it's actually now listing the card and the ROM information correctly. NOTE: The screenshot above shows ATIFLA2.EXE... this is v3.10. ATIFLASH.EXE is v4.17, the first version I tried.

Disabling pins 3 and 11

The Mac Elite has a great write-up on this requirement. As mentioned, these two pins were used to provide power to an ADC monitor. Later on, AGP 8x came along and used these pins for something else. Since my card is an 8x card, the pins are 'in-use' and therefore the Macintosh wasn't happy with this at all. In fact, it wouldn't power up with the card inserted nakedly into the slot. Fortunately, the fix is simples... grab some sticky-tape and cut it into thin slices and insulate the pins.

DSC00350

To stop the tape from sliding when the card is inserted, wrap it half way around the edge. Don't go all the way around though, as you'll disable other pins on the other side of the connector.

At this point I tested it out... I was curious to see if the machine would even power up.

DSC00352 DSC00353 DSC00355

It did!... but the frequency was totally out-of-whack. That last shot is of me going back to the PC to check if I could write the other 'full' ROM as I'd thought a bad ROM write was to blame. It didn't let me and I was about to despair, before I remembered that I still had to hack resistors to switch this card into Mac Mode.

ATI 9250 'Macintosh Mode'

The 9250 needs a further 'Macintosh Mode' hack. It seems that the card has soldered jumpers to configure it as either Macintosh or PC. This link at The Mac Elite has an example of what resistors to change... but my card wasn't 100% identical. I took a flying leap and guessed that the resistors in the same area provided the same purpose. This, thankfully, turned out to be correct!

DSC00356 DSC00360 DSC00361

So, the card was on the workbench, the soldering iron was ready, and I had assumed that the 'block of three' resistors was the top 3 of 4 in that upper area and the '2 pair' was the obvious 2-pair below. Fortunately, the first 2 of 3 of the top block were already in the correct location; I just had to shift the last one. Removal was easy: I tinned the soldering iron and just heated up the SMD resistor until it lifted and stuck to the tip. After this I cleaned the pads ready for the switched resistors.

Of course, I couldn't be assed trying to put the tiny SMD resistors back; there's really no need. They're actually just jumpers or 0 ohm resistors providing links between two solder pads. I therefore just grabbed a nearby full-size resistor and bent its leg to act as a jumper.

DSC00363

I tinned the end of the resistor and then soldered it in place.

DSC00365

From there, a nice set of sharp snips removed the excess and the short was in place!

DSC00367

One done, two more to go...

DSC00369

Before I knew it, all were done and it was time to test it out again...

DSC00372

With the card in place, you really have no idea if the sticky-tape insulating the pins has succeeded... but just turn it on anyway! Meanwhile, look at all those spare PCI slots! I'll get back to them later.

DSC00371

Haha! It just worked!

Software

Well... it nearly worked. The second monitor was maxing out at 640x480 and controls seemed limited. I assumed I needed some form of a real ATI driver, so I went searching. ATI/AMD actually has the drivers right here and installing them was a breeze. After a reboot, I had full resolution and the monitor model numbers were even showing up!

DSC00377

Success!