ドラクエ風RPGファミコンプログラム講座
【NES 基礎知識編】
【 I/Oポート $2003, $2004 】
〖 $2003 〗(書き込み専用)
* $2003 は、スプライトメモリアドレスで スプライトDATAを書き込むアドレスを
指定する、 通常は0を設定。
〖 $2004 〗(読み書き可能)
*$2004 は、スプライトデータレジスタで $2003 によって指定されたアドレスに
スプライト1個当たり 4byte のDATAを書き込みます。
*DATAのフォーマットは、スプライトY座標・スプライトID・パレット/反転・
スプライトY座標 となっています。
尚、アドレスは1BYTE書き込む度に +1 される。
⁂ 通常のゲームなどでは、DMA転送によってDATAを書き込むので使用されることは
すくない。 只、使用スプライトが少ない場合はスプライトバッファを使用しない
利点はある。
〖スプライトに係るレジスタ 〗
≪$2000≫
bit5: スプライトサイズ 0:8x8 1:8x16
bit3: スプライトパターンテーブルセレクト 0:$0000 1:$1000
≪$2001≫
bit4: スプライト描画 s/w。 0:非表示 1:表示
bit2: スプライトの左端8ピクセルをクリップ(非表示にする)。 0:非表示 1:
≪$2002≫
bit6: 0番目スプライト 描画ラインヒットフラグ。 0:ヒット無し 1:ヒット
bit5: 描画スプライト数。 0:8個以下 1:9個以上