dsforth: added `[CHAR]`
[urasm.git] / dsforth / ext_blocks.zas
blob76853f785dabd581bdc0e4f6a1f8a8f9c297e0de
1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 ;; buffers, blocks, etc...
3 ;; those words are of little use
4 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6 ;; load block line
7 $FORTH_WORD (LINE)
8 ;; AberSoft
9 ;; ( line block -- addr count )
10 ;; expects two args
11 ;; returns address
12   >R  LIT 64 B/BUF */MOD  R>
13   B/SCR * + BLOCK + LIT 64
14   ;S
15 $FORTH_END_WORD (LINE)
17 ;; leave address of line n of current screen
18 ;; this address will be in the RAM-disc buffer area
19 $FORTH_WORD LINE
20 ;; AberSoft
21 ;; ( n -- addr )
22   DUP LIT #FFF0 AND LIT 23 ?ERROR SCR @ (LINE) DROP ;S
23 $FORTH_END_WORD LINE
25 $FORTH_WORD .LINE
26 ;; AberSoft
27 ;; ( line block -- )
28   (LINE) -TRAILING XTYPE ;S
29 $FORTH_END_WORD .LINE
31 $FORTH_WORD LIST
32 ;; AberSoft
33 ;; ( scr -- )
34   DECIMAL CR DUP SCR ! (.")  ~SCR #~ .  ;;"
35   LIT 16 0 (DO)
36 list0:
37   CR I 3 .R SPACE I SCR @ .LINE ?BREAK 0BRANCH list1
38   LEAVE
39 list1:
40   (LOOP)  list0
41   CR ;S
42 $FORTH_END_WORD LIST