First block/buffer free MSDOS v4th.com. v4thblk.com is now the version

with block/buffer implemented.
This commit is contained in:
Philip Zembrod 2022-03-23 00:23:43 +01:00
parent 48544073a1
commit b24511437e
7 changed files with 102 additions and 60 deletions

View File

@ -24,17 +24,28 @@ metafile.com: v4thfile.com src/meta.fb src/mk-meta.fth tests/log2file.fb
dos2unix -n OUTPUT.LOG metafile.log
grep -F 'Metacompiler saved as metafile.com' metafile.log
v4th.com: metafile.com src/meta.fb src/mk-v4th.fth \
src/vf86core.fth src/vf86dos.fth src/vf86file.fth src/vf86bufs.fth
v4th.com: metafile.com src/meta.fb src/v4th.fth src/vf86core.fth \
src/vf86dos.fth src/vf86file.fth src/vf86end.fth
rm -f v4th.com V4TH.COM OUTPUT.LOG
FORTHPATH="f:\\;f:\\src;f:\\tests" ./emulator/run-in-dosbox.sh \
metafile.com "include mk-v4th.fth"
metafile.com "include v4th.fth"
dos2unix -n OUTPUT.LOG v4th.log
mv V4TH.COM v4th.com
grep -F 'unresolved:' v4th.log
grep -F 'new kernel written as v4th.com' v4th.log
grep -i 'unresolved:.*[^ ]' v4th.log && exit 1 || true
v4thblk.com: metafile.com src/meta.fb src/v4thblk.fth src/vf86core.fth \
src/vf86dos.fth src/vf86file.fth src/vf86bufs.fth src/vf86end.fth
rm -f v4thblk.com V4THBLK.COM OUTPUT.LOG
FORTHPATH="f:\\;f:\\src;f:\\tests" ./emulator/run-in-dosbox.sh \
metafile.com "include v4thblk.fth"
dos2unix -n OUTPUT.LOG v4thblk.log
mv V4THBLK.COM v4thblk.com
grep -F 'unresolved:' v4thblk.log
grep -F 'new kernel written as v4thblk.com' v4thblk.log
grep -i 'unresolved:.*[^ ]' v4thblk.log && exit 1 || true
# o4th for old volks4th - the new v4th is built with precompiled
# metacompiler metafile.com and mk-v4th.fth which writes a compile log.
o4th.com o4th.log: volks4th.com src/kernel.fb
@ -90,10 +101,10 @@ test-std.log: \
dos2unix -n dosfiles/OUTPUT.LOG $@
test-blk.log: \
$(patsubst %, dosfiles/%, v4th.com $(prepfths)) \
$(patsubst %, dosfiles/%, v4thblk.com $(prepfths)) \
$(patsubst tests/%, dosfiles/%, $(wildcard tests/*.*))
rm -f dosfiles/OUTPUT.LOG
(cd dosfiles && ../emulator/run-in-dosbox.sh v4th.com \
(cd dosfiles && ../emulator/run-in-dosbox.sh v4thblk.com \
"include logprep.fth include test-blk.fth")
dos2unix -n dosfiles/OUTPUT.LOG $@

View File

@ -124,17 +124,17 @@
\ *** Block No. 7, Hexblock 7
\\ string operators append attach detract ks 21 jun 87
\ string operators append attach detract ks 21 jun 87
: append ( char addr -- )
under count + c! dup c@ 1+ swap c! ;
\ : append ( char addr -- )
\ under count + c! dup c@ 1+ swap c! ;
: attach ( addr len addr.to -- )
>r under r@ count + swap move r@ c@ + r> c! ;
\ : attach ( addr len addr.to -- )
\ >r under r@ count + swap move r@ c@ + r> c! ;
: detract ( addr -- char )
dup c@ 1- dup 0> and over c!
count >r dup count -rot swap r> cmove ;
\ : detract ( addr -- char )
\ dup c@ 1- dup 0> and over c!
\ count >r dup count -rot swap r> cmove ;

View File

@ -1,47 +0,0 @@
logopen output.log
\ : .blk|tib
\ blk @ ?dup IF ." Blk " u. ?cr exit THEN
\ incfile @ IF tib #tib @ cr type THEN ;
\ ' .blk|tib Is .status
Onlyforth
2 loadfrom META.fb
use kernel.fb
new v4th.com Onlyforth Target definitions
\ 4 &110 thru \ Standard 8088-System
include vf86core.fth
\ &112 &146 thru \ MS-DOS interface
include vf86dos.fth
include vf86file.fth
include vf86bufs.fth
: forth-83 ; \ last word in Dictionary
0 ' limit >body ! $DFF6 s0 ! $E77C r0 !
s0 @ s0 2- ! here dp !
Host tudp @ Target udp !
Host tvoc-link @ Target voc-link !
Host tnext-link @ Target next-link !
Host tfile-link @ Target Forth file-link !
Host T move-threads H
save-buffers cr .( unresolved: ) .unresolved
logclose
flush \ close n4th.com
logreopen
cr .( new kernel written as v4th.com) cr
logclose

32
8086/msdos/src/v4th.fth Normal file
View File

@ -0,0 +1,32 @@
\ with build log:
' noop alias \log
\ without build log:
\ ' \ alias \log
\log logopen output.log
\ : .blk|tib
\ blk @ ?dup IF ." Blk " u. ?cr exit THEN
\ incfile @ IF tib #tib @ cr type THEN ;
\ ' .blk|tib Is .status
Onlyforth
2 loadfrom META.fb
new v4th.com Onlyforth Target definitions
include vf86core.fth
include vf86dos.fth
include vf86file.fth
include vf86end.fth
\log logclose
flush
\log logreopen
cr .( new kernel written as v4th.com) cr
\log logclose

View File

@ -0,0 +1,33 @@
\ with build log:
' noop alias \log
\ without build log:
\ ' \ alias \log
\log logopen output.log
\ : .blk|tib
\ blk @ ?dup IF ." Blk " u. ?cr exit THEN
\ incfile @ IF tib #tib @ cr type THEN ;
\ ' .blk|tib Is .status
Onlyforth
2 loadfrom META.fb
new v4thblk.com Onlyforth Target definitions
include vf86core.fth
include vf86dos.fth
include vf86file.fth
include vf86bufs.fth
include vf86end.fth
\log logclose
flush
\log logreopen
cr .( new kernel written as v4thblk.com) cr
\log logclose

View File

@ -0,0 +1,12 @@
: forth-83 ; \ last word in Dictionary
0 ' limit >body ! $DFF6 s0 ! $E77C r0 !
s0 @ s0 2- ! here dp !
Host tudp @ Target udp !
Host tvoc-link @ Target voc-link !
Host tnext-link @ Target next-link !
Host tfile-link @ Target Forth file-link !
Host T move-threads H
save-buffers cr .( unresolved: ) .unresolved

View File

@ -1,5 +1,6 @@
include extend2.fth
\needs drv : drv 2 ; \ showing C: if drv isn't defined
include multivid.fth
\ : .blk|tib