An Atari 8-bit binary load file (executable) consists of one or more
segments whose format is listed in table 1. The first segment must
begin with two 255's ($FF) bytes to indicate it is a binary load file. For
later segments the 255 header is optional. After each segment is loaded,
location 738 ($2E2) 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. After all segments are loaded, if location 736
($2E0) 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 executable can have virtually any extension but EXE or
COM are most common.
Offset into segment |
Description |
0-1 | 255,255 ($FF $FF) Indicates a binary load file. Mandatory for first segment, optional for any other segment |
2-3 (or 0-1) | Start Address. The segment will load at this address |
4-5 (or 2-3) | End Address. The last byte to load for this segment |
6-? (or 4-?) | The actual segment data to load (End Address-Start Address + 1 bytes) |
table1