mirror of
https://github.com/cc65/cc65.git
synced 2025-01-10 19:29:45 +00:00
4270b8a96c
The CBMx10 targets don't use the INIT segment in the startup code. So it may turn out to be not necessary at all for certain programs. The CBMx10 targets don't need symbols for the ONCE segment. Likely their definition was a C&P error in the first place.
42 lines
1.7 KiB
INI
42 lines
1.7 KiB
INI
SYMBOLS {
|
|
__STACKSIZE__: type = weak, value = $0800; # 2k stack
|
|
}
|
|
MEMORY {
|
|
HEADER: file = %O, start = $0001, size = $0050, fill = yes;
|
|
ZP: file = %O, define = yes, start = $0051, size = $00AD, fill = yes;
|
|
STARTUP: file = %O, start = $00FE, size = $0102, fill = yes;
|
|
PAGE2: file = %O, start = $0200, size = $0100, fill = yes;
|
|
PAGE3: file = %O, start = $0300, size = $0100, fill = yes;
|
|
MAIN: file = %O, start = $0400, size = $FECB - __STACKSIZE__;
|
|
}
|
|
SEGMENTS {
|
|
ZEROPAGE: load = ZP, type = zp;
|
|
EXTZP: load = ZP, type = rw, define = yes;
|
|
EXEHDR: load = HEADER, type = rw;
|
|
STARTUP: load = STARTUP, type = rw;
|
|
PAGE2: load = PAGE2, type = rw;
|
|
PAGE3: load = PAGE3, type = rw;
|
|
LOWCODE: load = MAIN, type = ro, optional = yes;
|
|
ONCE: load = MAIN, type = ro, optional = yes;
|
|
CODE: load = MAIN, type = ro;
|
|
RODATA: load = MAIN, type = ro;
|
|
DATA: load = MAIN, type = rw;
|
|
INIT: load = MAIN, type = bss, optional = yes;
|
|
BSS: load = MAIN, 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__;
|
|
}
|