Updating the BIOS on a Matrox Millenium video card is hampered by the fact that Matrox does not provide instructions on how to accomplish the flash in a non-FAT-HDD, non-Win environment.  The later versions of UBIOSDOS.exe that Matrox recommends require a FAT partition to run because of the forced ROM backup procedure.

To painlessly update the BIOS, you can create a bootable DOS diskette with the files to update your Millenium's BIOS.  All the tools to do this are provided by Matrox, except the know-how.

On the original Millenium or Millenium II, first move the DIP switch 1 to ON (I think: double check the silkscreen next to the switch), which enables BIOS writing.

For the Mill1 and Mill2, obtain SETUP351.exe
For the G100 and newer series, obtain SETUP251.exe
(yes, the newer cards have an lower filenumber!)

Expand the appropriate archive in a temp directory.

To a DOS bootable diskette, copy these files:

    dos4gw.exe (260k)

    progbios.exe (324k)
    <BIOS file> (32-40k)
where <BIOS file> is one of the below (this table is out-of-date):

              New BIOS        BIOS      BIOS

Model          version        Date      filename
~~~~~~~       ~~~~~~~~       ~~~~~     ~~~~~~~~~~
Millenium      (v3.0)         28-Apr-98 838-20.bin
Millenium II   (v1.5)         10-Jun-98 859-5.bin
G100           (v1.6)         08-Mar-99 874-6.bin
G100 TV Output (v1.5 TVO)     21-Oct-98 874-5TVO.bin
G200           (v3.3 b30)     21-Nov-00 899-33.bin
G200 TV Output (v3.3 b30 TVO) 21-Nov-00 899-33TV.bin
G200           (v3.3 b34)     21-Nov-00 900-33.bin
G200 TV Output (v3.3 b34 TVO) 21-Nov-00 900-33TV.bin
G400           (v2.1)         21-Nov-00 897-21.bin
G400 TV Output (v2.1 TVO)     21-Nov-00 897-21TV.bin
G450           (v1.0 b00)     24-Jul-01 970-00.bin
G450           (v1.7 b33)     24-Jul-01 935-17.bin
G550           (v1.1)         24-Jul-01 964-11.bin

Boot the target box from the diskette.

At the A: prompt, type
   progbios -i <BIOS filename>
(without the '<>' characters)

When progbios.exe runs, it will display the Millenium model it detects, inform you of the old BIOS version and the new BIOS version, and ask if you want to proceed.  If you answer 'Y', it will erase, then flash the BIOS using the file you provided.

I've created a pre-built boot diskette with individual batch files that do much of the work above:
ftp://asavage.dyndns.org/DisketteImages/Matrox.exe (860k)

This is a self-extracting diskette image (built using DSK4PM: thanks, Daniel Valot).  It creates a bootable DOS diskette whose AUTOEXEC.BAT displays a warning and a menu of options, a menu that looks a lot like the list of Matrox video cards above!  You pick your model of Matrox Millenium, and run the appropriate batch file.

Testing with a G400 here, the flash utility would apparently allow me to flash the G400 using the G450 or G450TV BIOS update file, even though progbios.exe correctly IDs the G400, so watch out for this one.  It'll also apparently let you try to flash using the TV Output file for a base series' version.  I didn't test this outcome, so if someone wants to let me know how that combo turns out . . .

Things that might be updated in a future evolution:
        Use CHOICE.COM or similar to eliminate the separate batch files

Comments and bugreports to Al Savage

Last updated: 13-Oct-2004