# Configuration: # APPLESOFT required # HGR1 & HGR2 memory reserved # CODE2, RODATA and DATA segment are loaded contiguously in the main memory # but will be run from MAIN2 memory. The program has to do the relocation. FEATURES { STARTADDRESS: default = $0803; } SYMBOLS { __EXEHDR__: type = import; __FILETYPE__: type = weak, value = $0006; # ProDOS file type } MEMORY { ZP: file = "", start = $0000, size = $00FF; HEADER: file = %O, start = %S - $3A, size = $003A; HGR: file = "", define = yes, start = $2000, size = $4000; MAIN2: file = "", define = yes, start = $6000, size = $3000; BSSMEM: file = "", define = yes, start = __MAIN2_LAST__, size = $BF00 - __BSSMEM_START__; MAIN: file = %O, define = yes, start = %S, size = __BSSMEM_START__ - %S - __HGR_SIZE__; } SEGMENTS { ZEROPAGE: load = ZP, type = zp, optional = no; EXEHDR: load = HEADER, type = ro; CODE: load = MAIN, type = rw, define = yes; CODE2: load = MAIN, run = MAIN2, type = rw, define = yes; RODATA: load = MAIN, run = MAIN2, type = ro, define = yes, align = $100; DATA: load = MAIN, run = MAIN2, type = rw, define = yes, align = $100; BSS: load = BSSMEM, type = bss, define = yes, align = $100; }