SECTION 7
System Information
PEN*KEY
R
6200/6300 Hand-Held Computer Programmer’s Reference Guide 7-7
BIOS Extensions are Scanned For and Installed
After most of the POSTs have ended, the ROM BIOS scan through system
memory in the address range of E800:0 through F7FF:F, looking for BIOS
extensions. On PCĆcompatible computers, a BIOS extension is any software or
firmware that runs prior to the time that the operating system is loaded. BIOS
extensions execute directly from writeĆprotected memory, such as ROM or
shadow RAM. A special signature precedes each BIOS extension. After that
signature is validated, the corresponding BIOS extension is made active (or
posted
). Currently the PEN*KEY includes three BIOS extensions: the VGA
BIOS (VGABIOS.BIN), the H8 program (H8PROG.EXT), and ROM DOS 5
(ROMDOSLO.BIN).
Both the VGA BIOS and the H8 program are located and executed prior to this
stage of the boot process since they reside in the address range of C000:0
through CFFF:F. ROM DOS 5 itself is located at F000:0. That leaves 32 KB of
shadow RAM between E800:0 and EFFF:F that serves the same function as an
option ROM socket in a traditional PC environment. If a BIOS extension
signature is found at address E800:0, these 32 KB of shadow RAM is scanned for
BIOS extensions and remains resident as writeĆprotected RAM. If no signature
is found, the address range is redirected back to the ISA bus for use by PC Card
adapters.
ROM DOS 5 is Booted
When the DOS 5 option ROM is posted (as a BIOS extension), it replaces
interrupt 19h with a vector that points back into the ROM DOS 5 code. It then
returns to the BIOS without making any other system changes. After the BIOS
has finished scanning for all BIOS extensions, it issues an interrupt 19h to boot
the system. At this point, ROM DOS 5 displays its startup message and takes
control of the system. The bootstrap code for ROM DOS 5 prepares an
environment that is very similar to the environment used by the diskĆbased
MSĆDOS 5 product. The primary difference is that much of ROM DOS executes
directly from shadow RAM instead of from conventional memory. All DOS
variables and a significant amount of code are still located at the traditional
address of 70:0h.
The sole function of the ROM DOS BIOS extension is to load and execute ROM
DOS directly from memory instead of from a disk drive. The ROM DOS BIOS
extension has been enhanced to add the ability to select any of the primary DOS
drives as the default boot drive rather than being limited to A: or C:.
Drives A through D are Initialized
One of the first interactions between ROM DOS 5 and the ROM BIOS is the
initialization of DOS drives. Using interrupt 13h, the ROM BIOS supports two
drives, as follows:
"
Drive 0 = A:, the first PC Card slot
"
Drive 1 = B:, the second PC Card slot (also used for Master Mode booting)
A ROM DOS 5 embedded device driver uses Interrupt 15h, Function 87h (move
extended memory), to access both the RAM drive (drive C:) and the ROM drive
(drive D:). ROM DOS 5 obtains the starting address for each drive by reading
values stored in the BIOS data area of system memory.
CONFIG.SYS is Loaded and Processed
Once ROM DOS has initialized, it reads and processes the CONFIG.SYS file on
the default drive. The default drive is chosen by now, by means of the boot
selection process, which is discussed in the following paragraphs. If
CONFIG.SYS does not exist, no error or warning is displayed.
7. System Information