ドラクエ風RPGファミコンプログラム講座
【NES 基礎知識編】
なっていて各々のBITがs/wになっています。
bit7: VBlank割り込みフラグ 1:割り込み許可 0:割り込み禁止
bit6: PPUマスター/スレーブセレクト 0:マスター 1:スレーブ (通常は0)
bit5: スプライトのサイズ
bit4: BGパターンDATAセレクト
bit3: スプライトパターンDATAセレクト
bit2: PPUアドレスインクリメント
bit1~0: 表示ネームテーブルセレクト
【VBlank(垂直帰線区間)】
【$2000詳細】
*VBlankとは垂直帰線区間とも言い、PPUが描画を終えて再び描画に移る
合間のことを言い、画面の更新はこの期間に行われなければ成らない。
⑴ VBlankフラグ
$2000のbit7は、VBlank時にCPUによる割り込みを発生させるs/wで、
割り込みベクター1番目に設定したアドレスにJMPします、
これをVBlank割り込みルーチンと言い、ゲームのメインルーチンに使用します。
尚 割り込みルーチンからの帰還には。RTIを使います。
⑵ PPUマスター/スレーブセレクト
通常は0を設定する。
⑶ スプライトのサイズ
bit5は、スプライトサイズの設定で、0:8x8 1:8x16
ほとんどのゲームが、8x8を使用してい。
⑷ BGパターンDATAセレクト
bit4は、BGのパターンDATAが $0000 又は $1000 を使うかのフラグ。
0:$0000 1:$1000
⑸ スプライトパターンDATAセレクト
bit3は、スプライトパターンが $0000 又は $1000 を使うかのフラグ 。
0:$0000 1:$1000
⑹ PPUアドレスインクリメント
bit2 はPPUアドレスの自動インクリメントで、0:+1 1:+32
+32は、縦書き描画に便利、$2007を読み書きすると自動でプラスされる。
⑺ 表示ネームテーブルセレクト
bit1~0 は、描画を表示開始 SCREEN を設定する
00: $2000 01: $2400 10: $2700 11: $2c00