X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fld65%2Ftgtcfg.c;h=e2b0d22e21e7680c9a768fdeddbf2f9d4556c177;hb=2760fbd5dc43e1f55c1c352775ed2aabea7275c4;hp=9ae901c6ebe9620d185e505e87b8670aab6c93e8;hpb=5126ae8f4c5676dd0bec02a0ea9daf8b2f1eaa38;p=cc65 diff --git a/src/ld65/tgtcfg.c b/src/ld65/tgtcfg.c index 9ae901c6e..e2b0d22e2 100644 --- a/src/ld65/tgtcfg.c +++ b/src/ld65/tgtcfg.c @@ -44,184 +44,26 @@ -static const char CfgNone [] = - "MEMORY {" - "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;" - "}"; - -static const char CfgAtari [] = - "MEMORY {" - "ZP: start = $D2, size = $1C, 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;" - "}"; - -static const char CfgC64 [] = - "MEMORY {" - "ZP: start = $02, size = $1A, type = rw;" - "RAM: start = $7FF, size = $c801, file = %O;" - "}" - "SEGMENTS {" - "CODE: load = RAM, type = wprot;" - "RODATA: load = RAM, type = wprot;" - "DATA: load = RAM, type = rw;" - "BSS: load = RAM, type = bss, define = yes;" - "ZEROPAGE: load = ZP, type = zp;" - "}"; - -static const char CfgC128 [] = - "MEMORY {" - "ZP: start = $02, size = $1A, type = rw;" - "RAM: start = $1bff, size = $a401, file = %O;" - "}" - "SEGMENTS {" - "CODE: load = RAM, type = wprot;" - "RODATA: load = RAM, type = wprot;" - "DATA: load = RAM, type = rw;" - "BSS: load = RAM, type = bss, define = yes;" - "ZEROPAGE: load = ZP, type = zp;" - "}"; - -static const char CfgAce [] = - ""; - -static const char CfgPlus4 [] = - "MEMORY {" - "ZP: start = $02, size = $1A, type = rw;" - "RAM: start = $0fff, size = $7001, file = %O;" - "}" - "SEGMENTS {" - "CODE: load = RAM, type = wprot;" - "RODATA: load = RAM, type = wprot;" - "DATA: load = RAM, type = rw;" - "BSS: load = RAM, type = bss, define = yes;" - "ZEROPAGE: load = ZP, type = zp;" - "}"; - -static const char CfgCBM610 [] = - "MEMORY {" - "ZP: start = $02, size = $1A, type = rw;" - "RAM: start = $0001, size = $FFF0, file = %O;" - "}" - "SEGMENTS {" - "CODE: load = RAM, type = wprot;" - "RODATA: load = RAM, type = wprot;" - "DATA: load = RAM, type = rw;" - "BSS: load = RAM, type = bss, define = yes;" - "ZEROPAGE: load = ZP, type = zp;" - "}"; - -static const char CfgPET [] = - "MEMORY {" - "ZP: start = $02, size = $1A, type = rw;" - "RAM: start = $03FF, size = $7BFF, file = %O;" - "}" - "SEGMENTS {" - "CODE: load = RAM, type = wprot;" - "RODATA: load = RAM, type = wprot;" - "DATA: load = RAM, type = rw;" - "BSS: load = RAM, type = bss, define = yes;" - "ZEROPAGE: load = ZP, type = zp;" - "}"; - -static const char CfgNES [] = - "MEMORY {" - "RAM: start = $0200, size = $0600, file = \"\";" - "ROM: start = $8000, size = $8000, file = %O;" - "}" - "SEGMENTS {" - "CODE: load = ROM, type = ro;" - "RODATA: load = ROM, type = ro;" - "DATA: load = ROM, run = RAM, type = rw, define = yes;" - "BSS: load = RAM, type = bss, define = yes;" - "VECTORS: load = ROM, type = ro, start = $FFFA;" - "}"; - -static const char CfgLunix [] = - "MEMORY {" - "COMBINED: start = $0000, size = $FFFF, file = %O;" - "ZEROPAGE: start = $0000, size = $0100, file = %O;" - "}" - "SEGMENTS {" - "CODE: load = COMBINED, type = wprot;" - "RODATA: load = COMBINED, type = wprot;" - "DATA: load = COMBINED, type = rw, define = yes;" - "BSS: load = COMBINED, type = bss, define = yes;" - "ZEROPAGE: load = ZEROPAGE, type = zp;" - "}" - "FILES {" - "%O: format = o65;" - "}" - "FORMATS {" - "o65: os = lunix, type = small," - "extsym = \"LUNIXKERNAL\", extsym = \"LIB6502\";" - "}"; - -static const char CfgOSA65 [] = - "MEMORY {" - "COMBINED: start = $0000, size = $FFFF, file = %O;" - "ZEROPAGE: start = $0000, size = $0100, file = %O;" - "}" - "SEGMENTS {" - "CODE: load = COMBINED, type = wprot;" - "RODATA: load = COMBINED, type = wprot;" - "DATA: load = COMBINED, type = rw, define = yes;" - "BSS: load = COMBINED, type = bss, define = yes;" - "ZEROPAGE: load = ZEROPAGE, type = zp;" - "}" - "FILES {" - "%O: format = o65;" - "}" - "FORMATS {" - "o65: os = osa65, type = small," - "extsym = \"OSA2KERNAL\", extsym = \"LIB6502\";" - "}"; - -static const char CfgApple2 [] = - "MEMORY {" - "ZP: start = $00, size = $1A, type = rw;" - "RAM: start = $800, size = $8E00, 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;" - "}"; - -static const char CfgGeos [] = - "MEMORY {" - "HEADER: start = $204, size = 508, file = %O;" - "RAM: start = $400, size = $7C00, file = %O;" - "}" - "SEGMENTS { " - "HEADER: load = HEADER, type = ro;" - "CODE: load = RAM, type = ro;" - "RODATA: load = RAM, type = ro;" - "DATA: load = RAM, type = rw;" - "BSS: load = RAM, type = bss, define = yes;" - "}"; +/* An empty config */ +static const char CfgEmpty[] = ""; + +/* Actual target configurations, converted into C strings by a perl script */ +#include "apple2.inc" +#include "atari.inc" +#include "bbc.inc" +#include "c128.inc" +#include "c64.inc" +#include "cbm510.inc" +#include "cbm610.inc" +#include "geos.inc" +#include "none.inc" +#include "pet.inc" +#include "plus4.inc" /*****************************************************************************/ -/* Data */ +/* Data */ /*****************************************************************************/ @@ -232,18 +74,16 @@ const TargetDesc Targets [TGT_COUNT] = { { BINFMT_BINARY, CfgAtari }, { BINFMT_BINARY, CfgC64 }, { BINFMT_BINARY, CfgC128 }, - { BINFMT_BINARY, CfgAce }, + { BINFMT_BINARY, CfgEmpty }, /* Ace */ { BINFMT_BINARY, CfgPlus4 }, + { BINFMT_BINARY, CfgCBM510 }, { BINFMT_BINARY, CfgCBM610 }, { BINFMT_BINARY, CfgPET }, - { BINFMT_BINARY, CfgNES }, -#if 0 - { BINFMT_O65, CfgLunix }, - { BINFMT_O65, CfgOSA65 }, -#endif + { BINFMT_BINARY, CfgBBC }, { BINFMT_BINARY, CfgApple2 }, { BINFMT_BINARY, CfgGeos }, }; +