CRT BIOS
JEGA maniAX(maniacs)へ戻る

※AXマシンに搭載されているビデオカードはJEGAという、EGA+日本語表示部という代物です…つまり、基本的な部分はEGAなので特別な資料が無くても何とか使えます。

AH(hex)AL(hex)機能
00xx画面モードの切り替え
01xxカーソルの形状設定
02xxカーソル位置の設定
03xxカーソル位置の読み込み
04xxライトペンポジションの読み込み
05xxアクティヴページの切り替え
06xxスクロールアップ
07xxスクロールダウン
08xxカーソル位置の文字/アトリビュートの読み込み
09xxカーソル位置への文字/アトリビュートの書き込み
0Axxカーソル位置への文字の書き込み
0Bxxカラーパレットの設定
0Cxx点の書き込み
0Dxx点の読み込み
0Exxカーソル位置への文字/アトリビュートの書き込みとカーソルの移動
0Fxxビデオ情報の読み込み
10xxパレットレジスタの設定
11xx文字の登録
12xxJEGAボード情報の読み取り
13xx文字列の画面への出力
5000日本語モードと英語モードの切り替え
01日本語モードと英語モードの読み取り
5100文字フォントの登録
01文字フォントの読み取り
82xxスクロールモードの設定/読み取り
83xxビデオRAMアドレスの読み取り

日本語モードと英語モードの切り替え
機能
BIOSの動作モードを日本語モードと英語モードの間で切り替える。
入力
AH=50H, AL=00H
BX=country code (01H:英語, 81H:日本語)
出力
AL=status (00H:正しく設定された, 01H:無効なcountry code, 02H:その他のエラー)

日本語モードと英語モードの読み取り
機能
BIOSの動作モードが日本語モードか英語モードかを読み取る。
入力
AH=50H, AL=01H
出力
AL=status (00H:正しく設定された, 02H:その他のエラー)
BX=country code (01H:英語, 81H:日本語)

文字フォントの登録
機能
DXで示す外字コードに、ES:BPで指定する全角文字フォントテーブルのデータを登録する。
入力
AH=51H, AL=00H
ES:BP=登録する文字のデータテーブルの先頭アドレス
DX=登録する文字コード
BH=文字の横ビット数(16に固定), BL=文字の縦ビット数(16に固定)
出力
AL=status (00H:正しく設定された, 01H:登録できなかった)
注意事項
※DXで指定する外字コードは次の範囲であること。F040H〜F07EH, F080H〜F0FCH, F140H〜F17EH, F180H〜F1FCH, F240H〜F27EH, F280H〜F2FCH, F340H〜F37EH, F380H〜F3FCH
※ES:BPで指定される文字フォントテーブル内のデータの格納順序は次の通り。
117
218
319
::
1632

文字フォントの読み取り
機能
ES:BPで指定するバッファに、DXで指定する文字フォントデータを読み取る。
入力
AH=51H, AL=01H
ES:BP=読み出すバッファの先頭アドレス
DX=読み出す文字コード
BH=文字の横ビット数, BL=文字の縦ビット数
出力
AL=status (00H:正しく読み出せた, 01H:読み出しに失敗した)
注意事項
※DXで始まる文字コードは漢字コードの場合、shift-JISもしくはF040Hから始まる外字コードを指定する。
※ES:BPで指定する文字フォントテーブル内のデータの格納順序は次の通り。
1
2
3
:
19
8×19

117
218
319
::
1632
16×16
※使用できるBH, BLの組み合わせは次の通り。
BHBLフォントサイズ
8 88×8ドット英数(AN)
8148×14ドット英数(AN)
8198×19ドット英数カナ(ANK)
161616×16ドット全角漢字および全角外字

スクロールモードの設定/読み取り
機能
日本語グラフィックモード時のスクロールモードの設定/読み取りをする。
入力
AH=82H, AL=00H
BL=scroll mode (0:ダイナミックスクロール, 1:ソフトウェアスクロール, -1:スクロールモードの読み出し)
出力
AL=現在のscroll mode (BL=-1)
AL=設定前のscroll mode (BL≠-1)
注意事項
ダイナミックスクロールを指定すると、グラフィックVRAMはソフトウェアスクロールで、仮想テキストVRAMはソフトウェアスクロールで処理される(???)。

ビデオRAMアドレスの読み取り
機能
ビデオRAMと仮想テキストビデオRAMの先頭アドレスを取得する。
入力
AH=83H, AL=00H
出力
AX=ビデオRAMの先頭アドレス ES:BX=仮想テキストビデオRAMの先頭アドレス
注意事項
※グラフィックビデオRAMのセグメントアドレスは画面モードにより異なっている。
画面モードセグメントアドレス
英語テキスト(画面モード 00H, 02H, 03H)B800H
英語グラフィック(画面モード 04H, 05H, 06H)B800H
英語グラフィック(画面モード 0DH, 0EH, 10H)A000H
日本語テキスト(画面モード 02H, 03H)B800H
日本語グラフィック(画面モード 52H, 53H)A000H
※画面モード52H(日本語グラフィック・スーパーインポーズ)でグラフィックビデオRAMをアクセスするには、JEGAのレジスタを操作する必要がある。
JEGA maniAX(maniacs)へ戻る
uaa@woodstream.gr.jp 18-Oct-1999