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

「IO ポート (メイン)/0x2115」の編集履歴(バックアップ)一覧に戻る

IO ポート (メイン)/0x2115 - (2017/02/20 (月) 19:10:24) のソース

***0x2115 - VMAINC (ビデオポート調整) [#p2115]
[[アクセスフラグ>IO ポート (メイン)/アクセスフラグ]] : 書バ強V?-
|D7|D6|D5|D4|D3|D2|D1|D0|h
|CENTER:i|CENTER:-|CENTER:-|CENTER:-|CENTER:m|CENTER:m|CENTER:i|CENTER:i|

-i : アドレスインクリメントモード
--0 => [[0x2118>IO ポート (メイン)/0x2118]] への書き込み / [[0x2139>IO ポート (メイン)/0x2139]] からの読み込み後にインクリメント
--1 => [[0x2119>IO ポート (メイン)/0x2118]] への書き込み / [[0x213a>IO ポート (メイン)/0x2139]] からの読み込み後にインクリメント
0x2118, 0x2119 を通じて 1 ワードを書き込む時、
下位バイトを先に書き、上位バイトを後で書き込む。
1 を書き込む方が都合が良いだろう。

-ii : アドレスインクリメント量
--00 = 普通に 1 インクリメント
--01 = 32 インクリメント
--10 = 128 インクリメント
--11 = 128 インクリメント

-mm : アドレスリマップ (address remapping)
--00 = 再配置無し
--01 = aaaaaaaaBBBccccc => aaaaaaaacccccBBB のようにリマップ
--10 = aaaaaaaBBBcccccc => aaaaaaaccccccBBB のようにリマップ
--11 = aaaaaaBBBccccccc => aaaaaacccccccBBB のようにリマップ
リマップ は、アドレス変換時に実行される。
[[0x2116 ~ 0x2117>IO ポート (メイン)/0x2116]] が #$0003 にセットされている時、ワードアドレス #$0018 が
代わりに書き込まれ、[[0x2116 ~ 0x2117>IO ポート (メイン)/0x2116]] は 0x0004 にインクリメントされる。