# supervision 64kbyte cartridge with bankswitching # for assembler # ld65 config file # ld65 --config supervision-64k.cfg -o .bin .o SYMBOLS { __STACKSIZE__: type = weak, value = $0100; # 1 page stack } MEMORY { RAM: file = "", start = $0000, size = $2000 - __STACKSIZE__, define = yes; VRAM: file = "", start = $4000, size = $2000; BANKROM1: file = %O, start = $8000, size = $4000, fill = yes, fillval = $FF; BANKROM2: file = %O, start = $8000, size = $4000, fill = yes, fillval = $FF; BANKROM3: file = %O, start = $8000, size = $4000, fill = yes, fillval = $FF; ROM: file = %O, start = $C000, size = $4000, fill = yes, fillval = $FF; } SEGMENTS { LOWCODE: load = ROM, type = ro, optional = yes; ONCE: load = ROM, type = ro, 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; }