10
20
30 :
40 DEFPROClcd_init
50 cls%=1:home%=2:rtn%=3:fwd%=4:rev%=5:right%=6:left%=7
60 under%=8:block%=9:boff%=10:bon%=11:doff%=12:don%=13:coff%=14:on%=15
70 rst%=16:ENDPROC
80 :
90 DEFPROClcd_pr(X%,Y%,A$):IFA$="":ENDPROC
100 LOCAL B%,P%:B%=-(Y%>1):X%=X%+64*(Y% MOD 2)
110 PROClcd_cmd(128+X%,B%):X%=&FC83-2*B%
120 A%=147:FOR P%=1 TO LEN(A$)
130 Y%=ASCMID$(A$,P%,1):CALL&FFF4
140 NEXT:ENDPROC
150 :
160 DEFPROClcd_cmd(Y%,B%):LOCAL A%,X%
170 X%=&FC82-2*B%:A%=146
180 REPEATUNTIL((USR&FFF4)AND&800000)=0
190 A%=147:CALL&FFF4:A%=146:REPEATUNTIL((USR&FFF4)AND&800000)=0
200 IF Y%<>12:Y%=13:A%=147:CALL&FFF4
210 ENDPROC
220 :