NEW 10 'CHRVIEW 20 CLS:W=12:Z=2:LCW,0:?" ";:FORI=0TO15:?HEX$(I);:NEXT:? 30 J=0:LCW,J+2:?HEX$(J);" ";:FORI=0TO7:?CHR$(J*16+I);:NEXT:? 40 J=1:LCW,J+2:?HEX$(J);" ";:FORI=9TO11:?CHR$(J*16+I);:NEXT:? 50 FORJ=2TO15:LCW,J+2:?HEX$(J);" ";:FORI=0TO15:?CHR$(J*16+I);:NEXT:?:NEXT 60 LCW,19:?" ";:FORI=0TO15:?HEX$(I);:NEXT:?:IF(C<0)|(C>#FF)C=#E0 70 E=C*8:GSB@SET 80 @LP:K=INKEY():IFK=0GOTO@LP 90 IFK=69LC0,20:INPUT"EDIT",C:E=C*8:GSB@SET 100 IFK=71LRUN1 110 IFK=72LRUN2 120 IFK=73LRUN3 130 IFK=80CLP:GSB@SET 140 IFK=79COPY#700,0,256:GSB@SET 150 IFK=86GOTO@EN 160 IFK=67LC0,20:INPUT"COPY",M:M=M*8:FORJ=0TO7:POKEE+J,PEEK(M+J):NEXT:GSB@SET 170 GOTO@LP 180 @SET:LC0,0:?CHR$(C);" #";HEX$(C,2);" ";C 190 FORJ=0TO7:D=PEEK(E+J):FORI=0TO7:LCI,J+Z 200 IF(D&128)?CHR$(1):ELSE?CHR$(#90) 210 D=D<<1:NEXT:NEXT:RTN 220 @EN:CLS:?:?"NEW":?:?"LOAD3":?:? 230 ?(C-#DE);" POKE#";HEX$(E);:FORJ=0TO7:?",";PEEK(E+J);:NEXT 240 ?:?"SAVE3":?:?:?"LRUN0":LC0,0 SAVE 0 NEW 10 'CHREDIT 20 E=C*8:Z=2:GSB@SET:X=0:Y=0:N=SCR(X,Y+Z):G=0 30 @LP:K=INKEY():F=0:IFK>0LCX,Y+Z:?CHR$(N) 40 X=X-(K=28)*(X>0)+(K=29)*(X<7):Y=Y-(K=30)*(Y>0)+(K=31)*(Y<7) 50 IFK>0N=SCR(X,Y+Z) 60 IFK=88N=1:GSB@P 70 IFK=90N=#90:GSB@P 80 IFK=65FORI=0TO7:A=PEEK(E+I)>>7:B=PEEK(E+I)<<1:POKEE+I,A|B:NEXT:F=1 90 IFK=68FORI=0TO7:A=PEEK(E+I)>>1:B=PEEK(E+I)<<7:POKEE+I,A|B:NEXT:F=1 100 IFK=87M=PEEK(E):COPY E,E+1,7:POKEE+7,M:F=1 110 IFK=83:M=PEEK(E+7):COPY E+7,E+6,-7:POKEE,M:F=1 120 IFF=1GSB@SET 130 IFK=86LRUN0 140 G=(G=0):LCX,Y+Z:IFG?CHR$(2)ELSE?CHR$(N) 150 GOTO@LP 160 @SET:LC0,0:?CHR$(C);" #";HEX$(C,2);" ";C 170 FORJ=0TO7:D=PEEK(E+J):FORI=0TO7:LCI,J+Z 180 IF(D&128)?CHR$(1):ELSE?CHR$(#90) 190 D=D<<1:NEXT:NEXT:RTN 200 @P:LCX,Y+Z:?CHR$(N):D=0:FORI=0TO7:D=D<<1|(SCR(I,Y+Z)=1):NEXT:POKE(E+Y),D:RTN SAVE 1 NEW 10 'CHREFFECT 20 E=C*8:Z=2:GSB@SET 30 @LP:K=INKEY():IFK=0:GOTO@LP 40 IFK=86LRUN0 50 IFK=67LC0,20:INPUT"COPY",M:M=M*8:FORJ=0TO7:POKEE+J,PEEK(M+J):NEXT:GSB@SET:GOTO@LP 60 IFK=82:FORJ=0TO7:POKE(E+J),(PEEK(E+J)^255):NEXT:GSB@SET:GOTO@LP 70 FORJ=0TO7:D=PEEK(E+J):FORI=0TO7:LCI,J+Z 80 IFK=65LC7-I,J+Z 90 IFK=83LCI,7-J+Z 100 IFK=70LC7-J,I+Z 110 IFK=68LCJ,7-I+Z 120 IF(D&128)?CHR$(1):ELSE?CHR$(#90) 130 D=D<<1:NEXT:NEXT 140 FORJ=0TO7:D=0:FORI=0TO7:D=D<<1|(SCR(I,J+Z)=1):NEXT:POKE(E+J),D:NEXT 150 GOTO@LP 160 @SET:LC0,0:?CHR$(C);" #";HEX$(C,2);" ";C 170 FORJ=0TO7:D=PEEK(E+J):FORI=0TO7:LCI,J+Z: IF(D&128)?CHR$(1):ELSE?CHR$(#90) 180 D=D<<1:NEXT:NEXT:RTN SAVE 2 NEW 100 LRUN0 SAVE3 LRUN0
これはすごい! 単にON、OFFでPCGをキャラクタを編集できるだけじゃなく、右へシフトとか左へシフトといった機能も面白いですね。まさか、これほどのツールをIchigoJamで作れるとは。セーブのスロットもたくさん使っていて、まさに大作です!