mirror of
https://github.com/cc65/cc65.git
synced 2024-12-26 08:32:00 +00:00
38049d22ba
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.
41 lines
1.7 KiB
INI
41 lines
1.7 KiB
INI
# if you want to combine the 2 16 kbyte roms
|
|
# make sure the halves are mirrored in the 64kbyte cartridge image
|
|
# or reset from code >0xc000 and switch bank to the 3rd bank
|
|
|
|
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__, define = yes;
|
|
VRAM: file = "", start = $4000, size = $2000;
|
|
ROM: file = %O, start = $8000, size = $8000, fill = yes, fillval = $FF, define = yes;
|
|
}
|
|
SEGMENTS {
|
|
ZEROPAGE: load = ZP, type = zp, define = yes;
|
|
LOWCODE: load = ROM, type = ro, optional = yes;
|
|
ONCE: load = ROM, type = ro, optional = yes;
|
|
CODE: load = ROM, type = ro, define = yes;
|
|
RODATA: load = ROM, type = ro, define = yes;
|
|
DATA: load = ROM, run = RAM, type = rw, define = yes;
|
|
FFF0: load = ROM, type = ro, offset = $7FF0;
|
|
VECTOR: load = ROM, type = ro, offset = $7FFA;
|
|
BSS: load = RAM, type = bss, define = yes;
|
|
}
|
|
FEATURES {
|
|
CONDES: type = constructor,
|
|
label = __CONSTRUCTOR_TABLE__,
|
|
count = __CONSTRUCTOR_COUNT__,
|
|
segment = ONCE;
|
|
CONDES: type = destructor,
|
|
label = __DESTRUCTOR_TABLE__,
|
|
count = __DESTRUCTOR_COUNT__,
|
|
segment = RODATA;
|
|
CONDES: type = interruptor,
|
|
label = __INTERRUPTOR_TABLE__,
|
|
count = __INTERRUPTOR_COUNT__,
|
|
segment = RODATA,
|
|
import = __CALLIRQ__;
|
|
}
|