在看过30天打造OS!作业系统自作入门(附光碟)的04-05 指标的应用(二)这节后,ㄚ琪要进展到04-06 设定颜色编号,http://community.osdev.info/?VGA这里的视讯DA转换器是本节会用到的资讯:
- 0x03c6:ピクセルマスクレジスタ(8bit、R/W)
- bit0-7:DAコンバータが受け取ったカラーコードは、このレジスタの内容でマスクされた后にRGBに变换され、ディスプレイに送られる。
- 0x03c7:ステータスレジスタ (8bit、R)
- bit0-1:これが00だったら书き迂み中
- bit2-7:リザーブ
- 0x03c7:アドレスレジスタ (8bit、W)
- ここに书き迂みアクセスすると、パレット读み迂みモードになる
- bit0-7:パレット番号
- 0x03c8:アドレスレジスタ (8bit、W)
- ここに书き迂みアクセスすると、パレット书き迂みモードになる
- bit0-7:パレット番号
- 0x03c9:データレジスタ (8bit、R/W)
- bit0-7:RGB成分の一つ(0~63)
- 书き迂むときは上位2ビットを0に、读み迂むときは上位2bitを0と见なす
- bit0-7:RGB成分の一つ(0~63)
- パレットのアクセスの手顺
- まず一连のアクセス中に割り迂みなどが入らないようにする(たとえばCLI)。
- 0x03c8に设定したいパレット番号を书き迂み、续いて、R、G、Bの顺に0x03c9に书き迂む。もし次のパレットも续けて设定したいのなら、パレット番号の设定を省略して、さらにRGBの顺に0x03c9に书き迂んでよい。
- 现在のパレット状态を读み出すときは、まず0x03c7にパレット番号を书き迂んで、0x03c9を3回读み出す。これが顺にR、G、Bになっている。これももし次のパレットも读み出したいときは、パレット番号の设定を省略してRGBの顺に读み出してよい。
- 最初にCLIした场合は、最后にSTIする。
贴上日文的自行参考,中文就自己买书来看吧!
接着04-07 矩形的绘制处理,透过用#define颜色的代码,让我们不用记那么多的颜色代码,其余看程式怎么做就行了!
04-08 最终的成果长这样:
看到这个徒有没觉得跟WX的画面很像啊!原来自己DIY OS是这样的喔!