IO ポート (メイン) > 0x2104

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

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

D7 D6 D5 D4 D3 D2 D1 D0
d d d d d d d d

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

例えば、

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

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

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

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2017年02月20日 19:07