# ld65 config file
# ld65 --config supervision.cfg -o <prog>.bin <prog>.o
+SYMBOLS {
+ __STACKSIZE__: type = weak, value = $0100; # 1 page stack
+}
MEMORY {
- RAM: start = $0000, size = $2000;
- 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;
+ RAM: file = "", start = $0000, size = $2000 - __STACKSIZE__;
+ 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;
INIT: load = ROM, type = ro, define = yes, optional = yes;
BANK2: load = BANKROM2, type = ro;
BANK3: load = BANKROM3, type = ro;
ZEROPAGE: load = RAM, type = bss, define = yes;
- DATA: load = RAM, type = bss, offset = $0200, define = yes;
+ DATA: load = RAM, type = bss, define = yes, offset = $0200;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
- VECTOR: load = ROM, type = ro, offset = $3FFA;
+ VECTOR: load = ROM, type = ro, offset = $3FFA;
}