diff --git a/8080/CPM/Makefile b/8080/CPM/Makefile index 9059691..ab553c7 100644 --- a/8080/CPM/Makefile +++ b/8080/CPM/Makefile @@ -170,7 +170,7 @@ test-kernel.log: \ test-min.log: \ $(patsubst %, $(cpmfilesdir)/%, v4th.com sfileint.fth \ - log2file.fb \ + logfile.fth \ ans-shim.fth prelim.fth tester.fth core.fr test-min.fth) \ | emu ./emulator/run-in-runcpm.sh \ @@ -184,7 +184,7 @@ test-min.log: \ test-std.log: \ $(patsubst %, $(cpmfilesdir)/%, v4th.com sfileint.fth \ - log2file.fb core.fr) \ + logfile.fth core.fr) \ $(patsubst tests/%, $(cpmfilesdir)/%, $(wildcard tests/*.fth)) \ | emu ./emulator/run-in-runcpm.sh \ @@ -198,7 +198,7 @@ test-std.log: \ test-blk.log: \ $(patsubst %, $(cpmfilesdir)/%, v4thblk.com sfileint.fth \ - sblkint.fth log2file.fb core.fr) \ + sblkint.fth logfile.fth core.fr) \ $(patsubst tests/%, $(cpmfilesdir)/%, $(wildcard tests/*.fth) \ tests/empty.fb) | emu ./emulator/run-in-runcpm.sh \ @@ -213,7 +213,7 @@ test-blk.log: \ test3.log: \ $(patsubst %, $(cpmfilesdir)/%, v4th3.com sfileint.fth \ - log2file.fb core.fr) \ + logfile.fth core.fr) \ $(patsubst tests/%, $(cpmfilesdir)/%, $(wildcard tests/*.fth) \ tests/empty.fb) | emu ./emulator/run-in-runcpm.sh \ diff --git a/8080/CPM/tests/logfile.fth b/8080/CPM/tests/logfile.fth new file mode 100644 index 0000000..c0262bc --- /dev/null +++ b/8080/CPM/tests/logfile.fth @@ -0,0 +1,50 @@ + +\ *** Block No. 2, Hexblock 2 + +\ logfile phz 20aug23 + + Dos also Forth definitions + + $18 constant fcb\nam + create logfile ," LOGFILE TXT" fcb\nam allot 1 logfile c! + create logdma b/rec allot + variable logoffset 0 logoffset ! + + : logflush logdma dma! logfile $15 bdos $80 dma! ; + + : logc! ( c -- ) + logoffset @ dup >r logdma + c! r> 1+ + dup logoffset ! b/rec = + IF logflush 0 logoffset ! THEN ; + + +\ *** Block No. 3, Hexblock 3 + +\ log-emit log-type log-cr alsologtofile pphz 03sep23 + + : log-emit ( char -- ) + dup (emit logc! ; + + : log-type ( addr count -- ) + 0 ?DO count log-emit LOOP drop ; + + : log-cr ( -- ) + (cr #cr logc! #lf logc! ; + +Output: alsologtofile + log-emit log-cr log-type (del noop 2drop (at? ; + + +\ *** Block No. 4, Hexblock 4 + +\ logopen phz 20aug23 + + : logopen ( -- ) + logfile filenamelen + 1+ fcb\nam erase + 0 logoffset ! + logfile killfile + logfile createfile + alsologtofile ; + + : logclose ( -- ) + cr display &26 logc! logflush logfile closefile ; diff --git a/8080/CPM/tests/test-blk.fth b/8080/CPM/tests/test-blk.fth index 0171163..66f9810 100644 --- a/8080/CPM/tests/test-blk.fth +++ b/8080/CPM/tests/test-blk.fth @@ -1,5 +1,5 @@ -include log2file.fb +include logfile.fth ' noop Is .status logopen diff --git a/8080/CPM/tests/test-min.fth b/8080/CPM/tests/test-min.fth index 8e66150..9e6ff59 100644 --- a/8080/CPM/tests/test-min.fth +++ b/8080/CPM/tests/test-min.fth @@ -1,5 +1,5 @@ -include log2file.fb +include logfile.fth logopen include ans-shim.fth diff --git a/8080/CPM/tests/test-std.fth b/8080/CPM/tests/test-std.fth index dd1818a..2606c25 100644 --- a/8080/CPM/tests/test-std.fth +++ b/8080/CPM/tests/test-std.fth @@ -3,7 +3,7 @@ \ blk @ ?dup IF ." Blk " u. ?cr exit THEN \ incfile @ IF tib #tib @ cr type THEN ; -include log2file.fb +include logfile.fth logopen include ans-shim.fth