MEMORY { ZP: start = $82, size = $7E, type = rw; HEADER: start = $0000, size = $6, file = %O; RAM: start = $1F00, size = $9D1F, file = %O; # $9D1F: matches upper bound $BC1F } SEGMENTS { EXEHDR: load = HEADER, type = wprot; CODE: load = RAM, type = wprot, define = yes; RODATA: load = RAM, type = wprot; DATA: load = RAM, type = rw; BSS: load = RAM, type = bss, define = yes; ZEROPAGE: load = ZP, type = zp; AUTOSTRT: load = RAM, type = wprot; }