0x2104 - OAMDATA (OAMデータ書き込み)

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

D7D6D5D4D3D2D1D0
dddddddd

OAM に対する書き込みは、変わった方法で行われる。 ワード値の上位バイトが書き込まれるまで、OAM の下位テーブルは影響を受けない。 (しかし、上位テーブルはすぐに内容が反映される。) アドレスをセットした後、書き込み/読み込みを交互に行った場合、 OAM は上位テーブルにのみ影響を受ける。

例えば、

  • アドレスを 0 にセット
  • 1 を書き込み
  • 2 を書き込み
  • 読み込み
  • 3 を書き込み

と順番に実行すると、 想像通りに "01 02 xx 03" という内容にはならず、 実際には "01 02 01 03" となる。

技術的にはこのレジスタに対して H-Blank 中にも値が書き込めそうに見えるが、 "OAM アドレス無効化" が起こっており、OAM への書き込みは思うように反映されない。 しかしブランク強制期間中には書き込むことができ、 V-Blank の間か、もしくは(たぶん)強制ブランク中に 0x2102 〜 0x2103 のリセットが行われたときに書き込むことができる。


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