FEATURES { STARTADDRESS: default = $2400; # must start on an 1K boundary since the replacement font gets loaded there } SYMBOLS { __EXEHDR__: type = import; __SYSTEM_CHECK__: type = import; # force inclusion of "system check" load chunk __AUTOSTART__: type = import; # force inclusion of autostart "trailer" __STACKSIZE__: type = export, value = $0000; # no (C language) stack here, but symbol is referenced by the 'system_check.s' library file __STARTADDRESS__: type = export, value = %S; __RESERVED_MEMORY__: type = export, value = $0000; # also referenced by 'system_check.s' } MEMORY { ZP: file = "", define = yes, start = $0082, size = $007E; # file header, just $FFFF HEADER: file = %O, start = $0000, size = $0002; # "system check" load chunk SYSCHKHDR: file = %O, start = $0000, size = $0004; SYSCHKCHNK: file = %O, start = $2E00, size = $0300; SYSCHKTRL: file = %O, start = $0000, size = $0006; # "main program" load chunk MAINHDR: file = %O, start = $0000, size = $0004; MAIN: file = %O, define = yes, start = %S + $0400, size = $9C20 - __STACKSIZE__ - __RESERVED_MEMORY__ - %S - $0400; # "font" load chunk, loads below MAIN FONTHDR: file = %O, start = $0000, size = $0004; FONT: file = %O, start = %S, size = $0400; TRAILER: file = %O, start = $0000, size = $0006; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; EXTZP: load = ZP, type = zp, optional = yes; EXEHDR: load = HEADER, type = ro; SYSCHKHDR: load = SYSCHKHDR, type = ro, optional = yes; SYSCHK: load = SYSCHKCHNK, type = rw, define = yes, optional = yes; SYSCHKTRL: load = SYSCHKTRL, type = ro, optional = yes; MAINHDR: load = MAINHDR, type = ro; STARTUP: load = MAIN, type = ro, define = yes; LOWCODE: load = MAIN, type = ro, define = yes, optional = yes; ONCE: load = MAIN, type = ro, optional = yes; CODE: load = MAIN, type = ro, define = yes; RODATA: load = MAIN, type = ro; DATA: load = MAIN, type = rw; INIT: load = MAIN, type = rw, optional = yes; BSS: load = MAIN, type = bss, define = yes; FONTHDR: load = FONTHDR, type = ro; FONT: load = FONT, type = ro; AUTOSTRT: load = TRAILER, type = ro; }