雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。
5: 2007-11-27 (火) 13:01:27 ソース バックアップ No.5 を復元して編集 現: 2024-01-06 (土) 22:39:11 ソース 編集
Line 7: Line 7:
  MOV AX,0x4f00      ;AXにファンクション番号である0x4f00を   MOV AX,0x4f00      ;AXにファンクション番号である0x4f00を
 + 
  MOV AX,0x9000      ;ここはようするに、ES:DIに0x9000:0を   MOV AX,0x9000      ;ここはようするに、ES:DIに0x9000:0を
  MOV ES,AX          ;書き込みたいだけ。ESは直接代入できない   MOV ES,AX          ;書き込みたいだけ。ESは直接代入できない
  MOV DI,0          ;のでこうしているだけ   MOV DI,0          ;のでこうしているだけ
 + 
  INT 0x10  ;BIOSコール!   INT 0x10  ;BIOSコール!
Line 83: Line 83:
  MOV ES,AX          ;書き込みたいだけ。ESは直接代入できない   MOV ES,AX          ;書き込みたいだけ。ESは直接代入できない
  MOV DI,0          ;のでこうしているだけ   MOV DI,0          ;のでこうしているだけ
 + 
  INT 0x10  ;BIOSコール!   INT 0x10  ;BIOSコール!
Line 112: Line 112:
- 02h  BYTE    window A attributes +-0x90002:1バイト: window A の属性 
-               bit 0: exists if set +--bit 0: exists if set 
-                   1: readable if set +--1: readable if set 
-                   2: writable if set +--2: writable if set 
-               bits 3-7 reserved +--bits 3-7 reserved 
-|0x90003|1バイト|window B attributes (as for window A) ???|+-0x90003:1バイト:window B の属性。上記Aと同じフォーマット
 04h  WORD    window granularity in K  04h  WORD    window granularity in K
 06h  WORD    window size in K  06h  WORD    window size in K
Line 125: Line 125:
 10h  WORD    bytes per scan line  10h  WORD    bytes per scan line
---remainder is optional for VESA modes, needed for OEM modes--- ---remainder is optional for VESA modes, needed for OEM modes---
- 12h  WORD    width in pixels +-0x90012:2バイト: 画面のX方向のサイズ(ピクセル単位) 
- 14h  WORD    height in pixels +-0x90014:2バイト: 画面のY方向のサイズ(ピクセル単位) 
- 16h  BYTE    width of character cell in pixels +-0x90016:1バイト: 1文字のX方向のサイズ(ピクセル単位)。高解像度テキスト用? 
- 17h  BYTE    height of character cell in pixels +-0x90017:1バイト: 1文字のY方向のサイズ(ピクセル単位)。高解像度テキスト用? 
- 18h  BYTE    number of memory planes +-0x90018:1バイト: プレーンの数?(たとえば4なら赤青黄輝とか?) 
-|0x90019|1バイト|画面の1ピクセルが何ビットで構成されているか?| +-0x90019:1バイト: 画面の1ピクセルが何ビットで構成されているか? 
- 1Ah  BYTE    number of banks+-0x9001A:1バイト: バンクの数。 ??
-0x9001B -0x9001B
---1バイト:メモリーモデルタイプ?+--1バイト:メモリーモデルタイプ。0x04だと256色パレットタイプ。0x06だとダイレクトカラー?
---0 Text ---0 Text
---1 CGA graphics ---1 CGA graphics
Line 146: Line 146:
---10h-0FFh Reserved for OEM ---10h-0FFh Reserved for OEM
- 1Ch  BYTE    size of bank in K~1Dh  BYTE    number of image pages +-0x9001C:1バイト: バンクの大きさ(KB単位) 
- 1Eh  BYTE    reserved(1)+ 1Dh  BYTE    number of image pages 
 +-0x9001E:1バイト: 予約らしい。常に1になっているらしい
------VBE v1.2+ -------------------------- ------VBE v1.2+ --------------------------
 1Fh  BYTE    Red mask size  1Fh  BYTE    Red mask size
Line 163: Line 164:
                       truly reserved.                        truly reserved.
--- VBE v2.0 --- --- VBE v2.0 ---
- 28h  DWORD    Physical address of linear video buffer+-0x90028:4バイト:リニアフレームバッファ時のVRAMの開始番地。
 2Ch  DWORD    Pointer to start of offscreen memory  2Ch  DWORD    Pointer to start of offscreen memory
 30h  WORD    Offscreen memory in Kbytes  30h  WORD    Offscreen memory in Kbytes
The buffer is defined as 256bytes The buffer is defined as 256bytes
 +
 +***豆知識! [#nb8254f8]
 +-枝豆ってやぁ〜・・・大豆やねんでぇ(コラなぜ殴る痛いじゃないか)
 +
 +-COLOR(red){VESAではバンク切り替えのバンクをウィンドゥと呼称するらしい!!}
 +
 +
 +
 +
 +**戯言 [#d7a92b74]
 +むむむ・・・?
 +ウチのVESA1.2のボロノートは256パレットもリニアフレームバッファもサポートしていないのではりぼては動かせない・・・
 +ではこのモードで描画するにはどうしたらいいのか????
 +・・・どうも、バンク切り替え?というような方法で行うような感じがしてきた。
 +ようするに、赤青黄などの成分に分けて、色ごとになんらかの方法で切り替えを行って描画する・・・そんな方式のような気がしてきた・・・
 +
 +
 +もちろんこれはそれなりに煩雑なのだろうけど、なんか思ったより大変じゃないような気がしてくる・・・どうなんだろうか?
 +
 +少なくともVGAのように1ドットが1ビットなんてややこしい方式でなければ・・・・