10 'CHAR DE EDITOR 20 X=0:Y=0:Z=16:V=0:S=0:U=0 30 CLS:IF A>0 THEN GOTO 60 40 ?"YOKO(1-16)";:INPUT A 50 ?"TATE(1-16)";:INPUT B 60 CLS:LC 0,19:?"Width";A;" Height";B:?"O-Output r-Reset" 70 ?"CTRL #08-0A,#0C-0F,#10-15,#17-18,#1C-1F" 80 IF A*B>102 THEN ?"OVER 102(";A*B;")"; 90 LC A,B:? CHR$(#9B); 100 FOR I=0 TO 255:POKE #910+I%16+I/16*32,I:NEXT 110 FOR I=0 TO A*B:POKE #900+I%A+I/A*32,[I*(I<102)]:NEXT 120 S=SCR(X,Y) 130 POKE #900+X+Y*32,1:POKE #900+Z+V*32,1 140 K=INKEY():CLK 150 M=(K=29)-(K=28):N=(K=31)-(K=30) 160 IF K=10 THEN S=U:BEEP 5,3 170 POKE #900+X+Y*32,S 180 POKE #900+Z+V*32,U 190 IF K=79 THEN GOTO 300 200 IF K=114 THEN CLV:RUN 210 IF BTN(SPACE) THEN GOTO 250 220 X=X+M*(X+M>=0)*(X+M<A) 230 Y=Y+N*(Y+N>=0)*(Y+N<B) 240 GOTO 120 250 Z=Z+M*(Z+M>15)*(Z+M<32) 260 V=V+N*(V+N>=0)*(V+N<16) 270 U=SCR(Z,V) 280 LC 16,17:?"CHR:#";HEX$(U);"(";U;") " 290 GOTO 120 300 FOR I=0 TO A*B-1 310 IF I<102 THEN [I]=SCR(I%A,I/A) 320 NEXT 330 CLS:FOR I=0 TO A*B-1:? "#";HEX$([I]); 340 IF (I+1)%A=0 THEN ? ELSE ?","; 350 NEXT
見事なツールですね。けっこう書きやすいですし、大きさも指定できるのが親切で嬉しいです。