ドラクエ風RPGファミコンプログラム講座
【NES ゲームプログラミング編】
【 PPUの初期化 】
*PPUの初期化は、 $2000 と $2001 のコントロールレジスタを設定します、
只、コントロールレジスタはビットフラグになっていてプログラム上で個別に
設定しなければならない時があります。
下記にコードを示します、 ゼロページに変数として PPU2000、PPU2001 に
値を保持し、変数を変更し8ビット全体をSTA します。
SP_table:
lda ppu_2000
ora #%00001000
sta ppu_2000
sta $2000
rts
color:
lda ppu_2001
and #%11111110
sta ppu_2001
sta $2001
rts
monochro:
lda ppu_2001
ora #%00000001
sta ppu_2001
sta $2001
rts
red:
lda ppu_2001
ora #%00100000
sta ppu_2001
sta $2001
rts
green:
lda ppu_2001
ora #%01000000
sta ppu_2001
sta $2001
rts
bule:
lda ppu_2001
ora #%10000000
sta ppu_2001
sta $2001
rts
RGB_res:
lda ppu_2001
and #%00011111
sta ppu_2001
sta $2001
rts
BG_on:
lda ppu_2001
ora #%00001000
sta ppu_2001
sta $2001
rts
BG_off:
lda ppu_2001
and #%11110111
sta ppu_2001
sta $2001
rts
SP_on:
lda ppu_2001
ora #%00010000
sta ppu_2001
sta $2001
rts
SP_off:
lda ppu_2001
and #%11101111
sta ppu_2001
sta $2001
rts
Vraminc32:
lda ppu_2000
ora #%00000100
sta ppu_2000
sta $2000
rts
Vraminc1:
lda ppu_2000
and #%11111011
sta ppu_2000
sta $2000
rts