1SYMBOLS { 2 __STACKSIZE__: type = weak, value = $0800; # 2k stack 3 __STARTOFDIRECTORY__: type = weak, value = $00CB; # start just after loader 4 __BANK0BLOCKSIZE__: type = weak, value = $0400; # bank 0 cart block size 5 __BANK1BLOCKSIZE__: type = weak, value = $0000; # bank 1 block size 6 __BLLHDR__: type = import; 7} 8MEMORY { 9 ZP: file = "", define = yes, start = $0000, size = $0100; 10 HEADER: file = %O, start = $0000, size = $000a; 11 MAIN: file = %O, define = yes, start = $0400, size = $BC38 - __STACKSIZE__; 12} 13SEGMENTS { 14 ZEROPAGE: load = ZP, type = zp; 15 EXTZP: load = ZP, type = zp, optional = yes; 16 APPZP: load = ZP, type = zp, optional = yes; 17 BLLHDR: load = HEADER, type = ro; 18 STARTUP: load = MAIN, type = ro, define = yes; 19 LOWCODE: load = MAIN, type = ro, define = yes, optional = yes; 20 ONCE: load = MAIN, type = ro, define = yes, optional = yes; 21 CODE: load = MAIN, type = ro, define = yes; 22 RODATA: load = MAIN, type = ro, define = yes; 23 DATA: load = MAIN, type = rw, define = yes; 24 BSS: load = MAIN, type = bss, define = yes; 25} 26FEATURES { 27 CONDES: type = constructor, 28 label = __CONSTRUCTOR_TABLE__, 29 count = __CONSTRUCTOR_COUNT__, 30 segment = ONCE; 31 CONDES: type = destructor, 32 label = __DESTRUCTOR_TABLE__, 33 count = __DESTRUCTOR_COUNT__, 34 segment = RODATA; 35 CONDES: type = interruptor, 36 label = __INTERRUPTOR_TABLE__, 37 count = __INTERRUPTOR_COUNT__, 38 segment = RODATA, 39 import = __CALLIRQ__; 40} 41