AX CRT BIOS EGA共通機能

INT 10h/AH=00h : ビデオモードの設定

入力
AH=00H, AL=設定したいビデオモードの値(bit0-6)、VRAMクリア指定(bit7)
出力
なし
注意事項
ビデオモードを02h/52hのスーパーインポーズに設定した場合にALレジスタのビット7を0にして画面クリアを行うと、VRAMは設定した画面だけがクリアされる。

INT 10h/AH=01h : カーソル形状の設定

入力
AH=01H
CH=カーソルスタート位置(bit0-4)・カーソル表示ON/OFF(bit5,6)
CL=カーソルエンド位置(bit0-4)
出力
なし
注意事項
日本語グラフィックスモードに切り替えた場合、既定ではカーソル表示はOFFになっている。カーソル表示を必要とする場合は本機能を使用すると表示できるが、カーソルの形状はアンダーラインカーソルのみとなる場合が多く、必ずしもテキストモードのようなカーソル形状の設定にはならない。また、この場合カーソルはブリンクしない。

INT 10h/AH=02h : カーソル位置の設定

入力
AH=02H, BH=ページ番号
DH=指定行の値(0-24)、DL=指定桁の値(0-79)
出力
なし
注意事項
日本語テキストモードで全角文字の表示位置にカーソルを表示する場合は文字の第1バイトにカーソル位置を設定すること。第2バイトに設定した場合、カーソルが表示できない。

INT 10h/AH=03h : カーソル位置の読み込み

入力
AH=03H, BH=ページ番号
出力
CH=カーソルスタート位置、CL=カーソルエンド位置
DH=現在のカーソル位置の行、DL=現在のカーソル位置の桁
注意事項
カーソルの位置や形状はページ毎に設定することができるので、プログラムは読み取りページに注意する必要がある。

INT 10h/AH=06h/07h : スクロールアップ/ダウン

入力
AH=06H/07H, AL=スクロールさせる行数
BH=クリアする行のアトリビュート
CH=スクロールさせる範囲の最上行
CL=スクロールさせる範囲の最左行
DH=スクロールさせる範囲の最下行
DL=スクロールさせる範囲の最右行
出力
なし
注意事項
スクロールによりクリアされた画面上のクリアは、テキストモードではBHレジスタで指定したアトリビュートのスペース(20h)で消去し、グラフィックスモードではBHレジスタで指定したアトリビュートの色で塗りつぶす。AL=0のときはスクロールは行われずBHレジスタで指定されるアトリビュートで指定範囲を消去する。日本語グラフィックスモードでは画面下部に5ドット分の端数ラスタがある場合がある。この場合、最下行全体のスクロールが指定されれば、この端数ラスタをアトリビュート00hでクリアする。それ以外の場合は画面上そのままとする。

INT 10h/AH=0FH : ビデオ情報の読み取り

入力
AH=0FH
出力
AH=1行の桁数
AL=ビデオモード(bit0-6)、bit7=不定
BH=アクティブページ番号(0-)

INT 10h/AX=1000H : パレットレジスタの設定

入力
AX=1000H, BH=パレットコード、BL=パレットレジスタ番号
出力
なし

INT 10h/AX=1001H : オーバースキャンレジスタの設定

入力
AX=1001H, BH=パレットコード
出力
なし
注意事項
JEGAではオーバースキャンレジスタのサポートを行っていないため、日本語モードではオーバースキャンレジスタは設定できない。この機能はビデオモード04h/05hでのみ使用すること。

INT 10h/AX=1002H : パレットレジスタとオーバースキャンレジスタの設定

入力
AX=1002H, BH=パレットコード
ES:DX=17バイトのデータアドレス
出力
なし
注意事項
日本語テキストモードではオーバースキャンレジスタのサポートを行っていないため、17バイト目の値は0をセットすること。この機能はビデオモード04h/05hでのみ使用すること。

INT 10h/AH=0Ch : グラフィックス画面での点の書き込み

入力
AH=0CH, AL=アトリビュート
BH=ページ番号
CX=X座標、DX=Y座標
出力
なし

INT 10h/AH=0Dh : グラフィックス画面での点の読み取り

入力
AH=0DH, AL=アトリビュート
BH=ページ番号
CX=X座標、DX=Y座標
出力
AL=指定座標のアトリビュート

INT 10h/AH=12H/BL=10H : カラー・白黒モード情報の読み取り

入力
AX=12H, BL=10H
出力
BH=0 カラーモード、BH=1 白黒モード(MDAモード)
BL=VRAMのメモリサイズ(JEGAでは3に設定される)
CH=リザーブ
CL=ディップスイッチの設定値

INT 10h/AH=12H/BL=20H : CRT BIOSのプリントスクリーンのセレクト

入力
AX=12H, BL=20H
出力
なし