本体内蔵CIRRUSアクセラレータ(CL-GD54xx)解析資料

ここではCL-GD5428,CL-GD5430についての詳細を書きます。

有名な以下のページの補足資料です。
http://www.webtech.co.jp/company/doc/undocumented_mem/io_wab.txt

QEMUのCirrusVGAのソースも役に立ちます

基本仕様

I/Oポート

内蔵アクセラレータ ポート番号ネイティブ ポート番号
CAxh (x=0~F)3Cxh (x=0~F)
BA4h3B4h
BA5h3B5h
DA4h3D4h
DA5h3D5h
BAAh3BAh
DAAh3DAh
ポート番号役割
FAAhFABhで返すレジスタの選択
FABh レジスタ00hはCL-GD54xxの機種ID
説明は上記ページの通り

レジスタ01hはCL-GD54xxのMMIOウィンドウアドレスを設定する
0x10 → 0x0b0000
0x80 → 0xf20000
0xA0 → 0xf00000
0xC0 → 0xf40000
0xF0 → 0xf60000
割り当てられるサイズは0x8000

レジスタ02hはCL-GD54xxのリニアMMIOアドレスを設定する
設定された値<<24がリニアMMIOの開始アドレスとなる
VRAMは1MBのはずだが、何故かMMIOは4MB分くらい確保されている(4MB未満の場合、Win9xは起動時に黒画面のままフリーズする)

レジスタ03hは画面出力リレー制御
説明は上記ページの通り

リニアMMIO

MMIOウィンドウ

資料集に戻る

トップに戻る