Upgrading the BIOS


In this section, you learn how ROM BIOS upgrades can improve a system in many ways. You also learn why upgrades can be difficult and can require much more than plugging in a generic set of ROM chips.

The ROM BIOS provides the crude brains that get your computer's components working together. A simple BIOS upgrade can often give your computer better performance and more features.

The BIOS is the reason various operating systems can operate on virtually any PC-compatible system despite hardware differences. Because the drivers in the BIOS communicate with the hardware, the BIOS must be specific to the hardware and match it completely. As discussed earlier, instead of creating their own BIOS, many computer makers buy a BIOS from specialists such as American Megatrends, Inc. (AMI) or Phoenix Technologies Ltd. A motherboard manufacturer that wants to license a BIOS must tailor the BIOS code to the hardware. This is what makes upgrading a BIOS somewhat problematic; the BIOS usually resides on ROM chips on the motherboard and is specific to that motherboard model or revision. In other words, you must get your BIOS upgrades from your motherboard manufacturer or from a BIOS upgrade company that supports the motherboard you have, rather than directly from the BIOS developer.

Often, in older systems, you must upgrade the BIOS to take advantage of some other upgrade. To install some of the larger and faster ATA hard drives and LS-120 (120MB) floppy drives in older machines, for example, you might need a BIOS upgrade. Some of the machines you have might be equipped with older BIOSs that do not support hard drives larger than 8GB, for example.

The following list shows some of the primary functions of a ROM BIOS upgrade; the exact features and benefits of a particular BIOS upgrade depend on your system:

  • Added support for newer-type and faster-speed processors

  • Support for bootable ATAPI CD-ROM drives (called the El Torito specification)

  • Support for bootable LS-120 (120MB) SuperDisk floppy or Iomega Zip drive support

  • Support for bootable USB drives

  • Fast POST for decreasing boot times

  • Support for Ultra-DMA/100 or Ultra-DMA/133 ATA drives

  • Support for ATA hard drives greater than 8.4GB or 137GB (48-bit LBA)

  • Support for Serial ATA (SATA) drives

  • Support for a preboot environment and recovery software in the host protected area (HPA)

  • Plug and Play (PnP) support and compatibility

  • Correction of calendar-related and leap-year bugs

  • Correction of known bugs or compatibility problems with certain hardware and application or operating system software

  • Support for ACPI power management

  • Support for temperature monitoring and fan speed monitoring and control

  • Support for legacy USB devices (keyboards and mice)

  • Support for chassis intrusion detection

Part of the PC 2001 standard published by Intel and Microsoft requires something called Fast POST to be supported. Fast POST means that the time it takes from turning on the power until the system starts booting from disk must be 12 seconds or less (for systems not using SCSI as the primary storage connection). This time limit includes the initialization of the keyboard, video card, and ATA bus. For systems containing adapters with onboard ROMs, an additional 4 seconds are allowed per ROM. Intel calls the Fast POST feature Rapid BIOS Boot (RBB), and it is supported in all its motherboards from 2001 and beyondsome of which can begin booting from power-on in as little as 6 seconds or less.

If you install newer hardware or software and follow all the instructions properly, but you can't get it to work, specific problems might exist with the BIOS that an upgrade can fix. This is especially true for newer operating systems. Many systems need to have a BIOS update to properly work with the Plug and Play features of Windows 9x, Me, XP, and 2000. Because these problems are random and vary from board to board, it pays to periodically check the board manufacturer's website to see whether any updates are posted and what problems they fix. Because new hardware and software that are not compatible with your system could cause it to fail, I recommend you check the BIOS upgrades available for your system before you install new hardware or software, particularly processors.

You can use the BIOS Wizard utility available from eSupport.com (formerly Unicore) to test your BIOS for compatibility with popular BIOS features, such as Zip/LS-120 booting, ACPI power management, PCI IRQ routing, and more. Download it from www.esupport.com/techsupport/award/awardutils.htm.

Where to Get Your BIOS Update

For most BIOS upgrades, you must contact the motherboard manufacturer by phone or download the upgrade from its website. The BIOS manufacturers do not offer BIOS upgrades because the BIOS in your motherboard did not actually come from them. In other words, although you think you have a Phoenix, AMI, or Award BIOS, you really don't! Instead, you have a custom version of one of these BIOS, which was licensed by your motherboard manufacturer and uniquely customized for its board. As such, you must get any BIOSs upgrades from the motherboard or system manufacturer because they must be customized for your board or system as well. As noted numerous times earlier in this chapter, a company called eSupport (formerly Unicore) specializes in providing Award BIOS upgrades. The company might be able to help you if you can't find your motherboard manufacturer or if it is out of business.

Determining Your BIOS Version

When seeking a BIOS upgrade for a particular motherboard (or system), you need to know the following information:

  • The make and model of the motherboard (or system)

  • The version of the existing BIOS

You usually can identify the BIOS you have by watching the screen when the system is first powered up. It helps to turn on the monitor first because some take a few seconds to warm up and the BIOS information is often displayed for only a few seconds.

Note

Many newer PCs now do not display the typical POST screen. Instead, many show a logo for the motherboard or PC manufacturer, which is usually referred to as a splash screen. To enter BIOS Setup, you must press a key or keys (specific to the BIOS manufacturer). See the section "Running or Accessing the CMOS Setup Program," later in this chapter, for more information. You might hear some in the industry refer to displaying a manufacturer's logo instead of the default POST screen as a quiet boot. Often you can change these BIOS splash screens to your own liking, even including your own company logo or graphic of choice. Intel has free software at developer.intel.com/design/motherbd/gen_indx.htm that enables you to change or restore the splash screen on Intel motherboards.


Tip

Look for any copyright notices or part number information. Sometimes you can press the Pause key on the keyboard to freeze the POST, allowing you to take your time to write down the information. Pressing any other key then causes the POST to resume.


In addition, you often can find the BIOS ID information in the BIOS Setup screens. eSupport also offers a downloadable BIOS Agent that can be used to determine this information, as well as the motherboard chipset and Super I/O chip used by your motherboard. After you have this information, you should be able to contact the motherboard manufacturer to see whether a new BIOS is available for your system. If you go to the website, check to see whether a version exists that is newer than the one you have. If so, you can download it and install it in your system.

Most BIOS display version information onscreen when the system is first powered up. In some cases, the monitor takes too long to warm up, and you might miss this information because it is displayed for only a few seconds. Try turning on your monitor first, and then your system, which makes this information easier to see. You usually can press the Pause key on the keyboard when the BIOS ID information is being displayed, which freezes it so you can record the information. Pressing any other key allows the system startup to resume.

Checking the BIOS Date

One method of determining the relative age and capabilities of your motherboard ROM is to check the date. The BIOS date is stored in virtually all PCs as an 8-byte text string at memory address FFFF5h. The date generally indicates when the BIOS code was last updated or compiled by the motherboard manufacturer. Knowing the date of a particular BIOS might give you some clue as to which features might or might not be present. You can use the DEBUG command-line utility supplied with Windows and DOS to view these addresses. DEBUG is a command-line program that presents a - prompt of its own, to which you can enter various commands. For example, the ? command displays help information. To find the BIOS date, open a command-prompt window (or boot to a DOS floppy) and execute the DEBUG command. Then at the DEBUG - prompt, enter D FFFF:5 L 8, which instructs DEBUG to display memory at FFFF5 for a length of 8 bytes. DEBUG then displays both the hexadecimal and ASCII codes found at those addresses. When the - prompt returns, you can enter Q to quit DEBUG and return to the command prompt. Figure 5.6 shows how this looked when I ran it on my system.

Figure 5.6. Using DEBUG to display the motherboard ROM BIOS date.


In this example, the system shows a motherboard ROM BIOS date of 03/22/05.

Backing Up Your BIOS

One often-overlooked benefit of an EPROM programmer is that you can use it to essentially back up your ROMs in case they are later damaged. Many hardware vendors do not sell preprogrammed ROM chips for their systems, and the only way to repair an older motherboard or card with a damaged ROM is to burn a new copy from a backup. The backup can be in the form of another EPROM or flash ROM chip with the original program burned in or even in the form of a disk file. I keep files containing images of the ROMs in each of my motherboards and expansion cards in case I have to burn a new copy to repair one of my systems. A file-based backup of your ROMs can also prove interesting for snooping around because you can look for the copyright and other strings, disassemble the code to see how it works, and otherwise check it out.

To create a disk-file copy of your motherboard ROM BIOS, you can place the ROM in an EPROM programmer and use the function provided by the device to read the EPROM into a disk file, or you can use the DOS DEBUG program to read your ROM BIOS from memory and transfer it to disk as a file. Because most ROMs are soldered in, removal is difficult at best, so the DEBUG routine is much easier.

The ROM code in a PC normally consumes 128KB of RAM in two 64KB segments, E0000EFFFF and F0000FFFFF. Video and other auxiliary BIOS routines normally reside in C0000CFFFF and D0000DFFFF. Because of the nature of DEBUG, each 64KB segment must be saved separately.

To use DEBUG to save segments E000 and F000 in this manner, follow these instructions:

C:\>DEBUG                  ;Run DEBUG -R BX                         ;Change BX register (high-order file size) BX 0000                       ;  from 0 :1                            ;  to 1 (indicates 64K file) -N SEG-E.ROM                  ;Name the file -M E000:0 FFFF CS:0           ;Move 64K of BIOS data to current code segment -W 0                          ;Write file from offset 0 in code segment Writing 10000 bytes           ;  10000h = 64K -N SEG-F.ROM                  ;Name the file -M F000:0 FFFF CS:0           ;Move 64K of BIOS data to current code segment -W 0                          ;Write file from offset 0 in code segment Writing 10000 bytes           ;  10000h = 64K -Q                            ;Quit DEBUG 


Figure 5.7 shows how this will look when entered in a Windows XP command-prompt window.

Figure 5.7. Using DEBUG to save E0000EFFFF and F0000FFFFF as files.


These instructions effectively save the 64K segment ranges E0000EFFFF and F0000FFFFF as files by first setting up the size of the file to be saved, then setting up the name of the file, and then moving (essentially, copying) the ROM BIOS code to the current code segment when DEBUG was loaded. The data then can be written to the disk.

If you want to save the segments including the video BIOS and other possible adapter card ROMs in your system, repeat the previous procedure but use C000:0 and D000:0 as the starting addresses in the DEBUG commands. Be sure to use different file names as well. Note that the video BIOS might not use all of the C0000 segment; also, you might not have any other adapters using ROM in the remainder of the C0000 and D0000 segments, in which case Windows can sometimes use this area for other code.

One important quirk of this procedure is that the commands should be entered in the relative order indicated here. In particular, the Name command must precede the Move command; otherwise, some of the data at the beginning of the current code-segment area will be trashed.

Backing Up Your BIOS's CMOS Settings

A motherboard BIOS upgrade usually wipes out the BIOS Setup settings in the CMOS RAM. Therefore, you should record these settings, especially the important ones such as hard disk parameters. Some software programs, such as the Norton Utilities, can save and restore CMOS settings, but unfortunately, these types of programs are often useless in a BIOS upgrade situation. This is because sometimes the new BIOS offers new settings or changes the positions of the stored data in the CMOS RAM, which means you don't want to do an exact restore. Also, with the variety of BIOS available, I have yet to find a CMOS RAM backup and restore program that works on more than just a few specific systems.

You are better off manually recording your BIOS Setup parameters, or possibly connecting a printer to your system and using the Shift+Prtsc (Print Screen) function to print each of the setup screens. Turn on your printer, start your computer normally, and restart it without turning off the system to initialize the printer to try this option. Some shareware programs could print or even save and restore the BIOS Setup settings stored in the CMOS RAM, but these were BIOS version specific and would not work on any other system. Most of these programs were useful during the 286/386 era, but most systems released sinceespecially those with Plug and Play capabilitieshave rendered most of these older programs useless.

Tip

If you are unable to print your screens, use a digital camera to take a picture of each BIOS setup screen. Be sure to set the camera to its close-up mode, and use the LCD display rather than the optical viewfinder to ensure you get the entire screen in the photo.


Keyboard Controller Chips

In addition to the main system ROM, older AT-class (286 and later) computers also have a keyboard controller or keyboard ROM, which is a keyboard-controller microprocessor with its own built-in ROM. This often is found in the Super I/O or South Bridge chips on most newer boards. The keyboard controller was originally an Intel 8042 microcontroller, which incorporates a microprocessor, RAM, ROM, and I/O ports. This was a 40-pin chip that often had a copyright notice identifying the BIOS code programmed into the chip. Modern motherboards have this function integrated into the chipset, specifically the Super I/O or South Bridge chips, so you won't see the old 8042 chip anymore.

The keyboard controller controls the reset and A20 lines and also deciphers the keyboard scan codes. The A20 line is used in extended memory and other protected-mode operations. In many systems, one of the unused ports is used to select the CPU clock speed. Because of the tie-in with the keyboard controller and protected-mode operation, many problems with keyboard controllers became evident on these older systems when upgrading from DOS to Windows 95/98, NT, or 2000.

Problems with the keyboard controller were solved in most systems in the early 1990s, so you shouldn't have to deal with this issue in systems newer than that. With older systems, when you upgraded the BIOS in the system, the BIOS vendor often included a new keyboard controller.


Using a Flash BIOS

Virtually all PCs built since 1996 include a flash ROM to store the BIOS. A flash ROM is a type of EEPROM chip you can erase and reprogram directly in the system without special equipment. Older EPROMs required a special ultraviolet light source and an EPROM programmer device to erase and reprogram them, whereas flash ROMs can be erased and rewritten without even removing them from the system. On many recent systems, the flash ROM is not a separate chip but might be incorporated into the South Bridge chip.

Using flash ROM enables you to download ROM upgrades from a website or receive them on disk; you then can load the upgrade into the flash ROM chip on the motherboard without removing and replacing the chip. Normally, these upgrades are downloaded from the manufacturer's website, and then an included utility is used to create a bootable floppy with the new BIOS image and update program. It is important to run this procedure from a boot floppy so that no other software or drivers are in the way that might interfere with the update. This method saves time and money for both the system manufacturer and end user.

Sometimes the flash ROM in a system is write-protected, and you must disable the protection before performing an updateusually by means of a jumper or switch that controls the lock on the ROM update. Without the lock, any program that knows the correct instructions can rewrite the ROM in your systemnot a comforting thought. Without the write-protection, virus programs could be written that copy themselves directly into the ROM BIOS code in your system. Even without a physical write-protect lock, modern flash ROM BIOSs have a security algorithm that helps prevent unauthorized updates. This is the technique Intel uses on its motherboards.

Note that motherboard manufacturers will not notify you when they upgrade the BIOS for a particular board. You must periodically log on to their websites to check for updates. Usually, any flash updates are free.

Before proceeding with a BIOS upgrade, you first must locate and download the updated BIOS from your motherboard manufacturer. Consult the Vendor List on the accompanying DVD to find the website address or other contact information for your motherboard manufacturer. Log on to its website, and follow the menus to the BIOS updates page; then select and download the new BIOS for your motherboard.

Note

If a flash BIOS upgrade is identified as being for only certain board revisions of a particular model, be sure you determine that it will work with your motherboard before you install it. You might need to open your system and look for a revision number on the motherboard or for a particular component. Check the vendor's website for details.


The BIOS upgrade utility is contained in a self-extracting archive file that can initially be downloaded to your hard drive, but it must be extracted and copied to a floppy before the upgrade can proceed. Different motherboard manufacturers have slightly different procedures and programs to accomplish a flash ROM upgrade, so you should read the directions included with the update. I include instructions here for Intel motherboards because they are by far the most common.

Intel and other typical flash BIOS upgrades fit on a bootable floppy disk; some recent BIOS upgrades from Intel and other vendors can also be run from within the Windows GUI. Although that might sound scary, what it really does is to configure the system to reboot directly into the flash upgrade program before Windows actually starts. Then, after the BIOS is upgraded, the system reboots back into Windows. Older Intel and some other flash BIOS upgrades also provide the capability to save and verify the current BIOS version before replacing it with the new version and also provide the capability to install alternative languages for BIOS messages and the BIOS setup utility.

Tip

Before you start the flash BIOS upgrade process, you should disconnect all USB devices except for your keyboard and mouse. On some systems, leaving USB drives connected prevents a BIOS upgrade from working properly.

If you have Byte Merge enabled in an Award BIOS or a FirstBIOS-based system, disable this feature before you perform the BIOS upgrade. On some systems, leaving byte merge enabled during a BIOS upgrade can destroy your BIOS. You can re-enable this feature after you complete the upgrade.


If the BIOS setup is performed with a bootable floppy or CD, the first step in the upgrade after downloading the new BIOS file is to enter the CMOS Setup and write down or record your existing CMOS settings because they will be erased during the upgrade. Then, you create a DOS boot floppy or burn the CD with the BIOS upgrade files you downloaded. Next, you reboot to the newly created upgrade disk and follow the menus for the actual reflash procedure.

The iFlash procedure covered in this section is similar to the BIOS update process used by most non-Intel motherboards and must be used for systems running Windows 95, MS-DOS, or non-Windows operating systems such as Linux. Here is a step-by-step procedure for the process using Intel's iFlash (DOS-based) BIOS update:

1.

Save your CMOS RAM setup configuration. You can do so by pressing the appropriate key during boot to start the BIOS setup program (usually F1 with an AMI BIOS and F2 with a Phoenix BIOS) and writing down all your current CMOS settings. You also might be able to print the screens if you have a printer connected, using the PrtScr key on the keyboard. You must reset these settings after you have upgraded to the latest BIOS. Write down all the settings that are unique to the system. These settings will be needed later to reconfigure the system. Pay special attention to any hard drive settings for geometry (Cylinder/Head/Sectors per track) and translation (LBA, Large, CHS); these are very important. If you fail to restore these properly, you might not be able to boot from the drive or access the data on it.

2.

Exit the BIOS Setup and restart the system. Allow the system to fully start Windows and bring up a DOS prompt window or boot directly to a DOS prompt via the Windows Start menu (for example, press F8 when you see Starting Windows, and select Command Prompt).

3.

Place a formatted blank floppy disk in the A: floppy drive. If the disk contains data, format the floppy using the normal format command:

C:\>FORMAT A: 


You also can use Windows Explorer to format the floppy disk.

4.

The file you originally downloaded from the Intel website is a self-extracting compressed archive that includes other files that need to be extracted. Put the file in a temporary directory, and then from within this directory, double-click the BIOS file you downloaded or type the filename of the file and press Enter. This causes the file to self-extract. For example, if the file you downloaded is called CB-P06.EXE (for the Intel D810E2CB motherboard), you would enter the following command:

C:\TEMP>CB-P06 <enter> 


5.

The extracted files are stored in the same temporary folder as the downloaded BIOS. Recent Intel flash BIOS upgrades contain the following files: Desc.txt, License.txt, Readme.txt, Run.bat (which is run to create the bootable floppy), and SW.EXE (which contains the BIOS code).

6.

To create the bootable floppy disk, open Run.batwhich extracts files from SW.EXEand transfer the necessary files to the blank disk in Drive A:.

7.

Now you can restart the system with the bootable floppy in drive A: containing the new BIOS files you just extracted. Upon booting from this disk, the iFlash program automatically starts and updates the BIOS boot block and the main BIOS area.

8.

When you're told that the BIOS has been successfully loaded, remove the bootable floppy from the drive and press Enter to reboot the system.

9.

Press F1 or F2 to enter Setup. On the first screen within Setup, check the BIOS version to ensure that it is the new version.

10.

In Setup, load the default values. If you have an AMI BIOS, press the F5 key. With a Phoenix BIOS, go to the Exit submenu and highlight Load Setup Defaults, and then press Enter.

11.

If the system had unique settings, reenter those settings now. Press F10 to save the values, exit Setup, and restart the system. Your system should now be fully functional with the new BIOS.

Caution

If you do not set the values back to default, the system might function erratically.


Note

If you encounter a CMOS checksum error or other problems after rebooting, try rebooting the system again. CMOS checksum errors require that you enter Setup, check and save your settings, and exit Setup a second time.


Note

The procedure for older Intel BIOS upgrades differs from that described previously. If your BIOS upgrade contains the BIOS.EXE program, see the BIOS upgrade description contained in Upgrading and Repairing PCs, 12th Edition, included in electronic form on the DVD packaged with this book.


Flash BIOS Recovery

When you performed the flash reprogramming, you should have seen a warning message onscreen similar to the following:

The BIOS is currently being updated. DO NOT REBOOT OR POWER DOWN until the update is completed (typically within three minutes)... 


If you fail to heed this warning or something interrupts the update procedure, you will be left with a system that has a corrupted BIOS. This means you will not be able to restart the system and redo the procedure, at least not easily. Depending on the motherboard, you might have to replace the flash ROM chip with one that was preprogrammed by the motherboard manufacturer. This is an unfortunate necessity because your board will be nonfunctional until a valid ROM is present. This is why I still keep my trusty ROM burner around; it is very useful for those motherboards with socketed flash ROM chips. In minutes, I can use the ROM burner to reprogram the chip and reinstall it in the board. If you need a ROM programmer, I recommend Andromeda Research Labs (see the Vendor List on the accompanying DVD).

In many of the latest systems, the flash ROM is soldered into the motherboard so it can't be replaced, rendering the reprogramming idea moot. However, this doesn't mean the only way out is a complete motherboard replacement. Most motherboards with soldered-in flash ROMs have a special BIOS Recovery procedure that can be performed. This hinges on a special nonerasable part of the flash ROM that is reserved for this purpose.

In the unlikely event that a flash upgrade is interrupted catastrophically, the BIOS might be left in an unusable state. Recovering from this condition requires the following steps. A minimum of a power supply, a speaker, and a floppy drive configured as drive A: should be attached to the motherboard for this procedure to work:

1.

Change the Flash Recovery jumper to the recovery mode position. Virtually all Intel motherboards and many third-party motherboards have a jumper or switch for BIOS recovery, which in most cases is labeled "Recover/Normal." Figure 5.8 shows this jumper on a typical motherboard.

Figure 5.8. Motherboard BIOS recovery jumper.


2.

Install the bootable BIOS upgrade disk you previously created to do the flash upgrade into drive A: and reboot the system.

Because of the small amount of code available in the nonerasable flash boot block area, no video prompts are available to direct the procedure. So, you will see nothing onscreen. In fact, it is not even necessary for a video card to be connected for this procedure to work. The procedure can be monitored by listening to the speaker and looking at the floppy drive LED. When the system beeps and the floppy drive LED is lit, the system is copying the BIOS recovery code into the flash device.

3.

As soon as the drive LED goes off and the system beeps (normally twice), the recovery should be complete. Sometimes there might be pauses where the drive stops reading during the recovery process; however, the process might not be complete. Be sure to wait for a minute or so to ensure a complete recovery before turning off the system. When you are sure the recovery is complete and there is no further activity, power off the system.

4.

Change the flash recovery jumper back to the default position for normal operation.

When you power the system back on, the new BIOS should be installed and functional. However, you might want to leave the BIOS upgrade floppy in drive A: and check to see that the proper BIOS version was installed.

Note

Note that this BIOS recovery procedure is often the fastest way to update a large number of machines, especially if you are performing other upgrades at the same time. This is how it is typically done in a system assembly or production environment.


Using IML System Partition BIOS

IBM and Compaq used a scheme similar to a flash ROM, called Initial Microcode Load (IML), in some of their older Pentium and 486 systems. IML is a technique in which the BIOS code is installed on the hard disk in a special hidden-system partition and is loaded every time the system is powered up. Of course, the system still has a core BIOS on the motherboard, but all that BIOS does is locate and load updated BIOS code from the system partition. This technique enabled Compaq and IBM to distribute ROM updates on disk for installation in the system partition. The IML BIOS is loaded every time the system is reset or powered on.

Along with the system BIOS code, the system partition contains a complete copy of the Setup and Diagnostics or Reference Disk, which provides the option of running the setup and system-configuration software at any time during a reboot operation. This option eliminates the need to boot from this disk to reconfigure the system and gives the impression that the entire Setup and Diagnostics or Reference Disk is contained in ROM.

One drawback to this technique is that the BIOS code is installed on the hard disk; the system can't function properly without the correctly set-up hard disk connected. You can always boot from the Reference Disk floppy should the hard disk fail or become disconnected, but you can't boot from a standard floppy disk.

Although this might seem similar to newer systems using the host protected area (reserved space past the "end" of the hard disk), it is not quite the same thing. Systems using the HPA use it only for recovery, diagnostic, and backup applications. The BIOS itself, as well as the BIOS Setup, is still contained in the actual ROM (flash ROM) chip.

Motherboard CMOS RAM Addresses

In the original IBM AT system, a Motorola 146818 chip was used as the real-time clock (RTC) and CMOS RAM chip. This special chip had a simple digital clock that used 14 bytes of RAM and an additional 50 more bytes of leftover RAM in which you could store anything you wanted. The designers of the IBM AT used these extra 50 bytes to store the system configuration.

Modern PC systems don't use the Motorola chip; instead, they incorporate the functions of this chip into the motherboard chipset (South Bridge) or Super I/O chip, or they use a special battery and NVRAM module from companies such as Dallas or Benchmarq.

Table 5.6 shows the standard format of the information stored in the 64-byte standard CMOS RAM module. This information controls the configuration of the system and is read and written by the system setup program.

Table 5.6. CMOS RAM Addresses

Offset (hex)

Offset (dec)

Field Size

Function

00h

0

1 byte

Current second in BCD (0059)

01h

1

1 byte

Alarm second in BCD

02h

2

1 byte

Current minute in BCD (0059)

03h

3

1 byte

Alarm minute in BCD

04h

4

1 byte

Current hour in BCD (0023)

05h

5

1 byte

Alarm hour in BCD

06h

6

1 byte

Current day of week in BCD (0006)

07h

7

1 byte

Current day of month in BCD (0031)

08h

8

1 byte

Current month in BCD (0012)

09h

9

1 byte

Current year in BCD (0099)

0Ah

10

1 byte

Status register A

0Bh

11

1 byte

Status register B

0Ch

12

1 byte

Status register C

0Dh

13

1 byte

Status register D

0Eh

14

1 byte

Diagnostic status

0Fh

15

1 byte

Shutdown code

10h

16

1 byte

Floppy drive types

11h

17

1 byte

Advanced BIOS Setup options

12h

18

1 byte

Hard disk 0/1 types (015)

13h

19

1 byte

Keyboard typematic rate and delay

14h

20

1 byte

Installed equipment

15h

21

1 byte

Base memory in 1K multiples, LSB

16h

22

1 byte

Base memory in 1K multiples, MSB

17h

23

1 byte

Extended memory in 1K multiples, LSB

18h

24

1 byte

Extended memory in 1K multiples, MSB

19h

25

1 byte

Hard Disk 0 Extended Type (0255)

1Ah

26

1 byte

Hard Disk 1 Extended Type (0255)

1Bh

27

9 bytes

Hard Disk 0 user-defined type information

24h

36

9 bytes

Hard Disk 1 user-defined type information

2Dh

45

1 byte

Advanced BIOS Setup options

2Eh

46

1 byte

CMOS checksum MSB

2Fh

47

1 byte

CMOS checksum LSB

30h

48

1 byte

POST reported extended memory LSB

31h

49

1 byte

POST reported extended memory MSB

32h

50

1 byte

Date century in BCD (0099)

33h

51

1 byte

POST information flag

34h

52

2 bytes

Advanced BIOS Setup options

36h

54

1 byte

Chipset-specific BIOS Setup options

37h

55

7 bytes

Power-On Password (usually encrypted)

3Eh

62

1 byte

Extended CMOS checksum MSB

3Fh

63

1 byte

Extended CMOS checksum LSB

BCD = Binary-coded decimal

LSB = Least significant byte

MSB = Most significant byte

POST = Power on self test


Note that many newer systems have extended CMOS RAM with 2KB, 4KB, or more. The extra room is used to store the Plug and Play information detailing the configuration of adapter cards and other options in the system. As such, no 100% compatible standard exists for how CMOS information is stored in all systems. You should consult the BIOS manufacturer for more information if you want the full details of how CMOS is stored because the CMOS configuration and Setup program typically are part of the BIOS. This is another example of how close the relationship is between the BIOS and the motherboard hardware.

Backup programs and utilities are available in the public domain for CMOS RAM information, which can be useful for saving and later restoring a configuration. Unfortunately, these programs are BIOS specific and function only on a BIOS for which they are designed. As such, I don't usually rely on these programs because they are too motherboard and BIOS specific and will not work on all my systems seamlessly.

Table 5.7 shows the values that might be stored by your system BIOS in a special CMOS byte called the diagnostic status byte. By examining this location with a diagnostics program, you can determine whether your system has set trouble codes, which indicate that a problem previously has occurred.

Table 5.7. CMOS RAM Diagnostic Status Byte Codes

Bit Number

         

7

6

5

4

3

2

1

0

Hex

Function

1

80

Real-time clock (RTC) chip lost power.

1

40

CMOS RAM checksum is bad.

1

20

Invalid configuration information found at POST.

1

10

Memory size compare error at POST.

1

08

Fixed disk or adapter failed initialization.

1

04

Real-time clock (RTC) time found invalid.

1

02

Adapters do not match configuration.

1

01

Time-out reading an adapter ID.

00

No errors found (Normal).


If the diagnostic status byte is any value other than 0, you typically get a CMOS configuration error on bootup. These types of errors can be cleared by rerunning the setup program.

Replacing a BIOS ROM

Systems dating from 1995 or earlier usually don't have a flash ROM and instead use an EPROM. To upgrade the BIOS in one of these systems, you replace the EPROM chip with a new one preloaded with the new BIOS. As with a flash ROM upgrade, you must get this from your motherboard manufacturer. There is usually a fee for this because the manufacturer must custom-burn a chip just for you and mail it out. Most boards older than 1995 are probably not worth upgrading the BIOS, so this option might no longer be available. Even if it is available, it most likely doesn't make sense to spend up to $50 on a new BIOS for an ancient board when a more modern board can be had for nearly the same costespecially since that new board will include a flash BIOS and many other new features.

The procedure for replacing the BIOS chip is also useful if you have made a backup copy of your socketed system BIOS chip and need to replace a damaged original with the backup copy. This can also be useful if you have a socketed flash ROM, which was common on motherboards without a BIOS recovery jumper.

To replace the BIOS chip, follow these steps:

1.

Back up the CMOS RAM settings.

2.

Power down the system and unplug the power cord.

3.

Remove the cover and any other components in the way of the BIOS EPROM chip. Remember to use caution with respect to static discharges; you should wear an antistatic wrist strap for this procedure or ground yourself to the chassis before touching any internal components.

4.

Using a chip puller or a thin flat-blade screwdriver, gently pry the chip out of its socket.

5.

Remove the new EPROM from the antistatic packing material in which it came.

6.

Install the new EPROM chip into the socket. A standard rectangular BIOS chip has a dimple at one end that corresponds to a cutout on the socket. You can install the chip in the socket backward, but if you do, you will destroy the chip.

7.

Reinstall anything you removed to gain access to the chip.

8.

Put the cover back on, plug in the system, and power on.

9.

Enter the BIOS setup information you saved earlier.

10.

Reboot and enjoy the new BIOS!

As you can see, things are much easier with a modern motherboard with a flash ROM because you usually don't even have to remove the lid (unless the flash BIOS is write-protected as discussed earlier in this chapter).

Year 2000 BIOS Issues

All systems now in use should be compliant with twenty-first century dates, either through BIOS updates or through software or hardware patches. However, if you are returning stored systems built before 1999 to service, you might want to test them for year-2000 compliance. For details, see Upgrading and Repairing PCs, 12th Edition, available in electronic form on the DVD packaged with this book.




Upgrading and Repairing PCs
Upgrading and Repairing PCs (17th Edition)
ISBN: 0789734044
EAN: 2147483647
Year: 2006
Pages: 283
Authors: Scott Mueller

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net