X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fld65%2Fcfg%2Fc64.cfg;h=5d8befd020e5052432b0f14a357e74a528b76d5e;hb=1607b05104bcaee1e4ace7604856c62cce33c408;hp=d2a3495686158f0ea4a2a5654e41b605de00c3d6;hpb=fe75b5c3f38cffc22d30db2f4e5b6acbac1125d9;p=cc65 diff --git a/src/ld65/cfg/c64.cfg b/src/ld65/cfg/c64.cfg index d2a349568..5d8befd02 100644 --- a/src/ld65/cfg/c64.cfg +++ b/src/ld65/cfg/c64.cfg @@ -1,28 +1,39 @@ +SYMBOLS { + __LOADADDR__: type = import; + __EXEHDR__: type = import; + __STACKSIZE__: type = weak, value = $0800; # 2k stack +} MEMORY { - ZP: start = $02, size = $1A, type = rw, define = yes; - RAM: start = $7FF, size = $c801, define = yes, file = %O; + ZP: file = "", define = yes, start = $0002, size = $001A; + LOADADDR: file = %O, start = $07FF, size = $0002; + HEADER: file = %O, start = $0801, size = $000C; + RAM: file = %O, define = yes, start = $080D, size = $C7F3 - __STACKSIZE__; } SEGMENTS { - STARTUP: load = RAM, type = wprot; - LOWCODE: load = RAM, type = wprot; - CODE: load = RAM, type = wprot; - RODATA: load = RAM, type = wprot; - DATA: load = RAM, type = rw; - BSS: load = RAM, type = bss, define = yes; - ZEROPAGE: load = ZP, type = zp; + LOADADDR: load = LOADADDR, type = ro; + EXEHDR: load = HEADER, type = ro; + STARTUP: load = RAM, type = ro; + LOWCODE: load = RAM, type = ro, optional = yes; + INIT: load = RAM, type = ro, define = yes, optional = yes; + CODE: load = RAM, type = ro; + RODATA: load = RAM, type = ro; + DATA: load = RAM, type = rw; + ZPSAVE: load = RAM, type = bss; + BSS: load = RAM, type = bss, define = yes; + ZEROPAGE: load = ZP, type = zp; } FEATURES { - CONDES: segment = RODATA, - type = constructor, - label = __CONSTRUCTOR_TABLE__, - count = __CONSTRUCTOR_COUNT__; - CONDES: segment = RODATA, - type = destructor, - label = __DESTRUCTOR_TABLE__, - count = __DESTRUCTOR_COUNT__; -} -SYMBOLS { - __STACKSIZE__ = $800; # 2K stack + CONDES: type = constructor, + label = __CONSTRUCTOR_TABLE__, + count = __CONSTRUCTOR_COUNT__, + segment = INIT; + CONDES: type = destructor, + label = __DESTRUCTOR_TABLE__, + count = __DESTRUCTOR_COUNT__, + segment = RODATA; + CONDES: type = interruptor, + label = __INTERRUPTOR_TABLE__, + count = __INTERRUPTOR_COUNT__, + segment = RODATA, + import = __CALLIRQ__; } - -