1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-06 01:29:31 +00:00
cc65/cfg/supervision-64k.cfg
Oliver Schmidt 38049d22ba Provide symbole for RAM memory area.
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.
2018-01-31 14:53:31 +01:00

31 lines
1.3 KiB
INI

# supervision 64kbyte cartridge with bankswitching
# for assembler
# ld65 config file
# 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__, 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;
}