Path: asustek.asus.com.tw!not-for-mail
From: jerry@asustek.asus.com.tw (Jerry Lee)
Newsgroups: alt.comp.periphs.mainboard.asus
Subject: Note on flashing ASUS PNP BIOS
Date: 12 Jul 1995 21:48:56 +0800
Organization: ASUSTeK Computer Inc.
Lines: 56
Keywords: PNP BIOS, FLASH ROM


Some people have question about what is the right way to flash the PNP
BIOS.  I would like to describle briefly that how ASUS PNP BIOS use the
FLASH EPROM and hopefully can answer that question.

The FLASH EPROM of ASUS PNP BIOS has three areas:

1. 8K Boot Block at offset 1E000h-1FFFFh that is hardware-protected.

   When JP5 1&2 is shorted, Boot Block is always protected even if power
   fails during programming.  When the system powers up, Boot Block gets
   control first. It will check if Main BIOS area, which is compressed,
   is OK. If Main BIOS checksum fails, it will boot directly from Floppy.
   You may then use PFLASH.EXE to flash the Main BIOS.

   Since Boot Block only contains 8K code, It only supports minimum
   functions needed to boot MS-DOS. Please keep you boot floppy 
   onfiguration as simple as possible. For example, don't run any memory
   manager or device driver that is not needed for booting.  Some PCI VGAs
   card might not work correctly under this condition. In this case you
   may need to remove the VGA card and flash the BIOS without the screen
   display or use ISA VGA if you have one.

2. 4K ESCD (Extended System Configuration Data) at offset 1D000h-1DFFFh.

   This area is used as NVRAM for PNP BIOS & PNP OS. Intel's ICU also
   uses ESCD to store information for PNP ISA cards and legacy ISA cards.
   It must be writeable at runtime.

3. Main BIOS Block at offset 00000h-1BFFFFh.

   This area is compressed. It will be decompressed by Boot Block if
   checksum is OK.  Most of the time, You only need to update this area.
   Occasionally Boot Block may also be revised. Part of code in Boot Block 
   and Main BIOS are overlapped. They must be the same. Otherwise you
   may encounter system hang when warm boot.
 
   It's suggested that you keep JP5 1&2 shorted and use PFLASH.EXE V1.1
   to update the Main BIOS. If Boot Block has been changed, PFLASH will
   warn you. Then you change JP5 to 2&3 and program the whole PFLAH EPROM.

Most Chipsets, including Intel 430FX chipset, can write-protect BIOS area.  Only BIOS
knows how to enable and disable this feature.  Only in very short period
of time such as flashing BIOS or writing ESCD, BIOS will enable the
writing to the BIOS area. Otherwise the write to BIOS area is prohibited
by chipset and no program can modify BIOS. So you don't need to worry that
virus or application will destroy BIOS accidentally.

Some FLASH EPROMs might be corrupted because of hardware failure such
as bad components or electric static discharge.  But the chance should
be very small.  We are also very interested to know these kind of report
and to see where we can improve.

Jerry Lee
jerry@asustek.asus.com.tw
ASUSTeK Computer Inc.
