2015-11-14 13:15:29 +01:00
|
|
|
# c version of 32kbyte config file
|
|
|
|
# .data located in rom
|
|
|
|
|
|
|
|
# ld65 config file
|
|
|
|
# ld65 --config gamate.cfg -o <prog>.bin <prog>.o
|
|
|
|
|
2015-11-22 19:02:47 +01:00
|
|
|
SYMBOLS {
|
|
|
|
__STARTUP__: type = import;
|
|
|
|
__STACKSIZE__: type = weak, value = $0300; # 3 pages stack
|
|
|
|
}
|
|
|
|
|
2015-11-14 13:15:29 +01:00
|
|
|
MEMORY {
|
|
|
|
ZP: start = $0000, size = $100;
|
|
|
|
CPUSTACK: start = $0100, size =$100;
|
|
|
|
RAM: start = $0200, size = $200, define = yes;
|
|
|
|
# ROM: start = $6000, size = $8000, fill = yes, fillval = $ff, file = %O, define = yes;
|
2015-11-22 19:02:47 +01:00
|
|
|
# STARTUP: file = %O, define = yes, start = $6000, size = $29, fill = yes;
|
|
|
|
# ROM: start = $6000 + __STARTUP_SIZE__, size = $8000 - __STARTUP_SIZE__, fill = yes, fillval = $ff, file = %O, define = yes;
|
|
|
|
# WARNING: fill value must be $00 else it will no more work
|
2015-11-14 13:15:29 +01:00
|
|
|
ROM: start = $6000, size = $8000, fill = yes, fillval = $00, file = %O, define = yes;
|
|
|
|
}
|
|
|
|
|
|
|
|
SEGMENTS {
|
2015-11-22 19:02:47 +01:00
|
|
|
ZEROPAGE: load = ZP, type = zp, define = yes;
|
|
|
|
STARTUP: load = ROM, type = ro, define=yes;
|
2015-11-14 13:15:29 +01:00
|
|
|
CODE: load = ROM, type = ro, define=yes;
|
|
|
|
RODATA: load = ROM, type = ro, define=yes;
|
|
|
|
DATA: load = ROM, run=RAM, type = rw, define = yes;
|
|
|
|
BSS: load = RAM, type = bss, define = yes;
|
|
|
|
}
|
|
|
|
|
|
|
|
FEATURES {
|
|
|
|
CONDES: segment = RODATA,
|
|
|
|
type = constructor,
|
|
|
|
label = __CONSTRUCTOR_TABLE__,
|
|
|
|
count = __CONSTRUCTOR_COUNT__;
|
|
|
|
CONDES: segment = RODATA,
|
|
|
|
type = destructor,
|
|
|
|
label = __DESTRUCTOR_TABLE__,
|
|
|
|
count = __DESTRUCTOR_COUNT__;
|
|
|
|
}
|