You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

46 lines
1.8 KiB

21 July 1996
The boot record is NOT executable. Any attempt to execute it will produce
varied effects ranging from a HALT to only a single load or jump. The
arguments of the instructions are simply intended to make addresses available
to the ROM Boot loader. The layout is:
ORG 8000H
DB 76H ; HALT instruction
LD HL,CCP-80H ; Base load point assuming 128 bytes for
; this Boot Record size.
RET ; (safety)
JP BIOS ; This address is for the CBOOT entry in the
; relocated System image. Execution should
; commence at the argument of this jump.
Accessing the relevant parameters from the ROM, then, normally consists of
getting the Load Address from 8002H, and the BIOS CBOOT Entry point from
8006H. It is recommended that the jump itself not be executed, but use a
vectored approach such as the sequence:
LD HL,(8006H)
JP (HL)
The remainder of this record is available for transferring parameters to the
Bios as part of the CBOOT setup. Parameters may be addressed by absolute
values such as 8020H, etc.
Since the two location addresses are variable depending on the system size
generated, a checksum of the boot record is not feasible without generating
an entirely new, unique utility. That defeats the intent of this effort which
is to retain a common suite of utilities across multiple platforms. Validation
of the Boot record instead can check the absolute bytes at any or all of the
following locations:
8000 - 76H
8001 - 21H
8004 - 0C9H
8005 - 0C3H
Another possibility which may be implemented is to embed an ASCII Text string
in the available space. This may be a visual thing, but there comes a limit
to complexity vs reliability.
Hal