Hardware Reference
In-Depth Information
match a signature value of 55AAh. If the signature bytes match, that tells the ROM that
the first sector contains a valid MBR and that the ROM can continue by transferring con-
trol to the MBR code.
If the last 2 bytes of the first physical sector do not match 55AAh, the ROM continues by
checking the first physical sector of the next bootable device in the boot sequence until it
either finds one with a valid MBR or runs out of devices to check. If, after all the drives
or devices in the boot sequence are checked, none are found to have the proper signature
bytes indicating a valid MBR, the ROM invokes an interrupt (18h) that calls a subroutine
displayinganerrormessage.Thespecifictextorwordingofthemessagevariesaccording
to the ROM manufacturer and version. The messages are detailed in the following sec-
tions.
IBM BIOS Messages
With no valid MBR or bootable device found, systems with an old IBM BIOS display the
infamous ROM BASIC interpreter, which looks like this:
The IBM Personal Computer Basic
Version C1.10 Copyright IBM Corp 1981
62940 Bytes free
Ok
IBM ROM BASIC
The ROMs of most PCs are similar to the original IBM systems with which they are com-
patible—with the exception of the ROM BASIC interpreter (also called Cassette BASIC). It
might come as a surprise to some PC users, but the original IBM PC actually had a jack on
therearofthesystem forconnecting acassette taperecorder.Thiswastobeusedforloading
programsanddatatoorfromacassette tape.IBMincludedthecassette portbecausecassette
tapes were used by several early personal computers (including the Apple). Floppy drives
were expensive, and hard disks were not even an option yet. However, floppy drives came
down in price quickly right at the time the PC was first released, and the cassette port never
appeared on subsequent IBM systems. The cassette port also never appeared on PC-compat-
ible systems because floppy drives were cheap by the time they came out.
ThereasonforhavingBASICinROMwassotheoriginalPCcouldcomestandardwithonly
16KB of memory and no floppy drives in the base configuration. Many computer users at
the time either wrote their own programs in the BASIC language or ran BASIC programs
written by others. The BASIC language interpreter built into the ROM BIOS of these early
IBM systems was designed to access the cassette port on the back of the system; by having
the interpreter in ROM, all 16 kilobytes of RAM could be used to store a program.
Even after the cassette port was eliminated, IBM left the BASIC code in the motherboard
ROM until the early 1990s! I liken this to humans having an appendix. The ROM BASIC in
those IBM systems is sort of like a vestigial organ—a leftover that had some use in prehis-
toric evolutionary ancestors but has no function today.
Search WWH ::




Custom Search