
\ *** Block No. 0, Hexblock 0



























\ *** Block No. 1, Hexblock 1



























\ *** Block No. 2, Hexblock 2



























\ *** Block No. 3, Hexblock 3



























\ *** Block No. 4, Hexblock 4



























\ *** Block No. 5, Hexblock 5



























\ *** Block No. 6, Hexblock 6



























\ *** Block No. 7, Hexblock 7



























\ *** Block No. 8, Hexblock 8



























\ *** Block No. 9, Hexblock 9



























\ *** Block No. 10, Hexblock a

\ include loadscreen           14jun20pz


  : i/o-status?  $90 c@ ;

  : dos-error  ( dev -- )
   15 busin
   BEGIN bus@ con! i/o-status? UNTIL
   busoff ;

  : unloop  r> rdrop rdrop rdrop >r ;

  : lo/hi> ( lo hi -- u )
     255 and 256 * swap 255 and + ;


  1 4 +thru









\ *** Block No. 11, Hexblock b

\   fload-dev freadline        25apr20pz

  create fload-dev  8 ,
  create fload-2nd  15 ,
| 132 constant /fib
  create fib /fib allot
  variable #fib

| : eol? ( c -- f )
   dup 0= swap #cr = or IF 0 exit THEN
   i/o-status? IF 1 exit THEN  -1 ;

| : freadline ( -- eof )
 fload-dev @ fload-2nd @ busin
 fib /fib bounds
 DO bus@ dup eol? under
     IF I c! ELSE drop THEN
 dup 0<
   IF drop ELSE I + fib - #fib ! UNLOOP
   i/o-status? busoff exit THEN
 LOOP /fib #fib !
 ." warning: line exceeds max " /fib .
 cr ." extra chars ignored" cr
 BEGIN bus@ eol? 1+ UNTIL
 i/o-status? busoff ;

\ *** Block No. 12, Hexblock c

\   fload-open  fload-close    09jun20pz

| : i/o-status?abort  i/o-status? IF cr
   fload-dev @ dos-error abort THEN ;

| : fload-open ( addr c -- )
 fload-dev @
 fload-2nd @ 1- dup fload-2nd !
 busopen
 2dup cr type bustype
 " ,s,r" count bustype busoff
 i/o-status?abort ;

| : fload-close ( -- )
 fload-dev @ fload-2nd @
 dup 1+ fload-2nd !
 busclose ;

  : factive? ( -- flag )
 fload-2nd @ 15 < ;

  : fload-close-all ( -- )
 factive? IF 15 fload-2nd @ DO
   fload-dev @ I busclose  -1 +LOOP
 15 fload-2nd ! THEN ;

\ *** Block No. 13, Hexblock d

\   include                    09jun20pz

  : \ ( -- )
 blk @ IF [compile] \ exit THEN
 #tib @ >in ! ; immediate

 create >tib-orig >tib @ ,
 fib >tib !

  : interpret-via-fib
 BEGIN freadline >r  >in off
 #fib @ #tib !  interpret  r> UNTIL ;

  : include ( -- )
 blk @ Abort" no include from blk"
 bl parse  fload-open
   interpret-via-fib
 fload-close
 #tib off >in off ;







\ *** Block No. 14, Hexblock e

\ dir dos cat                  09jun20pz
| : dev fload-dev @ ;

: dir  ( -- )
   dev 0 busopen  ascii $ bus! busoff
   dev 0 busin bus@ bus@ 2drop
   BEGIN cr bus@ bus@ 2drop
   i/o-status? 0= WHILE
   bus@ bus@ lo/hi> u.
   BEGIN bus@ ?dup WHILE con! REPEAT
   REPEAT busoff  dev 0 busclose ;

: dos  ( -- )
   bl word count ?dup
      IF dev 15 busout bustype
      busoff cr ELSE drop THEN
   dev dos-error ;

: cat   ( -- ) cr
   dev 2 busopen  bl word count bustype
   busoff  i/o-status?abort
   dev 2 busin  BEGIN bus@ con!
   i/o-status? UNTIL busoff
   dev 2 busclose ;


\ *** Block No. 15, Hexblock f



























\ *** Block No. 16, Hexblock 10



























\ *** Block No. 17, Hexblock 11



























\ *** Block No. 18, Hexblock 12



























\ *** Block No. 19, Hexblock 13



























\ *** Block No. 20, Hexblock 14

\ savesystem w/o editor        12jun20pz

| : (savsys ( adr len -- )
 [ Assembler ] Next  [ Forth ]
 ['] pause  dup push  !  \ singletask
 i/o push  i/o off  bustype ;

: savesystem   \ name must follow
    \ prepare Forth Kernal
 scr push  1 scr !  r# push  r# off
    \ now we save the system
 save
 8 2 busopen  0 parse bustype
 " ,p,w" count bustype  busoff
 8 2 busout  origin $17 -
 dup  $100 u/mod  swap bus! bus!
 here over - (savsys  busoff
 8 2 busclose
 0 (drv ! derror? abort" save-error" ;

Onlyforth





\ *** Block No. 21, Hexblock 15



























\ *** Block No. 22, Hexblock 16



























\ *** Block No. 23, Hexblock 17



























\ *** Block No. 24, Hexblock 18



























\ *** Block No. 25, Hexblock 19



























\ *** Block No. 26, Hexblock 1a



























\ *** Block No. 27, Hexblock 1b



























\ *** Block No. 28, Hexblock 1c



























\ *** Block No. 29, Hexblock 1d



























\ *** Block No. 30, Hexblock 1e



























\ *** Block No. 31, Hexblock 1f



























\ *** Block No. 32, Hexblock 20



























\ *** Block No. 33, Hexblock 21



























\ *** Block No. 34, Hexblock 22



























\ *** Block No. 35, Hexblock 23



























\ *** Block No. 36, Hexblock 24



























\ *** Block No. 37, Hexblock 25



























\ *** Block No. 38, Hexblock 26



























\ *** Block No. 39, Hexblock 27



























\ *** Block No. 40, Hexblock 28



























\ *** Block No. 41, Hexblock 29



























\ *** Block No. 42, Hexblock 2a



























\ *** Block No. 43, Hexblock 2b



























\ *** Block No. 44, Hexblock 2c



























\ *** Block No. 45, Hexblock 2d



























\ *** Block No. 46, Hexblock 2e



























\ *** Block No. 47, Hexblock 2f



























\ *** Block No. 48, Hexblock 30



























\ *** Block No. 49, Hexblock 31



























\ *** Block No. 50, Hexblock 32



























\ *** Block No. 51, Hexblock 33



























\ *** Block No. 52, Hexblock 34



























\ *** Block No. 53, Hexblock 35



























\ *** Block No. 54, Hexblock 36



























\ *** Block No. 55, Hexblock 37



























\ *** Block No. 56, Hexblock 38



























\ *** Block No. 57, Hexblock 39



























\ *** Block No. 58, Hexblock 3a



























\ *** Block No. 59, Hexblock 3b



























\ *** Block No. 60, Hexblock 3c



























\ *** Block No. 61, Hexblock 3d



























\ *** Block No. 62, Hexblock 3e



























\ *** Block No. 63, Hexblock 3f



























\ *** Block No. 64, Hexblock 40



























\ *** Block No. 65, Hexblock 41



























\ *** Block No. 66, Hexblock 42



























\ *** Block No. 67, Hexblock 43



























\ *** Block No. 68, Hexblock 44



























\ *** Block No. 69, Hexblock 45



























\ *** Block No. 70, Hexblock 46



























\ *** Block No. 71, Hexblock 47



























\ *** Block No. 72, Hexblock 48



























\ *** Block No. 73, Hexblock 49



























\ *** Block No. 74, Hexblock 4a



























\ *** Block No. 75, Hexblock 4b



























\ *** Block No. 76, Hexblock 4c



























\ *** Block No. 77, Hexblock 4d



























\ *** Block No. 78, Hexblock 4e



























\ *** Block No. 79, Hexblock 4f



























\ *** Block No. 80, Hexblock 50



























\ *** Block No. 81, Hexblock 51



























\ *** Block No. 82, Hexblock 52



























\ *** Block No. 83, Hexblock 53



























\ *** Block No. 84, Hexblock 54



























\ *** Block No. 85, Hexblock 55



























\ *** Block No. 86, Hexblock 56



























\ *** Block No. 87, Hexblock 57



























\ *** Block No. 88, Hexblock 58



























\ *** Block No. 89, Hexblock 59



























\ *** Block No. 90, Hexblock 5a



























\ *** Block No. 91, Hexblock 5b



























\ *** Block No. 92, Hexblock 5c



























\ *** Block No. 93, Hexblock 5d



























\ *** Block No. 94, Hexblock 5e



























\ *** Block No. 95, Hexblock 5f



























\ *** Block No. 96, Hexblock 60



























\ *** Block No. 97, Hexblock 61



























\ *** Block No. 98, Hexblock 62



























\ *** Block No. 99, Hexblock 63



























\ *** Block No. 100, Hexblock 64



























\ *** Block No. 101, Hexblock 65



























\ *** Block No. 102, Hexblock 66



























\ *** Block No. 103, Hexblock 67



























\ *** Block No. 104, Hexblock 68



























\ *** Block No. 105, Hexblock 69



























\ *** Block No. 106, Hexblock 6a



























\ *** Block No. 107, Hexblock 6b



























\ *** Block No. 108, Hexblock 6c



























\ *** Block No. 109, Hexblock 6d



























\ *** Block No. 110, Hexblock 6e



























\ *** Block No. 111, Hexblock 6f



























\ *** Block No. 112, Hexblock 70



























\ *** Block No. 113, Hexblock 71



























\ *** Block No. 114, Hexblock 72



























\ *** Block No. 115, Hexblock 73



























\ *** Block No. 116, Hexblock 74



























\ *** Block No. 117, Hexblock 75



























\ *** Block No. 118, Hexblock 76



























\ *** Block No. 119, Hexblock 77



























\ *** Block No. 120, Hexblock 78



























\ *** Block No. 121, Hexblock 79



























\ *** Block No. 122, Hexblock 7a



























\ *** Block No. 123, Hexblock 7b



























\ *** Block No. 124, Hexblock 7c



























\ *** Block No. 125, Hexblock 7d



























\ *** Block No. 126, Hexblock 7e



























\ *** Block No. 127, Hexblock 7f



























\ *** Block No. 128, Hexblock 80



























\ *** Block No. 129, Hexblock 81



























\ *** Block No. 130, Hexblock 82



























\ *** Block No. 131, Hexblock 83



























\ *** Block No. 132, Hexblock 84



























\ *** Block No. 133, Hexblock 85



























\ *** Block No. 134, Hexblock 86



























\ *** Block No. 135, Hexblock 87



























\ *** Block No. 136, Hexblock 88



























\ *** Block No. 137, Hexblock 89



























\ *** Block No. 138, Hexblock 8a



























\ *** Block No. 139, Hexblock 8b



























\ *** Block No. 140, Hexblock 8c



























\ *** Block No. 141, Hexblock 8d



























\ *** Block No. 142, Hexblock 8e



























\ *** Block No. 143, Hexblock 8f



























\ *** Block No. 144, Hexblock 90



























\ *** Block No. 145, Hexblock 91



























\ *** Block No. 146, Hexblock 92



























\ *** Block No. 147, Hexblock 93



























\ *** Block No. 148, Hexblock 94



























\ *** Block No. 149, Hexblock 95



























\ *** Block No. 150, Hexblock 96



























\ *** Block No. 151, Hexblock 97



























\ *** Block No. 152, Hexblock 98



























\ *** Block No. 153, Hexblock 99



























\ *** Block No. 154, Hexblock 9a



























\ *** Block No. 155, Hexblock 9b



























\ *** Block No. 156, Hexblock 9c



























\ *** Block No. 157, Hexblock 9d



























\ *** Block No. 158, Hexblock 9e



























\ *** Block No. 159, Hexblock 9f



























\ *** Block No. 160, Hexblock a0



























\ *** Block No. 161, Hexblock a1



























\ *** Block No. 162, Hexblock a2



























\ *** Block No. 163, Hexblock a3



























\ *** Block No. 164, Hexblock a4



























\ *** Block No. 165, Hexblock a5



























\ *** Block No. 166, Hexblock a6



























\ *** Block No. 167, Hexblock a7



























\ *** Block No. 168, Hexblock a8



























\ *** Block No. 169, Hexblock a9


























