eris2010.cfg (1502B)
1 # Based on none.cfg from CC65 repository. 2 3 FEATURES { 4 STARTADDRESS: default = $200; 5 } 6 SYMBOLS { 7 # Two software stacks are defined: One data stack for the Eris 2010 OS 8 # and the parameter stack of CC65. 9 # Eris stack occupies $0200 bytes (enough to store one SD card block) 10 # right below the RAM IRQ vector 11 __ERIS_STACK_START__: type = weak, value = $7FFD-$0200; 12 __STACKSIZE__: type = weak, value = $1000; # 4k stack 13 __STACKSTART__: type = weak, value = __ERIS_STACK_START__; # $7FFE/$7FFF store RAM IRQ vector 14 __ZPSTART__: type = weak, value = $0011; # From rom_zero_page_end 15 } 16 MEMORY { 17 ZP: file = "", define = yes, start = __ZPSTART__, size = $0100-__ZPSTART__; 18 MAIN: file = %O, start = %S, size = __STACKSTART__ - __STACKSIZE__ - %S; 19 } 20 SEGMENTS { 21 ZEROPAGE: load = ZP, type = zp; 22 STARTUP: load = MAIN, type = ro, optional = yes; 23 LOWCODE: load = MAIN, type = ro, optional = yes; 24 ONCE: load = MAIN, type = ro, optional = yes; 25 CODE: load = MAIN, type = rw; 26 RODATA: load = MAIN, type = rw; 27 DATA: load = MAIN, type = rw; 28 BSS: load = MAIN, type = bss, define = yes; 29 } 30 FEATURES { 31 CONDES: type = constructor, 32 label = __CONSTRUCTOR_TABLE__, 33 count = __CONSTRUCTOR_COUNT__, 34 segment = ONCE; 35 CONDES: type = destructor, 36 label = __DESTRUCTOR_TABLE__, 37 count = __DESTRUCTOR_COUNT__, 38 segment = RODATA; 39 }