The ld65 linker comes with a builtin config file for the Apple ][,
which is used via -t apple2 (and displayed via --dump-config apple2).
The apple2 package comes with additional secondary linker config files, which
are used via -C <configfile>.
Default configuration optimized for a binary program running on ProDOS 8 with BASIC.SYSTEM. A plain vanilla ProDOS 8 doesn't actually use the Language Card bank 2 memory from $D400 to $DFFF.
RAM: Main memory areaFrom $803 to $95FF (35.5 KB)
LC: Language Card memory areaFrom $D400 to $DFFF (3 KB)
STARTADDRESS: Program start addressVariable (default: $803)
HEADER: Binary file headerDOS 3.3 header (address and length)
apple2-dos33.cfg
Configuration optimized for a binary program running on DOS 3.3. A plain vanilla DOS 3.3 doesn't make use of the Language Card at all.
RAM: Main memory areaFrom $803 to $95FF (35.5 KB)
LC: Language Card memory areaFrom $D000 to $FFFF (12 KB)
STARTADDRESS: Program start addressVariable (default: $803)
HEADER: Binary file headerDOS 3.3 header (address and length)
apple2-system.cfg
Configuration for a system program running on ProDOS 8.
RAM: Main memory areaFrom $2000 to $BEFF (39.75 KB)
LC: Language Card memory areaFrom $D400 to $DFFF (3 KB)
STARTADDRESS: Program start addressFixed ($2000)
HEADER: Binary file headerNone
apple2-loader.cfg
Configuration optimized for a binary program running on ProDOS 8 without BASIC.SYSTEM. Intended to be used with LOADER.SYSTEM - an Apple ][ ProDOS 8 loader for cc65 programs, which is available in the cc65 User Contributions section.
A program loaded by LOADER.SYSTEM works like a ProDOS 8 system program but isn't tied to the start address $2000. Thus with the default start address $800 the main memory area is increased by 6 KB.
RAM: Main memory areaFrom $800 to $BEFF (45.75 KB)
LC: Language Card memory areaFrom $D400 to $DFFF (3 KB)
STARTADDRESS: Program start addressVariable (default: $800)
HEADER: Binary file headerDOS 3.3 header (address and length)
apple2-reboot.cfg
Configuration optimized for a binary program running on ProDOS 8 without
BASIC.SYSTEM. Intended to be used with LOADER.SYSTEM - an
Apple ][ ProDOS 8 loader for cc65 programs (see above) together
with the function rebootafterexit().
If a ProDOS 8 system program doesn't quit to the ProDOS 8 dispatcher but rather reboots the machine after exit then a plain vanilla ProDOS 8 doesn't make use of the Language Card bank 2 at all.
This setup makes nearly 50 KB available to a cc65 program - on a 64 KB machine!
RAM: Main memory areaFrom $800 to $BEFF (45.75 KB)
LC: Language Card memory areaFrom $D000 to $DFFF (4 KB)
STARTADDRESS: Program start addressVariable (default: $800)
HEADER: Binary file headerDOS 3.3 header (address and length)