UniFlash version 1.40 documentation ----------------------------------- (C) 2005 Rainbow Software (Ondrej Zary) Original version by Pascal Van Leeuwen and Galkowski Adam "Your program just saved the day for me! I tried to use AWDFLASH.exe to flash my new Shuttle HOT-603 v2.0(AMD640) with the new 603WWQ07.bin BIOS and it did! The only problem was that the BIN file wasn't complete. Evidently this destroyed the boot block too. I tried to restore the old BIOS to that EEPROM on a HOT-565(430TX) with all the other flash programs I could get my hands on to no avail. I was able to flash the HOT-603's EEPROM to 565WIQ0E.bin and it worked just fine on the HOT-565 so I knew the chip it's self was still good. I finally gave up and ordered a replacement chip this morning. This evening while surfing I saw a reference to you'r program on http://ping.be and downloaded it. With the 'Expert' mode I was able to properly flash the Winbond W29EE011-15 chip on the HOT-565 for the HOT-603." - Jack Freeman 0.0 DISCLAIMER ------------------------- THIS PROGRAM COMMUNICATES WITH THE CHIPSET AND FLASH ROM CHIP AT THE LOWEST HARDWARE LEVEL. USING THIS PROGRAM MAY BE DANGEROUS TO YOUR COMPUTER'S BIOS. THIS PROGRAM MAY CONTAIN BUGS AND MOST OF THE SUPPORTED HARDWARE IS UNTESTED. YOU ARE USING IT AT YOUR OWN RISK: NOBODY EXCEPT YOU IS RESPONSIBLE FOR ANY DAMAGE THIS PROGRAM MAY CAUSE !!! 0.1 COPYRIGHT and CO. -------------------------------- UniFlash is licensed under GNU GPL v2 since UniFlash v1.4. See LICENSE.TXT for the license text. 1.0 UniFlash? UNIFLASH??? What the HELL is it ??!!! -------------------------------------------------------------- UniFlash is a flash program, used to write a new BIOS on your FLASH ROM Chip. What's new there? , you may ask, there are already programs like this on Internet made by BIG BRANDS like AMI, AWARD or MR. Well... there is only a little difference: COMPLETE, WORKING SOURCE CODE IN PASCAL IS GIVEN FOR FREE!! UniFlash is made to be universal - this can be useful when you're hot-flashing your bios in another motherboard. Another thing: this flasher is mainly destinated for fearless people and experienced users. If it's your first adventure with flashing your BIOS, we recommend you strongly using these brand flashers. You'll have to understand we are just experienced computer users/programmers and we haven't materially the possibility to test every routine and chips we haven't. That's the main reason we release it. We hope people may help us in debugging and testing routines. NOTE by PvL: Brand name flashers have a tendency to be unstable (this is especially true for AWDFLASH, which f*cked up my BIOS twice so far, leaving me no other choice than to hot-flash) so if you happen to be the lucky owner of one of the TESTED flash chips I can really recommend using UNIFLASH instead ... NOTE by Rainbow: AWDFLASH IS REALLY BAD. When I was flashing BIOS on Abit SA6R, the verify failed. I retried flashing about 20 times, then it succeeded. But motherboard died after reboot. Luckily, after powering down and back up, BootBlock BIOS worked and I was able to flash the BIOS correctly from there. 2.0 What hardware do I need for UniFlash ? ----------------------------------------------------- Here's the minimum configuration you need to run UniFlash: -At least a 386 (The whole thing works in flat real mode) -RAM at least 2 times bigger than Flash ROM size, but less than 2GB -MS DOS 4.0 and higher -Known Flash ROM chip (see section 3.0) -Supported chipset (see below) - note that all of them are PCI based or c't Flasher 8-bit ISA card ,----------------------------------------------------------------------------, | Don't forget to disable "Flash write protect" - either in system BIOS or | | using a jumper on the motherboard. | `----------------------------------------------------------------------------' Here's a list of chipsets suported by Uniflash: * means tested and functional, # means tested, but doesn't work the way it should unmarked chipsets are not tested ,----------------------------------------------------------------------------, | Mfg | Chipset(s) | Comments | `---------|----------------------|-------------------------------------------' Intel |*Triton 430FX | No comments It works in 99% of cases |*Triton II 430HX | |*Triton II 430VX | |*Triton III 430TX | |*Mobile 430MX | | Natoma 440FX | |*AGPSet 440LX/EX | | 450KX/GX | | Mecrucy 430LX | | Neptune 430NX | |*AGPSet 440BX/ZX | | AGPSet 440GX | |*i810 | i810 tested and works OK, others should too | i810E | | i810E2 | | i815(P/G) | |*i815E(P/G) | | i815EM | | i820 | | i820E | | i830M(P/G) | | i840 | | i845 | | i845E | | i845G(E/L/V)/845PE | | i845MP/MZ | | i850(E) | |*i852GM/855GM | | i855PM | | i860 | | i865P(E)/G(V)/848P | | i875P | | E7205 | | E7210 | | E7221 | | E7320 | | E7500 | | E7501 | | E7505 | | E7520 | | E7525 | | E8870 | |*i910/915/925 series | | mobile 910/925 series| ----------|----------------------|-------------------------------------------- VIA | 486 with VT82C505 | 486 chipsets with VT82C505 PCI bridge | Appollo Master | | Apollo VP | |*Apollo VPX | |*Apollo VP2 | | Apollo VP3 | |*Apollo MVP3 | | Apollo P6 | | Apollo MVP4 | VIA chipsets are weird - some work, some |*Apollo Pro | don't. |*Apollo Pro Plus/133 | |*Apollo Pro 133A | If you have "Flash Write protect" in BIOS, |*Apollo ProMedia | disable it and it should work. | Apollo Pro 133Z/PM133| | Apollo KX133 | |*Apollo KT133(A) | | ProSavage KM133(A) | |*Apollo KT266(A)/KT333| |*Apollo KT400(A) | |*UniChrome KM400(A) | | Apollo Pro 266 | | Apollo Pro 266T | These North Bridges are detected, but | ProSavage P4M266 | aren't used in any VIA's chipset (??): |*P4X266(A)/P4X333/400 | VT8662, VT8615, VT8361, VT3133 ----------|----------------------|-------------------------------------------- AMD |*AMD 640 (same as VIA | Works just fine | Apollo VP2) | | AMD 750 | UniFlash supports true AMD chipsets since |#AMD 760 | version 1.20. Their registers are very | AMD 760MP | similar to VIA. AMD 760 should work with |*AMD 760MPX | both VIA and AMD (does it really exist?) | | south bridges. | AMD 8000 | | Geode SC1100 | Geode bought from National, these chips | Geode SCx200 | have integrated south bridge ----------|----------------------|-------------------------------------------- SiS |*85C496+497 | I got the datasheets, but not from SiS. |*501/5101/5501 | | 5511 | | 5571 | To support 12 chipsets, I needed to write |*5591/5592 | 5 different methods of enabling Flash ROM | 5596 | write access. (The more code, the more |*5597/5598/5581/5120 | bugs :-) |*530 | All SiS South Bridges have the same | 540 | device ID $0008 (SiS 540 and 630 can have | 600 | either $0008 or $0018 - it can be |*620 | configured(!!!) through registers. |*630 | | 635 | | 640 | Boards with the new chipsets (540 and 630 | 645 | and up) have often ITE IT8705F LPC Super IO | 645DX | (also called SiS 950 sometimes) which | 648 | allows to use regular Flash ROM on LPC bus. | 650 | It's tested and works. | 651 | | 655 | | 730 | | 733 | |*735 | | 740 | |*745 | | 746 | |*748 | | 755 | ----------|----------------------|-------------------------------------------- ALi |*FinALi 486 | FinALi has very weird Flash ROM access but |*Aladdin | finally it works correctly. | Aladdin III | | Aladdin IV/IV+ | All chipsets with M1533/M1543/M1535 South |*Aladdin V | Bridge should work. | Aladdin 7 | |*Aladdin Pro/Pro II | | Aladdin Pro III | Aladdin TNT2 | CyberBLADE Aladdin i1| | Aladdin Pro IV | |*ALiMAGiK 1 | | Aladdin Pro 5(T/M) | Unlisted chipsets are not fully detected, | Aladdin-P4 | but should work if they use M1533/43/35 or | CyberAladdin-P4 | M1523 South Bridge. ----------|----------------------|-------------------------------------------- SMSC | VictoryBX-66 | i82443BX North Bridge with SMSC SLC90E66 | | South Bridge (UDMA-66 support) ----------|----------------------|-------------------------------------------- Winbond/ | W83C553F/4F | South Bridge, probably very rare thing Symphony |*Winbond W83697(H)F | LPC Super I/Os with Flash ROM support Labs | Winbond W83697SF | | Winbond W83697UF | | Winbond W83627(H)F | LPC Super I/Os without Flash ROM interface |*Winbond W83627SF/GF | | Winbond W83627THF | | Winbond W83637HF | ----------|----------------------|-------------------------------------------- ITE | IT8871F/2F and | Don't know where used, untested. | IT8888F South Bridges| (No known chipset with these SBs) |*IT8700F/8705F | LPC Super I/Os with Flash ROM support | IT8710F | (used with SiS 540, SiS 630 and newer) | IT8702F | LPC Super I/Os without Flash ROM interface | IT8711F | | IT8712F | | IT8722F | ----------|----------------------|-------------------------------------------- Reliance/| ServerSet III LE | All chipsets with OSB4 South Bridge should Server | ServerSet III HE | work. Untested. Works | | I don't have any official info. ----------|----------------------|-------------------------------------------- National/| Vesuvius-LS | Never seen this one. PicoPower| | Untested ----------|----------------------|-------------------------------------------- National/| Geode GX1 (MediaGX) | With Cx5510, Cx5520 and Cx5530(A) chips. Cyrix | | New Geode chips are AMD. ----------|----------------------|-------------------------------------------- OPTi |*Viper M/N/NK/N+/DP | Tested and works | Viper Max/Vendetta | Untested, but should work too ----------|----------------------|-------------------------------------------- HiNT | VXPro-II | Used on some PC Chips boards (like M559) | | I think that it's Utron UC85C501/502 | | Not tested ----------|----------------------|-------------------------------------------- UMC |*UM8881F+UM8886BF | Don't have any datasheets, tested and works ----------|----------------------|-------------------------------------------- Micron | Copperhead+Coppertail| Has no flash write protection. Untested ----------|----------------------|-------------------------------------------- Contaq/ | hyperCache | CY82C691+CY82C693(U/UB) Cypress | 386/486 with PCI | CY82C596/597+CY82C599 ----------|----------------------|-------------------------------------------- nVidia |*nForce | Tested and works |#nForce2 | nForce2 might not work ------------------------------------------------------------------------------ If your chipset is marked BXCel, VXPro, TXPro or something like that, it's a relabelled chipset (ALi, SiS or VIA) on a PC Chips board, with the exception of VXPro-II which is Utron. The version 1.16d+ includes support for AMI's Flash Interface. It allows you to flash even if you have an unknown chipset (new AMI WinBIOS is necessary to use this feature). Starting from version 1.24, you must force using this mode, if you want to use it by giving the -AMI parameter. This is neccessary because it often doesn't work and hangs, preventing users from making BIOS backup. UniFlash 1.39 and newer includes support for Asus Flash Interface. If you have an Asus board and UniFlash is unable to detect flash ROM or the flashing fails, try using -ASUS parameter. This uses code from BIOS to enable/disable flash ROM access. 2.1 Support for specific boards ------------------------------------------ These boards use non-standard write protection using general purpose outputs (GPOs) of the chipset. They're detected by reading the BIOS ID string from the top of 4GB. This means that the correct BIOS MUST be present in the socket when starting UniFlash or the flashing will not work. If the BIOS ID is not present at the top of 4GB, UniFlash tries to read it from F000 segment. This will not work if running in Bootblock BIOS. 6A69RM4E = MicroStar MSI MS-6337 v3.0 (815EP Pro) 6A69RM4L = MicroStar MSI MS-6337 v5.0 (815EPT Pro, MS-6337LE5) 6A6S6A1A = Abit KG7(-Lite/-RAID) 6A69KA19 = Abit BF6, BE6-II v1.0 and v1.1 6A69KA1B = Abit BE6-II v1.2 6A69KA1C = Abit BE6-II v2.0 and BX133-RAID 2A69KA1Q = Abit ZM6 2A69KA1U = Abit BE6 6A6LMA19 = Abit KT7(-RAID), KT7A(-RAID), KT7E 6A6LMA1A = Abit KT7A(-RAID) v1.3 A7V266 = Asus A7V266 A7V8X-X = Asus A7V8X-X These boards detected using DMI - by using board vendor, name and version: MSI MS-6380 2.0 = MicroStar MSI K7T266 Pro2(-RU) v2.0, MS-6380LE v2.0 MSI MS-6380E 1.0 = MicroStar MSI K7T266 Pro2-A, KT3 Ultra(-ARU), Ultra2(-R) 2.2 Tested PCI cards ------------------------------- * means tested and functional # means tested, but doesn't work Cards with no specific support in UniFlash: * Adaptec 19160/29160N (AIC-7892B chip) - Winbond W29EE512 * Adaptec 39160 # AdvanSys ASB-3940UA # ATI Rage Magnum AGP # Matrox Millennium PCI * SIIG SC-PE4612 IDE controller (HighPoint HPT366) - SST 39SF010 I need datasheets for the cards (chips) that do not work. Cards with specific support in UniFlash: 3Dfx Banshee Sundance Technology ST201 STMicroelectronics STE10/100(A) Winbond W89C840AF SMSC LAN83C175 EPIC/C VIA VT6102 VT6105M Rhine III Realtek RTL8129/30/39 RTL8139 series RTL8169 series ADMtek AL981 Comet AN983(B/BL) Centaur (B) AN985(B/BL) Centaur (B) ADM9511 Centaur II ADM9513 Centaur II Adaptec AIC-6915 3.0 What flash chips are supported by UniFlash ? ----------------------------------------------------------- UniFlash supports the following flash chips: * means tested and functional, # means tested, but doesn't work the way it should, unmarked chips are not tested (note that a lot of chips are very similar to one another though, so if one of them works then the rest should work fine too) ,----------------------------------------------------------------------------, | Flash ROM | Size | `---------------------------------|------------------------------------------' Alliance Semiconductor | ---------------------- | AS29F040 | 512KB AS29F002T | 256KB AS29F002B | 256KB AS29F200T | 256KB AS29F200B | 256KB AS29LV400T | 512KB AS29LV400B | 512KB AS29LV800T | 1024KB AS29LV800B | 1024KB ----------------------------------|------------------------------------------- AMD | --- | Am28F256 | 32KB Am28F256A | 32KB Am28F512 | 64KB Am28F512A | 64KB Am28F010 | 128KB Am28F010A | 128KB Am28F020 | 256KB Am28F020A | 256KB *Am29F010(A/B) | 128KB *Am29F040(B) | 512KB Am29F080(B) | 1024KB Am29F016(B) | 2048KB Am29F017B | 2048KB Am29F032B | 4096KB Am29F100T | 128KB Am29F100B | 128KB Am29F200AT/BT | 256KB Am29F200AB/BB | 256KB Am29F400AT/BT | 512KB Am29F400AB/BB | 512KB Am29F800(B)T | 1024KB Am29F800(B)B | 1024KB Am29F160DT | 2048KB Am29F160DB | 2048KB *Am29F002(N)(B)T | 256KB Am29F002(N)(B)B | 256KB Am29F004BT | 512KB Am29F004BB | 512KB Am29LV010B | 128KB Am29LV040B | 512KB Am29LV017B | 2048KB Am29LV033C | 4096KB Am29LV065D | 8192KB Am29LV081B | 1024KB Am29LV001BT | 128KB Am29LV001BB | 128KB Am29LV002(B)T | 256KB Am29LV002(B)B | 256KB Am29LV004(B)T | 512KB Am29LV004(B)B | 512KB Am29LV008(B)T | 1024KB Am29LV008(B)B | 1024KB Am29LV200(B)T | 256KB Am29LV200(B)B | 256KB Am29LV400(B)T | 512KB Am29LV400(B)B | 512KB Am29LV800BT | 1024KB Am29LV800BB | 1024KB Am29LV160BT/DT | 2048KB Am29LV160BB/DB | 2048KB Am29LV116BT | 2048KB Am29LV116BB | 2048KB Am29LV320DT | 4096KB Am29LV320DB | 4096KB Am29SL800CT | 1024KB Am29SL800CB | 1024KB Am29SL160CT | 2048KB Am29SL160CB | 2048KB Am29PL160CB | 2048KB ----------------------------------|------------------------------------------- AMIC | ---- | A29010 | 128KB A29040(A/B) | 512KB A29001(1)T | 128KB A29001(1)B | 128KB *A29002(1)T | 256KB A29002(1)B | 256KB A29400T | 512KB A29400B | 512KB A29800T | 1024KB A29800B | 1024KB A29L040 | 512KB A29L004T/400T | 512KB A29L004B/400B | 512KB A29L008T/800T | 1024KB A29L008B/800B | 1024KB A29L160T | 2048KB A29L160B | 2048KB ----------------------------------|------------------------------------------- ASD | --- | *AE29F1008 = Winbond W29EE011 | 128KB *AE29F2008 = Winbond W29C020(C) | 256KB *AE49F2008 = Winbond W49F002U | 256KB ----------------------------------|------------------------------------------- Atmel | ----- | AT29C256 or AT29C257 | 32KB AT29C512 | 64KB *AT29C010(A) | 128KB AT29C020(A) | 256KB AT29C040A | 512KB AT29LV256 | 32KB AT29LV512 | 64KB AT29xV010(A) series | 128KB AT29xV020 series | 256KB AT29xV040A series | 512KB AT49x512 series | 64KB AT49x001(A)(N)T series | 128KB AT49x001(A)(N) series | 128KB *AT49x002(A)(N)T series | 256KB AT49x002(A)(N) series | 256KB AT49x008AT series | 1024KB AT49x008(A) series | 1024KB AT49x010 series | 128KB AT49x020 series | 256KB AT49x040(A) series | 512KB AT49x080 series | 1024KB AT49x080T series | 1024KB AT49x2048(A) series | 256KB AT49x4096(A) series | 512KB AT49x8011T series | 1024KB AT49x8011 series | 1024KB AT49x160/161(4)T series | 2048KB AT49x160/161(4) series | 2048KB AT49BV320T/321T | 4096KB AT49BV320/321 | 4096KB AT49LH002 (LPC/FWH) | 256KB AT49LH004 (LPC/FWH) | 512KB AT49LH00B4 (LPC/FWH) | 512KB *AT49LW080 (Firmware Hub) | 1024KB ----------------------------------|------------------------------------------- Bright Microelectronics | ----------------------- | BM29F040 = Hyundai HY29F040 | 512KB BM29F400T = Hyundai HY29F400T | 512KB BM29F400B = Hyundai HY29F400B | 512KB ----------------------------------|------------------------------------------- Catalyst | -------- | CAT28F512 | 64KB *CAT28F010 | 128KB CAT28F015T | 192KB CAT28F015B | 192KB CAT28F020 | 256KB *CAT28F001T | 128KB *CAT28F001B | 128KB CAT28F002T | 256KB CAT28F002B | 256KB CAT28F150T | 192KB CAT28F150B | 192KB CAT29F(N)002T | 256KB CAT29F(N)002B | 256KB ----------------------------------|------------------------------------------- EON | --- | EN29F512 | 64KB EN29F010 | 128KB EN29F040(A) | 512KB EN29F080 | 1024KB *EN29F002(A)T | 256KB EN29F002(A)B | 256KB EN29F800T | 1024KB EN29F800B | 1024KB EN29LV512 | 64KB EN29LV010 | 128KB EN29LV040 | 512KB EN29LV400T | 512KB EN29LV400B | 512KB EN29LV800(A)T | 1024KB EN29LV800(A)B | 1024KB EN29LV160T | 2048KB EN29LV160B | 2048KB ----------------------------------|------------------------------------------- Fujitsu | ------- | MBM29F002TC | 256KB MBM29F002BC | 256KB MBM29F200TC | 256KB MBM29F200BC | 256KB MBM29F400TC | 512KB MBM29F400BC | 512KB MBM29F040C | 512KB MBM29F033C | 4096KB MBM29LV160TE | 2048KB MBM29LV160BE | 2048KB MBM29PL160TD | 2048KB MBM29PL160BD | 2048KB ----------------------------------|------------------------------------------- H.T. | ---- | *M21561 = Macronix MX28F1000P | 128KB *M21032T = Macronix MX28F1000P | 128KB *M20271H = Macronix MX28F1000P | 128KB ----------------------------------|------------------------------------------- Hyundai | ------- | HY29F040 | 512KB HY29F040A | 512KB HY29F080 | 1024KB HY29F002T | 256KB HY29F002B | 256KB HY29F400T | 512KB HY29F400B | 512KB HY29F800T | 1024KB HY29F800B | 1024KB HY29LV160T | 2048KB HY29LV160B | 2048KB ----------------------------------|------------------------------------------- IMT | --- | IM29F001T | 128KB IM29F001B | 128KB IM29F002T | 256KB IM29F002B | 256KB IM29F004T | 512KB IM29F004B | 512KB IM29LV001T | 128KB IM29LV001B | 128KB IM29LV004T | 512KB IM29LV004B | 512KB ----------------------------------|------------------------------------------- Intel | ----- | 28F256(A) | 32KB 28F512 | 64KB *28F010 | 128KB 28F020 | 256KB *28F001BX/BN-T | 128KB 28F001BX/BN-B | 128KB 28F002-T series | 256KB 28F002-B series | 256KB #28F004-T series | 512KB 28F004-B series | 512KB 28F008-T series | 1024KB 28F008-B series | 1024KB 28F008SA | 1024KB 28F004Sx series | 512KB 28F008Sx series | 1024KB 28F016Sx series | 2048KB 28F016S5 | 2048KB 28F004B3-T | 512KB 28F004B3-B | 512KB 28F008B3-T | 1024KB 28F008B3-B | 1024KB 28F016B3-T | 2048KB 28F016B3-B | 2048KB 28F320J5 | 4096KB 28F320J3A | 4096KB 28F640J5 | 8192KB 28F640J3A | 8192KB 28F128J3A | 16384KB *82802AB (Firmware Hub) | 512KB *82802AC (Firmware Hub) | 1024KB ----------------------------------|------------------------------------------- ISSI | ---- | IS28F010 | 128KB IS28F020 | 256KB ----------------------------------|------------------------------------------- Macronix | -------- | *MX28F1000 | 128KB *MX28F1000P | 128KB MX28F2000P | 256KB MX28F2000T | 256KB MX28F002T | 256KB MX28F002B | 256KB MX29F040 | 512KB MX29F080 | 1024KB MX29F016 | 2048KB *MX29F001T | 128KB *MX29F001B | 128KB *MX29F002(N)T | 256KB MX29F002(N)B | 256KB MX29F022T | 256KB MX29F022B | 256KB MX29F004T | 512KB MX29F004B | 512KB MX29F100T | 128KB MX29F100B | 128KB MX29F200T | 256KB MX29F200B | 256KB MX29F400T | 512KB MX29F400B | 512KB MX29F800T | 1024KB MX29F800B | 1024KB MX29F1610A | 2048KB MX29F1615 | 2048KB MX29LV040 | 512KB MX29LV081 | 128KB MX29LV004T | 512KB MX29LV004B | 512KB MX29LV008T | 1024KB MX29LV400T | 512KB MX29LV400B | 512KB MX29LV800T | 1024KB MX29LV800B | 1024KB MX29LV160T | 2048KB MX29LV160B | 2048KB MX29L1611 | 2048KB MX29L1611G | 2048KB MX29L3211 | 4096KB ----------------------------------|------------------------------------------- Megawin | ------- | MM29F040 = AMD Am29F040(B)/5V | 512KB ----------------------------------|------------------------------------------- Micron | ------ | MT28F004-T = Intel 28F004-T | 512KB MT28F004-B = Intel 28F004-B | 512KB MT28F400-T = Intel 28F400-T | 512KB MT28F400-B = Intel 28F400-B | 512KB MT28F008-T = Intel 28F008-T | 1024KB MT28F008-B = Intel 28F008-B | 1024KB MT28F800-T = Intel 28F800-T | 1024KB MT28F800-B = Intel 28F800-B | 1024KB ----------------------------------|------------------------------------------- Mosel Vitelic | ------------- | V29C51000T | 64KB V29C51000B | 64KB V29C51001T | 128KB V29C51001B | 128KB V29C51002T | 256KB V29C51002B | 256KB V29C51004T | 512KB V29C51004B | 512KB V29C51400T | 512KB V29C51400B | 512KB V29LC51000 | 64KB V29LC51001 | 128KB V29LC51002 | 256KB V29C31004T | 512KB V29C31004B | 512KB V29C31400T | 512KB ----------------------------------|------------------------------------------- NexFlash Technologies | --------------------- | NX29F010 = AMD Am29F010 | 128KB NX29F400B = AMD Am29F400B | 512KB ----------------------------------|------------------------------------------- PMC | --- | *Pm29F002T | 256KB Pm29F002B | 256KB Pm29F004T or Pm29LV104T | 512KB Pm29F004B or Pm29LV104B | 512KB Pm39F010 or 39LV010(R) | 128KB Pm39F020 | 256KB Pm39F040 | 512KB Pm39LV512(R) | 64KB Pm39LV020 | 256KB Pm39LV040 | 512KB Pm49FL002 | 256KB Pm49FL004 | 512KB Pm49FL008 | 1024KB ----------------------------------|------------------------------------------- SHARP | ----- | LHF00L02/6/7 (LPC) | 1024KB LHF00L03/4/5 (FWH) | 1024KB LHF00L01 (LPC) | 2048KB ----------------------------------|------------------------------------------- SST | --- | 28EE010/011 | 128KB 29EE512 | 64KB *29EE010 | 128KB *29EE020 | 256KB 28x040(A) series | 512KB 29x512 series | 64KB 29x010 series | 128KB 29x020 series | 256KB 29SF512 | 64KB 29SF010 | 128KB 29SF020 | 256KB 29SF040 | 512KB 29VF512 | 64KB 29VF010 | 128KB 29VF020 | 256KB 29VF040 | 512KB *49LF020 (LPC) | 256KB *49LF020A (LPC) | 256KB 49LF030(A) (LPC) | 384KB 49LF040 (LPC) | 512KB 49LF080(A) (LPC) | 1024KB *49LF002(A) (Firmware Hub) | 256KB 49LF003A (Firmware Hub) | 384KB 49LF004 (Firmware Hub) | 512KB 49LF004A/B (Firmware Hub) | 512KB 49LF008 (Firmware Hub) | 1024KB *49LF008A (Firmware Hub) | 1024KB 39SF512 | 64KB 39SF010(A) | 128KB *39SF020(A) | 256KB 39SF040 | 512KB 39xF512 series | 64KB 39xF010 series | 128KB *39xF020 series | 256KB 39xF040 series | 512KB 39xF080 series | 1024KB 39xF016 series | 2048KB ----------------------------------|------------------------------------------- STMicroelectronics | ------------------ | M28F256 | 32KB M28F512 | 64KB M28F101 | 128KB M28F201 | 256KB M28W201 | 256KB M29F512B | 64KB M29F010B | 128KB M29F040(B) | 512KB M29F080A | 1024KB M29F016B | 2048KB M29F002(B)(N)T | 256KB M29F002(B)B | 256KB M29F100(B)T | 128KB M29F100(B)B | 128KB M29F200(B)T | 256KB M29F200(B)B | 256KB M29F400(B)T | 512KB M29F400(B)B | 512KB M29F800AT | 1024KB M29F800AB | 1024KB M29F160BT | 2048KB M29F160BB | 2048KB M29W512B | 64KB M29W010B | 128KB M29W022BT | 256KB M29W022BB | 256KB M29W040(B) | 512KB M29W200BT | 256KB M29W200BB | 256KB M29W400(B)T | 512KB M29W400(B)B | 512KB M29W800(A)T | 1024KB M29W800(A)B | 1024KB M29W160BB/DB | 2048KB M29W004(B)T | 512KB M29W004(B)B | 512KB M29W008(A)T | 1024KB M29W008(A)B | 1024KB M50FW002 (FWH) | 256KB M50LPW002 (LPC) | 256KB *M50FW040 (FWH) | 512KB M50LPW040 (LPC) | 512KB M50FLW040A (LPC/FWH) | 512KB M50FLW040B (LPC/FWH) | 512KB *M50FW080 (FWH) | 1024KB M50LPW080 (LPC) | 1024KB M50FLW080A (LPC/FWH) | 1024KB M50FLW080B (LPC/FWH) | 1024KB M50FW016 (FWH) | 2048KB ----------------------------------|------------------------------------------- SyncMOS | ------- | F29C51001T = Mosel V29C51001T | 128KB F29C51001B = Mosel V29C51001B | 128KB #F29C51002T = Mosel V29C51002T | 256KB F29C51002B = Mosel V29C51002B | 256KB F29C51004T = Mosel V29C51004T | 512KB F29C51004B = Mosel V29C51004B | 512KB F29C31004T = Mosel V29C31004T | 512KB F29C31004B = Mosel V29C31004B | 512KB F29C31400T = Mosel V29C31400T | 512KB ----------------------------------|------------------------------------------- Texas Instruments | ----------------- | TMS29xF040 | 512KB TMS28F002A-T = Intel 28F002-T | 256KB TMS28F002A-B = Intel 28F002-B | 256KB TMS28F200A-T = Intel 28F200-T | 256KB TMS28F200A-B = Intel 28F200-B | 256KB TMS28F200BZT = Intel 28F200-T | 256KB TMS28F200BZB = Intel 28F200-B | 256KB TMS28F400A-T = Intel 28F400-T | 512KB TMS28F400A-B = Intel 28F400-B | 512KB TMS28F400BZT = Intel 28F400-T | 512KB TMS28F400BZB = Intel 28F400-B | 512KB TMS28F004A-T = Intel 28F004-T | 512KB TMS28F004A-B = Intel 28F004-B | 512KB TMS28F008A-T = Intel 28F008-T | 1024KB TMS28F008A-B = Intel 28F008-B | 1024KB TMS28F800A-T = Intel 28F800-T | 1024KB TMS28F800A-B = Intel 28F800-B | 1024KB TMS28F010A/B = Intel 28F010 | 128KB TMS28F020 = Intel 28F020 | 256KB TMS28F512A = Intel 28F512 | 64KB TMS29F002RT = AMD Am29F002T | 256KB TMS29F002RB = AMD Am29F002B | 256KB TMS29F008T = AMD Am29F800T | 1024KB TMS29F008B = AMD Am29F800B | 1024KB TMS29F010 = AMD Am29F010 | 128KB TMS29F040 = AMD Am29F040 | 512KB TMS29F400T = AMD Am29F400AT | 512KB TMS29F400B = AMD Am29F400AB | 512KB TMS29F800T = AMD Am29F800T | 1024KB TMS29F800B = AMD Am29F800B | 1024KB TMS29LF008T = AMD Am29LV008T | 1024KB TMS29LF008B = AMD Am29LV008B | 1024KB TMS29LF800T = AMD Am29LV800BT | 1024KB TMS29LF800B = AMD Am29LV800BB | 1024KB ----------------------------------|------------------------------------------- Winbond | ------- | *W29x010/011/012 series | 128KB *W29C020(C) | 256KB W29C040 | 512KB W29x512 series | 64KB W39F010 | 128KB W39L512 | 64KB W39L010 | 128KB W39L020 | 256KB W39L040 | 512KB W39L040A | 512KB W39V040A (LPC) | 512KB W39V040FA (Firmware Hub) | 512KB *W49F002U | 256KB W49F020 | 256KB W49V002(A) (LPC) | 256KB W49V002F(A) (Firmware Hub) | 256KB ------------------------------------------------------------------------------ 3.1 Flash ROM pinout and notes ----------------------------------------- Some 12V Flash ROMs require 12V voltage not only to flash, but also to detect. If you're trying to flash 12V chip, first check that you have 12V on the VPP pin in the socket on motherboard. Flash write protect jumper usually removes 12V from this pin. When some parts of the chip are write protected, 12V on VPP/#RESET pin will usually allow these protected parts to be flashed (unless the chip has N in the name - e.g. MX29F002NT - this means that RESET pin is not connected). Be sure that Flash ROM is inserted the correct way in the socket (key on the chip must match with key on the socket) BEFORE powering up (if you're hot-flashing, double check chip orientation before inserting it into socket). Inserting it wrong way will DESTROY the chip - VCC will be swapped with GND and if there's 12V on the VPP pin, it will be connected to Q3 data pin... Flash ROM pinout (32-pin DIP): _____KEY_____ VPP -| \_/ |- VCC VPP = Programming voltage (12V) A16 -| |- #WE VCC = Operating voltage (5V) A15 -| |- A17 GND = Ground A12 -| |- A14 A0..A17 = Address input pins A7 -| |- A13 Q0..Q7 = Data input/output pins A6 -| |- A8 #WE = Write enable A5 -| |- A9 #OE = Output enable A4 -| |- A11 #CE = Chip enable A3 -| |- #OE (# means active low signal) A2 -| |- A10 A1 -| |- #CE Notes: A0 -| |- Q7 - some chips have #RESET instead of VPP Q0 -| |- Q6 - this is 256KB chip Q1 -| |- Q5 - 512KB chips have A18 instead of VPP Q2 -| |- Q4 - 128KB chips have NC instead of A17 GND -|_____________|- Q3 - 64KB chips have NC instead of A17 & A16 4.0 Help! I don't understand the sources !!! ------------------------------------------------------- If you have problems understanding something mail me (address at the end). Have a look also on the ADDCHIP.FAQ file. It explains how to add new chips plus some details. 5.0 ADVANCED submenu ------------------------------- There's ADVANCED submenu in UniFlash, which contains possibly dangerous functions. Since v1.33, flashing is done including bootblock by default. This is less dangerous that flashing a new BIOS and leaving incompatible bootblock from previous BIOS there. And more, the bootblock is not exactly defined anywhere - some BIOSes might use bigger bootblock than other, which can cause problems. 5.1 Making an emergency disk --------------------------------------- It is always nice to have an emergency disk handy in case something goes wrong. You see, most flash BIOS's incorporate something called a 'boot block' and UNIFLASH will not normally overwrite it so it remains intact. The boot block contains just enough code to boot up your computer with basic peripheral support to enable you to flash in a working BIOS in case something went wrong. To make an emergency disk one would do the following: -make a DOS (or Win95/Win98, NOT ANY OTHER) system disk using "format a: /S" -copy uniflash to that disk -copy a working bios image (preferably a backup that was made while the system was still a-ok) to the disk -make an AUTOEXEC.BAT containing: @UNIFLASH -E NOTE: Whatever you do, do *NOT* load HIMEM.SYS. The boot block lacks support routines that HIMEM.SYS requires, resulting in very nice crashes. And I know from experience ... !! In general, keep the boot disk as clean as possible, remove drvspace.bin and dblspace.bin. Make sure UNIFLASH and the BIOS image are on the disk as the boot block only supports the floppy drive, you won't be able to access any harddrive !! When you boot from this emergency disk the working BIOS image will automatically (without any intervention by you) be flashed into the flash ROM by UNIFLASH. This is very convenient as the boot block has no support for PCI or AGP video cards, so you won't be able to SEE anything in the process unless you replace your PCI videocard with an old ISA one (hint!). If you have motherboard with i815(E) chipset and you're using onboard video, it will probably not work in boot block mode (because graphics BIOS is stored in main Flash ROM chip) - try to put an AGP card in (there are no ISA slots). UNIFLASH will give you some audible feedback, though: first short beep: UNIFLASH invoked, reading BIOS image second short beep: done reading BIOS image, starting to flash chime sound: done flashing, reset your system long continuous beep: some error occured, press any key to retry operation 5.2 Command-line parameters -------------------------------------- UNIFLASH [-H|-?|[-PCIROM [B D F]|-AMI|-ASUS|-BASE xxxxx|CTFLASH [xxx]] [-E fname][-SAVE fname|-CHIPLIST|-FORCE xxxx][-REPAIR][-LOG][-MONO] [-CMOSS fname][-CMOSR fname][-CMOSC]][-UNLOCK][-QUIT][-REBOOT] -H or -? Shows this help screen -E fname Flashes fname to Flash ROM with no prompts -LOG Enables auto-logging to UNIFLASH.LOG -MONO Use if you have problems with colors on monochrome monitor -CTFLASH Flash ROM in c't Flasher 8-bit ISA card [xxx=port] -PCIROM Flash ROM on a PCI card instead of system ROM [BUS DEV FUN] Manually specify PCI device (decimal numbers) -AMI, -ASUS Use AMI Flash Interface, Use Asus Flash Interface -CHIPLIST Show list of supported flash chips with their numbers -FORCE xxxx Force using routines for chip xxxx (4 hex digits) -BASE xxxxx Set ROM Base to address xxxxx (at least 5 hex digits) -REPAIR Repair erased chip ID (Winbond and SST chips) -SAVE fname Write current bios image to file fname -CMOSS/R fname Save/restore CMOS settings to/from file fname -CMOSC Clears CMOS settings -UNLOCK Unlock locked bootblocks (e.g. on W29C020) -QUIT Quits (e.g. UNIFLASH -SAVE BACKUP.BIN -QUIT) -REBOOT Reboot after flashing (use together with -E) Parameters are executed in the same order as they are entered on the command line - so you can use e.g. "uniflash -cmoss cmos.bak -cmosc" to save CMOS settings to file called cmos.bak and then clear the CMOS. Some parameters can't be used together - e.g. -AMI can't be used with -PCIROM. -E: Flashes BIOS image from file fname including bootblock without any user input -LOG: Enables logging of all important events into file UNIFLASH.LOG. Use this when you are sending bug reports and attach this file. -CTFLASH: Selects ROM on c't Flasher 8-bit ISA card. This card supports Flash ROMs up to 512KB. Port is autodetected or can be specified manually as optional parameter (hex 200-3FC). -PCIROM: Selects ROM on a PCI device instead of system ROM. Works only with some cards. You can optionally specify the device you want to use. (e.g. -PCIROM 0 3 1 = BUS 0, DEVICE 3, FUNCTION 1) -AMI: Uses interface supported by some AMI BIOSes instead of detecting the chipset and writing to chipset registers to disable write protection. (I haven't seen this working anywhere yet...) -ASUS: Uses interface supported by newer Asus BIOSes. This one really works (tested on A7V133-C, A7V266 and A7V8X-X) -CHIPLIST: Displays a list of supported chips with their IDs which are needed for use with -FORCE parameter. -FORCE: Disable Flash ROM autodetection and set chip type to the one specified by following ID (4 hex digits) - see -CHIPLIST parameter. -BASE: Set ROM base address manually and allow running without PCI bus. Useful for memory-mapped flash programming cards with old systems. -REPAIR: ID on some Winbond and SST chips can be changed which can cause the chip not being recognized by any software (including BIOS - AMI BIOS does not work in that chip, Award BIOS displays Unknown Flash Type). This option can change the ID on these chips. Because UniFlash does not know the correct ID, you must specify it using -FORCE parameter. -SAVE: Save current BIOS to file fname. -CMOSS: Save current CMOS settings to file fname. CMOS memory size is detected automatically. -CMOSR: Restore CMOS settings from file fname. CMOS memory size is detected automatically. -CMOSC: Clear CMOS memory. -UNLOCK: Bootblock lock can be disabled on some chips (tested on W29C020) by using this parameter. 6.0 How to support UniFlash? --------------------------------------- If you want to help me in adding support for new chips, in testing the whole thing or bugfixing, mail me, I'll put your name in credits at the end. I want your opinions & experiences to make flashing BIOS an easy and safe operation, where you doesn't need tons of flashers (if you multiply the number of chipsets by the number of Flash ROM memories available, you'll understand better what we're talking about). 7.0 Credits --------------------------------------- Ondrej Zary (Rainbow Software) - Continues to develop this program after the authors (below) stopped the development. Done all that is new after v1.17b. Added tons of Flash ROMs and chipsets, fixed a lot of bugs, got datasheets from ALi. Pascal van Leeuwen - Made first design, chipset handling routines, a primitive write function for SST, WINBOND and INTEL, added flat real mode, etc... Improved SST & Winbond routines, made AMD routines work, added Atmel support, added lots & lots of flash chips (of which most are currently untested ...) Added reliability improvements (backup of old BIOS, verify after write) Tested both Winbond & SST chips, became an expert at hot-flashing ;-) Galkowski Adam - Initiated the UniFlash project, made modular structure, made the current design, added functions handling DMI, PnP and bootblock, added expert mode, made the previous crappy AMD support, wrote this doc, tested SST routines, had multiple rendez-vous with "Award BootBlock BIOS", advertised, etc... 8.0 How to contact me -------------------------------- You can contact me (Rainbow Software) by: web : http://www.uniflash.org - UniFlash ONLY web : http://www.rainbow-software.org (new versions should be at all the addresses above) e-mail : rainbow@rainbow-software.org When sending reports that something doesn't work, always send the log file! 9.0 Revision history ------------------------------- 1.40 -changed license to GNU GPL v2 1.39 -added -UNLOCK parameter to unlock bootblocks on some chips (like Winbond W29C020) -added logging to LPC detection -added Winbond W83627(H)F, SF/GF, THF and W83637HF and also ITE IT8702F, IT8711F, IT8712F and IT8722F detection (these don't have flash ROM interface but they have GPIO pins) -simplified LPC detection and access code -added BIOS ID reading from F000 segment if not found at top of 4GB -added specific support for Asus A7V266 and A7V8X-X (they use Super I/O GPO pins) and Abit ZM6, BE6 (same as BX133-RAID) -added Winbond W39V040A (LPC) and W39L040A chips -added support for Asus flash interface! (-ASUS parameter) - with this, it should be possible to flash all newer Asus boards -added support for SMBIOS/DMI board identification (needed for specific support for boards with non-Award BIOSes) -added specific support for MSI MS-6380 2.0 and MS-6380E 1.0 -added new Intel chipsets: E7210, E7221, E7320, E7520, E7525, E8870, mobile 910/915 series -added VIA VT8237 south bridge and UniChrome KM400(A) chipset -was never released 1.38 -fixed quitting on some boards immediately after running -fixed unprotect for ST FWH and LPC chips (one F is missing from the (un)protect register adresses) -fixed unprotect for ST 50FLW080A and B -added BIOS IDs of Abit BF6, all BE6-II variants, all KT7 variants and MSI MS-6337 v5.x -BIOS ID is now shown in lower right corner when detected & needed -updated SST LPC chip names, so they're marked "(LPC)" -fixed problems with some W49F002U chips by removing a piece of unknown code from AMD flashing routine 1.37 -removed STMicroelectronics M28F102 (is 16-bit) -added STMicroelectronics M50FW016 (FWH), M50FLW040A (LPC/FWH), M50FLW040B (LPC/FWH), M50FLW080A (LPC/FWH), M50FLW080B (LPC/FWH), M28W201 chips -added AMIC A29800T, A29800B, A29L004T/400T, A29L004B/400B, A29L008T/800T, A29L008B/800B, A29L160T, A29L160B, A29L040 chips -added IMT IM29LV001T, IM29LV001B chips -added EON EN29F512, EN29F010, EN29LV512, EN29LV010, EN29LV040, EN29LV400T, EN29LV400B, EN29LV800(A)T, EN29LV800(A)B, EN29LV160T, EN29LV160B -added SST 49LF020A chip -added SHARP LHF00L02/6/7 (LPC), LHF00L03/4/5 (FWH) and LHF00L01 (LPC) chips -added Intel 915G/P/925X chipsets with new ICH6 -added OPTi Viper M/N/NK/N+/DP, changed Vendetta 82C750 to Viper Max/Vendetta 82C750 and fixed a bug in OPTi chipset support -added VIA 486 chipsets with VT82C505 PCI bridge 1.36 -c't Flasher can now be used on systems without PCI bus -fixed a bug causing -save and -e parameters to not work correctly when used together -added AMD 8000 chipset detection -fixed 256B CMOS size detection on chipsets that provide access to full CMOS range using 72/73h registers -added AMD Geode SC1100 and SC1200/2200/3200 support and Cx5510 and Cx5520 device IDs 1.35 -fixed i82378ZB vs. i82379AB identify -fixed a bug causing hangs with Winbond LPC Super I/O chips -added SiS 964 south bridge detection 1.34 -fixed a bug causing arithmetic overflow with chips with many sectors (such as SST 49LF008A FWH) -fixed problems with c't Flasher and 5V chips smaller than 512KB that use pin 1 as #RESET -added some new PMC chips: Pm39F010, Pm39F020, Pm39F040, Pm39LV020, Pm39LV040 -fixed problems with logging on a write protected drive -added support for non-standard BIOS write protection methods by detecting BIOS ID string and matching the board in the list of known boards -added alternative method of supporting 256KB chips on M1533/M1543 south bridges - through GPO[19] (used e.g. on Acer V72MA board) (although it does not seem to work...) -added Intel 865P(E)/G(V)/848P chipsets -added some Atmel chips: AT49x2048(A) series, AT49LH002, AT49LH004, AT49LH00B4 and AT49LW080 1.33 -fixed reboot when running on QDI Titanium IB+ board -no more flashing when file size is not correct -added support for Winbond LPC Super I/O chips W83697(H)F, W83697SF and W83697UF -fixed problems with bootblock erasing on Atmel AT49x001(N)(T) and AT49x002(N)(T) chips (bootblock can't be erased separately -> chip erase must be used) -english-only - other languages are not compiled in the binary release because the translations are outdated -flash including bootblock by default, flashing without bootblock is available from the advanced menu -Restore backup CMOS data in CMOS menu now works 1.32 -added support for c't flasher 8-bit ISA card, autodetecting port and memory base, supports Flash ROMs up to 512KB -register contents in LOG file are now written as hex numbers 1.31 -added support for ALi Aladdin, the ALi's first Pentium chipset (uses low E and F segments, disabling shadow during read access) -if the south bridge is not found, the first device with no class code is assumed to be south bridge (for old chipsets) -fixed one line more cleared when changing drives in file browser -modified chipset detection and identifying code to allow easier implementation of support for new chipsets -fixed error when opening files with read-only attribute set -modified i8xx chipset code to support FWHs up to 4MB (32Mbit) -added SiS 648, 651, 655, 733, 745, 746, 748, 755 chipsets -added i845E, i845G(E/L/V)/845PE, i845MP/MZ, i852GM/855GM, i855PM, i875P, E7205, E7501, E7505 chipsets -added VIA Apollo KT333, KT400(A), Apollo Pro 266T, P4X400 -added ALi Aladdin 7, Aladdin Pro III (TNT2), CyberBLADE Aladdin i1, Aladdin Pro 5(T/M), Aladdin-P4, CyberAladdin-P4 -modified multi-language code to save some memory by initializing only the selected language (also reduced EXE file size) -moved PCI card support into separate unit (PCICARDS.PAS) and added specific support for these PCI network cards: STMicroelectronics STE10/100(A), Winbond W89C840AF, SMSC LAN83C175 EPIC/C, VIA VT6102, VT6105M Rhine III Realtek RTL8129/30/39, RTL8139 series, RTL8169 series ADMtek AL981 Comet, AN983,985(B/BL) Centaur (B), ADM9511,9513 Centaur II, Adaptec AIC-6915 -added support for PMC Pm49FL002/004/008 FWHs/LPCs 1.30 -added timeouts to all program/erase routines so there should never be any lockups, even if Flash ROM does not respond -fixed incorrect ROM Base when no Flash ROM detected -fixed (forced) displayed when chip was forced and then redetected -graph color during flashing now represents the write status - green means write OK, red means write failed (timeout/error) -fixed GenPageProg and AtmelPageProg to avoid extra retries for chips that do not support error bit - it slowed down flashing and reduced chip life (nice to see how fast W29EE011 really is) -added support for i82801DB ICH4 -added a question when flashing without bootblock and there's bootblock mismatch allowing user to flash including bootblock (to prevent users from killing the BIOS because of not reading this manual...) -removed PnP (ESCD) manipulation (DMI was removed some time ago), it was very dangerous (no checks if there really is ESCD data - easy way to kill the BIOS) and useless -fixed a bug in -BASE parameter (thanks to Krystian Rozycki) -fixed bug in protect/unprotect code for all FWHs that prevented flashing from working -added nVidia nForce support 1.29 -added some Winbond Flash ROMs: W39L512, W39F010, W39L010, W39L020, W39L040, W39V040FA (FWH) and W49F020 -found old Catalyst datasheets - fixed CAT28F150T, added CAT28F015T and CAT28F015B -better PCI ROM flashing, added 3Dfx Banshee support -added Micron Copperhead+Coppertail chipset detection (has no flash write protection) -added Contaq/Cypress hyperCache chipset (CY82C691+CY82C693(U/UB)) and 386/486 chipsets with PCI (CY82C599 required) -changed i82378ZB SIO and i82379AB SIO.A detection (it has no class code - now detected by vendor and device ID if 82434LX/NX present) -fixed CMOS size detection detecting falsely 256b on some boards -modified code to allow easier implementation of various flash access methods (external progammers, PCI cards...) -rewrote ALi FinALi support using these new methods (it was a lot easier now) -some cosmetic fixes (misaligned error messages, some german texts) -fixed flashing on PC Chips M715 board (i440LX) with Award BootBlock BIOS (GPO used for write protection) -added VIA VT8235 south bridge support -added STMicroelectronics M50LPW040, M50FW002 and M50LPW002 chips -added unprotect for STMicroelectronics LPC and FWH chips -found a way to unprotect Flash ROM on Abit BX133-RAID (GPO used), might work on other Abit i440BX based boards too BUT: Flashing failed with Winbond W49F002U - some cache problems? 1.28 -fixed -SAVE paramter (it was completely broken) -display Chipset and Flash ROM when only -QUIT parameter specified -fixed bug causing reset of ITE LPC Super I/Os (resulting in floppy and COM&LPT ports not working until reboot) -fixed Macronix chip detection -fixed Atmel AT29Cxxx detection (again, it really works now) -fixed Atmel programming routine (chip remained unprotected) -fixed some SiS chipset support -fixed Utron 128KB support (again) -fixed showing SUCCESS when bootblock mismatch and user answered NO -fixed the detection routine erased vendor and device IDs from some Winbond and SST chips (detected properly once but then unknown, BIOS displayed "Unknown Flash Type" message) -added repair feature to repair the erased IDs (-repair parameter) -added support for ALi FinALi 486 chipset -enable/disable menu items after redetect with/without Flash ROM -verify now shows unchanged areas -removed $4B and $D5 IDs for Macronix MX28F1000P (they were there because of the detection bug which is now fixed) -added logging for north bridge methods -added support for UMC UM8881F+UM8886BF chipset (no datasheets, reverse engineering used) -fixed hang when running under Award BootBlock BIOS with uninitialized or absent graphics card -added user friendly filename editing, default file names when saving a file and file browser when opening a file (press ENTER on the prompt, TAB to change drive) -added I/O error checking for all file operations -added -REBOOT patameter to reboot after flashing using -E -added -BASE parameter to set ROM base address manually and allow UniFlash to run without PCI bus 1.27 -added -MONO parameter for monochrome monitors -enhanced -PCIROM functionality, you can now manually specify a device by its BUS, DEVICE and FUNCTION numbers (decimal) -fixed HiNT VXPro-II (Utron UC85C501/502) 128KB Flash ROMs -added some VIA chipsets: ProSavage KM133(A), P4M266, P4X266(A)/333 -added real VIA VT8233 support -fixed hang when EMM386.EXE is loaded (display error message now) -success chime sound also in emergency mode -fixed Atmel AT29Cxxx detection -added ITE IT8700F/8705F and IT8710 LPC Super I/O detection with SiS 540 and SiS 630 chipsets and all newer -added some SiS chipsets : SiS 635, SiS 640, SiS 645, SiS 645DX, SiS 650, SiS 730, SiS 735 and SiS 740 - I have no datasheets, but SiS 735 is tested and works -clear keyboard buffer before asking for file names and also on exit -fixed memory de-allocation bug when HIMEM.SYS is loaded 1.26 -added Intel E7500 chipset with 82801CA (ICH3-S) I/O Controller Hub -added some ALi chipsets: Aladdin III (M1521 and M1523(B)) and Aladdin IV/IV+ (M1531(B)) -ALi FINALi 486 chipset (M1489) is not supported because it doesn't map Flash ROM below 4GB -added AMD 760MPX chipset with AMD-768 South Bridge -added OPTi Vendetta 82C750 chipset (removed the old disabled code) -added HiNT VXPro-II chipset (I think that it's Utron UC85C501/502, because this one matches it and has programmable Mfg.&Device IDs) -added -QUIT parameter - quits when processed, all comands after will be ignored (useful use: "UNIFLASH -SAVE BACKUP.BIN -QUIT") -added German language support (by Gerald Bottcher) -PCI-to-ISA posted write buffer is disabled on ALi chipsets during flashing to fix problems with some Flash ROMs (e.g. EON) -added unprotect for SST49LF002A/003A/004A/008A FWHs 1.25 -fixed crash in Windows on some machines - display error message (thanks to Alejando Pelaez) -pressing ESC in -chiplist will quit -CMOS size in log -added -CMOSS (Save CMOS), -CMOSR (Restore CMOS) and -CMOSC (Clear CMOS) options (they work also in Windows) -added support for 256b CMOS -fixed CMOS support to save/restore/clear also bytes 15 and 16 -added ServerWorks ServerSet III LE and HE chipsets with Reliance NB6536 & NB6635 North Bridges (without any info from ServerWorks) -added National Semiconductor PicoPower Vesuvius-LS chipset -added National Semiconductor Geode GX1 CPU with North Bridge (Cyrix MediaGX) and CS5530(A) South Bridge (Cyrix CX5530(A)) 1.24 -added support for some ALi chipsets: Aladdin Pro IV and ALiMAGiK 1 -fixed 256KB and 512KB support for ALi chipsets -added VIA Apollo VP3 with VT82C596 South Bridge -implemented Redetect Flash ROM function -AMI Flash Interface is no longer automatically enabled to prevent hangs. You must use "-ami" parameter to activate it. -added two more IDs for Macronix MX28F1000P - $4B and $D5 -simplified detection routine - removed support for multiple Flash ROMs and removed all 16-bit wide ROMs, cleaned up the code -pressing Q in -chiplist will quit (like MORE.COM) -fixed Macronix MX29F002(N)T slow erase bug -added Reliance/ServerWorks OSB4 South Bridge 1.23 -added Italian language support (by Enrico Antongiovanni) -added timeout to GenPageProgB and GenPageProgW (to prevent hangs with boot block protection enabled on Winbond Flash ROMs) -added auto-logging feature (-LOG parameter) -added support for Intel 830MP and 845 chipsets -new keyboard handler doesn't use BIOS - this allows UniFlash to work correctly under Award BootBlock BIOS (tested) -added simple help on the bottom of screen in menu -added new program/erase routines for Winbond Sectored Flash ROMs (may fix Winbond W29F002U?) -tried to fix but still not fixed SiS 501/5101/5501 support -some VIA reverse engineering (reserved registers seems to be used) but new VIA/AMD chipsets still not working (if you have "Flash Write Protect" option in BIOS, your chipset will work when you disable it) 1.22 -added error messages: running under Windows, PCI bus not found -fixed Flash ROM write protect enable/disable - fixed possible chipset register corruption -added new delay routine based on Time Stamp Counter (TSC), it's used on all CPUs that supports TSC (Pentium+), old CPUs use the old routine. This fixed all problems with slow performance on fast computers -modified waiting times for Page Write Flash ROMs (most of Atmel, SST and Winbond Flash ROMs) to prevent lock-ups -fixed i430MX South Bridge detection (thanks to Josh Little but he paid hard for that - his notebook doesn't work anymore because Intel 28F004-T support doesn't work) -fixed a _VERY_ NASTY BUG in Bulk Erase/Need Blanking chip support this one was there probably from the beginning of UniFlash and actually caused the same byte to be flashed to entire chip... This fixed almost all Bulk Erase/Need Blanking chips. -Nils Emil P. Larsen tested these Bulk Erase/Need Blanking chips, they're working CAT28F010, MX28F1000P, Intel 28F010 and also H.T. M21561 (which is actually MX28F1000P) -added support for Intel 860 chipset (Xeon) and ALi Aladdin V -added support for 1MB Flash ROMs with VIA VT82C596(A|B) and VT82C686(A) South Bridges -doesn't exit when no Flash ROM detected in PCI Option ROM mode -chiplist now pauses after each screen (no need for external more program) but not when stdout is redirected -fixed memory corruption when using -chiplist (thanks to Marusceac Claudiu Florin) -beep after successful flashing -heavy menu modifications, removed expert and debug modes - they're not needed anymore, add Home,PgUp/End,PgDown keys -removed BIOS info (I haven't seen it working anywhere) -added some Intel chips: 28F008-T series and 28F008-B series -added STMicroelectronics Flash ROMs: M28F256, M28F512, M28F101, M28F102, M28F201, M29F512B, M29F010B, M29F040(B), M29F080A, M29F016B, M29F002(B)(N)T, M29F002(B)B, M29F100(B)T, M29F100(B)B, M29F200(B)T, M29F200(B)B, M29F400(B)T, M29F400(B)B, M29F800AT, M29F800AB, M29F160BT, M29F160BB, M29W512B, M29W010B, M29W022BT, M29W022BB, M29W040(B), M29W200BT, M29W200BB, M29W400(B)T, M29W400(B)B, M29W800(A)T, M29W800(A)B, M29W160BB/DB, M29W004(B)T, M29W004(B)B, M29W008(A)T, M29W008(A)B, M50FW040 (FWH), M50FW080 (FWH) and M50LPW080 (LPC) -added Texas Instruments Flash ROMs: TMS28F210, TMS29xF040 and info about the others into docs -added Fujitsu Flash ROMs: MBM29F002TC, MBM29F002BC, MBM29F200TC, MBM29F200BC, MBM29F400TC, MBM29F400BC, MBM29F040C, MBM29F033C, MBM29LV160TE, MBM29LV160BE, MBM29PL160TD and MBM29PL160BD -modified Mosel support for SyncMOS chips F29C31004B and F29C31400T -fixed a bit PCI Option ROM enabling (for AGP cards), but flashing still does not work (looks like writes to ROM are ignored - like write protection, the Flash ROM is not responding to commands) -simplified the detection routine (note: new one is still not done) 1.21 -added support for SiS chipsets: 85C496+497, 85C501/5101/5501, 5511, 5571,5591/5592, 5596, 5597/5598/5581/5120, 530, 540, 600, 620 and 630 (all untested). It's unbelievable, but they are using 5 (!) different methods to enable Flash ROM write and what's more, all their south bridges have the same device ID - $0008 (SiS 540 and 630 can have either $0008 or $0018). -added support for SMSC VictoryBX-66 chipset -added support for Winbond/Symphony Labs W83C553F South Bridge -added support for ITE South Bridges IT8871F/2F and IT8888F -fixed Flash ROM detection - Device IDs can have even parity -changed sector structure array - can now hold more sectors (upto 5*65535), 128b to 8MB each (see addchip.faq) -added support for Alliance Semiconductor Flash ROMs: AS29F040, AS29F002T, AS29F002B, AS29LV400T, AS29LV400B, AS29F200T, AS29F200B, AS29LV800T and AS29LV800B -added some AMD Flash ROMs: Am29LV001BT, Am29LV001BB, Am29LV010B, Am29F004BT, Am29F004BB, Am29LV040B, Am29LV081B, Am29LV008(B)T, Am29LV008(B)B, Am29LV800BT, Am29LV800BB, Am29SL800CT, Am29SL800CB, Am29F016(B), Am29F017B, Am29LV017B, Am29LV116BT, Am29LV116BB, Am29F160DT, Am29F160DB, Am29LV160BT/DT, Am29LV160BB/DB, Am29SL160CT, Am29SL160CB, Am29PL160CB, Am29F032B, Am29LV033C, Am29LV320DT, Am29LV320DB, Am29LV065D -added some Atmel Flash ROMs: AT29LV512, AT49x512, AT49x010, AT49x001(N)T, AT49x001(N), AT49x002(N)T, AT49x002(N), AT49x2048(A), AT49x4096(A), AT49x008AT, AT49x8192(A)T, AT49x8192(A), AT49x8011T, AT49x8011, AT49x160/161(4)T, AT49x160/161(4), AT49BV320T/321T, AT49BV320/321 -added some Catalyst Flash ROMs: CAT28F010, CAT28F020, CAT28F102, CAT28F512 -added EON Flash ROMs: EN29F040, EN29F080, EN29F800T, EN29F800B, EN29F002T, EN29F002B -added Hyundai Flash ROMs: HY29F002T, HY29F002B, HY29F040, HY29F040A, HY29F080, HY29F400T, HY29F400B, HY29F800T, HY29F800B, HY29LV160T, HY29LV160B -added IMT Flash ROMs: IM29F001T, IM29F001B, IM29F002T, IM29F002B, IM29F004T, IM29F004B, IM29LV004T, IM29LV004B -added some Intel chips: 28F256A, 28F512, 28F004Sx, 28F008Sx, 28F008SA, 28F016Sx, 28F016S5/SA, 28F320J3A, 28F320J5, 28F640J3A, 28F640J5, 28F128J3A -added ISSI (Integrated Silicon Solution) Flash ROMs: IS28F010 and IS28F020 -removed Macronix MX28F1000PC and MX28F1000PPC (not existing) -added some Macronix chips: MX28F2000P, MX28F2000T, MX29F100T, MX29F100B, MX28F002T, MX28F002B, MX29F001T, MX29F001B, MX29F002(N)T, MX29F002(N)B, MX29F022T, MX29F022B, MX29F200T, MX29F200B, MX29F004T, MX29F004B, MX29F400T, MX29F400B, MX29LV004T, MX29LV004B, MX29LV400T, MX29LV400B, MX29F040, MX29LV040, MX29F080, MX29LV081, MX29F800T, MX29F800B, MX29LV008T, MX29LV800T, MX29LV800B, MX29F016, MX29L1611, MX29L1611G, MX29F1610A, MX29LV160T, MX29LV160B, MX29F1615, MX29L3211 -added Mosel Vitelic Flash ROMs: V29C51000T, V29C51000B, V29C51001T, V29C51001B, V29C51002T, V29C51002B, V29C51004T, V29C51004B, V29C51400T, V29C51400B, V29C31004T, V29C31004B, V29LC51000, V29LC51001, V29LC51002 -added PMC Flash ROMs: Pm39LV512R, Pm39LV010R, Pm29F002T, Pm29F002B, Pm29F004T/5V or Pm29LV104T, Pm29F004B or Pm29LV104B -added some SST Flash ROMs: 29SF512, 29VF512, 29SF010, 29VF010, 29SF020, 29VF020, 29SF040, 29VF040, 39SF512, 39xF512, 39S010(A), 39xF010, 39SF020(A), 39xF020, 39SF040, 39xF040, 39xF080, 39xF016, 39xF200A, 39xF400A, 39xF800A, 39xF160, 49LF002(A), 49LF003A, 49LF004, 49LF004A, 49LF008, 49LF008A, 49LF020, 49LF030, 49LF040, 49LF080 -added some Winbond Flash ROMs: W29C040, W49F002U, W49V002(A), W49V002F(A), W29F102 or W49F102, W49L102, W49F201, W49L201 -some code size optimizations 1.20 -added support for these AMIC chips: A29001(1)T, A29001(1)B, A29010, A29002(1)T, A29002(1)B, A29400T, A29400B and A29040 They're all sectored and use AMD commands. (For Matt Choudoir's broken ABIT KT7A with AMIC A29002T) A29002(1)T tested and works correctly, others are untested. -added support for newer VIA chipsets (all untested) Apollo MVP4, Apollo Pro, Apollo Pro Plus/133/133A, Apollo ProMedia, Apollo Pro 133Z/PM133, Apollo KX133, Apollo KT133(A), Apollo KT266, Apollo Pro 266. North Bridges: VT8501, VT82C691/693(A)/694X, VT82C693(A), VT8601, VT8605, VT8371, VT8363(A), VT8366, VT8633 South Bridges: VT82C686(A), VT8231, VT8233 (last two may or may not work because I don't have datasheets). Plus some north bridges that aren't used anywhere (but are in VIA's INF file) - VT8653, VT8662, VT8615, VT8361, VT3133. -added support for AMD 750, 760 and 760MP chipsets (751,761 and 762 north bridges, 756 and 766 south bridges). Registers are almost same as VIA. Untested. 1.19 -added support for Intel 8xx chipsets (Hub Architecture): i810, 810E, 810E2, 815, 815E(P), 815EM, 820, 820E, 840, 850 with these I/O controller hubs: 82801AA(ICH), 82801AB(ICH0), 82801BA(ICH2), 82801BAM(ICH2-M) (they're all not tested) -fixed ALi chipset detection -M1543 now support 512KB ROMs, but only some revisions of this chip can really support them (and according to ALi, there is no software way to detect that) 1.18 -I (Rainbow Software) am continuing the development of this program after it was abandoned for two years -added support for i440BX/ZX and i440GX chipsets -added support for ALi M1543 south bridge and ALi M1621 north bridge (ALi Aladdin Pro II chipset) -added some info about ASD chips into this DOC -added support for Intel 82802AB(4Mb)/AC(8Mb)Firmware Hubs -added support for Atmel AT49F002(N)T chip 1.17b -fixed a bug in the -FORCE option, should work now -still having trouble correctly detecting flash chips, we can use all the input we can get on which chips are and aren't correctly identified by UNIFLASH ! 1.17 -pre-1.20 release because of some important fixes, still working on some things we promised for 1.20, though -fixed flashing problems with Macronix & AMD chips -Integrated English & French version into one executable to avoid having to keep 2 versions synchronized -Cleaned up chipset detection -known bugs: chip detection still not 100% accurate (we're working on it, this will be fixed in v1.20) 1.16d -Added AMI Flash Interface support -Added the "Additional BIOS Info" option -Added the Macronix MXIC 28F1000PPC/12V chip (not officially released by Adam's request) 1.16c -Made the detection routine more accurate 1.16b -Removed some (debugging?) code that messed up detection 1.16 -Fixed a stupid bug in the chip detection part, which made it impossible to identify Atmel chips, for example. -Tried to add TI chips and after long hours of work and of downloading datasheets figured out that TI chips are just "remarked" AMD & Intel chips (the same Mfg & Id numbers), so TI chips will be recognised as AMD or Intel ones. -Made the source code clearer. Wrote a FAQ explaining how to add your own chips. -Added the Intel 28F010/12V and 28F020/12V chips -Translation of the whole thing to french. The english 1.16 version equals french 1.00FRENCH version 1.15 -Fixed problems with AMD flash chips -Added VIA 82C570 chipset support -Tested Intel 28F001BX-T/28F001BN-T support TO DO before final release of V1.15: fix extended memory detection, does not work ok on a friends' system ... 1.14 -Added Macronix support -Added SST 28EE011 flash chip -Added AMD Am28F010, Am28F010A, Am28F020, Am28F020A, Am28F256 Am28F256A, Am28F512 and Am28F512A flash chips -Removed valid PCI ROM check so it is possible to flash a ROM on a PCI card that does not (yet) contain a valid ROM -Added some safety stuff: -cache disabled during flashing (having the cache enabled seems to be a problem with some Cyrix chips (or chip/chipset combo's ?)) -interrupts now fully disabled during actual communication with the flash chip for increased reliability -added multiple flash chips/single ROM image support (experimental) 1.13 -Added Catalyst support -Added OPTi chipset support (for 82C750 'Vendetta') -Added Intel 28F400/28F004 flash chips -Completely rewrote PCI option ROM support (still experimental) 1.12 -Fixed problem ID-ing Intel chips (oops) -Made first attempt at supporting PCI option ROMS (experimental) 1.11 -Added Atmel support 1.1 -Fixed memory allocation bug with sectored (Intel,AMD) flash ROM chips -Added VIA chipset support 1.0 -First public release 9.1 KNOWN BUGS ------------------------- - Intel 28F004-T doesn't work - PCI Option ROM Flashing (-pcirom parameter) doesn't work on many cards - 256KB BIOSes don't work on some i430VX/HX boards (AWDFLASH works!) - Some VIA and AMD chipsets don't work - maybe because of non-standard flash write protection on some boards. - Garbage on screen instead of flashing - on Asus P5A board with Aladdin V and 256K Flash ROM, but it works OK on Micronics C200 (same chipset and 128K Flash ROM). On PC Partner VIB8x4DS board with VIA Apollo VPX, UniFlash flashes the SyncMOS F29C51002T chip OK but then hangs with garbage on screen. This problem appears to be associated with SyncMOS Flash ROMs only. - Many Abit boards do not work - looks like undocumented write protection 9.2 What's missing ----------------------------- - Support for ServerWorks, UMC, new VIA and new SiS chipsets because datasheets are unavailable (these companies are simply ignoring e-mails) I can't do much with only "unofficial" info. - Support for some exotic Flash ROMs like Intel 82802AA 2mbit Firmware Hub or Bright BM29FS040 (no datasheets available) 10.0 Compatibility tests ---------------------------------- Here is a list of tested & working motherboards/Flash ROM chip combinations. Manufacturer | Model + revision | Chipset | Flash ROM chip used ------------------------------------------------------------------------------ ASUSTeK | T2P4 rev 2 & 3.10 | Intel 430HX | SST 29EE010/5V Expertboard | 8661 | Intel 430VX | Winbond W29EE011/5V Soyo | 5TA2 | Intel 430FX | SST 29EE010/5V Shuttle | Hot-569 | Intel 430TX | Atmel AT29C010A/5V Shuttle | Hot-565 | Intel 430TX | Winbond W29EE011/5V Shuttle | Hot-603 | AMD 640 | Winbond W29EE011/5V ASUSTeK | P2B rev 1.10 | Intel 440BX | Winbond W29EE011/5V PC Chips | M726 v3.4A | Aladdin Pro 2 | ASD AE29F1008/5V Abit | BX6 rev. 2 | Intel 440BX | AMIC A29002T/5V MicroStar MSI | MS-5120 ver 1 | Intel 430FX | Winbond W29EE011/5V Abit | BE6-R2 | Intel 440BX | Winbond W29C020/5V DFI | P2-XLX | Intel 440LX | Winbond W29EE011/5V FIC | PT-2006 | Intel 430VX | Intel 28F001/12V PC Chips | M726 v3.4A | Aladdin Pro 2 | Winbond W29C020/5V Abit | BX6-R2 | Intel 440BX | Winbond W29EE011/5V Abit | BX6-R2 | Intel 440BX | Winbond W29C020(C)/5V Abit | BX6-R2 | Intel 440BX | SST 29EE010/5V Abit | BX6-R2 | Intel 440BX | CAT28F010/12V Abit | BX6-R2 | Intel 440BX | Macronix MX28F1000P/12V Abit | BX6-R2 | Intel 440BX | Intel 28F010/12V AOpen | AP5C/P | Intel 430FX | SST29EE010/5V Gigabyte | GA586SG | SiS 5591+5595 | Atmel AT29C010A/5V Chaintech | 5IFM0 | Intel 430HX | Macronix MX29F001B/5V ASUSTeK | P2B rev 1.10 | Intel 440BX | Atmel AT49F002T/5V Micronics | C200 | Aladdin V | SST 29EE010/5V MicroStar MSI | MS-5120 ver 1 | Intel 430FX | SST 29EE010/5V MicroStar MSI | MS-5120 ver 1 | Intel 430FX | Macronix MX28F1000P/12V MicroStar MSI | MS-5120 ver 1 | Intel 430FX | H.T. M21032T/12V PC Chips | M726 v3.4A | Aladdin Pro 2 | Macronix MX29F002(N)T/5V PC Chips | M726 v3.4A | Aladdin Pro 2 | EON EN29F002NT/5V Mercury/Kobian| KOB 694X FSX r1.0 | Apollo Pro 133A| SST 39VF020/3V (PLCC32) QDI | LegendX | Intel 440LX | Winbond W29C020(C)/5V PC Chips | M741LMRT | SiS 620+5595 | SST 29EE010/5V PC Partner | VIB8x4DS | Apollo VPX | SyncMOS F29C51002T/5V Soyo | 5EMA+ v1.1 | Apollo MVP3 | Macronix MX29F001T/5V LuckyStar | K7VAT+ | Apollo KT133 | Winbond W29EE011/5V LuckyStar | K7VAT+ | Apollo KT133 | Winbond W29C020(C)/5V LuckyStar | K7VAT+ | Apollo KT133 | SST 39SF020(A)/5V Chaintech | 7AIA5 | Apollo KT133A | Winbond W49F002U/5V PC Chips | M571 | SiS 5598 | Winbond W29EE011/5V PC Partner | P5VB3+ Rev. B | Apollo MVP3 | AMD Am29F010A/5V Mercury/Kobian| KOB 630E FSFx r1.1 | SiS630+IT8705F | EON EN29F002T/5V ECS | K7S5A | SiS735+IT8705F | Winbond W49F002U/5V PowerTech | MB532 v1.0 | Intel 430FX | SST 29EE010/5V Matsonic | MS6260S rev.1.6A | Aladdin V | ASD AE29F1008/5V PC Partner | TXB820DS | Intel 430TX | Atmel AT29C010A/5V PC Chips | M570 v1.3 | SiS 5591+5595 | Atmel AT29C010A/5V Gemlight/DTK | GMB-P57IPS-V1 | Intel 430TX | Winbond W29EE011/5V PC Chips | M918 V1.2A | FinALi 486 | H.T. M21032T/12V PC Chips | M918 V1.2A | FinALi 486 | Macronix MX28F1000P/12V PC Chips | M918 V1.2A | FinALi 486 | Winbond W29EE011/5V PC Chips | M918 V1.2A | FinALi 486 | Atmel AT29C010A/5V GVC/BCM | FR500 | SiS 5598 | AMD Am29F002(N)(B)T/5V Asus | A7V266-E | Apollo KT266A | SST 49LF020/3V PC Chips | M537DMA | Apollo VPX | H.T. M20271H/12V QDI | BrillianX 1 | Intel 440BX | SST 29EE020/5V ECS(?) | TD-4IP-UMC-AIO | UM8881F+8886BF | Winbond W29EE011/5V PC Chips | M919 V3.4B/F | UM8881F+8886BF | Macronix MX28F1000P/12V PC Chips | M919 V3.4B/F | UM8881F+8886BF | Winbond W29EE011/5V PC Chips | M715 V1.2A | Intel 440LX | ASD AE29F1008/5V Zida | 4DPS | SiS 85C496+497 | SST 29EE010/5V PC Chips | M571LMR v5.0 | SiS 5598 | Macronix MX29F001T/5V Iwill | P55A2 v1.0 | Intel 430FX | Intel 28F001BX/BN-T/12V Asus | P2B-F | Intel 440BX | Winbond W29C020(C)/5V QDI | WinneX 2 P6I810/W2 | Intel 810 | Intel 82802AB/3.3V Asus | P5A Rev 1.04 | ALi Aladdin V | SST 39SF020(A)/5V AOpen | AP43 | SiS 85C496+497 | SST 29EE010/5V FIC | PT-2006 v2.2 | Intel 430VX | Winbond W29C020(C)/5V FIC | PT-2006 v2.2 | Intel 430VX | H.T. M38705/12V MicroStar MSI | MS-5120 ver 1 | Intel 430FX | Macronix MX28F1000/12V PC Chips | Unknown Socket 4 | ALi Aladdin | ASD AE29F1008/5V PC Chips | Unknown Socket 4 | ALi Aladdin | Macronix MX28F1000/12V c't Flasher | 8-bit ISA card | | AMD Am29F040B/5V c't Flasher | 8-bit ISA card | | Catalyst CAT28F010/12V c't Flasher | 8-bit ISA card | | Intel 28F001BX/BN-T/12V QDI | Titanium IB+ 1.0 | Intel 430TX | SST 29EE010/5V QDI | KinetiZ 7B 1.0 | Apollo KT133 | SST 39SF020(A)/5V QDI | Advance 3 1.0 | Apollo MVP3 | SST 29EE020/5V QDI | BrillianX 9 2.0 | Intel 440BX | Winbond W29C020(C)/5V PC Chips | M598MR v1.3B | SiS 530 | Macronix MX29F002(N)T/5V Abit | BX133-RAID | Intel 440BX | PMC Pm29F002T/5V QDI | Advance 5/133 1.0 | Apollo Pro 133 | Winbond W29C020(C)/5V c't Flasher | 8-bit ISA card | | AMIC A29002T/5V c't Flasher | 8-bit ISA card | | AMIC A290021T/5V c't Flasher | 8-bit ISA card | | AMIC A29002T/5V c't Flasher | 8-bit ISA card | | ASD AE49F2008/5V MicroStar MSI | MS-6337 v3.0 | Intel 815EP | SST 49LF002(A)/3.3V Procomp | BVK2A=BioStar M7VKB| Apollo KT133(A)| AMIC A29002(1)T/5V LiPPERT | Thunderbird | Intel 8255GME | Intel 82802AC/3.3V LiPPERT | Thunderbird | Intel 8255GME | SST 49LF008A/3.3V LiPPERT | Thunderbird | Intel 8255GME | Atmel AT49LW080/3.3V Gigabyte | GA-6WMMC7-1 | Intel 810 | Intel 82802AB/3.3V AOpen | AP5CS | SiS 5501 | Intel 28F010/12V LuckyStar | 6VBX2 rev 1.1 | Apollo Pro | Winbond W29EE011/5V Abit | KG7-Lite | AMD761+686B | PMC Pm29F002T/5V LuckyStar | 5MVP3 rev 4.0+ | Apollo MVP3 | Winbond W29C011/5V c't Flasher | 8-bit ISA card | | SST 39VF020/3V (PLCC32) Gemlight/DTK | GMB-P6BIAK-V1 RB | Intel 440BX | Winbond W29C020/5V ASRock | K7S8XE+ r1.03 | SiS748+W83697HF| Winbond W49F002U/5V ECS | K7VTA3 rev. 1 | VIA KT266A | Winbond W49F002U/5V Mercury | KOB P4X266NFSX v1.0| VIA P4X266 | Winbond W49F002U/5V c't Flasher | 8-bit ISA card | | SST 29EE010/5V A-Trend | ATC-1545 | OPTi Viper M | SST 29EE010/5V c't Flasher | 8-bit ISA card | | Macronix MX29F001T/5V Abit | PT5 rev 2.11 | Intel 430FX | Macronix MX28F1000P/12V Asus | A7V133 rev 1.05 | Apollo KT133A | EON EN29F002NT/5V Asus | TXP4 rev 1.02 | Intel 430TX | Intel 28F001BX/BN-T/12V Asus | TXP4 rev 1.02 | Intel 430TX | Macronix MX28F1000P/12V Gigabyte | GA-586ATV rev 1A | Intel 430VX | SST 29EE010/5V Gigabyte | GA-7DPXDW-P | AMD 760MPX | SST 49LF020A/3V Abit | BF6 | Intel 440BX | Winbond W29C020C/5V Microstar MSI | MS-6337LE5 | Intel 815EP | SST 49LF002(A)/3.3V ECS | K7VZA rev 3.0 | Apollo KT133A | Winbond W49F002U/5V Microstar MSI | MS-6153VA v2.1 | Apollo Pro 133 | Winbond W29C020C/5V Abit | KT7-RAID v1.02 | Apollo KT133 | Winbond W49F002U/5V Abit | KT7A v1.0 | Apollo KT133A | PMC Pm29F002T/5V QDI | LegenX V | Intel 440LX | SST 29EE020/5V DTK | PRM0080I VBX RG | Apollo Pro Plus| Winbond W29C020C/5V ECS | K7S6A rev 1.0 | SiS745+IT8705F | EON EN29F002T/5V Asus | A7V266 rev.1.07. | Apollo KT266 | SST 49LF020/3V DFI | CS62-TC rev.B | Intel 815EP | SST 49LF002A/3.3V Asus | A7V8X-X | Apollo KT400A | SST 49LF020/3V Abit | ZM6 | Intel 440ZX | Winbond W29C020(C)/5V Asus [-ASUS]| A7V133-C rev.1.05. | Apollo KT133A | Winbond W49F002U/5V Gigabyte | GA-586VX rev 3.33 | Intel 430VX | SST 29EE010/5V Shuttle | AV11 v3.0 | Apollo Pro 133 | Winbond W29C020(C)/5V AOpen | MX36LE | Apollo ProMedia| SST 39SF020(A)/5V PCPartner | K333ASA-270 | Apollo KT333 | Winbond W49F002U/5V MicroStar MSI | MS-6340 ver.1 | Apollo KT133 | Winbond W49F002U/5V MicroStar MSI | K7T266 Pro2 v2.0 | Apollo KT266 | Winbond W49F002U/5V MicroStar MSI | KT3 Ultra 2-R v1.0 | Apollo KT333 | Winbond W49F002U/5V Asus | TUV4X | Apollo Pro 133T| SST 39SF020(A)/5V TrangBow | TB-6BX | Intel 440BX | Atmel AT29C010(A)/5V Abit | BE6 | Intel 440BX | Winbond W29C020(C)/5V Abit | VA-20 | VIA KM400A | EON EN29F002(A)T/5V Note: [-ASUS] means that Asus flash interface (-ASUS parameter) must be used UniFlash does NOT work on boards made by Intel. They use custom BIOS write protection and have soldered Flash ROM chips (often in TSOP package) - so there's nothing to hot-flash. They have recovery mode (activated by jumper) in case something goes wrong with the BIOS. 11.0 Beta testing stuff ---------------------------------- We would like to extend our thanx to the following people who've been very helpful with beta testing this program. NOTE: YOU can be on this list too! All you have to do is send information on a system where UNIFLASH doesn't work and help with getting it to work on that system. Please help us in making UNIFLASH the universal and reliable tool we had in mind when we started this project. Thanx in advance! The heroes gallery (random order) --------------------------------- Enrico Antongiovanni Wim Bervoets Michael L. Croswell Polyvios Simopoulos Matthias David Siebler Matt Choudoir Nils Emil P. Larsen (really big thanks) Josh Little Tom Wiener Dennis Schulz (BIG thanks - provided 5 chips and wanted only one of them back!) Miha Ovcak Alejando Pelaez RusH David Russell Highlander Kuzvesov Spec Ernst Ahlers (c't Flasher author) Alfred Glass, Alex Student, Jurgen Stauffer at LiPPERT Automationstechnik GmbH Marc E. Marek Palka Peter Krauss Richard Guinness 12.0 Biz support --------------------------- We would like to thank the following people at the various flash ROM and chipset manufacturers for their support (in random order): Scotts Chen at Macronix International Co., Ltd. Darlene Browne at Acer Laboratories, Inc., (USA), Administrator Niel Smith, Application Engineering Manager, ALI USA Henry Ho at Macronix International Co., Ltd. Michael Solinas at Silicon Storage Technology, Inc. (SST), USA Phillip Chang at Megawin Technology Co., Ltd. Christopher Emerson and David Chu at Cypress Semiconductor Corp. Thanks goes to Intel - all datasheets are freely available on their web page upon release of new hardware. Guess why are Intel chipset the most compatible. The companies in the list below should take this as an example of developer support. I would like NOT to THANK TO following COMPANIES for providing NO SUPPORT for independent developers and NOT REPLYING TO E-MAILS: Silicon Integrated Systems (SiS) United Microelectronics Corporation (UMC) ServerWorks NVIDIA Corporation I finally got some real e-mail from VIA, but only bad news: "At this time, datasheets are only available to manufacturers under non disclosure agreement who have a genuine application they are developing. This policy is currently under review but at this time I cannot provide the datasheets to you." ============================== END OF DOCUMENT ===============================