Bios Programming Hints; Adapter Cards With System-Accessible Rom Modules - IBM 5150 Technical Reference

Hide thumbs Also See for 5150:
Table of Contents

Advertisement

BIOS Programming Hints
The BIOS code is invoked through software interrupts. The
programmer should not "hard code" BIOS addresses into
application programs. The internal workings and absolute
1"""""""\
addresses within BIOS are subject to change without notice.
If
an error is reported by the disk or diskette code, you should
reset the drive adapter and retry the operation. A specified
number of retries should be required on diskette reads to ensure
the problem is not due to motor start-up.
When altering I/O-port bit values, the programmer should change
only those bits that are necessary to the current task. Upon
completion, the programmer should restore the original
environment. Failure to adhere to this practice may be
incompatible with present and future applications.
Adapter Cards with System-Accessible ROM
Modules
The ROM BIOS provides a facility to integrate adapter cards with
on-board ROM code into the system. During the POST, interrupt
vectors are established for the BIOS calls. After the default
vectors are in place, a scan for additional ROM modules takes
place. At this point, a ROM routine on the adapter card may gain
control. The routine may establish or intercept interrupt vectors
to hook themselves into the system.
The absolute addresses hex C8000 through hex F4000 are
scanned in 2K blocks in search of a valid adapter card ROM. A
valid ROM is defined as follows:
Byte 0:
Hex 55
Byte 1:
HexAA
Byte 2:
A length indicator representing the number of
512-byte blocks in the ROM (Iength/512). A
checksum is also done to test the integrity of the
ROM module. Each byte in the defined ROM is
summed modulo hex 100. This sum must be 0 for the
module to be deemed valid.
System BIOS 5-13

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents