# supervision 64kbyte cartridge with bankswitching # for assembler # ld65 config file # ld65 --config supervision.cfg -o .bin .o SYMBOLS { __STACKSIZE__: value = $0100, weak = yes; # 1 page stack } MEMORY { RAM: start = $0000, size = $2000 - __STACKSIZE__; VRAM: start = $4000, size = $2000; BANKROM1: start = $8000, size = $4000, fill = yes, fillval = $FF, file = %O; BANKROM2: start = $8000, size = $4000, fill = yes, fillval = $FF, file = %O; BANKROM3: start = $8000, size = $4000, fill = yes, fillval = $FF, file = %O; ROM: start = $C000, size = $4000, fill = yes, fillval = $FF, file = %O; } SEGMENTS { LOWCODE: load = ROM, type = ro, optional = yes; INIT: load = ROM, type = ro, define = yes, optional = yes; CODE: load = ROM, type = ro; RODATA: load = ROM, type = ro; BANK1: load = BANKROM1, type = ro; BANK2: load = BANKROM2, type = ro; BANK3: load = BANKROM3, type = ro; ZEROPAGE: load = RAM, type = bss, define = yes; DATA: load = RAM, type = bss, define = yes, offset = $0200; BSS: load = RAM, type = bss, define = yes; VECTOR: load = ROM, type = ro, offset = $3FFA; }