MEMORY {
- ZP: start = $00, size = $1A, type = rw, define = yes;
- HEADER: start = $0000, size = $4, file = %O;
- RAM: start = $4000, size = $7600, file = %O;
+ ZP: start = $0000, size = $001A, type = rw, define = yes;
+ HEADER: start = $0000, size = $0004, file = %O;
+ RAM: start = $4000, size = $7600, file = %O;
}
SEGMENTS {
- EXEHDR: load = HEADER, type = ro;
- STARTUP: load = RAM, type = ro, define = yes;
- LOWCODE: load = RAM, type = ro;
- CODE: load = RAM, type = ro;
- RODATA: load = RAM, type = ro;
- DATA: load = RAM, type = rw;
- BSS: load = RAM, type = bss, define = yes;
- ZEROPAGE: load = ZP, type = zp;
+ EXEHDR: load = HEADER, type = ro;
+ STARTUP: load = RAM, type = ro, define = yes;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
+ CODE: load = RAM, type = ro;
+ RODATA: load = RAM, type = ro;
+ DATA: load = RAM, type = rw;
+ BSS: load = RAM, type = bss, define = yes;
+ ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = RODATA,
MEMORY {
- ZP: start = $00, size = $1A, type = rw, define = yes;
- HEADER: start = $0000, size = $4, file = %O;
- RAM: start = $800, size = $8E00, file = %O;
+ ZP: start = $0000, size = $001A, type = rw, define = yes;
+ HEADER: start = $0000, size = $0004, file = %O;
+ RAM: start = $0800, size = $8E00, file = %O;
}
SEGMENTS {
- EXEHDR: load = HEADER, type = ro;
- STARTUP: load = RAM, type = ro, define = yes;
- LOWCODE: load = RAM, type = ro, optional = yes;
- CODE: load = RAM, type = ro;
- RODATA: load = RAM, type = ro;
- DATA: load = RAM, type = rw;
- BSS: load = RAM, type = bss, define = yes;
- ZEROPAGE: load = ZP, type = zp;
+ EXEHDR: load = HEADER, type = ro;
+ STARTUP: load = RAM, type = ro, define = yes;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
+ CODE: load = RAM, type = ro;
+ RODATA: load = RAM, type = ro;
+ DATA: load = RAM, type = rw;
+ BSS: load = RAM, type = bss, define = yes;
+ ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = RODATA,
MEMORY {
- ZP: start = $82, size = $7E, type = rw, define = yes;
- HEADER: start = $0000, size = $6, file = %O;
- RAM: start = $2E00, size = $8E20, file = %O; # $8E20: matches upper bound $BC1F
+ ZP: start = $0082, size = $007E, type = rw, define = yes;
+ HEADER: start = $0000, size = $0006, file = %O;
+ RAM: start = $2E00, size = $8E20, file = %O; # $8E20: matches upper bound $BC1F
}
SEGMENTS {
- EXEHDR: load = HEADER, type = ro;
- 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;
- AUTOSTRT: load = RAM, type = ro;
+ EXEHDR: load = HEADER, type = ro;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, 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;
+ AUTOSTRT: load = RAM, type = ro;
}
FEATURES {
CONDES: segment = RODATA,
MEMORY {
- ZP: start = $E2, size = $1A, type = rw, define = yes;
- TAPEHDR: start = $000, size= 14, type = ro, file = %O;
- RAM: start = $0500, size = $9300, define = yes, file = %O;
+ ZP: start = $00E2, size = $001A, type = rw, define = yes;
+ TAPEHDR: start = $0000, size = $000E, type = ro, file = %O;
+ RAM: start = $0500, size = $9300, file = %O, define = yes;
}
SEGMENTS {
- TAPEHDR: load = TAPEHDR, type = ro;
- STARTUP: load = RAM, type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- CODE: load = RAM, type = ro;
- RODATA: load = RAM, type = ro;
- DATA: load = RAM, type = rw;
- BSS: load = RAM, type = bss, define = yes;
- ZEROPAGE: load = ZP, type = zp;
+ TAPEHDR: load = TAPEHDR, type = ro;
+ STARTUP: load = RAM, type = ro;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
+ CODE: load = RAM, type = ro;
+ RODATA: load = RAM, type = ro;
+ DATA: load = RAM, type = rw;
+ BSS: load = RAM, type = bss, define = yes;
+ ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = RODATA,
MEMORY {
- ZP: start = $70, size = $20, type = rw, define = yes;
- RAM: start = $E00, size = $7200, file = %O;
+ ZP: start = $0070, size = $0020, type = rw, define = yes;
+ RAM: start = $0E00, size = $7200, file = %O;
}
SEGMENTS {
- CODE: load = RAM, type = ro;
- RODATA: load = RAM, type = ro;
- DATA: load = RAM, type = rw;
- BSS: load = RAM, type = bss, define = yes;
- ZEROPAGE: load = ZP, type = zp;
+ STARTUP: load = RAM, type = ro, define = yes;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
+ CODE: load = RAM, type = ro;
+ RODATA: load = RAM, type = ro;
+ DATA: load = RAM, type = rw;
+ BSS: load = RAM, type = bss, define = yes;
+ ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = RODATA,
-MEMORY {
- ZP: start = $02, size = $1A, type = rw, define = yes;
- RAM: start = $1bff, size = $a401, define = yes, file = %O;
+MEMORY {
+ ZP: start = $0002, size = $001A, type = rw, define = yes;
+ RAM: start = $1Bff, size = $A401, file = %O, define = yes;
}
SEGMENTS {
- STARTUP: load = RAM, type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- CODE: load = RAM, type = ro;
- RODATA: load = RAM, type = ro;
- DATA: load = RAM, type = rw;
- BSS: load = RAM, type = bss, define = yes;
- ZEROPAGE: load = ZP, type = zp;
+ STARTUP: load = RAM, type = ro;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
+ CODE: load = RAM, type = ro;
+ RODATA: load = RAM, type = ro;
+ DATA: load = RAM, type = rw;
+ BSS: load = RAM, type = bss, define = yes;
+ ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = RODATA,
MEMORY {
- ZP: start = $02, size = $1A, type = rw, define = yes;
- RAM: start = $0fff, size = $7001, file = %O;
-}
+ ZP: start = $0002, size = $001A, type = rw, define = yes;
+ RAM: start = $0FFF, size = $7001, file = %O;
+}
SEGMENTS {
- STARTUP: load = RAM, type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- CODE: load = RAM, type = ro;
- RODATA: load = RAM, type = ro;
- DATA: load = RAM, type = rw;
- BSS: load = RAM, type = bss, define = yes;
- ZEROPAGE: load = ZP, type = zp;
+ STARTUP: load = RAM, type = ro;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
+ CODE: load = RAM, type = ro;
+ RODATA: load = RAM, type = ro;
+ DATA: load = RAM, type = rw;
+ BSS: load = RAM, type = bss, define = yes;
+ ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = RODATA,
MEMORY {
- ZP: start = $02, size = $1A, type = rw, define = yes;
- RAM: start = $7FF, size = $c801, define = yes, file = %O;
+ ZP: start = $0002, size = $001A, type = rw, define = yes;
+ RAM: start = $07FF, size = $C801, file = %O, define = yes;
}
SEGMENTS {
- STARTUP: load = RAM, type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- CODE: load = RAM, type = ro;
- RODATA: load = RAM, type = ro;
- DATA: load = RAM, type = rw;
- BSS: load = RAM, type = bss, define = yes;
- ZEROPAGE: load = ZP, type = zp;
+ STARTUP: load = RAM, type = ro;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
+ CODE: load = RAM, type = ro;
+ RODATA: load = RAM, type = ro;
+ DATA: load = RAM, type = rw;
+ BSS: load = RAM, type = bss, define = yes;
+ ZEROPAGE: load = ZP, type = zp;
}
-FEATURES {
+FEATURES {
CONDES: segment = RODATA,
type = constructor,
label = __CONSTRUCTOR_TABLE__,
MEMORY {
- BASICHDR: start = $01, size = $50, type = rw, fill = yes, fillval = 0, file = %O;
- ZP: start = $51, size = $A6, type = rw, define = yes, fill = yes, fillval = 0, file = %O;
- STARTUP: start = $00F7, size = $109, fill = yes, fillval = 0, file = %O;
- PAGE2: start = $0200, size = $100, fill = yes, fillval = 0, file = %O;
- PAGE3: start = $0300, size = $100, fill = yes, fillval = 0, file = %O;
- RAM: start = $0400, size = $DC00, file = %O;
- CHARRAM: start = $E000, size = $1000, define = yes, file = "";
- VIDRAM: start = $F000, size = $0400, define = yes, file = "";
+ BASICHDR: start = $0001, size = $0050, fill = yes, fillval = 0, type = rw, file = %O;
+ ZP: start = $0051, size = $00A6, fill = yes, fillval = 0, type = rw, file = %O, define = yes;
+ STARTUP: start = $00F7, size = $0109, fill = yes, fillval = 0, file = %O;
+ PAGE2: start = $0200, size = $0100, fill = yes, fillval = 0, file = %O;
+ PAGE3: start = $0300, size = $0100, fill = yes, fillval = 0, file = %O;
+ RAM: start = $0400, size = $DC00, file = %O;
+ CHARRAM: start = $E000, size = $1000, define = yes, file = "";
+ VIDRAM: start = $F000, size = $0400, define = yes, file = "";
}
SEGMENTS {
BASICHDR: load = BASICHDR, type = rw;
STARTUP: load = STARTUP, type = rw;
PAGE2: load = PAGE2, type = rw;
PAGE3: load = PAGE3, type = rw;
- LOWCODE: load = RAM, type = ro, optional = yes;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
CODE: load = RAM, type = ro;
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 = rw, define = yes;
+ EXTZP: load = ZP, type = rw, define = yes;
}
FEATURES {
CONDES: segment = RODATA,
MEMORY {
- BASICHDR: start = $01, size = $50, type = rw, fill = yes, fillval = 0, file = %O;
- ZP: start = $51, size = $AD, type = rw, define = yes, fill = yes, fillval = 0, file = %O;
- STARTUP: start = $00FE, size = $102, fill = yes, fillval = 0, file = %O;
- PAGE2: start = $0200, size = $100, fill = yes, fillval = 0, file = %O;
- PAGE3: start = $0300, size = $100, fill = yes, fillval = 0, file = %O;
- RAM: start = $0400, size = $FAAE, file = %O;
+ BASICHDR: start = $0001, size = $0050, type = rw, fill = yes, fillval = 0, file = %O;
+ ZP: start = $0051, size = $00AD, type = rw, define = yes, fill = yes, fillval = 0, file = %O;
+ STARTUP: start = $00FE, size = $0102, fill = yes, fillval = 0, file = %O;
+ PAGE2: start = $0200, size = $0100, fill = yes, fillval = 0, file = %O;
+ PAGE3: start = $0300, size = $0100, fill = yes, fillval = 0, file = %O;
+ RAM: start = $0400, size = $FAAE, file = %O;
}
SEGMENTS {
BASICHDR: load = BASICHDR, type = rw;
STARTUP: load = STARTUP, type = rw;
PAGE2: load = PAGE2, type = rw;
PAGE3: load = PAGE3, type = rw;
- LOWCODE: load = RAM, type = ro, optional = yes;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
CODE: load = RAM, type = ro;
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 = rw, define = yes;
+ EXTZP: load = ZP, type = rw, define = yes;
}
FEATURES {
CONDES: segment = RODATA,
MEMORY {
- ZP: start = $58, size = $28, type = rw, define = yes;
- HEADER: start = $204, size = 508, file = %O;
- RAM: start = $400, size = $5C00, define = yes, file = %O;
+ ZP: start = $0058, size = $0028, type = rw, define = yes;
+ HEADER: start = $0204, size = $01FC, file = %O;
+ RAM: start = $0400, size = $5C00, define = yes, file = %O;
}
SEGMENTS {
- HEADER: load = HEADER, type = ro;
- STARTUP: load = RAM, type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- CODE: load = RAM, type = ro;
- 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;
+ HEADER: load = HEADER, type = ro;
+ STARTUP: load = RAM, type = ro;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
+ CODE: load = RAM, type = ro;
+ 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;
}
FEATURES {
CONDES: segment = RODATA,
# ld65 Linker-configuration for LUnix, Next Generation.
MEMORY {
- ZP: start = $80, size = $40; # userzp buffer
- RAM: start = %S, size = $7600;
+ ZP: start = $0080, size = $0040; # userzp buffer
+ RAM: start = %S, size = $7600;
}
SEGMENTS {
ZEROPAGE: load = ZP, type = zp, define = yes; # Pseudo-registers
STARTUP: load = RAM, type = ro; # First initiation code
LOWCODE: load = RAM, type = ro, optional = yes; # Legacy from other platforms
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
CODE: load = RAM, type = ro; # Program
RODATA: load = RAM, type = ro; # Literals, constants
DATA: load = RAM, type = rw; # Initialized variables
MEMORY {
- ZP: start = $00, size = $100, type = rw, define = yes;
- HEADER: start = $0000, size = $A, file = %O;
- RAM: start = $0400, size = $BA3F, define = yes, file = %O;
+ ZP: start = $0000, size = $0100, type = rw, define = yes;
+ HEADER: start = $0000, size = $000A, file = %O;
+ RAM: start = $0400, size = $BA3F, define = yes, file = %O;
}
SEGMENTS {
- EXEHDR: load = HEADER, type = ro;
- STARTUP: load = RAM, type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- CODE: load = RAM, type = ro;
- 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;
- APPZP: load = ZP, type = zp, optional = yes;
+ EXEHDR: load = HEADER, type = ro;
+ STARTUP: load = RAM, type = ro;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
+ CODE: load = RAM, type = ro;
+ 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;
+ APPZP: load = ZP, type = zp, optional = yes;
}
FEATURES {
CONDES: segment = RODATA,
SEGMENTS {
HEADER: load = HEADER, type = ro;
- STARTUP: load = ROM0, type = ro, define = yes;
- CODE: load = ROM0, type = ro, define = yes;
- RODATA: load = ROM0, type = ro, define = yes;
- DATA: load = ROM0, run = RAM, type = rw, define = yes;
+ STARTUP: load = ROM0, type = ro, define = yes;
+ LOWCODE: load = ROM0, type = ro, optional = yes;
+ INIT: load = ROM0, type = ro, define = yes, optional = yes;
+ CODE: load = ROM0, type = ro, define = yes;
+ RODATA: load = ROM0, type = ro, define = yes;
+ DATA: load = ROM0, run = RAM, type = rw, define = yes;
VECTORS: load = ROMV, type = rw;
CHARS: load = ROM2, type = rw;
- BSS: load = RAM, type = bss, define = yes;
+ BSS: load = RAM, type = bss, define = yes;
ZEROPAGE: load = ZP, type = zp;
-
}
FEATURES {
MEMORY {
- ZP: start = $00, size = $1F, type = rw, define = yes;
- RAM: start = %S, size = $10000, file = %O;
+ ZP: start = $0000, size = $0001F, type = rw, define = yes;
+ RAM: start = %S, size = $10000, file = %O;
}
SEGMENTS {
- CODE: load = RAM, type = rw;
- RODATA: load = RAM, type = rw;
- DATA: load = RAM, type = rw;
- BSS: load = RAM, type = bss, define = yes;
- ZEROPAGE: load = ZP, type = zp;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
+ CODE: load = RAM, type = rw;
+ RODATA: load = RAM, type = rw;
+ DATA: load = RAM, type = rw;
+ BSS: load = RAM, type = bss, define = yes;
+ ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = RODATA,
ZEROPAGE: start = $0000, size = $0100, file = %O;
}
SEGMENTS {
- CODE: load = COMBINED, type = ro;
- RODATA: load = COMBINED, type = ro;
- DATA: load = COMBINED, type = rw, define = yes;
- BSS: load = COMBINED, type = bss, define = yes;
+ LOWCODE: load = COMBINED, type = ro, optional = yes;
+ INIT: load = COMBINED, type = ro, define = yes, optional = yes;
+ CODE: load = COMBINED, type = ro;
+ RODATA: load = COMBINED, type = ro;
+ DATA: load = COMBINED, type = rw, define = yes;
+ BSS: load = COMBINED, type = bss, define = yes;
ZEROPAGE: load = ZEROPAGE, type = zp;
}
FEATURES {
MEMORY {
- ZP: start = $55, size = $1A, type = rw, define = yes;
+ ZP: start = $0055, size = $001A, type = rw, define = yes;
RAM: start = $03FF, size = $7BFF, file = %O;
}
SEGMENTS {
- STARTUP: load = RAM, type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- CODE: load = RAM, type = ro;
- RODATA: load = RAM, type = ro;
- DATA: load = RAM, type = rw;
- BSS: load = RAM, type = bss, define = yes;
- ZEROPAGE: load = ZP, type = zp;
+ STARTUP: load = RAM, type = ro;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
+ CODE: load = RAM, type = ro;
+ RODATA: load = RAM, type = ro;
+ DATA: load = RAM, type = rw;
+ BSS: load = RAM, type = bss, define = yes;
+ ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = RODATA,
MEMORY {
- ZP: start = $02, size = $1A, type = rw, define = yes;
- RAM: start = $0fff, size = $ED01, file = %O;
+ ZP: start = $0002, size = $001A, type = rw, define = yes;
+ RAM: start = $0FFF, size = $ED01, file = %O;
}
SEGMENTS {
- STARTUP: load = RAM, type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- CODE: load = RAM, type = ro;
- RODATA: load = RAM, type = ro;
- DATA: load = RAM, type = rw;
- BSS: load = RAM, type = bss, define = yes;
- ZEROPAGE: load = ZP, type = zp;
+ STARTUP: load = RAM, type = ro;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
+ CODE: load = RAM, type = ro;
+ RODATA: load = RAM, type = ro;
+ DATA: load = RAM, type = rw;
+ BSS: load = RAM, type = bss, define = yes;
+ ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = RODATA,
# 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;
+ ZP: start = $0000, size = $0100;
+ CPUSTACK: start = $0100, size = $0100;
+ 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;
+ LOWCODE: load = ROM, type = ro, optional = yes;
+ 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;
+ 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 {
# ld65 --config supervision.cfg -o <prog>.bin <prog>.o
MEMORY {
- RAM: start = $0000, size = $2000;
- VRAM: start = $4000, size = $2000;
- BANKROM1: start = $8000, size = $4000, fill = yes, fillval=$ff, file=%O;
- BANKROM2: start = $8000, size = $4000, fill = yes, fillval=$ff, file=%O;
- BANKROM3: start = $8000, size = $4000, fill = yes, fillval=$ff, file=%O;
- BANKROM4: start = $8000, size = $4000, fill = yes, fillval=$ff, file=%O;
- BANKROM5: start = $8000, size = $4000, fill = yes, fillval=$ff, file=%O;
- BANKROM6: start = $8000, size = $4000, fill = yes, fillval=$ff, file=%O;
- BANKROM7: start = $8000, size = $4000, fill = yes, fillval=$ff, file=%O;
- ROM: start = $c000, size = $4000, fill = yes, fillval = $ff, file=%O;
+ RAM: start = $0000, size = $2000;
+ VRAM: start = $4000, size = $2000;
+ BANKROM1: start = $8000, size = $4000, fill = yes, fillval = $FF, file = %O;
+ BANKROM2: start = $8000, size = $4000, fill = yes, fillval = $FF, file = %O;
+ BANKROM3: start = $8000, size = $4000, fill = yes, fillval = $FF, file = %O;
+ BANKROM4: start = $8000, size = $4000, fill = yes, fillval = $FF, file = %O;
+ BANKROM5: start = $8000, size = $4000, fill = yes, fillval = $FF, file = %O;
+ BANKROM6: start = $8000, size = $4000, fill = yes, fillval = $FF, file = %O;
+ BANKROM7: start = $8000, size = $4000, fill = yes, fillval = $FF, file = %O;
+ ROM: start = $c000, size = $4000, fill = yes, fillval = $FF, file = %O;
}
SEGMENTS {
- CODE: load = ROM, type = ro;
- BANK1: load = BANKROM1, type = ro;
- BANK2: load = BANKROM2, type = ro;
- BANK3: load = BANKROM3, type = ro;
- BANK4: load = BANKROM4, type = ro;
- BANK5: load = BANKROM5, type = ro;
- BANK6: load = BANKROM6, type = ro;
- BANK7: load = BANKROM7, type = ro;
- ZEROPAGE: load = RAM, type = bss, define = yes;
- DATA: load = RAM, type = bss, offset= $200, define = yes;
- BSS: load = RAM, type = bss, define = yes;
- VECTOR: load = ROM, type = ro, offset = $3FFA;
+ LOWCODE: load = ROM, type = ro, optional = yes;
+ INIT: load = ROM, type = ro, define = yes, optional = yes;
+ CODE: load = ROM, type = ro;
+ BANK1: load = BANKROM1, type = ro;
+ BANK2: load = BANKROM2, type = ro;
+ BANK3: load = BANKROM3, type = ro;
+ BANK4: load = BANKROM4, type = ro;
+ BANK5: load = BANKROM5, type = ro;
+ BANK6: load = BANKROM6, type = ro;
+ BANK7: load = BANKROM7, type = ro;
+ ZEROPAGE: load = RAM, type = bss, define = yes;
+ DATA: load = RAM, type = bss, offset = $0200, define = yes;
+ BSS: load = RAM, type = bss, define = yes;
+ VECTOR: load = ROM, type = ro, offset = $3FFA;
}
# ld65 config file
# ld65 --config supervision16.cfg -o <prog>.bin <prog>.o
MEMORY {
- ZP: start = $0000, size = $100;
- CPUSTACK: start = $0100, size =$100;
- RAM: start = $0200, size = $1e00;
- VRAM: start = $4000, size = $2000;
- ROM: start = $c000, size = $4000, fill = yes, fillval = $ff, file=%O, define=yes;
+ ZP: start = $0000, size = $0100;
+ CPUSTACK: start = $0100, size = $0100;
+ RAM: start = $0200, size = $1E00;
+ VRAM: start = $4000, size = $2000;
+ ROM: start = $C000, size = $4000, 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 = $3ff0;
- VECTOR: load = ROM, type = ro, offset = $3FFA;
- ZEROPAGE: load = ZP, type = zp, define = yes;
- BSS: load = RAM, type = bss, define = yes;
+ LOWCODE: load = ROM, type = ro, optional = yes;
+ 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;
+ FFF0: load = ROM, type = ro, offset = $3FF0;
+ VECTOR: load = ROM, type = ro, offset = $3FFA;
+ BSS: load = RAM, type = bss, define = yes;
+ ZEROPAGE: load = ZP, type = zp, define = yes;
}
FEATURES {
CONDES: segment = RODATA,
# ld65 --config supervision.cfg -o <prog>.bin <prog>.o
MEMORY {
- RAM: start = $0000, size = $2000;
- VRAM: start = $4000, size = $2000;
- BANKROM1: start = $8000, size = $4000, fill = yes, fillval=$ff, file=%O;
- BANKROM2: start = $8000, size = $4000, fill = yes, fillval=$ff, file=%O;
- BANKROM3: start = $8000, size = $4000, fill = yes, fillval=$ff, file=%O;
- ROM: start = $c000, size = $4000, fill = yes, fillval = $ff, file=%O;
+ RAM: start = $0000, size = $2000;
+ VRAM: start = $4000, size = $2000;
+ BANKROM1: start = $8000, size = $4000, fill = yes, fillval = $FF, file = %O;
+ BANKROM2: start = $8000, size = $4000, fill = yes, fillval = $FF, file = %O;
+ BANKROM3: start = $8000, size = $4000, fill = yes, fillval = $FF, file = %O;
+ ROM: start = $C000, size = $4000, fill = yes, fillval = $FF, file = %O;
}
SEGMENTS {
- CODE: load = ROM, type = ro;
- RODATA: load = ROM, type = ro;
- BANK1: load = BANKROM1, type = ro;
- BANK2: load = BANKROM2, type = ro;
- BANK3: load = BANKROM3, type = ro;
- ZEROPAGE: load = RAM, type = bss, define = yes;
- DATA: load = RAM, type = bss, offset= $200, define = yes;
- BSS: load = RAM, type = bss, define = yes;
- VECTOR: load = ROM, type = ro, offset = $3FFA;
+ LOWCODE: load = ROM, type = ro, optional = yes;
+ INIT: load = ROM, type = ro, define = yes, optional = yes;
+ CODE: load = ROM, type = ro;
+ RODATA: load = ROM, type = ro;
+ BANK1: load = BANKROM1, type = ro;
+ BANK2: load = BANKROM2, type = ro;
+ BANK3: load = BANKROM3, type = ro;
+ ZEROPAGE: load = RAM, type = bss, define = yes;
+ DATA: load = RAM, type = bss, offset = $0200, define = yes;
+ BSS: load = RAM, type = bss, define = yes;
+ VECTOR: load = ROM, type = ro, offset = $3FFA;
}
MEMORY {
- ZP: start = $02, size = $1A, type = rw, define = yes;
- RAM: start = $FFF, size = $0E01, define = yes, file = %O;
+ ZP: start = $0002, size = $001A, type = rw, define = yes;
+ RAM: start = $0FFF, size = $0E01, define = yes, file = %O;
}
SEGMENTS {
- STARTUP: load = RAM , type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- CODE: load = RAM, type = ro;
- RODATA: load = RAM, type = ro;
- DATA: load = RAM, type = rw;
- BSS: load = RAM, type = bss, define = yes;
- ZEROPAGE: load = ZP, type = zp;
+ STARTUP: load = RAM, type = ro;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
+ CODE: load = RAM, type = ro;
+ RODATA: load = RAM, type = ro;
+ DATA: load = RAM, type = rw;
+ BSS: load = RAM, type = bss, define = yes;
+ ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = RODATA,