mirror of
https://github.com/cc65/cc65.git
synced 2024-08-28 18:29:20 +00:00
- All segments but CODE are optional and CODE is R/W. Both together allow to "just" write code/data without ever explicitly using a segment. - Symbols are defined for the BSS. This allows to use/implement zerobss. - The ZP memory area isn't artificially limited.
25 lines
1003 B
INI
25 lines
1003 B
INI
FEATURES {
|
|
STARTADDRESS: default = $0200;
|
|
}
|
|
SYMBOLS {
|
|
# If you want ld65 to output a loadable-format file by default, then uncomment
|
|
# the next line. (Then, "-u __BOOT__" wouldn't be needed on the command line.)
|
|
# __BOOT__: type = import;
|
|
__STACKSIZE__: type = weak, value = $0400; # 1 kB stack
|
|
__HIMEM__: type = weak, value = $8000; # 32 kB RAM
|
|
}
|
|
MEMORY {
|
|
# for size of ZP, see runtime/zeropage.s and c1p/extzp.s
|
|
ZP: file = "", define = yes, start = $0002, size = $00FE;
|
|
HEAD: file = %O, start = $0000, size = $00B6;
|
|
MAIN: file = %O, define = yes, start = %S, size = __HIMEM__ - __STACKSIZE__ - %S;
|
|
}
|
|
SEGMENTS {
|
|
ZEROPAGE: load = ZP, type = zp, optional = yes;
|
|
BOOT: load = HEAD, type = ro, optional = yes;
|
|
CODE: load = MAIN, type = rw;
|
|
RODATA: load = MAIN, type = ro, optional = yes;
|
|
DATA: load = MAIN, type = rw, optional = yes;
|
|
BSS: load = MAIN, type = bss, optional = yes, define = yes;
|
|
}
|