MSX-DOS2ファンクションコール一覧
(佐藤@NECソフトウェア[msx:01439],[msx:01468])
番号 機能
-----------------------------------------------------------------------------
40H 最初のエントリーの検索
41H 次のエントリーの検索
42H 新しいエントリーの検索
43H F.H.のオープン
44H F.H.の作成
45H F.H.のクローズ
46H F.H.のエンシュア
47H F.H.の複製
48H F.H.からの読みだし
49H F.H.への書き出し
4AH F.H.ポインターへの移動
4BH デバイスI/Oの制御
4CH F.H.のテスト
4DH ファイル、サブディレクトリの削除
4EH ファイル、サブディレクトリの名前変更
4FH ファイル、サブディレクトリの移動
50H ファイル属性の獲得、設定
51H ファイル日時の獲得、設定
52H F.H.の削除
53H F.H.の名前の変更
54H F.H.の移動
55H F.H.の属性の獲得、設定
56H
57H F.H.の日付の獲得、設定
58H ベリファイフラグの獲得
59H カレントディレクトリの獲得
5AH カレントディレクトリの変更
5BH パス名の解析
5CH ファイル名の解析
5DH 文字の検査
5EH 完全なパス名の獲得
5FH ディスクバッファのフラッシュ
60H 子プロセスの起動
61H 親プロセスに戻る
62H エラー番号を伴う終了
63H アボート終了ルーチンの定義
64H ディスクエラー処理ルーチンの定義
65H 直前のエラー番号の獲得
66H エラー番号の説明
67H ディスクのフォーマット
68H RAMディスクの作成/消去
69H セクタバッファの割り当て
6AH 論理ドライブの割り当て
6BH 環境変数の獲得
6CH 環境変数の設定
6DH 環境変数の検索
6EH ディスク検査状態の獲得/設定
6FH MSX-DOSのバージョン番号獲得
70H リダイレクション状態の獲得/設定
==============================================================================
MSX−DOS2ファンクションコール一覧
参考文献:MSXマガジン'92.5
MSXテクニカルガイドブック(ディスク編)
------------------------------------------------------------------------------
P.N. =PATH NAME パス名(ASCIIZ)
(ドライブ名+サブディレクトリ名+ファイル名)
例."A:\TOOLS\KID.COM"+00H
F.N. =FILE NAME ファイル名(ASCIIZ) 例."KID.COM"+00H
F.H. =FILE HANDLE ファイルハンドル
BUF[64]=BUFFER (64 BYTES)
FIB =FILE INFORMATION BLOCK ファイル情報ブロック
FIBの内容
+ 0,1 常に0FFH(パス名文字列との区別のため)
+ 1,13 ファイル名(ASCIIZ)
+14,1 ファイル属性
+15,2 最終更新時刻
+17,2 最終更新日付
+19,2 開始クラスタ
+21,4 ファイルサイズ
+25,1 論理ドライブ
+26,38 内部情報(変更してはならない)
ファイル属性
b0 読み出し専用 b4 ディレクトリ
b1 不可視 b5 アーカイブビット
b2 システムファイル b6 予約(常に0)
b3 ボリューム名 b7 デバイスビット(FIBが文字デバイス)
DRVNO =ドライブ番号 (1=A: 2=B:...場合により0=カレントドライブ)
ASCIIZ =アスキー文字列+00H
==============================================================================
番号 機能 パラメータ 結果
------------------------------------------------------------------------------
40H 最初のエントリの検索 (DE)=P.N. OR FIB A=エラー番号
(_FFIRST) (HL)=F.N.(IF DE=FIB) (IX)=一致するエントリ
B=検索属性 のFIB
(IX)=BUF[64]
------------------------------------------------------------------------------
41H 次のエントリの検索 (IX)=最初のエントリ A=エラー番号
(_FNEXT) 検索結果 (IX)=一致するエントリ
のFIB
------------------------------------------------------------------------------
42H 新しいエントリの検索 (DE)=P.N. OR FIB A=エラー番号
(_FNEW) (HL)=F.N.(IF DE=FIB) (IX)=一致するエントリ
B=b0-b6:要求する属性 のFIB
b7:新規作成フラグ
(IX)=テンプレートを含む
FIB
------------------------------------------------------------------------------
43H F.H.のオープン (DE)=P.N. OR FIB A=エラー番号
(_OPEN) A=オープンモード B=新しいF.H.
------------------------------------------------------------------------------
44H F.H.の作成 (DE)=P.N. OR FIB A=エラー番号
(_CREATE) A=オープンモード B=新しいF.H.
B=b0-b6:要求する属性
b7:新規作成フラグ
------------------------------------------------------------------------------
45H F.H.のクローズ B=F.H. A=エラー番号
(_CLOSE)
------------------------------------------------------------------------------
46H F.H.のエンシュア B=F.H. A=エラー番号
(_ENSURE)
------------------------------------------------------------------------------
47H F.H.の複製 B=F.H. A=エラー番号
(_DUP) B=新しいF.H.
------------------------------------------------------------------------------
48H F.H.からの読みだし B=F.H. A=エラー番号
(_READ) (DE)=BUF HL=実際に読み込まれた
HL=読み込みバイト数 バイト数
------------------------------------------------------------------------------
49H F.H.への書き出し B=F.H. A=エラー番号
(_WRITE) (DE)=BUF HL=実際に書き込まれた
HL=書き込むバイト数 バイト数
------------------------------------------------------------------------------
4AH F.H.ポインタの移動 B=F.H. A=エラー番号
(_SEEK) A=0:最初から DE:HL=新しい位置
1:現在位置から
DE:HL=符号付きオフセット
2:最後から
------------------------------------------------------------------------------
4BH デバイスI/Oの制御 B=F.H. A=エラー番号
(_IOCTL) A=サブファンクション DE=他の結果
コード
00H ファイルハンドル状態の獲得
01H ASCII・バイナリモードのセット
02H 入力レディの検査
03H 出力レディの検査
04H 画面サイズの検出
DE=他のパラメータ
------------------------------------------------------------------------------
4CH F.H.のテスト B=F.H. A=エラー番号
(_HTEST) (DE)=P.N. OR FIB B=00H 異なるファイル
FFH 同じファイル
------------------------------------------------------------------------------
4DH ファイル、サブディレクトリ (DE)=P.N. OR FIB A=エラー番号
の削除
(_DELETE)
------------------------------------------------------------------------------
4EH ファイル、サブディレクトリ (DE)=P.N. OR FIB A=エラー番号
の名前変更 (HL)=新しいF.N.
(_RENAME)
------------------------------------------------------------------------------
4FH ファイル、サブディレクトリ (DE)=P.N. OR FIB A=エラー番号
の移動 (HL)=新しいP.N.
(_MOVE)
------------------------------------------------------------------------------
50H ファイル属性の獲得、設定 (DE)=P.N. OR FIB A=エラー番号
(_ATTR) A=0 属性の獲得 L=属性
1 属性の設定
L=新しい属性(IF A=1)
------------------------------------------------------------------------------
51H ファイル日時の獲得、設定 (DE)=P.N. OR FIB A=エラー番号
(_FTIME) A=0 日時の獲得 DE=新しい時刻
1 日時の設定 HL=新しい日付
IX=新しい時刻(IF A=1)
HL=新しい日付(IF A=1)
------------------------------------------------------------------------------
52H F.H.の削除 B=F.H. A=エラー番号
(_HDELETE)
------------------------------------------------------------------------------
53H F.H.の名前の変更 B=F.H. A=エラー番号
(_HRENAME) (HL)=新しいF.N.
------------------------------------------------------------------------------
54H F.H.の移動 B=F.H. A=エラー番号
(_HMOVE) (HL)=新しいP.N.
------------------------------------------------------------------------------
55H F.H.の属性の獲得、設定 B=F.H. A=エラー番号
(_HATTR) A=0 属性の獲得 L=属性
1 属性の設定
L=新しい属性(IF A=1)
------------------------------------------------------------------------------
56H F.H.の日付の獲得、設定 B=F.H. A=エラー番号
(_HFTIME) A=0 日時の獲得 DE=新しい時刻
1 日時の設定 HL=新しい日付
IX=新しい時刻(IF A=1)
HL=新しい日付(IF A=1)
------------------------------------------------------------------------------
57H DTAの獲得 DE=ディスク転送番地
(_HGETDTA)
------------------------------------------------------------------------------
58H ベリファイフラグの獲得 B=00H ベリファイ無効
(_GETVFY) B=FFH ベリファイ有効
------------------------------------------------------------------------------
59H カレントディレクトリの獲得 B=DRVNO A=エラー番号
(_GETCD) (DE)=BUF[64] (DE)=P.N.
------------------------------------------------------------------------------
5AH カレントディレクトリの変更 (DE)=P.N. A=エラー番号
(_CHDIR)
------------------------------------------------------------------------------
5BH パス名の解析 B=B4:ボリューム名フラグ A=エラー番号
(_PARSE) (DE)=解析する文字列 (DE)=終了文字
(HL)=最後の項目の先頭
B=解析フラグ
C=論理DRVNO
------------------------------------------------------------------------------
5CH ファイル名の解析 (DE)=解析すつ文字列 A=0
(_PFILE) (HL)=BUF[11] (DE)=終了文字
B=解析フラグ
------------------------------------------------------------------------------
5DH 文字の検査 D=文字フラグ A=0
(_CHKCHR) E=検査する文字 D=更新された文字フラグ
E=検査された文字
------------------------------------------------------------------------------
5EH 完全なパス名の獲得 (DE)=BUF[64] A=エラー番号
(_WPATH) (DE)=完全なP.N.
(HL)=最後の項目の先頭
------------------------------------------------------------------------------
5FH ディスクバッファの B=DRVNO A=エラー番号
フラッシュ 00H=カレントドライブ
(_FLUSH) FFH=全てのドライブ
D=00H フラッシュのみ
FFH フラッシュして無効
------------------------------------------------------------------------------
60H 子プロセスの起動 A=エラー番号
(_FORK) B=親プロセスのID
------------------------------------------------------------------------------
61H 親プロセスに戻る B=親プロセスのID A=エラー番号
(_JOIN) または 0 BC=子プロセスの
エラー番号
------------------------------------------------------------------------------
62H エラー番号を伴う終了 B=終了のエラー番号 もどらない
(_TERM)
------------------------------------------------------------------------------
63H アボート終了ルーチンの定義 DE=アボート処理ルーチン A=0
(_DEFAB) の番地(0000H 解除)
------------------------------------------------------------------------------
64H ディスクエラー処理ルーチン DE=ディスクエラー処理 A=0
の定義 ルーチンの番地
(_DEFER) (0000H 解除)
------------------------------------------------------------------------------
65H 直前のエラー番号の獲得 A=0
(_ERROR) B=直前のファンクション
コールのエラー番号
------------------------------------------------------------------------------
66H エラー番号の説明 B=説明すべきエラー番号 A=0
(_EXPLAIN) (DE)=BUF[64] B=説明できれば 0
(DE)=エラーメッセージ
------------------------------------------------------------------------------
67H ディスクのフォーマット B=DRVNO A=エラー番号
(_FORMAT)
・フォーマットの選択 A=0 B:HL=選択文字列の
スロットと番地
・フォーマット A=選択(1-9)
・パラメータの更新 A=FEH
・ブートセクタの更新 A=FFH
------------------------------------------------------------------------------
68H RAMディスクの作成/消去 A=00H 消去 A=エラー番号
(_RAMD) FFH 大きさの検査 B=RAMディスクの大きさ
その他 作成するサイズ
(サイズは16K単位 最大で254*16K=4064K)
------------------------------------------------------------------------------
69H セクタバッファの割り当て B=00H バッファ数の A=エラー番号
(_BUFFER) 獲得 B=バッファ数
その他 要求する
バッファ数
------------------------------------------------------------------------------
6AH 論理ドライブの割り当て B:D=論理:物理DRVNO
(_ASSIGN) XX00H D=物理DRVNO
0000H 全て取り消し
XXFFH 調べる
------------------------------------------------------------------------------
6BH 環境変数の獲得 (HL)=環境変数の名前 A=エラー番号
(_GENV) (ASCIIZ) (DE)=環境変数の値
(DE)=BUF
B=BUF長
------------------------------------------------------------------------------
6CH 環境変数の設定 (HL)=環境変数の名前 A=エラー番号
(_SENV) (DE)=値
------------------------------------------------------------------------------
6DH 環境変数の検索 DE=環境変数の番号 A=エラー番号
(_FENV) (HL)=BUF[255] (HL)=環境変数の名前
------------------------------------------------------------------------------
6EH ディスク検査状態の獲得 A=00H 獲得 A=エラー番号
/設定 A=01H B=00H 有効に設定 B=ディスク検査状態
(_DSKCHK) A=01H B=FFH 無効に設定
------------------------------------------------------------------------------
6FH MSX-DOSのバージョン番号 A=エラー番号
獲得 BC=ROMバージョン
(_DOSVER) DE=ディスクバージョン
B<02Hの時はCDEは不定
バージョン表記の例.0231H=2.31
------------------------------------------------------------------------------
70H リダイレクション状態の獲得 A=00H 獲得 A=エラー番号
/設定 01H 設定 B=現在の状態(IF A=0)
(_REDIR) B=新しい状態(IF A=1) 元の状態 (IF A=1)
(B=b0:入力,b1:出力)
(BIT ON :リダイレクションON )
(BIT OFF:リダイレクションOFF)
------------------------------------------------------------------------------
MSXに関する資料集へ
サイバラのホームページへ
(旧)サイバラのホームページへ
(現在移行作業中のためコンテンツが散在します)
E-mail address :「saibara」アットマーク「big.or.jp」