Appendix A

Memory Module Diagrams


Executable Memory Module Format

Relative
Address

$00

$02

$03

$04


$05

$06

$07

$08

$09


$OA

$OB


$OC

$OD


Use

Sync Bytes ($87CD)
Module Size (bytes)
Module Name Offset
Type Language
Attributes Revision
Header Parity Check
Execution Offset
Permanent Storage Size
(Additional optional header
extensions located here)
Module Body
object code, constants,
and so on
CRC Check Value

Check
Range

header
pa ity

module

C~,C

OS-9 Technical Reference

Device Descriptor Format

Relative

Address

$00


$01

$02


$03

$04


$05

$06

$07

$08

$09


$OA

$OB


$OD

$OE


$OF

$10

$11

$12,$12 +


Use

Sync Bytes ($87CD)
Module Size (bytes)
Offset to Module Name
$F (Type) $1 (Lang)
Attributes Revision
Header Parity Check
Offset to File Manager
Name String
Offset to Device Driver
Name String
Mode Byte
Device Controller
Absolute Physical Addr.
(24 bit)
Initialization Table Size
(Initialization Table)
(Name Strings, and so on)
CRC Check Value

Check
Range

header
parity

Module

C~,C


A-2
Memory Module Diagrams / Appendix A

INIT Module Format

Relative

Address

$00


$01

$02


$03

$04


$05

$06

$07


$08

$09


$OA

$OB

$OC

$OD

$OE


$OF

$10


$11

$12


$13

$14-n

Use

Sync Bytes ($87CD)
Module Size (bytes)
Module Name Offset
$F (Type) $1 (Lang)
Attributes Revision
Header Parity Check
Forced Limit of Top
of Free RAM
#IRQ Polling Table Entries
#Device Table Entries
Offset to Startup
Module Name String
Offset to Default Mass
Storage Device Name String
Offset to Bootstrap
Module Name String
Name Strings
CRC Check Value

Check
Range

header
parity

A-3