• Hello, Guest! Welcome back, and be sure to check out this post for more info about the recent service interruption and migration.

Flashing a PC Voodoo4/5 to Mac( Development )

DarthNvader

Well-known member
So today we are going to investigate to see if we can flash a PC Voodoo4 or Voodoo 5 to a Macintosh card suitable for PowerPC PCI systems.

I don't own a Voodoo4/5 card and the retro computing realm for the PC has made them prohibitively expensive for me, but if you have such a card and you always wanted to see if it could be turned into a "Mac Edition" Voodoo card, maybe with a little help from each of us we can find a way to make that happen.

I'm striving to convert these cards using only a Macintosh as not many of us have PC's with PCI slots anymore, and as far as I know the DOS based PC flashers for Voodoo cards won't flash the Mac ROM. I'm sure the DOS flasher could be hacked, but that's outside my realm of experience and here on 68k we love all things Mac.

Ok, so all that said I have a solution that may work, or may just harmlessly fail, and I'm going to outline some instruction that will likely need to be edited for you specific Mac and PCI slot. We are going to consecrate on the PC PCI Voodoo5 as @Nathan_A has one he is willing to try and flash, but if we are successful we should be able to use the info we gain to flash Voodoo4's as well. As an aside, AGP cards should work, but they will likely just work in PCI 66mhz mode in an AGP PowerMac's AGP slot.

So our attached file likely needs to be unzipped under OS X and should contain two files and the MacVoodoo installer from 3dfx.

Install the MacVoodoo tools and drivers on the Mac you want to do the flashing on( likely a New World Mac with Open Firmware 3.x+ is the best chance of success, but we may also be able to us Mac and Mac clones with PCI slots and Open Firmware 1.0.x ).

Copy the other two files ( nv and Voodoo5cp.rom ) to a place accessible from Open Firmware. I just create a folder name "ppc" on the root of my OS 9 partition. NOTE OF 1.0.x can not read HFS/HFS+ disks of any kind, only MSDOS formatted floppies and ISO9660 CD's.

So these instructions assume you are using a New World Mac for the flashing( once the card is flashed it will work in Old World Mac's and Clones ).

Code:
load hd:,\ppc\nv \\ loads an nVidia ROM that will give our voodoo card the open word
dev pci1 ls \\ get a listing of pci devices, looking for our PC Voodoo card
dev pci1/@13 \\ assumes we have found our voodoo card @13
800000 1 byte-load \\ gives us the open and close words needed by select-dev
load hd:,\ppc\Voodoo5cp.rom 
" pci1/@13" select-dev
800000 1 byte-load \\ executes the Voodoo5 Mac FCode ROM on our selected device
boot \\  some chance of a default catch here and we have failed, more on this later.

With any luck you will now boot the Mac OS, then just open the 3dfxtools Control Panel and see if it will now flash your Voodoo5 to Mac.🤫
 

Attachments

  • Voodoo Hacks.zip
    1.4 MB · Views: 0
Last edited:

Byrd

Well-known member
I'm striving to convert these cards using only a Macintosh as not many of us have PC's with PCI slots anymore, and as far as I know the DOS based PC flashers for Voodoo cards won't flash the Mac ROM. I'm sure the DOS flasher could be hacked, but that's outside my realm of experience and here on 68k we love all things Mac.

Nice to see some Voodoo love, however confirming the DOS flasher works with Mac ROMs - and can be flashed back to PC. You require another PCI non-3DFX card to do this.


Provides info on the Voodoo 3 PCI (and presumably AGP?) flashing under Mac OS .
 

DarthNvader

Well-known member

jeremywork

Well-known member
I was able to flash a Mac 5500 back to Mac firmware using the Voodoo 4/5 flasher utility in Mac OS 9 (monitor connected to a Radeon, also installed.) It's avaiable in the top download here:

The process was very seamless, but it allows a simple update only if the card's ROM doesn't match. Seems like it can be manipulated to do more:
 

DarthNvader

Well-known member
I was able to flash a Mac 5500 back to Mac firmware using the Voodoo 4/5 flasher utility in Mac OS 9 (monitor connected to a Radeon, also installed.) It's avaiable in the top download here:

The process was very seamless, but it allows a simple update only if the card's ROM doesn't match. Seems like it can be manipulated to do more:
Thanks, I was unaware of this.
 

DarthNvader

Well-known member
I was able to flash a Mac 5500 back to Mac firmware using the Voodoo 4/5 flasher utility in Mac OS 9 (monitor connected to a Radeon, also installed.) It's avaiable in the top download here:
So you had flashed the card with a PC VBios and then flashed it back?
 

DarthNvader

Well-known member
So I checked the Voodoo 4/5 Flasher included in these tools, thanks @jeremywork, and it only checks the Vendor and Device ID's in the IODispaly Name Registry.

3Dfx Voodoo Drivers (1,2,3,4,5) + Utilities, Flash Roms - Macintosh Repository

Oddly, as with most Mac OS 9 style PCI utilities, it doesn't check the actual registers on the PCI device. So what that means is we can use Open Firmware to fool the Flasher utility to recognize any PCI card as a Voodoo card and it will try and flash it.

That was useful to me as I don't have any Voodoo cards and I just wanted to check to see if I could open the Flasher Utility and if it would try and flash the rom, and it did with a little Open Firmware hack.

@Nathan_A You should be able to just flash your PC Voodoo5 without any hacks, just download the files from the link and extract the Voodoo 4/5 Flasher and flash away. Tho you may want to backup your PC VBios first in case things go wrong or you ever want to revert back.
 

DarthNvader

Well-known member
@DarthNvader I am learning a lot from your Open Firmware related posts. Thankyou for sharing them :).
Yes I learned a lot from Arti Itra, Joe van Tunen, and Daniel Jefferys as well as a few others.

Though my hacks and trail and error I have learned to almost be an Open Firmware master, but I still have a lot to learn in the 4th before they will let me sit on the Jedi council.(y)

May the 4th be with you( 2 more days!)
 

Nathan_A

Well-known member
FWIW, I've attempted to use that Mac Flasher Voodoo4 tool in the past with a properly extracted Mac Voodoo5 ROM and it didn't work. Wouldn't even flash.
 

jeremywork

Well-known member
So you had flashed the card with a PC VBios and then flashed it back?
Glad if it helps! Yeah, that was what worked for me. I haven’t tried to use it on anything else.


FWIW, I've attempted to use that Mac Flasher Voodoo4 tool in the past with a properly extracted Mac Voodoo5 ROM and it didn't work. Wouldn't even flash.
Take a look at the second link I posted; there is a bit where the author mentions using a 4 rom on 5 cards or vice versa.
 

Nathan_A

Well-known member
Yep, that was the first thing I attempted to do with my PC Voodoo5 card many moons ago. The Control Panel wouldn't even recognize the card. Maybe it's the PCI Vendor & Device ID spoofing. I can try that.

I also tried using the text-based Mac flashing tool (that I can't find right off hand right now) and using the ROM files that are distributed with it, but that didn't work either. From memory I think it claims to have flashed the card, and it appears to do something because in order to get the card to work again on a PC I have to flash it back to the PC ROM.

However, when I extracted the ROM from the 3Dfx control panel and compared it to the ROM files that came with the text-based tool they were different from each other. So my hypothesis at the time was that the text-based tool could do the flashing, but it just needed the right ROM to work with, but when I extracted the ROM from the control panel to use with the text-based tool, the text-based flasher would just barf on the ROM instead of flashing it.

In any case, looking forward to trying to fool either or both of these tools to take another whack at it.
 

DarthNvader

Well-known member
Yep, that was the first thing I attempted to do with my PC Voodoo5 card many moons ago. The Control Panel wouldn't even recognize the card. Maybe it's the PCI Vendor & Device ID spoofing. I can try that.

I also tried using the text-based Mac flashing tool (that I can't find right off hand right now) and using the ROM files that are distributed with it, but that didn't work either. From memory I think it claims to have flashed the card, and it appears to do something because in order to get the card to work again on a PC I have to flash it back to the PC ROM.

However, when I extracted the ROM from the 3Dfx control panel and compared it to the ROM files that came with the text-based tool they were different from each other. So my hypothesis at the time was that the text-based tool could do the flashing, but it just needed the right ROM to work with, but when I extracted the ROM from the control panel to use with the text-based tool, the text-based flasher would just barf on the ROM instead of flashing it.

In any case, looking forward to trying to fool either or both of these tools to take another whack at it.
When you try the Flasher @jeremywork linked in post#5, if it flashes the card, but the card still doesn't work, keep the ROM on the card that it flashes and boot into Open Firmware with either another graphics card or via serial or telnet and get the .properties for the card. We want to see if the ROM is working as far as building the .properties.

If the rom is not building the .properties at all then we likely have a device-id mismatch in the PCIR header of the Mac FCode ROM. That is an easy fix( the Device-id of a Voodoo4/5 should be 0x00000009 ) so if your card has a different Device_ID Open Firmware will ignore the FCode ROM altogether.

If the FCode ROM is working and building the correct .properties for your card in Open Firmware then it is likely an incompatibility with the VGA output of the card and the ROM will need to be detoked, edited, and retokenized. That is a much harder fix so let's hope it's not that.
 

Nathan_A

Well-known member
Alright. I've finally been able to get around to setting the machine back up, pulling my cards out of storage, and trying a few things. First, I was able to grab the ROM from the 1.13b Control Panel and make a ROM file that the aforementioned flasher tool would accept and flash to the card. I did this by duplicating the Voodoo5 PCI ROM file that comes with the flasher tool, opening up its data fork and splatting the data from the first entry in the RomU resource of the Control Panel.

After I flash the Voodoo5 I can pull all the other cards from the machine, hook my monitor up to the Voodoo5, and the machine chimes and boots normally... except for there's no video signal whatsoever. I can even shutdown the machine normally by pressing the power button on the keyboard and pressing Return, so I know the machine is coming up.

I put an extra video card in the machine and brought up the machine. Apple System Profiler identifies that there's a card in the D2 slot that has the Voodoo5 in it and also correctly identifies that its a Voodoo5 in its little PCI ID set of fields. It claims it can't tell what version of the ROM is installed, but I actually think this is also true of when I'm running a Voodoo3 that works fine. 3Dfx probably just doesn't have the ROMs setup to report their version information however the Apple System Profiler wants it to be.

So, now I'm on to trying to figure out the .properties stuff from your last post. Unfortunately I only have "Old World" Open Firmware machines to work with here, so doing anything in Open Firmware is a pain in the neck at the moment. I can't seem to get into the Open Firmware in a way that puts the console on my display output, so I'm assuming I'm going to have to sort out some kind of serial connection to some kind of host machine. If possible it would be easiest if I could get a USB to Serial adapter that would work for this purpose, so that I could sit next to the machine with my Linux Thinkpad to monkey around with stuff.
 

Nathan_A

Well-known member
@DarthNvader I thought maybe I couldn't get OF output to my display because I was using a Formac Proformance3 as my alternate video card and suspected that its "pre-boot" support might be somewhat sketchy being that it's such a niche card with a niche chipset. So, I found the original IMS TwinTurbo that shipped with the machine and tried it... still no luck.

Before I go through the rigamarole of trying to setup serial access to OF on my PowerTower Pro I could pull out my PowerCenter 150 (PM 7200 "Catalyst" derived machine) since it has Apple supplied onboard video/framebuffer maybe it knows how to output the OF console to an attached display in a way that the PCI-dependent (PM 9500 "Tsunami" derived) PowerTower Pro can't figure out how to do?
 

jeremywork

Well-known member
I can't seem to get into the Open Firmware in a way that puts the console on my display output, so I'm assuming I'm going to have to sort out some kind of serial connection to some kind of host machine.
I've had success using a normal 8-pin serial cable and MicroPhone II on a second Mac. IIRC the machine you're putting into OF mode should have the cable connected to the Modem port, and the MicroPhone settings should look like this:
IMG_8797.JPG


I think there is a way to switch to the OF machine's built-in video/keyboard once the serial console is up, but I didn't try at the time. The default behavior for these old world PowerMacs is to enable serial console only.
 

macuserman

Well-known member
Maybe I missed it, but do you know if the Mac version has more than one rom version? I ask because I have a couple of them I believe and I think I'm going to be getting rid of one soonish, so if it would be helpful to dump the rom first I can stumble through that before doing so.
 

macuserman

Well-known member
We’ll got to looking at mine and they both have the same bios rev on them.
 

Attachments

  • AAE8FAF0-CC73-423B-9926-1B8A3266E6EF.jpeg
    AAE8FAF0-CC73-423B-9926-1B8A3266E6EF.jpeg
    1.1 MB · Views: 2
  • 8DF40A4A-31AE-4A92-BD97-9359576DD467.jpeg
    8DF40A4A-31AE-4A92-BD97-9359576DD467.jpeg
    1.8 MB · Views: 2
  • D326D053-9EC8-421F-ACE8-7EF66A6D445A.jpeg
    D326D053-9EC8-421F-ACE8-7EF66A6D445A.jpeg
    1 MB · Views: 2

Nathan_A

Well-known member
Well, in this case what I'm doing is extracting the ROM image that's embedded in the resource fork of the 3Dfx MacTools Control Panel, so it should be the latest that 3Dfx produced.

Also, ping me if you decide to sell one of those. Having one handy might help in debugging this.
 
Top