ドラクエ風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で埋めます。

f:id:chien1956:20200219143528p:plain