# Configuration for assembler programs to produce .system file

FEATURES {
    STARTADDRESS: default = 2000;
}
SYMBOLS {
    __FILETYPE__: type = weak, value = $00FF; # ProDOS file type
}
MEMORY {
    ZP:     file = "",               start = $0000,         size = $00FF;
    HEADER: file = %O,               start = %S - $003A,    size = $003A;
    MAIN:   file = %O, define = yes, start = %S,            size = $C000 - %S;
    BSS:    file = "",               start = __MAIN_LAST__, size = $C000 - __MAIN_LAST__;
}
SEGMENTS {
    ZEROPAGE: load = ZP,     type = zp,  optional = yes;
    EXEHDR:   load = HEADER, type = ro,  optional = yes;
    CODE:     load = MAIN,   type = rw;
    RODATA:   load = MAIN,   type = ro,  optional = yes;
    DATA:     load = MAIN,   type = rw,  optional = yes;
    DATA256:  load = MAIN,   type = rw,  optional = yes, align = $100;
    BSS:      load = BSS,    type = bss, optional = yes, define = yes;
}
