value) is now gone, attributes are used instead. The SYMBOLS section does now support imports, so the linker config can be used to force symbols (and therefore module) imports. Evaluation of start address and size for memory areas has been delayed even further, so it is now possible to use the values from one memory area in the definition of the next one. git-svn-id: svn://svn.cc65.org/cc65/trunk@4851 b7a2c559-68d2-44c3-8de9-860c34a00d81
42 lines
1.6 KiB
INI
42 lines
1.6 KiB
INI
# Default configuration built into ld65 (allowing for 3KB of HIGHCODE)
|
|
|
|
FEATURES {
|
|
STARTADDRESS: default = $0803;
|
|
}
|
|
SYMBOLS {
|
|
__STACKSIZE__: type = weak, value = $0800; # 2k stack
|
|
}
|
|
MEMORY {
|
|
ZP: define = yes, start = $0080, size = $001A;
|
|
HEADER: file = %O, start = $0000, size = $0004;
|
|
RAM: file = %O, define = yes, start = %S, size = $9600 - __STACKSIZE__ - %S;
|
|
MOVE: file = %O, define = yes, start = $0000, size = $FFFF;
|
|
LC: define = yes, start = $D400, size = $0C00;
|
|
}
|
|
SEGMENTS {
|
|
ZEROPAGE: load = ZP, type = zp;
|
|
EXEHDR: load = HEADER, type = ro;
|
|
STARTUP: load = RAM, type = ro;
|
|
LOWCODE: load = RAM, type = ro;
|
|
CODE: load = RAM, type = ro;
|
|
RODATA: load = RAM, type = ro;
|
|
DATA: load = RAM, type = rw;
|
|
ZPSAVE: load = RAM, type = bss, define = yes;
|
|
BSS: load = RAM, type = bss, define = yes;
|
|
INIT: load = MOVE, run = RAM, type = ro, define = yes;
|
|
HIGHCODE: load = MOVE, run = LC, type = ro, optional = yes;
|
|
}
|
|
FEATURES {
|
|
CONDES: segment = INIT,
|
|
type = constructor,
|
|
label = __CONSTRUCTOR_TABLE__,
|
|
count = __CONSTRUCTOR_COUNT__;
|
|
CONDES: segment = RODATA,
|
|
type = destructor,
|
|
label = __DESTRUCTOR_TABLE__,
|
|
count = __DESTRUCTOR_COUNT__;
|
|
CONDES: segment = RODATA,
|
|
type = interruptor,
|
|
label = __INTERRUPTOR_TABLE__,
|
|
count = __INTERRUPTOR_COUNT__;
|
|
}
|