SYMBOLS { __STACKSIZE__: type = weak, value = $0800; # 2k stack } MEMORY { ZP: file = "", define = yes, start = $0000, size = $001F; RAM: file = %O, start = $0900, size = $C700; ROM: file = %O, start = $e000, size = $2000, fill=yes, fillval=$ff; } SEGMENTS { STARTUP: load = RAM, type = ro, define = yes, optional = yes; LOWCODE: load = RAM, type = ro, optional = yes; INIT: load = RAM, type = ro, define = yes, optional = yes; CODE: load = RAM, type = ro; RODATA: load = RAM, type = ro; DATA: load = RAM, type = rw; ROMCODE: load = ROM, type = ro, start = $E000; ROMDATA: load = ROM, type = ro; VECTORS: load = ROM, type = ro, start = $FFFA, define = yes; BSS: load = RAM, type = bss, define = yes; ZEROPAGE: load = ZP, type = zp; } FEATURES { CONDES: type = constructor, label = __CONSTRUCTOR_TABLE__, count = __CONSTRUCTOR_COUNT__, segment = INIT; CONDES: type = destructor, label = __DESTRUCTOR_TABLE__, count = __DESTRUCTOR_COUNT__, segment = RODATA; CONDES: type = interruptor, label = __INTERRUPTOR_TABLE__, count = __INTERRUPTOR_COUNT__, segment = RODATA, import = __CALLIRQ__; }