VDPポートマップ
VDPポートマップ
VDPポートは 0xC00000 〜 0xC0001F です。
VDPに関する操作は全てこのVDPポートを通して行います。
0xC00000 - Data port (8 or 16bit) 0xC00002 - Data port (ミラー) 0xC00004 - Control port (8 or 16bit) 0xC00006 - Control port (ミラー) 0xC00008 - HV counter (8 or 16bit, ReadOnly) 0xC0000A - HV counter (ミラー) 0xC0000C - HV counter (ミラー) 0xC0000E - HV counter (ミラー)
一部ミラーとなっているアドレスがあります。
例えばミラーを使わずにデータポート(0xC00000) に 2words (4bytes) 書き込む場合、
unsigned int *dataPort; dataPort = 0xC00000; *dataPort = 0xAABB; /* 1words目 */ *dataPort = 0xCCDD; /* 2words目 */となりますが、 ミラーを使うと下記の様に long word (4bytes) としてまとめて書き込む事が出来ます。
unsigned long *dataPort; dataPort = 0xC00000; *dataPort = 0xAABBCCDD; /* 2wordsまとめて書き込み */
VDPポートは全て long word (4bytes) アクセスが出来る様に
ミラーが用意されています。