--- /dev/null
+FEATURES {
+    STARTADDRESS: default = $1000;
+}
+SYMBOLS {
+_cas_init: type = import;
+    __STACKSIZE__:       type = weak, value = $0800; # 2k stack
+    __STARTADDRESS__:    type = export, value = %S;
+    __RESERVED_MEMORY__: type = weak, value = $0000;
+}
+MEMORY {
+    ZP:            file = "", define = yes, start = $0082, size = $007E;
+
+# file header, just $FFFF
+#    HEADER:        file = "",               start = $0000, size = $0002;
+
+#     CASHDR: file = %O, start = $3FD, size = 128, fill = yes;
+     CASHDR: file = %O, start = $0, size = 6;
+# "main program" load chunk
+#    MAINHDR:       file = "",               start = $0000, size = $0004;
+    RAM:           file = %O, define = yes, start = %S,    size = $BC20 - __STACKSIZE__ - __RESERVED_MEMORY__ - %S;
+#    TRAILER:       file = "",               start = $0000, size = $0006;
+}
+SEGMENTS {
+#    EXEHDR:    load = HEADER,     type = ro;
+#    MAINHDR:   load = MAINHDR,    type = ro;
+     CASHDR:   load = CASHDR, type = ro;
+     CASINIT:  load = RAM, type = ro;
+    STARTUP:   load = RAM,        type = ro,  define = yes;
+    LOWCODE:   load = RAM,        type = ro,  define = yes, optional = yes;
+    INIT:      load = RAM,        type = ro,                optional = yes;
+    CODE:      load = RAM,        type = ro,  define = yes;
+    RODATA:    load = RAM,        type = ro;
+    DATA:      load = RAM,        type = rw;
+    BSS:       load = RAM,        type = bss, define = yes;
+    ZEROPAGE:  load = ZP,         type = zp;
+    EXTZP:     load = ZP,         type = zp,                optional = yes;
+#    AUTOSTRT:  load = TRAILER,    type = ro;
+}
+FEATURES {
+    CONDES: type    = constructor,
+            label   = __CONSTRUCTOR_TABLE__,
+            count   = __CONSTRUCTOR_COUNT__,
+            segment = INIT;
+    CONDES: type    = destructor,
+            label   = __DESTRUCTOR_TABLE__,
+            count   = __DESTRUCTOR_COUNT__,
+            segment = RODATA;
+    CONDES: type    = interruptor,
+            label   = __INTERRUPTOR_TABLE__,
+            count   = __INTERRUPTOR_COUNT__,
+            segment = RODATA,
+            import  = __CALLIRQ__;
+}