ドラクエ風RPGファミコンプログラム講座

NES アセンブラプログラミング編】

【 TEST用プログラムの作成 】

 〖 ファミコンのパレット〗

 ファミコンのパレットは、BG・スプライト それぞれ4色4セット

パレレットテーブルは、BG用が $3f00~3f0f スプライト用が $3f10~$3f1f

下の画像は、FCEUXのPPUビュアーで見たパレットテーブルです、

上の段が、BG用パレットで下の段がスプライト用です。

パレットテーブルは、左から$3f00~$3f1fの順に並んでいます。

1パレット4色中0番目の色は透明色で全パレット共通になっています、

即ち同時発色数はGBが13色、スプライトが12色で合計25色に

なります。

 

f:id:chien1956:20200226113847p:plain

【画像1】

〖パレットの設定〗

*パレットの設定はVRAMにアクセスするのでVBlank期間に行う必要があります。

 jsr VB0はVBlank待ちルーチンです

palette:
jsr VB0
lda #$3f
sta $2006
lda #$00
sta $2006
ldx #0
pal_loop:
lda pall,x
sta $2007
inx
cpx #32
bne pal_loop
rts

pall:
.db $0f,$30,$11,$21
.db $0f,$29,$1a,$27
.db $0f,$10,$00,$29
.db $0f,$29,$37,$11
.db $0f,$35,$30,$12
.db $0f,$26,$24,$25
.db $0f,$26,$27,$28
.db $0f,$11,$12,$13

*次回は、TEST用プログラムの作成を完結します。