Set Color Number

在看过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と见なす
  • パレットのアクセスの手顺
    • まず一连のアクセス中に割り迂みなどが入らないようにする(たとえばCLI)。
    • 0x03c8に设定したいパレット番号を书き迂み、续いて、R、G、Bの顺に0x03c9に书き迂む。もし次のパレットも续けて设定したいのなら、パレット番号の设定を省略して、さらにRGBの顺に0x03c9に书き迂んでよい。
    • 现在のパレット状态を读み出すときは、まず0x03c7にパレット番号を书き迂んで、0x03c9を3回读み出す。これが顺にR、G、Bになっている。これももし次のパレットも读み出したいときは、パレット番号の设定を省略してRGBの顺に读み出してよい。
    • 最初にCLIした场合は、最后にSTIする。

贴上日文的自行参考,中文就自己买书来看吧!

接着04-07 矩形的绘制处理,透过用#define颜色的代码,让我们不用记那么多的颜色代码,其余看程式怎么做就行了!

04-08 最终的成果长这样:

2010-09-02_160526

看到这个徒有没觉得跟WX的画面很像啊!原来自己DIY OS是这样的喔!