ドラクエ風RPGファミコンプログラム講座
【NES 基礎知識編】
*コントロールレジスタは I/Oポートの $2000 と $2001 で、ビットフラグに
なっていて、各種の初期化設定はここで行ないます。
【VBlank(垂直帰線区間)】
*VBlankとは垂直帰線区間とも言い、PPUが描画を終えて再び描画に移る
合間のことを言い、画面の更新はこの期間に行われなければ成らない。
[ファミコンの初期化]
*ファミコンの初期化とは、スタックポインタの設定やパレットの設定、
パターンDATAの設置、BG・スプライトの設定など行うことを言います。
1.スタックポインタの設定
☆スタックポインタとは、スタック領域のいちを保持しているレジスタ。
ファミコンのスタックは、 $0100~$~$011ff で8ビットで管理されます。
スタックは、主にCPUが、サブルーチンからのリターンアドレスを保持して置く
所で、レジスタの退避(PUSH・POP)するのにも使われる、スタックポインタを
設定するには TXS 命令を使います。
LDX #$FF
TXS
2.パレットの設定
☆パレットは、PPUのRAM領域 $3f00~$3f1f で $2600 と $2007 で書き込みます。
3.パターンDATAの設置
☆パターンDATAはPPUのROM領域 $0000~$0fff と $1000~$1fff に分かれていて、
BG・スプライトを $2000 のビット3と4で切り替えられます。
4.BG・スプライトの設定
☆BG・スプライトのON/OFF、BGのVramアドレスの指定、スプライトのサイズ
等を $2000 で設定します。
5.ゼロページの初期化
☆ゼロページの初期化は、ZEROPAGE 256byte を0で埋めます。