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)
指定されたウェイト数分ビジーループで待機し、呼び出し元に戻る。