======================================================================
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.