1
0
mirror of https://github.com/cc65/cc65.git synced 2025-08-10 20:25:20 +00:00

add TRAILER; calculate RAM size depending on start address

git-svn-id: svn://svn.cc65.org/cc65/trunk@3560 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cpg
2005-07-29 21:16:38 +00:00
parent 5deca8b2bb
commit fe645102e4

View File

@@ -1,24 +1,27 @@
FEATURES { FEATURES {
STARTADDRESS: default = $2E00; STARTADDRESS: default = $2E00;
} }
SYMBOLS {
__STACKSIZE__ = $800; # 2K stack
}
MEMORY { MEMORY {
ZP: start = $0082, size = $007E, type = rw, define = yes; ZP: start = $0082, size = $007E, type = rw, define = yes;
HEADER: start = $0000, size = $0006, file = %O; HEADER: start = $0000, size = $0006, file = %O;
RAM: start = %S, size = $8E20, file = %O; # $8E20: matches upper bound $BC1F for RAM: start = %S, size = $BC20 - __STACKSIZE__ - %S, file = %O;
# the default start address of $2E00 TRAILER: start = $0000, size = $0006, file = %O;
} }
SEGMENTS { SEGMENTS {
EXEHDR: load = HEADER, type = ro; EXEHDR: load = HEADER, type = ro;
LOWCODE: load = RAM, type = ro, define = yes, optional = yes; LOWCODE: load = RAM, type = ro, define = yes, optional = yes;
INIT: load = RAM, type = ro, optional = yes; INIT: load = RAM, type = ro, optional = yes;
CODE: load = RAM, type = ro; CODE: load = RAM, type = ro;
RODATA: load = RAM, type = ro; RODATA: load = RAM, type = ro;
DATA: load = RAM, type = rw; DATA: load = RAM, type = rw;
BSS: load = RAM, type = bss, define = yes; BSS: load = RAM, type = bss, define = yes;
HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
ZEROPAGE: load = ZP, type = zp; ZEROPAGE: load = ZP, type = zp;
EXTZP: load = ZP, type = zp, optional = yes; EXTZP: load = ZP, type = zp, optional = yes;
AUTOSTRT: load = RAM, type = ro; AUTOSTRT: load = TRAILER, type = ro;
} }
FEATURES { FEATURES {
CONDES: segment = INIT, CONDES: segment = INIT,
@@ -34,6 +37,3 @@ FEATURES {
label = __INTERRUPTOR_TABLE__, label = __INTERRUPTOR_TABLE__,
count = __INTERRUPTOR_COUNT__; count = __INTERRUPTOR_COUNT__;
} }
SYMBOLS {
__STACKSIZE__ = $800; # 2K stack
}