TABLES

↑もくじ


さくいん




BIOS データエリア

Address type カテゴリ内容
0040:0049h byteBIOS 現在のビデオモード
0040:004Ah wordBIOS 画面桁数(文字単位)

いちおうワード単位ですが、256 桁以上のテキストサイズを考慮に入れたアプリケーションがどの程度あるのかは疑問です。 ほとんどのプログラムは下位バイトだけ見て桁数を調べていると思う。

0040:004Ch wordBIOS テキストバッファのバイト数
0040:004Eh wordBIOS テキストバッファの先頭オフセット値
0040:0050h 8 wordsBIOS カーソル位置

下位バイトが桁、上位バイトが行を示す。
英語テキストモード (EGA,VGA) では8つのページで独立してカーソル位置を保存しています。 日本語モードはページがひとつしかないので先頭の1ワードのみが有効。

0040:0060h wordBIOS カーソルサイズ

下位バイトが最下ライン、上位バイトが上位ライン。

0040:0062h byteBIOS 現在のページ

英語テキストモード (EGA,VGA) では 0〜7、日本語モードでは 0 のみ。

0040:0063h wordBIOS CRT コントローラの I/O ポートアドレス

MDA 互換のモノクロモードでは 03B4h、そうでない時は 03D4h。 CRTC を直接いじらない場合は必要ないのですが、MDA モードとカラーモードを判別するのに(ビデオモードでの判別を当てにしたくない場合は)使えるかもしれません。

0040:0084h byteEGA-BIOS 画面行数から1を引いた値

日本語モードの場合、Int 10h, ax=1D00h によって最下行が予約されている場合があります。

純粋な CGA(DCGA), MDA ではここの値は未定義です。 V-TEXT 対応プログラムをそういった環境で動作させたい場合は注意が必要です。 (たぶん 0 とか FFh とか、いかにも「無効っぽい」値がはいっていると思うのですがどうなんでしょうか?)

0040:0085h byteEGA-BIOS 文字のドット単位の高さ
0040:0087h byteEGA-BIOS INFO バイト
bit7 Int 10h, ah=0 によるビデオモード切り換えの際、ビデオモードの bit7 がセットされていた場合にセットされる
bit6,5 00 ... 64K VRAM
01 ... 128K
10 ... 192K
11 ... 256K
bit4 (予約済)
bit3 ビデオカードが動作中の時は 0
bit2 (予約済)
bit1 モノクロディスプレイが繋がっている時は 1
bit 0 0 に設定すると CGA カーソルサイズエミュレーションが有効になる(デフォルト)。
エミュレーション有効時は Int 10h, ah=01h において、カーソルサイズ最下ラインの最大値が 7 になり、BIOS によって実際のカーソルサイズにあわせて調整されます。 1 を設定すると実際の文字の高さにあわせたカーソルサイズ調節ができるようになります(日本語モードでは、$DISP.SYS, JDISP.SYS でのみ有効)。


DOS/V Extension モードテーブル

offset type カテゴリ内容
00h byteV-EXT ビデオモード番号

03h, 70h, 71h, 73h 以外の値は仕様として想定されていません(と思う)。

01h byteV-EXT ビデオモード情報

bit7 無効なビデオモードの時は 1
bit6〜4 (予約済)
bit3,2 横書き、縦書きの設定 (IBM-EXT2)
00 ... 横書(標準)
01 ... 縦書
10 ... 横回転(横倒し)
11 ... (予約済)
bit1 スクロールと塗りつぶしをビデオ拡張ドライバ内部で一度に行う時は 1 (IBM-EXT)
bit0 ハードウェアカーソルをサポートしている時は 1 (IBM-EXT)

02h byteV-EXT テキスト桁数
03h byteV-EXT テキスト行数
04h byteV-EXT 文字のドット単位の幅
05h byteV-EXT 文字のドット単位の高さ
06h byteV-EXT 文字中のフォント部分の幅
07h byteV-EXT 文字中のフォント部分の高さ
08h wordIBM-EXT 水平画面解像度(ドット単位)
0Ah wordIBM-EXT 垂直画面解像度(ドット単位)
0Ch byteIBM-EXT2 ドライバが使用するフォントの幅
0Dh byteIBM-EXT2 ドライバが使用するフォントの高さ
0Eh byteIBM-EXT2 ドライバが使用するフォントのインデクス値

上位4ビットが半角のインデクス値、下位4ビットが全角のインデクス値。

0Fh byteV-EXT (予約済)


ディスプレイコンビネーションコード

説明
00h ディスプレイがない
01h MDA + モノクロディスプレイ
02h CGA + カラーディスプレイ
03h (予約済)
04h EGA + カラーディスプレイ
05h EGA + モノクロディスプレイ
06h IBM Professional Display Controller
07h VGA + アナログモノクロディスプレイ
08h VGA + アナログカラーディスプレイ
09h (予約済)
0Ah MCGA + デジタルカラーディスプレイ
0Bh MCGA + アナログモノクロディスプレイ
0Ch MCGA + アナログカラーディスプレイ
0Dh〜FEh (予約済)
FFh ビデオカードが認識できない

フォントドライバ終了コード

内容
00h 正常終了
01h フォントの種類が無効
02h フォントインデクスが無効
03h フォントサイズが無効
04h コードページが無効
05h 文字コードが無効
06h フォントはリードオンリー(書き込み不可)
86h フォントドライバがない、もしくはその機能がサポートされていない
その他の値 (予約済)

文字コード表(日本語モード)

白ベタの部分は2バイト文字(全角)の上位バイトです。

コードページ : 932

文字コード表(英語モード)

コードページ : 437



↑もくじ