0x2102 - OAMADDL (OAM下位アドレス)

アクセスフラグ : 書下強V?−

D7D6D5D4D3D2D1D0
aaaaaaaa

0x2103 - OAMADDH (OAM上位アドレスとスプライト優先順位)

アクセスフラグ : 書上強V?−

D7D6D5D4D3D2D1D0
p------b
  • p : スプライト優先度設定フラグ このフラグがセットされている時、0 以外のスプライトは優先度を得る。
  • b aaaaaaaa : OAM アドレス この値は OAM に対して、2 つの考え方で考えることができる。 OAM が 544 バイトの単一のテーブルで構成されると考えた場合、 baaaaaaaa はこのテーブルのワードアドレスを指す。 OAM が 512 バイトと 32 バイトのテーブルで構成されると考えた場合、 b の値はテーブルのセレクタとして、aaaaaaaa は選択されたテーブルの ワードアドレスを指す。

スキャンラインが描画中の場合、 内部 OAM アドレスは無効化される。 この無効化は決定的に起こる。 どのように決定されるかは不明。 ブランク強制期間でない場合、これら 0x2102, 0x2103 のレジスタに最後に書かれた値が V-Blank 開始時に内部 OAM アドレスにリロードされる。 これは "OAM リセット" と呼ばれている。 OAM リセットは、0x2100 に値を書き込んだ時にも起こる。

0x2102 か 0x2103 に値を書き込んだ場合、 全ての内部 OAM アドレスが、最後にこのレジスタに書き込まれた値にリセットされる。 例えば、 このレジスタから 0x104 を書き込んだ後 4 バイトの値を書き込み、 0x2103 に 1 をセットすると、OAM アドレスは 6 ワード目ではなく、 4 ワード目を指す。


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-10-27 (日) 15:53:01 (2180d)