Next Previous Contents

## 4. Linker configurations

The ld65 linker comes with a builtin config file for the enhanced Apple //e, which is used via `-t apple2enh` (and displayed via `--dump-config apple2enh`). The apple2enh package comes with additional secondary linker config files, which are used via `-C <configfile>`.

## 4.1 builtin config file

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 area

  From $803 to $95FF (35.5 KB)

`LC:` Language Card memory area

  From $D400 to $DFFF (3 KB)

`STARTADDRESS:` Program start address

  Variable (default: $803)

`HEADER:` Binary file header

  DOS 3.3 header (address and length)

## 4.2 `apple2enh-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 area

  From $803 to $95FF (35.5 KB)

`LC:` Language Card memory area

  From $D000 to $FFFF (12 KB)

`STARTADDRESS:` Program start address

  Variable (default: $803)

`HEADER:` Binary file header

  DOS 3.3 header (address and length)

## 4.3 `apple2enh-system.cfg`

Configuration for a system program running on ProDOS 8.

`RAM:` Main memory area

  From $2000 to $BEFF (39.75 KB)

`LC:` Language Card memory area

  From $D400 to $DFFF (3 KB)

`STARTADDRESS:` Program start address

  Fixed ($2000)

`HEADER:` Binary file header

  None

## 4.4 `apple2enh-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 area

  From $800 to $BEFF (45.75 KB)

`LC:` Language Card memory area

  From $D400 to $DFFF (3 KB)

`STARTADDRESS:` Program start address

  Variable (default: $800)

`HEADER:` Binary file header

  DOS 3.3 header (address and length)

## 4.5 `apple2enh-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 area

  From $800 to $BEFF (45.75 KB)

`LC:` Language Card memory area

  From $D000 to $DFFF (4 KB)

`STARTADDRESS:` Program start address

  Variable (default: $800)

`HEADER:` Binary file header

  DOS 3.3 header (address and length)

Next Previous Contents