1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-12 22:07:16 +00:00
cc65/cfg/gamate.cfg

42 lines
1.9 KiB
INI
Raw Normal View History

2015-11-29 00:14:59 +00:00
# linker config to produce simple Gamate cartridge (.bin)
2015-11-14 12:15:29 +00:00
2015-11-22 18:02:47 +00:00
SYMBOLS {
2015-11-29 00:14:59 +00:00
__STARTUP__: type = import;
__STACKSIZE__: type = weak, value = $0080; # 1 page stack
2015-11-22 18:02:47 +00:00
}
2015-11-14 12:15:29 +00:00
MEMORY {
2015-11-29 00:14:59 +00:00
# 0000-03ff is RAM
# FIXME: what zp range can we actually use?
2015-11-29 19:04:10 +00:00
# $0a-$11 is used by IRQ/NMI, $e8 is used by NMI
ZP: start = $0012, size = $e8 - $12;
2015-11-29 00:14:59 +00:00
CPUSTACK: start = $0100, size =$100;
RAM: start = $0200, size = $200 - __STACKSIZE__, define = yes;
2015-11-29 00:14:59 +00:00
CARTHEADER: file = %O, define = yes, start = %S, size = $0029;
2015-11-29 00:14:59 +00:00
# 6000-e000 can be (Cartridge) ROM
# WARNING: fill value must be $00 else it will no more work
#ROM: start = $6000, size = $1000, fill = yes, fillval = $00, file = %O, define = yes;
#ROMFILL: start = $7000, size = $7000, fill = yes, fillval = $00, file = %O, define = yes;
# for images that have code >$6fff we must calculate the checksum!
ROM: start = $6000 + $29, size = $8000 - $29, fill = yes, fillval = $00, file = %O, define = yes;
2015-11-14 12:15:29 +00:00
}
SEGMENTS {
2015-11-29 00:14:59 +00:00
ZEROPAGE: load = ZP, type = zp, define = yes;
EXTZP: load = ZP, type = zp, define = yes, optional = yes;
APPZP: load = ZP, type = zp, define = yes, optional = yes;
STARTUP: load = CARTHEADER, type = ro, define=yes;
2015-11-29 00:14:59 +00:00
INIT: load = ROM, type = ro, define = yes, optional = yes;
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;
2015-11-14 12:15:29 +00:00
}
FEATURES {
2015-11-29 00:14:59 +00:00
CONDES: segment = RODATA, type = constructor, label = __CONSTRUCTOR_TABLE__, count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA, type = destructor, label = __DESTRUCTOR_TABLE__, count = __DESTRUCTOR_COUNT__;
CONDES: segment = RODATA, type = interruptor, label = __INTERRUPTOR_TABLE__, count = __INTERRUPTOR_COUNT__, import = __CALLIRQ__;
2015-11-14 12:15:29 +00:00
}