Scr # 5 ( DOS TO FORTH ) 0 VARIABLE DEST 2 ALLOT : MOVEIT ( ADDR. -- ADDR.) DUP DUP 127 + C@ DUP <ROT DEST @ SWAP CMOVE DEST +! ; : NEXTSECTOR ( CURR.BLK.ADDR -- NXT.SECT) DUP 125 + C@ 3 AND 256 * SWAP 126 + C@ + 1- ; --> Scr # 6 ( DOS TO FORTH ) : CHAIN ( FORTH.SECTOR.# -- ) BEGIN BLOCK MOVEIT NEXTSECTOR DUP -1 = UNTIL DROP ; : ?RETURN ." PRESS RETURN." BEGIN KEY 155 = UNTIL ; --> Scr # 7 ( DOS TO FORTH .. GETFONT) : GETFONT ( DOS.SECT.# FORTH.SCREEN.# -- ) 4 * SWAP 1- PAD DEST ! CR ." INSERT SOURCE DISK." ?RETURN CHAIN CR ." INSERT DEST. DISK." ?RETURN 1024 0 DO 1+ DUP 1- BLOCK PAD I + SWAP 128 CMOVE UPDATE 128 +LOOP DROP FLUSH ; --> Scr # 8 ( VERSAWRITER PICTURE FETCH ) : BLANKSCREEN ( -- ) 0 0 0 SE. 1 0 0 SE. 2 0 0 SE. 4 0 0 SE. ; : GR8CLRS ( ADDR. -- ) DUP 4 + C@ 1 0 ROT SE. DUP 6 + C@ SWAP 5 + C@ 2DUP 2 <ROT SE. 4 <ROT SE. ; --> Scr # 9 ( VERSAWRITER PICTURE FETCH ) : GR7CLRS ( ADDR. -- ) DUP 4 + C@ OVER 7 + C@ 0 <ROT SE. DUP 5 + C@ OVER 8 + C@ 0 <ROT SE. DUP 6 + C@ OVER 9 + C@ 2 <ROT SE. DUP 10 + C@ SWAP 11 + C@ 4 <ROT SE. ; --> Scr # 10 ( VERSAWRITER PICTURE FETCH ) : VERSA@ ( GR.MODE DOS.SECTOR.# -- ) 1- SWAP GR. BLANKSCREEN 88 @ 14 - DEST ! CHAIN ( NOW GET COLORS ) 88 @ 14 - DUP 3 + C@ 30 = IF GR8CLRS ELSE GR7CLRS ENDIF ;
Back to previous page