資料集
ここはhideyosiの学習帳です。いろいろな資料を集めたり整理したりしています。オイラ用のノートなので間違っていたり未完成だったりしますので信用度は相当低いことをあらかじめご了承くださいませ。
1: 2007-11-27 (火) 13:09:28 ソース バックアップ No.1 を復元して編集 現: 2024-01-06 (土) 22:37:43 ソース 編集
Line 1: Line 1:
はりぼてではVESA2.0でないと高解像度化できない。 はりぼてではVESA2.0でないと高解像度化できない。
・・・なんでじゃぁ??? というわけで。 ・・・なんでじゃぁ??? というわけで。
 +
 +(まぁ、よーするに。ウチで実験に使ってるボロノートがVESA1.2なんだよねぇ。なので、コイツで高解像度化ってできないもんかと思って・・・)
 +
 +*はりぼて上のチェック [#h8b59345]
 +はりぼてでは、asmhead.nas内で起動時にVESAのチェックを行っている。
 +(つまり、ただ単にVESA2.0かどうかだけをチェックしてるわけじゃないんだよね)
 +
 +えっと・・・コードを読んでみると・・・
 +
 +-0x4f00でBIOSコール
 +--そもそもこれが不成功ならscrn320へジャンプ
 +--VESAのバージョンチェック。2.0以下(1.02とか)ならscrn320へジャンプ
 +-0x4f01でBIOSコール。(CXに要求の画面モード)
 +--そもそもこれが不成功ならscrn320へジャンプ
 +--帰ってきた情報のうち、0x19バイト目をチェック。これは画面の1ピクセルが何ビットで構成されているのかという情報。これが8じゃなかったらscrn320へジャンプ
 +--次に0x1bバイト目をチェック。これはメモリーモデルタイプ?を表す。これが4(Packed pixels)でなければscrn320へジャンプ
 +--最後に0x00バイト目をチェック。ここのbit7が立っているかどうか。つまり、(Linear framebuffer mode supported)かどうかをチェック。ダメだったらscrn320へジャンプ
 +
 +・・・っとまぁ、こういうチェックをしているわけだね。
 +
 +
 +*画面モードの切り替え [#i86e2dec]
 +はりぼてでは全てのチェックを終え、正常だといよいよ画面の切り替えを行う。
 +この場合、AXに0x4f02をセット。さらにBXに画面モードをセットするんだけど、
 +単純にそのままセットではない。
 +
 +BXにセットする値はビットごとに意味があるようだ。
 +
 +-0〜13ビットまでが画面モード。ここに0x101(640x480x256)だの0x105(1024x768x256)だのをセットする。
 +-14ビット目はリニアアクセスモード要請(1で要請) -- ただし VESA 2.0以降
 +-15ビット目がVRAMクリア省略(1で省略)
 +
 +はりぼてではBXに対し、0x4000 + 画面モード という値をセットしている。つまり、
 + 画面モード101(640x480x256)にしたい場合
 + 
 + ビット0〜13      0000000100000001        0x101    モード番号
 + ビット14          0100000000000000        0x4000    リニアアクセスを要請する
 + ビット15          0000000000000000        0x0000    VRAMクリアを省略しない
 +
 +こういうことのよーでする・・・
 +
 +
 +
 +*オベンキョ [#rd345145]
 +***Linear framebuffer mode [#mf3f927c]
 +リニアフレームバッファモードと読む。リニアフレームバッファとはなにかというと、えーーっと。ようするに、「普通にデータを書き込めるフレームバッファ」ということらしい。
 +
 +''普通''とはなにかというと、はりぼてで全般的に採用されている方式。つまり、0xa0000に0x08を書き込むと、画面の左上にポツンと赤い点が表示されるような動作をするもの。
 +
 +分かりやすくするために''普通ではない''モード。つまりノンリニアなものを説明。
 +プレーンと呼ばれる下敷きがあって、そこに別々にデータを打ち込むことで画面に点が表示される。よくあるパターンは、赤青黄等の3色以上に分かれているパターン。こういうのに点を打ちたい場合、まず赤のプレーンに点を打ち、次に青のプレーンに切り替えてからまた点を打ち・・・と、プレーンを切り替えて色を表現するようなパターン。
 +比較的遅く、またプログラムも煩雑になるのはわかるだろう。


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 2417, today: 1, yesterday: 1