10 esc$=CHR$(27) 20 loc$=esc$+"Y" 30 cls$=esc$+"H"+esc$+"E" 40 hole$=CHR$(187) 50 blob$=CHR$(188) 60 spc$=CHR$(32) 70 DIM c(8,8) 80 x=1:y=1 90 PRINT cls$ 100 PRINT loc$;CHR$(41);CHR$(32);"12345678" 110 FOR i=1 TO 8 120 PRINT loc$;CHR$(i+32);CHR$(39);i 130 NEXT 140 PRINT loc$;CHR$(42);CHR$(32); 150 INPUT"char : ",c 160 WHILE a$<>CHR$(27) 170 a$=UPPER$(INKEY$) 180 ox=x:oy=y 190 PRINT loc$;CHR$(y+32);CHR$(x+31);hole$; 200 IF a$=CHR$(31) THEN y=y-1:y=MAX(y,1) 210 IF a$=CHR$(30) THEN y=y+1:y=MIN(y,8) 220 IF a$=CHR$(6) THEN x=x+1:x=MIN(x,8) 230 IF a$=CHR$(1) THEN x=x-1:x=MAX(x,1) 240 PRINT loc$;CHR$(oy+32);CHR$(ox+31); 245 IF c(ox,oy)=1 THEN PRINT blob$;ELSE PRINT spc$ 250 PRINT loc$;CHR$(y+32);CHR$(x+31); 260 IF a$=CHR$(22) THEN PRINT blob$;:c(x,y)=1 270 IF a$=CHR$(28) THEN PRINT CHR$(32);:c(x,y)=0 280 WEND 290 PRINT loc$;CHR$(44);CHR$(32); 300 PRINT"The line for this is :" 310 PRINT 320 PRINT" db "; 330 PRINT c; 340 FOR j=1 TO 8 350 byte(j)=0 360 FOR i=1 TO 8 370 byte(j)=byte(j)+c(i,j)*2^(8-i) 380 NEXT i 390 PRINT",";byte(j); 400 NEXT j 410 GOSUB 490 420 PRINT:PRINT 430 FOR i=1 TO 30 440 PRINT CHR$(c); 442 NEXT i 443 PRINT:PRINT 450 PRINT:PRINT:PRINT "Another ? (Y/N) "; 460 a$=INPUT$(1) 470 IF UPPER$(a$)="Y" THEN RUN 480 END 490 a$=" " 500 FOR i=1 TO 9 510 READ n 520 x$=CHR$(n) 530 MID$(a$,i)=x$ 540 NEXT 550 DATA 33,0,0,14,73,205,5,0,201 560 FOR i=10 TO 18 570 x$=CHR$(byte(i-10)) 580 MID$(a$,i)=x$ 590 NEXT i 600 x$=CHR$(c) 610 MID$(a$,10)=x$ 620 ad=VARPTR(a$)+1 630 addr=PEEK(ad)+256*PEEK(ad+1) 640 high=INT((addr+9)/256) 650 low=addr+9-(high*256) 660 POKE addr+1,low 670 POKE addr+2,high 680 CALL addr 690 RETURN