diff --git a/cfg/sym1-32k.cfg b/cfg/sym1-32k.cfg index 0665c8cf2..9af125eaa 100644 --- a/cfg/sym1-32k.cfg +++ b/cfg/sym1-32k.cfg @@ -5,42 +5,42 @@ # ld65 --config sym1-32k.cfg -o .bin .o FEATURES { - STARTADDRESS: default = $0200; - CONDES: segment = STARTUP, - type = constructor, - label = __CONSTRUCTOR_TABLE__, - count = __CONSTRUCTOR_COUNT__; - CONDES: segment = STARTUP, - type = destructor, - label = __DESTRUCTOR_TABLE__, - count = __DESTRUCTOR_COUNT__; + STARTADDRESS: default = $0200; + CONDES: segment = STARTUP, + type = constructor, + label = __CONSTRUCTOR_TABLE__, + count = __CONSTRUCTOR_COUNT__; + CONDES: segment = STARTUP, + type = destructor, + label = __DESTRUCTOR_TABLE__, + count = __DESTRUCTOR_COUNT__; } SYMBOLS { - __STACKSIZE__: type = weak, value = $0200; # 512 byte program stack - __STARTADDRESS__: type = export, value = %S; + __STACKSIZE__: type = weak, value = $0200; # 512 byte program stack + __STARTADDRESS__: type = export, value = %S; } MEMORY { - ZP: start = $0000, size = $00F7, define = yes, file = %O; - CPUSTACK: start = $0100, size = $0100, define = yes; - RAM: start = %S, size = $8000 - %S - __STACKSIZE__, define = yes, file = %O; - MONROM: start = $8000, size = $1000, define = yes; - EXT: start = $9000, size = $1000, define = yes; - IO: start = $A000, size = $1000, define = yes; - RAE1: start = $B000, size = $1000, define = yes; - BASROM: start = $C000, size = $1000, define = yes; - RAE2: start = $E000, size = $1000, define = yes; - TOP: start = $F000, size = $1000, define = yes; + ZP: file = %O, define = yes, start = $0000, size = $00F7; + CPUSTACK: file = "", define = yes, start = $0100, size = $0100; + RAM: file = %O, define = yes, start = %S, size = $8000 - %S - __STACKSIZE__; + MONROM: file = "", define = yes, start = $8000, size = $1000; + EXT: file = "", define = yes, start = $9000, size = $1000; + IO: file = "", define = yes, start = $A000, size = $1000; + RAE1: file = "", define = yes, start = $B000, size = $1000; + BASROM: file = "", define = yes, start = $C000, size = $1000; + RAE2: file = "", define = yes, start = $E000, size = $1000; + TOP: file = "", define = yes, start = $F000, size = $1000; } SEGMENTS { - ZEROPAGE: load = ZP, type = zp, define = yes; - STARTUP: load = RAM, type = ro, define = yes; - CODE: load = RAM, type = ro, define = yes; - RODATA: load = RAM, type = ro, define = yes; - ONCE: load = RAM, type = ro, define = yes; - DATA: load = RAM, type = rw, define = yes; - BSS: load = RAM, type = bss, define = yes; + ZEROPAGE: load = ZP, type = zp, define = yes; + STARTUP: load = RAM, type = ro, define = yes; + CODE: load = RAM, type = ro, define = yes; + RODATA: load = RAM, type = ro, define = yes; + ONCE: load = RAM, type = ro, define = yes; + DATA: load = RAM, type = rw, define = yes; + BSS: load = RAM, type = bss, define = yes; } diff --git a/cfg/sym1-4k.cfg b/cfg/sym1-4k.cfg index de1be0b8a..eefb48a49 100644 --- a/cfg/sym1-4k.cfg +++ b/cfg/sym1-4k.cfg @@ -5,42 +5,42 @@ # ld65 --config sym1-4k.cfg -o .bin .o FEATURES { - STARTADDRESS: default = $0200; - CONDES: segment = STARTUP, - type = constructor, - label = __CONSTRUCTOR_TABLE__, - count = __CONSTRUCTOR_COUNT__; - CONDES: segment = STARTUP, - type = destructor, - label = __DESTRUCTOR_TABLE__, - count = __DESTRUCTOR_COUNT__; + STARTADDRESS: default = $0200; + CONDES: segment = STARTUP, + type = constructor, + label = __CONSTRUCTOR_TABLE__, + count = __CONSTRUCTOR_COUNT__; + CONDES: segment = STARTUP, + type = destructor, + label = __DESTRUCTOR_TABLE__, + count = __DESTRUCTOR_COUNT__; } SYMBOLS { - __STACKSIZE__: type = weak, value = $0080; # 128 byte program stack - __STARTADDRESS__: type = export, value = %S; + __STACKSIZE__: type = weak, value = $0080; # 128 byte program stack + __STARTADDRESS__: type = export, value = %S; } MEMORY { - ZP: start = $0000, size = $00F7, define = yes, file = %O; - CPUSTACK: start = $0100, size = $0100, define = yes; - RAM: start = %S, size = $1000 - %S - __STACKSIZE__, define = yes, file = %O; - MONROM: start = $8000, size = $1000, define = yes; - EXT: start = $9000, size = $1000, define = yes; - IO: start = $A000, size = $1000, define = yes; - RAE1: start = $B000, size = $1000, define = yes; - BASROM: start = $C000, size = $1000, define = yes; - RAE2: start = $E000, size = $1000, define = yes; - TOP: start = $F000, size = $1000, define = yes; + ZP: file = %O, define = yes, start = $0000, size = $00F7; + CPUSTACK: file = "", define = yes, start = $0100, size = $0100; + RAM: file = %O, define = yes, start = %S, size = $1000 - %S - __STACKSIZE__; + MONROM: file = "", define = yes, start = $8000, size = $1000; + EXT: file = "", define = yes, start = $9000, size = $1000; + IO: file = "", define = yes, start = $A000, size = $1000; + RAE1: file = "", define = yes, start = $B000, size = $1000; + BASROM: file = "", define = yes, start = $C000, size = $1000; + RAE2: file = "", define = yes, start = $E000, size = $1000; + TOP: file = "", define = yes, start = $F000, size = $1000; } SEGMENTS { - ZEROPAGE: load = ZP, type = zp, define = yes; - STARTUP: load = RAM, type = ro, define = yes; - CODE: load = RAM, type = ro, define = yes; - RODATA: load = RAM, type = ro, define = yes; - ONCE: load = RAM, type = ro, define = yes; - DATA: load = RAM, type = rw, define = yes; - BSS: load = RAM, type = bss, define = yes; + ZEROPAGE: load = ZP, type = zp, define = yes; + STARTUP: load = RAM, type = ro, define = yes; + CODE: load = RAM, type = ro, define = yes; + RODATA: load = RAM, type = ro, define = yes; + ONCE: load = RAM, type = ro, define = yes; + DATA: load = RAM, type = rw, define = yes; + BSS: load = RAM, type = bss, define = yes; } diff --git a/cfg/sym1.cfg b/cfg/sym1.cfg index de1be0b8a..eefb48a49 100644 --- a/cfg/sym1.cfg +++ b/cfg/sym1.cfg @@ -5,42 +5,42 @@ # ld65 --config sym1-4k.cfg -o .bin .o FEATURES { - STARTADDRESS: default = $0200; - CONDES: segment = STARTUP, - type = constructor, - label = __CONSTRUCTOR_TABLE__, - count = __CONSTRUCTOR_COUNT__; - CONDES: segment = STARTUP, - type = destructor, - label = __DESTRUCTOR_TABLE__, - count = __DESTRUCTOR_COUNT__; + STARTADDRESS: default = $0200; + CONDES: segment = STARTUP, + type = constructor, + label = __CONSTRUCTOR_TABLE__, + count = __CONSTRUCTOR_COUNT__; + CONDES: segment = STARTUP, + type = destructor, + label = __DESTRUCTOR_TABLE__, + count = __DESTRUCTOR_COUNT__; } SYMBOLS { - __STACKSIZE__: type = weak, value = $0080; # 128 byte program stack - __STARTADDRESS__: type = export, value = %S; + __STACKSIZE__: type = weak, value = $0080; # 128 byte program stack + __STARTADDRESS__: type = export, value = %S; } MEMORY { - ZP: start = $0000, size = $00F7, define = yes, file = %O; - CPUSTACK: start = $0100, size = $0100, define = yes; - RAM: start = %S, size = $1000 - %S - __STACKSIZE__, define = yes, file = %O; - MONROM: start = $8000, size = $1000, define = yes; - EXT: start = $9000, size = $1000, define = yes; - IO: start = $A000, size = $1000, define = yes; - RAE1: start = $B000, size = $1000, define = yes; - BASROM: start = $C000, size = $1000, define = yes; - RAE2: start = $E000, size = $1000, define = yes; - TOP: start = $F000, size = $1000, define = yes; + ZP: file = %O, define = yes, start = $0000, size = $00F7; + CPUSTACK: file = "", define = yes, start = $0100, size = $0100; + RAM: file = %O, define = yes, start = %S, size = $1000 - %S - __STACKSIZE__; + MONROM: file = "", define = yes, start = $8000, size = $1000; + EXT: file = "", define = yes, start = $9000, size = $1000; + IO: file = "", define = yes, start = $A000, size = $1000; + RAE1: file = "", define = yes, start = $B000, size = $1000; + BASROM: file = "", define = yes, start = $C000, size = $1000; + RAE2: file = "", define = yes, start = $E000, size = $1000; + TOP: file = "", define = yes, start = $F000, size = $1000; } SEGMENTS { - ZEROPAGE: load = ZP, type = zp, define = yes; - STARTUP: load = RAM, type = ro, define = yes; - CODE: load = RAM, type = ro, define = yes; - RODATA: load = RAM, type = ro, define = yes; - ONCE: load = RAM, type = ro, define = yes; - DATA: load = RAM, type = rw, define = yes; - BSS: load = RAM, type = bss, define = yes; + ZEROPAGE: load = ZP, type = zp, define = yes; + STARTUP: load = RAM, type = ro, define = yes; + CODE: load = RAM, type = ro, define = yes; + RODATA: load = RAM, type = ro, define = yes; + ONCE: load = RAM, type = ro, define = yes; + DATA: load = RAM, type = rw, define = yes; + BSS: load = RAM, type = bss, define = yes; } diff --git a/doc/ca65.sgml b/doc/ca65.sgml index 3fc534066..8ae8eabd9 100644 --- a/doc/ca65.sgml +++ b/doc/ca65.sgml @@ -4786,6 +4786,7 @@ compiler, depending on the target system selected: diff --git a/doc/cc65.sgml b/doc/cc65.sgml index 004061518..821e76586 100644 --- a/doc/cc65.sgml +++ b/doc/cc65.sgml @@ -1022,6 +1022,10 @@ The compiler defines several macros at startup: This macro is defined if the target is the Supervision (-t supervision). + __SYM1__ + + This macro is defined if the target is the Sym-1 (-t sym1). + __TELESTRAT__ This macro is defined if the target is the Telestrat (-t telestrat). diff --git a/libsrc/sym1/ctype.s b/libsrc/sym1/ctype.s new file mode 100644 index 000000000..1301965eb --- /dev/null +++ b/libsrc/sym1/ctype.s @@ -0,0 +1,5 @@ +; Character specification table. +; +; uses the "common" definition + + .include "ctype_common.inc" diff --git a/src/ca65/main.c b/src/ca65/main.c index bb0607b7c..0eaf4ba6b 100644 --- a/src/ca65/main.c +++ b/src/ca65/main.c @@ -335,6 +335,7 @@ static void SetSys (const char* Sys) break; case TGT_SYM1: + NewSymbol ("__SYM1__", 1); break; default: diff --git a/src/cc65/main.c b/src/cc65/main.c index d0d756b3f..89c1b190e 100644 --- a/src/cc65/main.c +++ b/src/cc65/main.c @@ -291,6 +291,7 @@ static void SetSys (const char* Sys) break; case TGT_SYM1: + DefineNumericMacro ("__SYM1__", 1); break; default: diff --git a/samples/tutorial/sym1/build b/targettest/sym1/build similarity index 100% rename from samples/tutorial/sym1/build rename to targettest/sym1/build diff --git a/samples/tutorial/sym1/build_32k b/targettest/sym1/build_32k similarity index 100% rename from samples/tutorial/sym1/build_32k rename to targettest/sym1/build_32k diff --git a/samples/tutorial/sym1/build_4k b/targettest/sym1/build_4k similarity index 100% rename from samples/tutorial/sym1/build_4k rename to targettest/sym1/build_4k diff --git a/samples/tutorial/sym1/clean b/targettest/sym1/clean similarity index 100% rename from samples/tutorial/sym1/clean rename to targettest/sym1/clean diff --git a/samples/tutorial/sym1/readme.txt b/targettest/sym1/readme.txt similarity index 100% rename from samples/tutorial/sym1/readme.txt rename to targettest/sym1/readme.txt diff --git a/samples/tutorial/sym1/symDisplay.c b/targettest/sym1/symDisplay.c similarity index 100% rename from samples/tutorial/sym1/symDisplay.c rename to targettest/sym1/symDisplay.c diff --git a/samples/tutorial/sym1/symHello.c b/targettest/sym1/symHello.c similarity index 100% rename from samples/tutorial/sym1/symHello.c rename to targettest/sym1/symHello.c diff --git a/samples/tutorial/sym1/symIO.c b/targettest/sym1/symIO.c similarity index 100% rename from samples/tutorial/sym1/symIO.c rename to targettest/sym1/symIO.c diff --git a/samples/tutorial/sym1/symNotepad.c b/targettest/sym1/symNotepad.c similarity index 100% rename from samples/tutorial/sym1/symNotepad.c rename to targettest/sym1/symNotepad.c diff --git a/samples/tutorial/sym1/symTiny.c b/targettest/sym1/symTiny.c similarity index 100% rename from samples/tutorial/sym1/symTiny.c rename to targettest/sym1/symTiny.c