The RAM memory area symbols are referred by the startup code. The 64k and 128k variant say "for assembler" so it may be not necessary to do that there. However given the "limited" state of documentation for the target I don't assign too much value to those statements.
Additionally it's unclear to me why two variants provide symbols for the ROM memory.
# for assembler
# ld65 config file
-# ld65 --config supervision.cfg -o <prog>.bin <prog>.o
+# ld65 --config supervision-128k.cfg -o <prog>.bin <prog>.o
SYMBOLS {
__STACKSIZE__: type = weak, value = $0100; # 1 page stack
}
MEMORY {
- RAM: file = "", start = $0000, size = $2000 - __STACKSIZE__;
+ 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;
# supervision 16kbyte cartridge
# ld65 config file
-# ld65 --config supervision16.cfg -o <prog>.bin <prog>.o
+# ld65 --config supervision-16k.cfg -o <prog>.bin <prog>.o
SYMBOLS {
__STACKSIZE__: type = weak, value = $0100; # 1 page stack
MEMORY {
ZP: file = "", start = $0000, size = $0100;
CPUSTACK: file = "", start = $0100, size = $0100;
- RAM: file = "", start = $0200, size = $1E00 - __STACKSIZE__;
+ RAM: file = "", start = $0200, size = $1E00 - __STACKSIZE__, define = yes;
VRAM: file = "", start = $4000, size = $2000;
- ROM: file = %O, start = $C000, size = $4000, fill = yes, fillval = $ff, define=yes;
+ ROM: file = %O, start = $C000, size = $4000, fill = yes, fillval = $FF, define = yes;
}
SEGMENTS {
ZEROPAGE: load = ZP, type = zp, define = yes;
# for assembler
# ld65 config file
-# ld65 --config supervision.cfg -o <prog>.bin <prog>.o
+# ld65 --config supervision-64k.cfg -o <prog>.bin <prog>.o
SYMBOLS {
__STACKSIZE__: type = weak, value = $0100; # 1 page stack
}
MEMORY {
- RAM: file = "", start = $0000, size = $2000 - __STACKSIZE__;
+ 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;
MEMORY {
ZP: file = "", start = $0000, size = $0100;
CPUSTACK: file = "", start = $0100, size = $0100;
- RAM: file = "", start = $0200, size = $1E00 - __STACKSIZE__;
+ RAM: file = "", start = $0200, size = $1E00 - __STACKSIZE__, define = yes;
VRAM: file = "", start = $4000, size = $2000;
ROM: file = %O, start = $8000, size = $8000, fill = yes, fillval = $FF, define = yes;
}