PCG TOOLS キャラクタ改造のサポートツール
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