====================================================================== Title: Boot Block Recovery Procedure for Micronics M4Pi Motherboard ---------------------------------------------------------------------- Filename: M4PI-REC.TXT Author: Terry Slade, Micro Firmware Technical Support Revision: 06/17/97 Summary: Instructions for boot block recovery procedure to replace BIOS in flash chip on Micronics M4Pi motherboard. ====================================================================== The Micronics M4Pi motherboard is identified by the number 09-00209 silkscreened onto the back edge of the board, behind the card slots. There are 2 different types of BIOSes that have been supplied on this board: Phoenix A486 1.03 M4Pi-xx[xx], and Phoenix 4.04 M4Pi-xx[xx]. These two types of BIOSes are stored differently in the flash chip and use different types of boot block code. Micro Firmware has 2 BIOS upgrades for this motherboard: M4HS60 and M4HS60P, both based on Phoenix 4.05 code. M4HS60P is used on boards supplied with the Phoenix 4.04 code. The A486 BIOS is stored in the flash chip as an "inverted" image. This means that the two halves of the flash chip are seen as reversed. On powerup, the CPU accesses the code at the top of the flash chip. If not inverted, the code at the top of the chip would be the boot block recovery code. Since the contents of the chip are inverted, the CPU will access the compatibility segment, which is located such that it will appear at the top of the chip when inverted. The compatibility segment includes the bootstrap code which starts the process of copying the BIOS code to shadow RAM. If jumper W10 is moved from pins 2 and 3 to pins 1 and 2, this will cause the inverted image in the flash chip to reverse itself, which will cause the boot block recovery code to execute. When Micronics developed a newer BIOS for this board, in order to add Plug and Play support, they used Phoenix 4.04 base code and also decided to use Phoenix's boot block recovery technique. On the boards with the Phoenix 4.04 code, the BIOS image is not inverted in the flash chip. Therefore, the boot block code is always executed on powerup. If the boot block code determines that the BIOS is in working order, it passes control to the part of the BIOS that begins the process of copying the BIOS code to shadow RAM. If the boot block code determines that the BIOS is corrupt, it will then attempt to read in a new BIOS image from a diskette in drive A:. If jumper W10 is moved from pins 1 and 2 (which is normal mode with the 4.04 BIOS but is boot block recovery mode with the A486 BIOS) to pins 2 and 3, the system will appear to be dead, since the image in the flash chip will be inverted and there will be no bootstrap code or boot block recovery code at the top of the chip, where the CPU is expecting to find something to execute. While it should be possible to install either type of BIOS and its associated type of boot block recovery code in any M4Pi board by replacing the flash chip, it is not possible to reprogram the boot block on the flash chip without removing it from the motherboard. This is why we have had to develop two different BIOS upgrades, which have diiferent methods of installation and are stored in the flash chip in two different ways in order to preserve working boot block code. Also, it does not appear that the 4.04 BIOS will work in boards that it was not supplied in. The symtom is "Diskette A: Error" and Fixed Disk Errors during POST. This may be die to the fact that the 4.04 BIOS is looking for a PS/2 mouse, which is not present (at least on the A486 boards), or there may be some other physical differences. The two different versions of the M4Pi motherboard would normally be identified by the BIOS version that displays on bootup. If the identification must be made visually, there may be a small label on the flash chip with the BIOS version on it. Also note that the default position of jumper W10 is opposite on the 2 boards and that text from boot block code will appear with W10 on pins 1 and 2 only with the A486 version. (However it is always possible that the boot block code is not present). Both versions of the motherboard may exist with and without PS/2 mouse and keyboard connectors. The boards we have that were supplied with the 4.04 BIOS are marked 09-00209 -07 rev B6. The boards we have that were supplied with the A486 BIOS are marked 09-00209 - 13 rev B2. Any number of other revisions may exist. The boot block procedure is normally used only if the BIOS has become corrupted. A black screen on powerup may indicate the absence of a working BIOS in the flash chip. The procedure requires a valid recovery disk, normally created during installation of a flash BIOS upgrade. Micro Firmware can provide a BIOS recovery disk for this motherboard if needed. The file M4PIRD.EXE (found on our BBS and FTP site) is a self-extracting ZIP file containing 4 different BIOS recovery disk images. ---------------------------------------------------------------------- Boot Block Recovery Procedure - A486 1.03 BIOS Version . 1. Turn system off 2. Move jumper W-10 from pins 2-3 to pins 1-2 Also labelled on motherboard: NM (normal mode), RC (recovery) Insure that DIP switch 4 is OFF to enable writing to flash chip. As described above, the 4.04 boot block code runs automatically if it thinks the BIOS is corrupt. 3. Insert recovery disk 4. Turn system on Screen should display: Flash memory boot block version F 1.5 Insert disk and press [P] for 1.2M or press [Q] for 1.44 5. Press Q or P - Screen should display: Reading floppy disk Should take about 30-60 seconds - then screen should display: Flash memory update is done 6. Turn system off, remove diskette 7. Move jumper W-10 from pins 1-2 back to pins 2-3 8. Turn system on, setup CMOS . If no response to pressing Q or P, hold down Q or P on powerup so that the character is in the keyboard buffer before the boot block recovery program starts. If the screen says "Reading floppy disk" but doesn't complete in a minute or so - you may need to temporarily install an external floppy drive controller and use it instead of the onboard controller. It may also be helpful to remove a tape drive from the floppy cable. If there is only a blank screen after starting system in recovery mode - there may be no boot block recovery code in the flash chip. The recovery disk for the 1.03 BIOS is not readable under DOS. ---------------------------------------------------------------------- Boot Block Recovery Procedure - 4.04 BIOS Version . 1. Turn system off. 2. Insure that jumper W10 is on pins 1-2. (W10 is always on 1-2 with the Phoenix 4.40 BIOS). Insure that DIP switch 4 is set to ON to enable writing to flash chip. As described above, the 4.04 boot block code runs automatically if it thinks the BIOS is corrupt. 3. Insert recovery disk. 4. Turn system on. The display screen will remain blank. In about 10 seconds there will be one long beep and two short beeps. The diskette drive light should come on and the diskette will be accessed. There will be one more beep at the beginning of the process and 4 beeps when the process is finished, about 30 seconds later. 5. After the 4 beeps, turn system off, remove the diskette, turn system back on. The BIOS signon text should display. It will probably be necessary to enter CMOS setup to adjust values. . # ====================================================================== Micro Firmware Technical Support ---------------------------------------------------------------------- Voice 405-321-8333 email support@firmware.com Fax 405-321-8342 WWW http://www.firmware.com BBS 405-573-5538 FTP ftp://ftp.firmware.com Sales 800-767-5465 CIS GO PCVEND Section 8 ====================================================================== (c) 1997 Micro Firmware, Inc.