diff -ub -r -N cc65-2.17.orig/asminc/ser-kernel.inc cc65-2.17/asminc/ser-kernel.inc --- cc65-2.17.orig/asminc/ser-kernel.inc 2018-03-07 23:05:21.000000000 +0100 +++ cc65-2.17/asminc/ser-kernel.inc 2020-11-26 17:00:22.378559865 +0100 @@ -158,6 +158,7 @@ .global _ser_put .global _ser_status .global _ser_ioctl + .global _ser_load_driver .global _ser_clear_ptr diff -ub -r -N cc65-2.17.orig/asminc/stdio.inc cc65-2.17/asminc/stdio.inc --- cc65-2.17.orig/asminc/stdio.inc 2018-03-07 23:05:21.000000000 +0100 +++ cc65-2.17/asminc/stdio.inc 2020-11-26 17:03:06.327211817 +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.17.orig/doc/funcref.sgml cc65-2.17/doc/funcref.sgml --- cc65-2.17.orig/doc/funcref.sgml 2018-03-07 23:05:21.000000000 +0100 +++ cc65-2.17/doc/funcref.sgml 2020-11-26 17:08:27.384517558 +0100 @@ -324,6 +324,11 @@ +

+ +(incomplete) + +

diff -ub -r -N cc65-2.17.orig/doc/index.sgml cc65-2.17/doc/index.sgml --- cc65-2.17.orig/doc/index.sgml 2018-03-07 23:05:21.000000000 +0100 +++ cc65-2.17/doc/index.sgml 2020-11-26 17:11:08.121163989 +0100 @@ -146,6 +146,9 @@ Topics specific to the Creativision Console. + + Topics specific to the EC-65K. + Topics specific to the Bit Corporation Gamate Console. diff -ub -r -N cc65-2.17.orig/doc/ld65.sgml cc65-2.17/doc/ld65.sgml --- cc65-2.17.orig/doc/ld65.sgml 2018-03-07 23:05:21.000000000 +0100 +++ cc65-2.17/doc/ld65.sgml 2020-11-26 17:12:38.726962991 +0100 @@ -165,6 +165,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.17.orig/doc/library.sgml cc65-2.17/doc/library.sgml --- cc65-2.17.orig/doc/library.sgml 2018-03-07 23:05:21.000000000 +0100 +++ cc65-2.17/doc/library.sgml 2020-11-26 17:13:57.246787849 +0100 @@ -166,6 +166,7 @@ atari atarixl atmos + EC-65K (with DOS/65) c16 (works also for the c116 with up to 32K memory) c64 c128 diff -ub -r -N cc65-2.17.orig/include/dirent.h cc65-2.17/include/dirent.h --- cc65-2.17.orig/include/dirent.h 2018-03-07 23:05:21.000000000 +0100 +++ cc65-2.17/include/dirent.h 2020-11-26 17:20:33.900890249 +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.17.orig/include/stdio.h cc65-2.17/include/stdio.h --- cc65-2.17.orig/include/stdio.h 2018-03-07 23:05:21.000000000 +0100 +++ cc65-2.17/include/stdio.h 2020-11-26 17:21:41.196735912 +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.17.orig/include/target.h cc65-2.17/include/target.h --- cc65-2.17.orig/include/target.h 2018-03-07 23:05:21.000000000 +0100 +++ cc65-2.17/include/target.h 2020-11-26 17:17:05.595364258 +0100 @@ -65,6 +65,8 @@ # include #elif defined(__TELESTRAT__) # include +#elif defined(__EC65K__) +# include #endif diff -ub -r -N cc65-2.17.orig/include/time.h cc65-2.17/include/time.h --- cc65-2.17.orig/include/time.h 2018-03-07 23:05:21.000000000 +0100 +++ cc65-2.17/include/time.h 2020-11-26 17:23:56.909422942 +0100 @@ -108,6 +108,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.17.orig/libsrc/Makefile cc65-2.17/libsrc/Makefile --- cc65-2.17.orig/libsrc/Makefile 2018-03-07 23:05:21.000000000 +0100 +++ cc65-2.17/libsrc/Makefile 2020-11-26 17:30:15.017539398 +0100 @@ -26,6 +26,7 @@ $(GEOS) \ gamate \ lynx \ + ec65k \ nes \ none \ osic1p \ diff -ub -r -N cc65-2.17.orig/src/ca65/main.c cc65-2.17/src/ca65/main.c --- cc65-2.17.orig/src/ca65/main.c 2018-03-07 23:05:21.000000000 +0100 +++ cc65-2.17/src/ca65/main.c 2020-11-26 17:34:04.367995629 +0100 @@ -330,6 +330,10 @@ NewSymbol ("__PCE__", 1); break; + case TGT_EC65K: + NewSymbol ("__EC65K__", 1); + break; + default: AbEnd ("Invalid target name: `%s'", Sys); diff -ub -r -N cc65-2.17.orig/src/cc65/main.c cc65-2.17/src/cc65/main.c --- cc65-2.17.orig/src/cc65/main.c 2018-03-07 23:05:21.000000000 +0100 +++ cc65-2.17/src/cc65/main.c 2020-11-26 17:35:02.383851163 +0100 @@ -285,6 +285,10 @@ DefineNumericMacro ("__PCE__", 1); break; + case TGT_EC65K: + DefineNumericMacro ("__EC65K__", 1); + break; + default: AbEnd ("Unknown target system type %d", Target); } diff -ub -r -N cc65-2.17.orig/src/common/target.c cc65-2.17/src/common/target.c --- cc65-2.17.orig/src/common/target.c 2018-03-07 23:05:21.000000000 +0100 +++ cc65-2.17/src/common/target.c 2020-11-26 19:28:04.516567678 +0100 @@ -157,6 +157,7 @@ { "cbm510", TGT_CBM510 }, { "cbm610", TGT_CBM610 }, { "creativision", TGT_CREATIVISION }, + { "ec65k", TGT_EC65K }, { "gamate", TGT_GAMATE }, { "geos", TGT_GEOS_CBM }, { "geos-apple", TGT_GEOS_APPLE }, @@ -213,6 +214,7 @@ { "pce", CPU_HUC6280, BINFMT_BINARY, CTNone }, { "gamate", CPU_6502, BINFMT_BINARY, CTNone }, { "c65", CPU_4510, BINFMT_BINARY, CTPET }, + { "ec65k", CPU_65C02, BINFMT_BINARY, CTNone }, }; /* Target system */ diff -ub -r -N cc65-2.17.orig/src/common/target.h cc65-2.17/src/common/target.h --- cc65-2.17.orig/src/common/target.h 2018-03-07 23:05:21.000000000 +0100 +++ cc65-2.17/src/common/target.h 2020-11-26 19:21:14.118955832 +0100 @@ -84,6 +84,7 @@ TGT_PCENGINE, TGT_GAMATE, TGT_C65, + TGT_EC65K, TGT_COUNT /* Number of target systems */ } target_t;