# if you want to combine the 2 16 kbyte roms # make sure the halves are mirrored in the 64kbyte cartridge image # or reset from code >0xc000 and switch bank to the 3rd bank MEMORY { ZP: start = $0000, size = $100; CPUSTACK: start = $0100, size =$100; RAM: start = $0200, size = $1e00, define = yes; VRAM: start = $4000, size = $2000; ROM: start = $8000, size = $8000, fill = yes, fillval = $ff, file = %O, define = yes; } SEGMENTS { CODE: load = ROM, type = ro, define=yes; RODATA: load = ROM, type = ro, define=yes; DATA: load = ROM, run=RAM, type = rw, define = yes; FFF0: load = ROM, type = ro, offset = $7FF0; VECTOR: load = ROM, type = ro, offset = $7FFA; BSS: load = RAM, type = bss, define = yes; ZEROPAGE: load = ZP, type = zp, 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__; }