ACLS
OPTION DEFINT
DIM BASE[195],CHECK[195]
DIM FUNC$,CMAP$
VAR I,LOOK,TW=(400-DISPLAY()*100)/WIDTH()
BASE[0]=-31
BASE[34]=34 :BASE[38]=36
BASE[39]=32:BASE[42]=36
BASE[43]=20:BASE[46]=28
BASE[48]=38:BASE[54]=38
BASE[66]=60:BASE[70]=57
BASE[71]=49:BASE[74]=54
BASE[75]=39:BASE[78]=30
BASE[80]=81:BASE[86]=77
COPY CHECK,96,"@CHECK"
KEY 1,""
FOR I=0 TO 95
PUSH CMAP$,CHR$(I+31)
NEXT I
PUSH CMAP$,"Б бĀ ƢШ'ĒМЪмĪЖФПфпЧ
ДŌГƣг'шŪъāēīБжбĀчдƢШ
'ĒМЪмĪЖФПфпЧДŌГƣг'шŪ
ъāēīōжū чд ō ū"
WHILE 1
WAIT 1
DIM GET$=INKEY$()
IF LEN(GET$) THEN
VAR CHAR=ASC(GET$)
IF CHAR>=32 THEN
IF BASE[LOOK]+CHAR>=195||CHECK[BASE[LOOK]+CHAR]!=LOOK THEN
PRINT FUNC$;
LOOK=0:FUNC$=""
ENDIF
PUSH FUNC$,GET$
KEY 1,FUNC$
LOOK=BASE[LOOK]+CHAR
IF 0==BASE[LOOK] THEN
PRINT CMAP$[LOOK];
LOOK=0:FUNC$=""
ENDIF
ELSE
IF 13==CHAR THEN PRINT CHR$(10);
IF 8==CHAR THEN
VAR CHRS=MAX(CSRY*TW+CSRX-1,0)
LOCATE CHRS MOD TW,CHRS DIV TW
PRINT " ";
LOCATE CHRS MOD TW,CHRS DIV TW
ENDIF
ENDIF
ENDIF
WEND
@CHECK
DATA 46,0,78,34,0,0,39,43,39,38
DATA 46,39,78,42,43,46,46,78,78,39
DATA 39,48,46,71,78,71,75,54,71,66
DATA 70,74,46,75,78,34,71,71,39,43
DATA 39,38,46,39,78,42,43,46,46,78
DATA 78,39,39,48,46,71,78,71,75,54
DATA 71,66,70,74,80,75,86,0,71,71
DATA 0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,80,0,86
REM Brxoodffez,lanva?!