Atari 8-bit Binary Load Format


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