An Atari 8-bit binary load file (executable) consists of one or
more segments whose format is listed in table 1.
Header
The first segment must begin with $FFFF word to indicate it is a binary
load file. For later segments the header is optional.
Init
After each
segment is loaded, word at location $02E2 is checked to see if it was filled
in with an INIT address. If so, that location is called as a subroutine
before processing any additional segments.
Run
After all segments are loaded, if word at location $02E0 was filled in
it is called for the run address.
Some command line DOS's may attempt to automatically run a program from
the start address of the first segment if no run address is specified if
the file ends in .COM and is typed on the command line.
Atari executables
can have virtually any extensions but EXE or COM are most common.
Offset
Description
00-01
$FFFF - Indicates a binary load file.
Mandatory for first segment, optional for any other segment
02-03
Start Address. The segment will load at this address
04-05
End Address. The last byte to load for this segment
06-??
The actual segment data to load (End Address-Start Address + 1 bytes)