10
20 :
30 escOn$="ESC ON":escOff$="ESC OFF":ONERROR escOn$="FX229":escOff$="FX229,1"
40 OSCLI escOff$:ON ERROR OFF
50 PRINT"Press Esc,Esc to quit";CHR$13;:A%=0
60 REPEAT:last%=A%:A%=GET:P%=COUNT:IF P%>60 OR P%<10:PRINT:P%=0
70 PRINT FNh0(A%,2);TAB(P%+3);
80 PRINT FNc1(A%);TAB(P%+5);
90 PRINT FNc2(A%);TAB(P%+8);
100 PRINT FNc0(A%);TAB(P%+15);
110 UNTIL A%=27 AND last%=27:PRINT
120 OSCLI escOn$:END
130 :
140 DEFFNc0(A%):IF A%>127:="|!"+FNc0(A% AND 127)
150 IF A%<32 OR A%=127:="|"+CHR$(A% EOR 64) ELSE =LEFT$("|",A%=34 OR A%=124)+CHR$A%
160 DEFFNc1(A%):IF A%<32 OR A%=127:="." ELSE =CHR$A%
170 DEFFNc2(A%):IF A%<32 OR A%=127:="^"+CHR$(A% EOR 64) ELSE =CHR$A%
180 DEFFNh0(A%,N%)=RIGHT$("0000000"+STR$~A%,N%)