ドラクエ風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個以上

 

 

f:id:chien1956:20200221080042p:plain