MEMORY { BASICHDR: start = $01, size = $50, type = rw, fill = yes, fillval = 0, file = %O; ZP: start = $51, size = $A6, type = rw, define = yes, fill = yes, fillval = 0, file = %O; STARTUP: start = $00F7, size = $109, fill = yes, fillval = 0, file = %O; PAGE2: start = $0200, size = $100, fill = yes, fillval = 0, file = %O; PAGE3: start = $0300, size = $100, fill = yes, fillval = 0, file = %O; RAM: start = $0400, size = $DC00, file = %O; CHARRAM: start = $E000, size = $1000, define = yes, file = ""; VIDRAM: start = $F000, size = $0400, define = yes, file = ""; } SEGMENTS { BASICHDR: load = BASICHDR, type = rw; STARTUP: load = STARTUP, type = rw; PAGE2: load = PAGE2, type = rw; PAGE3: load = PAGE3, type = rw; LOWCODE: load = RAM, type = wprot, optional = yes; CODE: load = RAM, type = wprot; RODATA: load = RAM, type = wprot; DATA: load = RAM, type = rw; BSS: load = RAM, type = bss, define = yes; ZEROPAGE: load = ZP, type = zp; EXTZP: load = ZP, type = rw, define = yes; } FEATURES { CONDES: segment = RODATA, type = constructor, label = __CONSTRUCTOR_TABLE__, count = __CONSTRUCTOR_COUNT__; CONDES: segment = RODATA, type = destructor, label = __DESTRUCTOR_TABLE__, count = __DESTRUCTOR_COUNT__; CONDES: segment = RODATA, type = interruptor, label = __INTERRUPTOR_TABLE__, count = __INTERRUPTOR_COUNT__; } SYMBOLS { __STACKSIZE__ = $781; # ~2K stack }