2005-07-24 20:57:00 +00:00
|
|
|
FEATURES {
|
|
|
|
STARTADDRESS: default = $2E00;
|
|
|
|
}
|
2000-10-31 18:08:25 +00:00
|
|
|
MEMORY {
|
2005-02-25 07:52:50 +00:00
|
|
|
ZP: start = $0082, size = $007E, type = rw, define = yes;
|
|
|
|
HEADER: start = $0000, size = $0006, file = %O;
|
2005-07-24 20:57:00 +00:00
|
|
|
RAM: start = %S, size = $8E20, file = %O; # $8E20: matches upper bound $BC1F for
|
|
|
|
# the default start address of $2E00
|
2000-10-31 18:08:25 +00:00
|
|
|
}
|
|
|
|
SEGMENTS {
|
2005-02-25 07:52:50 +00:00
|
|
|
EXEHDR: load = HEADER, type = ro;
|
2005-03-31 21:51:48 +00:00
|
|
|
LOWCODE: load = RAM, type = ro, define = yes, optional = yes;
|
|
|
|
INIT: load = RAM, type = ro, optional = yes;
|
|
|
|
CODE: load = RAM, type = ro;
|
2005-02-25 07:52:50 +00:00
|
|
|
RODATA: load = RAM, type = ro;
|
|
|
|
DATA: load = RAM, type = rw;
|
|
|
|
BSS: load = RAM, type = bss, define = yes;
|
2005-04-21 02:10:56 +00:00
|
|
|
HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
|
2005-02-25 07:52:50 +00:00
|
|
|
ZEROPAGE: load = ZP, type = zp;
|
2005-07-22 22:47:45 +00:00
|
|
|
EXTZP: load = ZP, type = zp, optional = yes;
|
2005-02-25 07:52:50 +00:00
|
|
|
AUTOSTRT: load = RAM, type = ro;
|
2000-10-31 18:08:25 +00:00
|
|
|
}
|
2000-11-20 23:04:30 +00:00
|
|
|
FEATURES {
|
2005-02-26 09:06:12 +00:00
|
|
|
CONDES: segment = INIT,
|
2000-11-20 23:04:30 +00:00
|
|
|
type = constructor,
|
|
|
|
label = __CONSTRUCTOR_TABLE__,
|
|
|
|
count = __CONSTRUCTOR_COUNT__;
|
|
|
|
CONDES: segment = RODATA,
|
|
|
|
type = destructor,
|
|
|
|
label = __DESTRUCTOR_TABLE__,
|
|
|
|
count = __DESTRUCTOR_COUNT__;
|
2005-04-21 02:10:56 +00:00
|
|
|
CONDES: type = interruptor,
|
|
|
|
segment = RODATA,
|
|
|
|
label = __INTERRUPTOR_TABLE__,
|
|
|
|
count = __INTERRUPTOR_COUNT__;
|
2000-11-20 23:04:30 +00:00
|
|
|
}
|
2001-03-10 14:24:58 +00:00
|
|
|
SYMBOLS {
|
|
|
|
__STACKSIZE__ = $800; # 2K stack
|
|
|
|
}
|