README.TXT 2000年 2月24日 第3版 大貫広幸 作成 (1) はじめに  今回のリリースでは,前回リリースのFAT型ファイル・システム(略してFFS) Ver 0.2 で発見されたバグを修正しています. (2)FFS Ver 0.20 → Ver 0.21 への変更点について  前回配布 FFS Ver 0.20 から,今回配布の FFS Ver 0.21 への変更点について述べます. @ FFS_readおよびFFS_writeで,1クラスタ2セクタより大きいディスクの場合,リード/ライトのサイズによっては,正しくセクタがアクセスできなかった. (3)お願い  現在のFFSをより完璧にするために,バグを発見されたり,どこどこ社のXXX CPU用のCコンパイラではFFSがコンパイルできないといったことがありましたら,その状況をぜひInterface編集部まで,ご一報ください.その場合,できる限り詳しい情報をお願いします.  また,FFSに追加して欲しいファンクションなどのリクエストがあれば,その内容もお寄せください.バグの修正とできる限りの機能強化を行いたいと考えています.必要があれば,こちらから直接電子メールでご連絡したり,バグ修正版のFFSをお送りする場合もございますので,ご連絡いただくの際には電子メールのアドレスもできればお知らせください.  FFS関連のソース・ファイルには,できるだけコメントを多く入れるようにしているため,Interface誌1998年9月号の特集を理解できれば,FFSの構造やドライバの組み方などは,ソース・ファイルの内容を見るだけでわかるのではないかと思います.  しかし,リクエストが多ければ,詳細なFFSの構造説明やドライバの作成方法などのドキュメントも書きたいと思っています. (4) 配布ファイルの内容  配布ファイルとして,このREADME.TXT以外に下記のような17本のファイルがあります. DEFINE H 4,198 98-07-28 2:55 FFSERR H 2,186 98-07-28 2:55 BASICSUB H 2,737 98-07-28 2:56 BASICSUB C 6,216 98-07-28 2:56 FFS H 22,865 00-02-24 10:53 FFS C 125,432 00-02-24 11:40 DISKIO H 3,192 98-08-20 23:29 ATFDIO C 16,091 98-08-20 23:30 CLOCK H 1,342 98-08-17 9:58 CLOCKAT C 6,992 98-08-17 9:58 TST02 C 18,634 98-08-21 0:53 CC BAT 65 98-08-17 9:31 TST02 EXE 144,371 00-02-24 11:40 DSP_BPB C 8,754 98-06-24 9:47 DSP_BPB EXE 34,014 98-07-28 9:14 SD C 9,900 98-07-21 17:36 SD EXE 34,958 98-07-28 9:14  FFS本体関連ファイルは,DEFINE.H,FFSERR.H,BASICSUB.H,BASICSUB.C,DISKIO.H,FFS.H,FFS.Cの七つです.  ATFDIO.Cは,AT互換機用のFDドライバ,CLOCK.H,CLOCKAT.CはAT互換機用のクロック(時刻と日付)処理モジュールです.Turbo C 4.0 for DOS用のソース・ファイルです.  TST02.Cは,FFSのデバッグ用のモジュールで,DOS/V上でFFS Ver 0.21 がサポートしているファンクションを実行することができます.  TST02は,バッチ・ファイルCC.BATで         CC TST02 とすることでコンパイルすることができます.  ATFDIO.C,CLOCK.H,CLOCKAT.C,TST02.Cをコンパイルするためには,CコンパイラとしてTurbo C 4.0 for DOSが必要になります.  DSP_BPBとSDのソース・ファイルとEXEファイルは,ディスクの内容を見るためのユーティリティです.ともにDOS/VあるいはPC9800のDOSあるいはWin95,Win98のDOS窓で実行することができます.  DSP_BPBは,ディスク上のブート・セクタにあるBPBの内容を表示するためのプログラムです.  SDはディスク上のセクタをダンプするためのプログラムです.  使い方は,DSP_BPB,SDともに引数を付けずに実行することで画面に表示されます.  DSP_BPBおよびSDは,FAT12,FAT16のディスクに対して実行可能です.残念ながらセクタ・リードに使用しているDOSの int 25h のアブソリュート・ディスク・リードが,既存の方法ではFAT32のディスク・リードを許可していないことから,DSP_BPB,SDでFAT32は扱えません. (5) 使用上の注意  FFSとその関連プログラムのソース・ファイルは,下記の注意事項に同意できる方のみご使用ください.同意できる方は,自分の責任において自由にFFSとその関連プログラムを使用し,改造することができます.  また,FFSを使用者が開発しているプログラムの一部として,ロイヤリティの支払いなしに使用することができます.ただし,その場合も「自分の責任において」ということになります. @ FFSとその関連プログラムを使用して生じたトラブルについては,CQ出版(株)および「大貫広幸」はいかなる責任も負いません. A プログラムのバグ修正やバージョン・アップなどのメンテナンスを,FFSの使用者は強制することはできません.ただし,早急な内容修正などの依頼があれば有料でお受けします. B 「大貫広幸」が開発したFFSとその関連のプログラムの著作権は「大貫広幸」にあるものとします.  また,いかなる場合でも,著作権者「大貫広幸」の許可なく第三者によるFFSとその関連プログラムのソース・ファイルの配布を禁じます.これは,FFS使用者が改造したFFS関連のソース・ファイルにも適用されます.  もし,FFSとその関連プログラムのソース・ファイルの配布を考えておられる方は,Interface編集部を通じて大貫広幸までご連絡ください.ケースバイケースで対応させていただきます. C FFSは次のような装置には使用できません.    ・生命維持のための医療装置    ・交通信号,列車制御,航空宇宙関連の装置    ・燃焼装置,防火,防犯装置    ・原子力関連の装置    ・自動車電装    ・その他,人体に影響を与える装置 -------------------------------------------------------------------------- 変更履歴 -------------------------------------------------------------------------- ●FFS Ver 0.10 → Ver 0.20 への変更点 @FFS Ver 0.10では,Interface誌1998年9月号に掲載した一部のファンクションが未実装だったものを,FFs Ver 0.20 ではすべて実装しました. A次の六つのファンクションを追加しました.    FFS_cvFname,FFS_cvFdate,FFS_cvFtime,FFS_getFDPaddr,    FFS_openFiles,FFS_getVerNo  追加ファンクションの内容については,FFS.Hのソース・ファイルをご覧ください. Bバグの修正.修正したバグのおもな内容は次の通りです. ・FFS_writeで,64Kバイト以上のクラスタの確保が正しく行われない. ・FFS_findFirst,FFS_findNext  サブディレクトリがあるクラスタ番号が256以上のときディレクトリ・エントリが正しく取得できない.また,256個目以降のエントリが正しく取得できない.エラーが発生したとき,正しいエラー・コードが返されない. ・アクセス・コード2(リード/ライト・モード)でオープンしたとき,FFS_readでリードできない. ・既存のファイルに対してライトすると,ファイルのリード/ライト・ポインタの値により,ファイル・サイズが不正に変更されることがある. ・リードあるいはライトするバイト数によっては,リード・サイズあるいはライト・サイズが正しく処理されないことがある. ・FFS_writeのクラスタの確保で,ディスクの最終クラスタ番号に達すると0x1Aのエラーが発生する. ・FFS_getFnsで,エラーのときエラー発生を表す -1 の戻り値を返さないことがある. Cファンクションの追加やバグの修正により,ヘッダ・ファイルに記述されている構造体や関数の仕様の一部を変更しました. Dソース・ファイル上の不適切なコメントや間違ったコメントを変更.