FMTOWNS知識WIKI、FM TOWNSテクニカルデータブックの情報が有用
MEUによる調査の結果、INT
00h,20h,21h,25h,26h,27h,2Fh,31h(MSDOS.SYS?) INT 22h,23h,24h,2Eh(COMMAND.COM?) INT
02h,0Dh,1Ah,29h,40h-47h,8Eh,90h,91h,93h,96h-98h,9Bh,9Fh,ABh,ACh,AEh,AFh,FDh(IO.SYS?) INT 01h,03h,30h(ROM?)
INT 46h,47h,94h,95h(プリンタ) INT 91h,D8h,DAh-E1h,E4h-EFh(オアシスかな漢字変換) が存在していそう。
うちいくらかのシステムコールはFM-R/FM TOWNSと互換性がある。
TOWNS的にはINT 90h(キーボード) INT 93h(ディスク) INT 94h(プリンタ) INT 96h(カレンダ時計) INT 97h(タイマ管理) INT 98h(時計管理) INT 9Bh(RS-232C)
INT AEh(割り込み管理) AFh(サービスルーチン) 8Eh(拡張サービスルーチン)である。
またFMR的にはINT 91h(コンソール) INT ECh/EDh(かな漢字変換) FDh(ソフトタイマ)となっている
さらにドライバのロード位置的にINT 99h(タッチパネル)が存在
PPPクライアントであるAVEPPPはブラウザ起動時?にはINT 61hを使用させているように見える。
AVEDPH.SYSはデフォルトでINT 68hに登録するが何をするドライバかは不明
AH=f0h等の負数っぽいものはOASYSで拡張されているシステムコール?
INT 8Eh 拡張サービスルーチンBIOS
AH:0 何かを登録(FM TOWNSと非互換?)
AH:1 何かを読み出し(FM TOWNSと非互換?)
AH:2 何かを実行
AH:fe (OASYS拡張?)
AH:ff (OASYS拡張?)
INT 90h キーボードBIOS
AH:0 初期化
AH:1 バッファリング機能の設定
AH:2 コード系の設定
AH:3 コード系の読み取り
AH:4 キーボードロックの制御
AH:5 クリック音の制御
AH:6 バッファのクリア
AH:7 入力のチェック
AH:8 シフトキー状態の読み取り
AH:9 文字の読み出し
AH:a マトリクス入力
AH:b 入力文字列の追加
AH:c PFキー割り込み処理ルーチンの登録
AH:d PFキー割り込み処理ルーチンの読み取り
AH:e キー割り当て
AH:f キー割当状態の読み取り
AH:10 なにかの登録(FMTOWNSテクニカルデータブックに非記載)
AH:11 なにかの読み取り(FMTOWNSテクニカルデータブックに非記載)
AH:12 (FMTOWNSテクニカルデータブックに非記載)
AH:13 (FMTOWNSテクニカルデータブックに非記載)
AH:14 (FMTOWNSテクニカルデータブックに非記載)
AH:df (OASYS拡張?)
AH:e0 (OASYS拡張?)
AH:ee (OASYS拡張?)
AH:ef (OASYS拡張?)
AH:f0 (OASYS拡張?)
AH:f1 (OASYS拡張?)
AH:f2 (OASYS拡張?)
AH:f3 (OASYS拡張?)
AH:f4 (OASYS拡張?)
AH:f5 (OASYS拡張?)
AH:f6 (OASYS拡張?)
AH:f7 (OASYS拡張?)
AH:f8 (OASYS拡張?)
AH:f9 (OASYS拡張?)
AH:fa (OASYS拡張?)
AH:fb (OASYS拡張?)
AH:fc (OASYS拡張?)
INT 91h コンソールBIOS
AH:0 初期化
AH:1 表示制御
AH:2 画面クリア
AH:3 ディスプレイサイズの設定
AH:4 ディスプレイサイズの読み出し
AH:5 設定可能なディスプレイサイズのリスト取得
AH:6 使用可能なアトリビュートの取得?
AH:7 フォント取得
AH:8
AH:9 カーソル設定
AH:a カーソル設定読み出し
AH:b カーソル表示設定
AH:c カーソル表示設定読み出し
AH:d カーソル位置設定
AH:e カーソル位置設定読み出し
AH:f アトリビュート設定
AH:10 アトリビュート設定読み出し
AH:11 アトリビュート 設定
AH:12 アトリビュート 設定読み出し
AH:13 文字書き込み
AH:14 文字読み出し
AH:15 矩形書き込み
AH:16 矩形読み出し
AH:17 矩形コピー
AH:18 矩形クリア
AH:19 画面スクロール
AH:1a 画面スクロール
AH:1b コンソール設定
AH:1c コンソール設定読み出し
AH:1d 文字出力
AH:1e 文字列出力
AH:1f
AH:20
AH:21
AH:22
AH:ee (OASYS拡張?)
AH:ef (OASYS拡張?)
AH:f0 (OASYS拡張?)
AH:f1 (OASYS拡張?)
AH:f2 (OASYS拡張?)
AH:f3 (OASYS拡張?)
AH:f4 (OASYS拡張?)
AH:f5 (OASYS拡張?)
AH:f6 (OASYS拡張?)
AH:f7 (OASYS拡張?)
AH:f8 (OASYS拡張?)
AH:f9 (OASYS拡張?)
AH:fa (OASYS拡張?)
AH:fb (OASYS拡張?)
AH:fc (OASYS拡張?)
AH:fd (OASYS拡張?)
INT 93h ディスクBIOS
AH:0 ドライブモード設定(FDのみ)
AH:1 ドライブモード設定読み出し(FDのみ)
AH:2 ドライブステータス読み出し
AH:3 シリンダ0へのシーク
AH:4 シーク(FDのみ)
AH:5 データの読み出し
AH:6 データの書き込み
AH:7 セクタの検査
AH:9 セクタIDの取り出し(FDのみ)
AH:a トラックのフォーマット(FDのみ)
AH:b 虚無
AH:c 虚無
AH:e TestUnitReady(Undocumented?)
INT 94h プリンタBIOS(MSPRN60.SYS)
AH:0 プリンタ状態の読み取り
AH:1 1文字出力
AH:2 文字列出力
AH:f0 (OASYS拡張?)
AH:f1 (OASYS拡張?)
AH:f2 (OASYS拡張?)
AH:f3 (OASYS拡張?)
AH:f4 (OASYS拡張?)
INT 95h ハードコピーBIOS(MSPRN60.SYS)
AH:0
AH:1
AH:2 ハードコピー
AH:fe (OASYS拡張?)
INT 96h カレンダー・時計BIOS
AH:0 日時の設定
AH:1 日時の読み取り
AH:fb (OASYS拡張?)
INT 97h タイマ管理BIOS
AH:0 タイマの登録
AH:1 タイマの取り消し
AH:2 タイマのカウント値の読み取り
AH:10 (OASYS拡張?)
AH:11 (OASYS拡張?)
AH:12 (OASYS拡張?)
AH:13 (OASYS拡張?)
AH:14 (OASYS拡張?)
INT 98h 時計BIOS
AH:0 指定時刻の割り込み処理の登録
AH:1 指定時刻の割り込み処理の取り消し
INT 99h タッチパネルBIOS(TOUCH.SYS)
FM-RではマウスBIOS
AH:0 初期化
AH:1 終了
AH:3 カーソルオンオフ設定
AH:5
AH:6
AH:d
INT 9Bh RS-232C BIOS
AH:0 シリアルポートの検出
AH:1 回線オープン
AH:2 回線クローズ
AH:3 通信パラメータの設定
AH:4 通信パラメータの読み取り
AH:5 受信バッファ内部有効データ数の読み取り
AH:6 データの受信
AH:7 データの送信
AH:8 シリアルポートの制御
AH:9 ステータス情報の読み取り
AH:a 受信バッファの初期化
AH:b ブレーク信号の送信
AH:c 拡張割り込みの設定
AH:d 拡張割り込みの読み取り
AH:e 拡張DTR信号の保持設定
AH:f XOFF受信のクリア
AH:10 送信バッファ内有効データ数の読み取り
AH:11 虚無
AH:e0 (OASYS拡張?)
AH:e1 (OASYS拡張?)
AH:fc (OASYS拡張?)
AH:fd (OASYS拡張?)
INT 9Fh(FM-Rではサブディスプレイ設定BIOS)
AH:0 初期化?
AH:1 終了?
AH:2 モード?
AH:3
INT ABh
AH:0-f 下層ドライバ直接呼び出し(0200:0000)
AH:40
AH:42
INT ACh
AH:0
AH:1
AH:2
AL:0 SRAMから1バイト読み出し?
AL:1 SRAMに1バイト書き込み?
AL:2 SRAMから2バイト読み出し?
AL:3 SRAMに2バイト書き込み?
INT AEh 割り込み管理BIOS
AH:0 割り込みデータブロックアドレスの登録
AH:1 割り込みデータブロックアドレスの取り出し
AH:2 割り込み許可データの書き込み
AH:3 割り込み許可データの取り出し
AH:4 割り込みデータブロックテーブルの取り出し
AH:fb (OASYS拡張?)
AH:fc (OASYS拡張?)
AH:fd (OASYS拡張?)
INT AFh サービスルーチンBIOS
AH:0 AH:3 JISからシフトJISへの変換
AH:1 AH:4 シフトJISからJISからへの変換
AH:2 CPUタイプの読み取り
AH:5 機器情報の読み取り
AH:6
AH:7
AH:f0 (OASYS拡張?)
AH:f1 (OASYS拡張?)
AH:fc (OASYS拡張?)
AH:fd (OASYS拡張?)
INT ECh かな漢字変換BIOS
INT EDh かな漢字変換BIOS
INT FDh ソフトタイマBIOS
レジスタ |
内容 |
CX |
ウェイト数(1単位=10us) |
指定されたウェイト数分ビジーループで待機し、呼び出し元に戻る。