1
0
mirror of https://github.com/hsoft/collapseos.git synced 2024-11-02 08:20:57 +11:00

Compare commits

...

2 Commits

Author SHA1 Message Date
Virgil Dupras
b8ea515612 Add word WIPE 2020-04-27 21:28:34 -04:00
Virgil Dupras
2b2ccad96c Add word FILL 2020-04-27 21:22:06 -04:00
7 changed files with 17 additions and 14 deletions

View File

@ -10,7 +10,7 @@ C! c a -- Store byte c in address a
CURRENT -- a Set a to wordref of last added entry. CURRENT -- a Set a to wordref of last added entry.
CURRENT* -- a A pointer to active CURRENT*. Useful CURRENT* -- a A pointer to active CURRENT*. Useful
when we have multiple active dicts. when we have multiple active dicts.
FILL a n b -- Fill n bytes at addr a with val b.
HERE -- a Push HERE's address HERE -- a Push HERE's address
H@ -- a HERE @ H@ -- a HERE @
MOVE a1 a2 u -- Copy u bytes from a1 to a2, starting (cont.)
with a1, going up.

2
blk/051 Normal file
View File

@ -0,0 +1,2 @@
MOVE a1 a2 u -- Copy u bytes from a1 to a2, starting
with a1, going up.

View File

@ -5,7 +5,7 @@ LIST n -- Prints the contents of the block n on screen
in the form of 16 lines of 64 columns. in the form of 16 lines of 64 columns.
LOAD n -- Interprets Forth code from block n LOAD n -- Interprets Forth code from block n
LOADR n1 n2 -- Load block range between n1 and n2, inclusive. LOADR n1 n2 -- Load block range between n1 and n2, inclusive.
WIPE -- Empties current block

View File

@ -3,9 +3,9 @@
and ABORT on mismatch. ) and ABORT on mismatch. )
: AT28! ( n a -- ) : AT28! ( n a -- )
2DUP C! 2DUP C!
( as long as writing operation is running, IO/6 will toggle at each ( as long as writing operation is running, IO/6 will toggle
read attempt. We know that write is finished when we read the same at each read attempt. We know that write is finished when
value twice. ) we read the same value twice. )
BEGIN ( n1 a ) BEGIN ( n1 a )
DUP C@ ( n1 a n2 ) DUP C@ ( n1 a n2 )
OVER C@ ( n1 a n2 n3 ) OVER C@ ( n1 a n2 n3 )

15
blk/434
View File

@ -1,5 +1,4 @@
( a1 a2 u -- ) : MOVE ( a1 a2 u -- )
: MOVE
( u ) 0 DO ( u ) 0 DO
SWAP DUP I + C@ ( a2 a1 x ) SWAP DUP I + C@ ( a2 a1 x )
ROT SWAP OVER I + ( a1 a2 x a2 ) ROT SWAP OVER I + ( a1 a2 x a2 )
@ -7,10 +6,10 @@
LOOP LOOP
2DROP 2DROP
; ;
: FILL ( a n b -- )
: DELW 1- 0 SWAP C! ; SWAP 2 PICK + ( a b a+n ) ROT ( b a+n a ) DO ( b )
DUP I C!
: PREV LOOP
3 - DUP @ ( a o )
- ( a-o )
; ;
: DELW 1- 0 SWAP C! ;
: PREV 3 - DUP @ - ;

View File

@ -1,2 +1,4 @@
( b1 b2 -- ) ( b1 b2 -- )
: LOADR 1+ SWAP DO I DUP . CRLF LOAD LOOP ; : LOADR 1+ SWAP DO I DUP . CRLF LOAD LOOP ;
: WIPE BLK( 1024 0 FILL BLK!! ;

Binary file not shown.