diff --git a/recipes/trs80/.gitignore b/recipes/trs80/.gitignore index 0f5a259..9d72a14 100644 --- a/recipes/trs80/.gitignore +++ b/recipes/trs80/.gitignore @@ -1,2 +1,3 @@ /cfsin/user.h /cfsin/zasm +/cfsin/ed diff --git a/recipes/trs80/Makefile b/recipes/trs80/Makefile index 277d069..2dea7f7 100644 --- a/recipes/trs80/Makefile +++ b/recipes/trs80/Makefile @@ -1,4 +1,4 @@ -SHELLAPPS = zasm +SHELLAPPS = zasm ed APPTARGETS = ${SHELLAPPS:%=cfsin/%} CFSTARGETS = $(APPTARGETS) cfsin/user.h TARGET = os.bin diff --git a/recipes/trs80/glue.asm b/recipes/trs80/glue.asm index 2e3192d..7f8a124 100644 --- a/recipes/trs80/glue.asm +++ b/recipes/trs80/glue.asm @@ -9,11 +9,16 @@ .org 0x3000 jp init +; The TRS-80 generates a double line feed if we give it both CR and LF. +; Has to be defined before the jump table. +.equ printcrlf printcr + ; *** Jump Table *** jp strncmp jp upcase jp findchar jp printstr + jp printcrlf jp blkSet jp blkSel jp _blkGetB @@ -23,6 +28,10 @@ jp fsFindFN jp fsOpen jp fsGetB + jp fsPutB + jp fsSetSize + jp stdioPutC + jp stdioReadLine .inc "err.h" .inc "blkdev.h" @@ -53,9 +62,6 @@ .equ FS_HANDLE_COUNT 2 .inc "fs.asm" -; The TRS-80 generates a double line feed if we give it both CR and LF. -.equ printcrlf printcr - ; *** BASIC *** ; RAM space used in different routines for short term processing. diff --git a/recipes/trs80/user.h b/recipes/trs80/user.h index bab9658..c70d16b 100644 --- a/recipes/trs80/user.h +++ b/recipes/trs80/user.h @@ -3,6 +3,7 @@ .equ upcase @+3 .equ findchar @+3 .equ printstr @+3 +.equ printcrlf @+3 .equ blkSet @+3 .equ blkSel @+3 .equ _blkGetB @+3 @@ -12,3 +13,7 @@ .equ fsFindFN @+3 .equ fsOpen @+3 .equ fsGetB @+3 +.equ fsPutB @+3 +.equ fsSetSize @+3 +.equ stdioPutC @+3 +.equ stdioReadLine @+3