General Information
Please keep in mind that's your own risk to flash a fully working card. I take no responsibility for any damage to hard- and/or software.
3dfx Flash
3dfx Flash is the successor of USERFLSH and based on its code. Version 1.xx can be used for flashing Voodoo Banshee graphic cards.
For newer cards (Voodoo3+) only version 2.xx should be used. For flashing the newest prototypes (Daytona) you must use the newest version since the needed support was added with version 2.16.
Version |
Date |
Note |
Download
|
1.01
|
xx/xx/1998 |
|
|
1.03
|
03/15/1999 |
|
|
1.03E
|
07/02/1999 |
Extracted from Guillemont Phoenix Maxi Gamer flash-kit. |
|
1.04
|
01/13/1999 |
|
|
2.00.04
|
01/01/2000 |
|
|
2.13
|
06/15/2000 |
|
|
2.14
|
10/26/2000 |
|
|
2.17
|
03/01/2006 |
Compiled with the leaked sources. |
|
2.17 (source code)
|
10/19/2000 |
|
|
Release Notes
Version 2.00 (02/10/1999)
- This flash version will flash either a 32K or 64K binary image. It will also save off the previos BIOS according to its size. The Atmel 29LV512, 49BV512 and SST27LE512 are now supported.
- DATA.CPP
- FLASH.H
- Added dwOldROMSaveSize and dwNewBinFileSize for ROM and Bin file sizes.
- MAIN.CPP
- Changed the file size checking to allow the variance between 64K and 32K.
- Added the ID's for the new EEPROMs.
- ROM.CPP
- Changed the hard coded values of above.
Version 2.01 (02/24/1999)
- FLASH now supports both Banshee and Avenger. This fixes PRS#4394.
- Fixed bug with 32K ROM subvendor and subsystem ID not being shadowed onto the upper 64K. This fixes PRS#4434.
- ROM.CPP
- Enabled code which shadows the PCI subsystem and subvendor ID to the upper 64K of ROM when flashing a 32K BIOS. Fixes PRS#4394.
- DATA.CPP
- Changed the strings szCopyright and szNoBoard to have no reference to Voodoo3. This is so that the flash will work on both Banshee and Voodoo3. Fixes PRS#4434.
- MAIN.CPP
- In InitBoard, removed the check for Voodoo3 2000 and added a check for Banshee.
- In Main, added a check for the ATMEL 29LV512 parts.
Version 2.02 (02/25/1999)
- Fixed bug with not being able to flash a 32K BIOS on a board strapped for 32K. Fixes PRS#4617.
- ROM.CPP
- In WriteROMFromFile, added the ROM size strapping, MiscInit0[24], to determine if the board is strapped for 32K or 64K before deciding if the PCI subvendor and subsystem ID needs to be shadowed to the upper 64K of the ROM.
Version 2.03 (03/04/1999)
- Added support for 40K BIOSs. This must be used with all 40K BIOSs!
- ROM.CPP
- In WriteROMFromFile, added code to handle 40K ROMs in a 64K ROM file binary.
Version 2.04 (03/05/1999)
- Fixed problem with not being able to create a SAVE.ROM image when the SAVE.ROM ROM size was 40K. Fixes PRS#4852.
- MAIN.CPP
- The the main routine, modified the check for a 64K ROM to check for anything above 32K, and will then assume a 64K ROM binary.
Version 2.05 (03/18/1999)
- ROM.CPP
- In WriteROMFromFile, added code to handle programming a 32K ROM which is in a 64K Binary.
Version 2.06 (04/01/1999)
- Makefile
- DATA.CPP
- Added Board descriptor info and bumped version to 2.06.
- MAIN.CPP
- Added support for multiple boards in system.
- USER.CPP
- Added ContinueYN function.
- FLASH.H
- Added support for multiple boards and board info.
- PCIINFO.CPP & VIDIN.H
Version 2.07 (04/05/1999)
- PCIINFO.ASM
- Fixed errors in the type casting of variables in the routines _pciCreateConfigSpaceMapping and the PCIEnumerate.
- DATA.CPP
- Changed some of the "3Dfx" strings to say "3dfx".
Version 2.08 (07/20/1999)
- DATA.CPP
- Added new SSIDs for the new Voodoo3 and Velocity series products.
Version 2.09 (07/22/1999)
- Added support for flashing Napalm and Rampage.
- Clean up some of the compiler warning messages in PCIINFO.CPP.
- DATA.CPP
- Created seperate chip strings, ChipSpeedVer tables, and ChipBuildInfo tables for V3, Napalm, and Rampage.
- Added Napalm and Rampage into the Device name table.
- Made wDeviceId a global variable.
- FLASH.H
- Created #define ChipId for Napalm and Rampage.
- Created seperate ChipSpeedVer and ChipBuildInfo table size defines for V3, Napalm, and Rampage.
- Added Napalm and Rampage intot he ChipSpeedtype enumerated table.
- Renamed all the "V3_" variables to "CHIP_".
- Modified the ChipSpeedVer strucuture to include BusType.
- MAIN.CPP
- Modified the SelectBoard routine to use the TdfxDeviceName table to get the board name.
- Modified the ValidateNewRom to handle searching Napalam and Rampage. The changes were made in a way so that adding support for a new chip can easily be made.
- PCIINFO.CPP
- Commented out some of the PCIINFO variables to remove the warning messages generated by the compilier.
- ROM.CPP
- In BeginROM, added code to program MiscInit[2] to enable ROM Writes on Rampage only. Napalam and V3 programs MiscInit[4] to enable ROM writes.
Version 2.10 (01/15/2000)
- Fixed error with not being able to detect Voodoo4 and Voodoo5 cards.
- Changed the Napalm PCI device ID from 0x07 to 0x09.
- Updated Napalm board configuration tables.
- FLASH.H
- Changed the Napalm device ID from 0x07 to 0x09.
- Updated the ChipSpeedType struture for the all the Napalm board types.
- Created externs for sVoodoo4 and sVoodoo5 BIOS string names.
- Fixed bug in sNapalmBuilds and sRampageBuilds extern defination.
- DATA.CPP
- Created the strings sVoodoo4 and sVoodoo5.
- Updated the structures sNapalmSpeedVer and sNapalmBuilds.
- Updated the version number to 2.10.
- MAIN.CPP
- In ValidateNewROM, added check for Voodoo4 and Voodoo5. Also modified scheme to check for SDRAM and SGRAM Napalm BIOS. Will now read the board configuration DWORD instead of searching for the "-SD" or "-SG" string.
Version 2.11 (01/15/2000)
- Fixed bug with not being able to flash PCI cards on a Camino motherboard. Camino systems have the PCI bus on bus 2 not bus 0.
- VIDIN.H
- Change the MAX_PCI_DEVICES to scan 00h to 0Fh buses for 3dfx cards.
Version 2.12 (02/02/2000)
- Fixed bug with trying to FLASH bios while in a full screen DOS session and after running Windows. Fixes PRS#12546.
- ROM.CPP
- In BeginRom, save the original state of MiscInit0 and cleared MiscInit0[30]=0 begin flash the ROM.
- In EndRom, restored the original state of MiscInit0.
- MAIN.CPP
- In InitBoard, initilized the variable lpLinMiscInit0 with the current miscInit0 value.
- DATA.CPP
- Created the variables dwOrgMiscInit0 and lpLimMiscInit0.
- FLASH.H
- Created the externs dwOrgMiscInit0 and lpLinMiscInit0.
Version 2.13 (03/07/2000)
Version 2.14 (08/04/2000)
- Added support for the Napalm V5-5800 boards.
- FLASH.H
- Changed the number of Napalm board options, NUM_NAPALM_BUILDS, to 16 and the number of Napalm speed options, NUM_NAPALM_SPEED, to 5.
- Updated the ChipSpeedType structure to include Napalm_5800.
- DATA.CPP
- Updated the sChipSpeedVer variable to support for to 10 speed types.
- Added the Napalm 5800 to the sNapalmSpeedVer and sNapalmBuilds structures.
Version 2.15 (08/17/2000)
- Added support for the Napalm2.
- MAIN.CPP
- In ValidateNewRom, expanded the Napalm chip ID check to also include Napalm2.
- FLASH.H
- Added "#define ChipIdNapalm2 0x0B" for the Napalm2 chip ID.
- Updated NUM_TDFX_CHIPS to 6.
Version 2.16 (09/12/2000)
- Fixed bug with last entry in the structures SpeedVer and Builds wer never read.
- Fixed bug with Napalm BIOS builds not properly being found when multiple subvendor IDs were used for a set of BIOS builds.
- Added Daytona UserFlash code to perserve the Strapping Option DWORDS.
- Added Napalm support for the Napalm 4400 boards.
- Added Daytona support for the Daytona 4200 boards.
- MAIN.CPP
- In ValidateNewROM, fixed bug with size of SpeedVer and Builds structures not properly being read. In ValidateNewRom, expanded the check for the SubVendor ID to also check the bus type and BIOS speed.
- FLASH.H
- Added #defines for the offsets to the strapping option data.
- Added Napalm support for the Napalm 4400 boards.
- Added Daytona support for the Daytona 4200 boards.
- DATA.CPP
- Expanded the ChipSpeedVer and Napalm Build structures to include Napalm 4400.
- Removed the Napalm build for the V5P901 Voodoo5 5800.
- ROM.CPP
- In BeginROM, expand the check for Napalm to also include a check for Napalm2.
- Expanded the WriteROMFromFile routine to also preserve the strapping options DWORDS.
Version 2.17 (09/12/2000)
- Added Daytona support for the Daytona 4000 boards.
- DATA.CPP
- Expanded the ChipSpeedVer and Napalm Build structures to include the Daytona 4000.
- FLASH.H
- Added Daytona support for the Daytona 4000 boards.
USERFLSH
USERFLSH is the successor of VFLASH and predecessor of 3dfx Flash. It should be used for flashing Voodoo Banshee graphic cards.
1.02
Attribute
|
Value
|
Date
|
02/09/1999
|
Notes
|
|
Download
|
|
1.02G
Attribute
|
Value
|
Date
|
02/24/1999
|
Notes
|
|
Download
|
|
VFLASH
VFLASH is the predecessor of USERFLSH and should be used for flashing Voodoo Rush graphic cards. Newer flashing tools shouldn't be compatible.
This tools supports the following flash chips:
- ATmel (AT29C010A)
- Alliance (AS29F010)
- AMD (AM29f10)
1.0.3
Attribute
|
Value
|
Date
|
07/28/1997
|
Notes
|
|
Download
|
|
1.00.04
Attribute
|
Value
|
Date
|
08/04/1999
|
Notes
|
|
Download
|
|
1.00.05.2
Attribute
|
Value
|
Date
|
unknown
|
Notes
|
Extracted from Quantum3D MGV flash-kit.
This flash-tool is a rebranded VFLASH named AlscBBrn.
|
Download
|
|
1.0.6
Attribute
|
Value
|
Date
|
11/14/1997
|
Notes
|
|
Download
|
|
FlashROM (Mac OS)
FlashROM is the flash tool for VoodooMACs functional with Mac OS 8 & 9.
Voodoo3 (08/10/1999)
Attribute
|
Value
|
Date
|
08/10/1999
|
Notes
|
|
Download
|
|
Voodoo3 (11/22/1999)
Attribute
|
Value
|
Date
|
11/22/1999
|
Notes
|
|
Download
|
|
Voodoo3 (05/29/2000)
Attribute
|
Value
|
Date
|
05/29/2000
|
Notes
|
|
Download
|
|
Voodoo4/5 (11/26/2000)
Attribute
|
Value
|
Date
|
11/26/2000
|
Notes
|
|
Download
|
|
Voodoo3 1.05 (Source Code)
Attribute
|
Value
|
Date
|
xx/xx/1998
|
Notes
|
|
Download
|
|