diff -ub -r -N cc65-2.19.orig/asminc/stdio.inc cc65-2.19/asminc/stdio.inc --- cc65-2.19.orig/asminc/stdio.inc 2020-05-30 21:03:15.000000000 +0200 +++ cc65-2.19/asminc/stdio.inc 2020-11-27 13:00:35.056537183 +0100 @@ -43,7 +43,7 @@ EOF = -1 .if .defined(__APPLE2__) FILENAME_MAX = 64+1 -.elseif .defined(__ATARI__) +.elseif .defined(__ATARI__) .or .defined(__EC65K__) FILENAME_MAX = 12+1 .elseif .defined(__LUNIX__) FILENAME_MAX = 80+1 diff -ub -r -N cc65-2.19.orig/doc/funcref.sgml cc65-2.19/doc/funcref.sgml --- cc65-2.19.orig/doc/funcref.sgml 2020-05-30 21:03:15.000000000 +0200 +++ cc65-2.19/doc/funcref.sgml 2020-11-27 13:03:33.682946673 +0100 @@ -374,6 +374,11 @@ +

+ +(incomplete) + +

This header file contains definitions for extended memory access, diff -ub -r -N cc65-2.19.orig/doc/index.sgml cc65-2.19/doc/index.sgml --- cc65-2.19.orig/doc/index.sgml 2020-05-30 21:03:15.000000000 +0200 +++ cc65-2.19/doc/index.sgml 2020-11-27 13:13:10.340052645 +0100 @@ -148,6 +148,9 @@ Topics specific to the Commander X16. + + Topics specific to the EC-65K. + Topics specific to the Bit Corporation Gamate Console. diff -ub -r -N cc65-2.19.orig/doc/ld65.sgml cc65-2.19/doc/ld65.sgml --- cc65-2.19.orig/doc/ld65.sgml 2020-05-30 21:03:15.000000000 +0200 +++ cc65-2.19/doc/ld65.sgml 2020-11-27 13:17:02.787294083 +0100 @@ -174,6 +174,7 @@ c128 cbm510 (CBM-II series with 40-column video) cbm610 (all CBM series-II computers with 80-column video) + ec65k (EC-65K with DOS/65) geos-apple geos-cbm lunix diff -ub -r -N cc65-2.19.orig/doc/library.sgml cc65-2.19/doc/library.sgml --- cc65-2.19.orig/doc/library.sgml 2020-05-30 21:03:15.000000000 +0200 +++ cc65-2.19/doc/library.sgml 2020-11-27 13:18:07.937081943 +0100 @@ -166,6 +166,7 @@ atari5200 atarixl atmos + EC-65K (with DOS/65) c128 c16 (works also for the c116 with up to 32K memory) c64 diff -ub -r -N cc65-2.19.orig/include/dirent.h cc65-2.19/include/dirent.h --- cc65-2.19.orig/include/dirent.h 2020-05-30 21:03:15.000000000 +0200 +++ cc65-2.19/include/dirent.h 2020-11-27 13:19:30.244814231 +0100 @@ -128,6 +128,12 @@ #define _DE_ISLBL(t) (0) #define _DE_ISLNK(t) (0) +#elif defined(__EC65K__) + +struct dirent { + char d_name[13]; +}; + #else struct dirent { diff -ub -r -N cc65-2.19.orig/include/stdio.h cc65-2.19/include/stdio.h --- cc65-2.19.orig/include/stdio.h 2020-05-30 21:03:15.000000000 +0200 +++ cc65-2.19/include/stdio.h 2020-11-27 13:20:18.741656635 +0100 @@ -67,7 +67,7 @@ /* Standard defines that are platform dependent */ #if defined(__APPLE2__) # define FILENAME_MAX (64+1) -#elif defined(__ATARI__) +#elif defined(__ATARI__) || defined(__EC65K__) # define FILENAME_MAX (12+1) #elif defined(__LUNIX__) # define FILENAME_MAX (80+1) diff -ub -r -N cc65-2.19.orig/include/target.h cc65-2.19/include/target.h --- cc65-2.19.orig/include/target.h 2020-05-30 21:03:15.000000000 +0200 +++ cc65-2.19/include/target.h 2020-11-27 13:21:04.517507980 +0100 @@ -65,6 +65,8 @@ # include #elif defined(__TELESTRAT__) # include +#elif defined(__EC65K__) +# include #endif diff -ub -r -N cc65-2.19.orig/include/time.h cc65-2.19/include/time.h --- cc65-2.19.orig/include/time.h 2020-05-30 21:03:15.000000000 +0200 +++ cc65-2.19/include/time.h 2020-11-27 13:22:18.085269264 +0100 @@ -115,6 +115,9 @@ #elif defined(__GEOS__) # define CLK_TCK 1 /* POSIX */ # define CLOCKS_PER_SEC 1 /* ANSI */ +#elif defined(__EC65K__) +# define CLK_TCK 64 /* POSIX */ +# define CLOCKS_PER_SEC 64 /* ANSI */ #elif defined(__LYNX__) /* The clock-rate depends on the video scan-rate; ** so, read it at run-time. diff -ub -r -N cc65-2.19.orig/libsrc/Makefile cc65-2.19/libsrc/Makefile --- cc65-2.19.orig/libsrc/Makefile 2020-05-30 21:03:15.000000000 +0200 +++ cc65-2.19/libsrc/Makefile 2020-11-27 13:26:03.189540326 +0100 @@ -27,6 +27,7 @@ $(GEOS) \ gamate \ lynx \ + ec65k \ nes \ none \ osic1p \ diff -ub -r -N cc65-2.19.orig/src/ca65/main.c cc65-2.19/src/ca65/main.c --- cc65-2.19.orig/src/ca65/main.c 2020-05-30 21:03:15.000000000 +0200 +++ cc65-2.19/src/ca65/main.c 2020-11-27 13:28:31.368061642 +0100 @@ -334,6 +334,10 @@ CBMSystem ("__CX16__"); break; + case TGT_EC65K: + NewSymbol ("__EC65K__", 1); + break; + default: AbEnd ("Invalid target name: '%s'", Sys); diff -ub -r -N cc65-2.19.orig/src/cc65/main.c cc65-2.19/src/cc65/main.c --- cc65-2.19.orig/src/cc65/main.c 2020-05-30 21:03:15.000000000 +0200 +++ cc65-2.19/src/cc65/main.c 2020-11-27 13:29:34.982856414 +0100 @@ -289,6 +289,10 @@ cbmsys ("__CX16__"); break; + case TGT_EC65K: + DefineNumericMacro ("__EC65K__", 1); + break; + default: AbEnd ("Unknown target system type %d", Target); } diff -ub -r -N cc65-2.19.orig/src/common/target.c cc65-2.19/src/common/target.c --- cc65-2.19.orig/src/common/target.c 2020-05-30 21:03:15.000000000 +0200 +++ cc65-2.19/src/common/target.c 2020-11-27 13:32:18.495329646 +0100 @@ -158,6 +158,7 @@ { "cbm610", TGT_CBM610 }, { "creativision", TGT_CREATIVISION }, { "cx16", TGT_CX16 }, + { "ec65k", TGT_EC65K }, { "gamate", TGT_GAMATE }, { "geos", TGT_GEOS_CBM }, { "geos-apple", TGT_GEOS_APPLE }, @@ -215,6 +216,7 @@ { "gamate", CPU_6502, BINFMT_BINARY, CTNone }, { "c65", CPU_4510, BINFMT_BINARY, CTPET }, { "cx16", CPU_65C02, BINFMT_BINARY, CTPET }, + { "ec65k", CPU_65C02, BINFMT_BINARY, CTNone }, }; /* Target system */ diff -ub -r -N cc65-2.19.orig/src/common/target.h cc65-2.19/src/common/target.h --- cc65-2.19.orig/src/common/target.h 2020-05-30 21:03:15.000000000 +0200 +++ cc65-2.19/src/common/target.h 2020-11-27 13:33:19.464133501 +0100 @@ -85,6 +85,7 @@ TGT_GAMATE, TGT_C65, TGT_CX16, + TGT_EC65K, TGT_COUNT /* Number of target systems */ } target_t;