PCG HELP LRUN0
PCG MAKE LRUN1
PCG POKE LRUN2
PCG ROLL LRUN3
IchigoJamの#E0-#FF PCGエリアの作成を補助するツールです。
?CHR$(#E0):POKE#70,1,2,4,8,16,32,64,128
キャラクタを表示してデータを書き換えることができます。
定義されたキャラクタデータは電源を切るまで消去されません。
初期化はCLP命令
PCG HELP
PCGをキーボードから直接入力する方法 ALT SHIFT との組み合わせを表示します。
定義されているキャラクタを確認することができます。
キー入力のテストができます。
PCG MAKE
160 C=2 でCHR$(#E2)を指定。
POKEで`二進数8桁で記述したデータを書き込みます。
書き込んだデータはPOKEアドレス、8個のデータで表示。
カーソルを移動させてENTERでプログラムに追記して記録します。
C= と POKEで書き込むデータを編集して使用します。
PCG POKE LRUN2
S= E= で開始・終了を指定して、PCGを定義するPOKE文を画面に表示します。
PCG ROLL
#E2のキャラクタを左回転 右回転 180度回転 上下反転 左右反転してキャラクタに変換します。
NEW 10 'PCG HELP 20 CLS 30 CLS:?" ";CHR$(#FF);"IchigoJam PCG":? 40 ?" 0123456789ABCDEF" 50 ?" ";CHR$(#98);:FORI=0TO15:?CHR$(#91);:NEXT:? 60 ?"Alt ";CHR$(#92); 70 FORI=#E0TO#EF:?CHR$(I);:NEXT 80 ?" #E0-#EF" 90 ?"+Shift";CHR$(#92); 100 FORI=#80TO#8F:?CHR$(I);:NEXT 110 ?" #80-#8F" 120 ? 130 ?" GHIJKLMNOPQRSTUV" 140 ?" ";CHR$(#98);:FORI=0TO15:?CHR$(#91);:NEXT:? 150 ?"Alt ";CHR$(#92); 160 FORI=#F0TO#FF:?CHR$(I);:NEXT 170 ?" #F0-#FF" 180 ?"+Shift";CHR$(#92); 190 FORI=#90TO#9F:?CHR$(I);:NEXT 200 ?" #90-#9F" 210 LC0,14:?CHR$(24);:INPUT"TEST:",C:CONT SAVE 0 NEW 100 'PCG MAKE 110 CLS:?" 0 1 2 3 4 5 6 7":? 120 FORJ=0TO3:?"#";HEX$(#E0+J*8);" ";:FORI=0TO7:?CHR$(#E0+J*8+I,0);:NEXT:?:?:NEXT:? 130 ' 140 '---------- 150 ' 160 C=2:A=#700+C*8 170 ' +------+ 180 POKE A ,`00001100 190 POKE A+1,`00011100 200 POKE A+2,`00111100 210 POKE A+3,`01111100 220 POKE A+4,`00011100 230 POKE A+5,`00011100 240 POKE A+6,`00011100 250 POKE A+7,`00011100 260 ' 270 '---------- 280 ' 290 ?500+C*10;" POKE#";HEX$(A); 300 FOR I=A TO A+7:?",";PEEK(I);:NEXT:?:? SAVE1 NEW 100 'PCG POKE 110 CLS:?" 0 1 2 3 4 5 6 7":? 120 FORJ=0TO3:?"#";HEX$(#E0+J*8);" ";:FORI=0TO7:?CHR$(#E0+J*8+I,0);:NEXT:?:?:NEXT:? 130 '----- 140 INPUT "S=",S:INPUT "E=",E 150 FORC=STOE:A=#700+C*8 160 ?500+C*10;" POKE #";HEX$(A); 170 FOR I=A TO A+7:?",";PEEK(I);:NEXT:?:NEXT SAVE2 NEW 100 'PCG ROLL 110 CLS:?" 0 1 2 3 4 5 6 7":? 120 FORJ=0TO3:?"#";HEX$(#E0+J*8);" ";:FORI=0TO7:?CHR$(#E0+J*8+I,0);:NEXT:?:?:NEXT:? 130 '---------- 140 C=2:A=#700+C*8 150 C=4:B=#700+C*8 160 C=1:R=#700+C*8 170 C=0:L=#700+C*8 180 C=3:T=#700+C*8 190 C=5:S=#700+C*8 200 '------- 210 FOR I=0 TO 7 220 POKE B+7-I,PEEK(A+I) 230 NEXT 240 '------- 250 E=1 260 FOR I=0 TO 7:F=1:D=0 270 FOR J=0 TO 7 280 G=PEEK(A+J) 290 D=D+(G&E>0)*F:F=F*2 300 NEXT 310 POKE R+7-I,D:E=E*2 320 NEXT 330 '------- 340 E=1 350 FOR I=0 TO 7:F=1:D=0 360 FOR J=0 TO 7 370 G=PEEK(A+7-J) 380 D=D+(G&E>0)*F:F=F*2 390 NEXT 400 POKE L+I,D:E=E*2 410 NEXT 420 '------- 430 FOR I=0 TO 7:F=1:D=0 440 G=PEEK(A+I):E=256 450 FOR J=0 TO 7:E=E/2 460 D=D+(G&E>0)*F:F=F*2 470 NEXT 480 POKE T+7-I,D:E=E*2 490 NEXT 500 '------- 510 FOR I=0 TO 7:D=0 520 G=PEEK(A+I):E=128:F=1 530 FOR J=0 TO 7 540 D=D+(G&E>0)*F:E=E/2:F=F*2 550 NEXT 560 POKE S+I,D:E=E*2 570 NEXT SAVE3