【警告】 必ずお読みください


FTOOLSに含まれているコマンド群は現在α版のものです。一切の動作を保証できませんので、ご使用になられる場合は「何が起こっても不思議ではない」ことを覚悟の上でご使用ください。万一ツールを使用したことによるデータの一部またはすべての消失、および、発生しうるすべての損害に対して作者は一切の責任を負わないものとします。
以上の事項を承諾いただけない場合、FTOOLSを使用することはできません。












----------------------------------------------------------------------

●FTOOLS

FTOOLSはXM7で正式に採用されているD77ディスクイメージフォーマットファイル用のユーティリティー群に与えられた名前です。FTOOLSはさまざまなコマンドを含んでいます。すべてのコマンドはCUIベースのとてもシンプルなものです。
FTOOLSを使用することで、DOS/V機のクロスアセンブラでコーディング、アセンブルして作成したオブジェクトや、テキストエディタで入力したBASICプログラムを簡単にXM7上に持ってくることができます。一度DOS/V上で扱えるファイル形式に変換できますので、さまざまな応用例が考えられます(ホントカ?)
FTOOLSが含んでいるコマンドは現在のところ以下のものがあります。


FMREAD	 D77イメージファイルから指定のファイルを読み出す。
         読み出したファイルはFM-FILEフォーマットとなる。

FMENCODE FM-FILEフォーマットのファイルをデコードしてDOS/V標準
         ファイルに変換する(.TXT, .MOT, .BINなど)

FMENCODE DOS/V標準ファイルをFM-FILEフォーマットに変換する
         DOS/Vファイルの拡張子により変換後のファイル属性が決定される

FMWRITE  FM-FILEフォーマットファイルをD77イメージファイルに書き込む

FMDIR    D77フォーマットファイルに格納されているファイルのカタログを
         表示する

FMCOPY   D77フォーマット間でファイルのコピーを行う

D77DMP   D77ファーマットファイルのセクタダンプを表示する


これらのコマンドを使用することで次のようなことが行えます。

D77IMG → FM-FILE → DOS/V-FILE → FM-FILE → D77IMG
       ↑         ↑            ↑         ↑
     FMREAD     FMDECODE      FMENCODE   FMWRITE


D77IMG → D77IMG
       ↑
     FMCOPY


D77IMG → FM-FILE → インターネット → FM-FILE → D77IMG
       ↑         ↑                ↑         ↑
     FMREAD     MAILER            MAILER     FMWRITE


----------------------------------------------------------------------

●FM-FILEとは

FM-FILEとは私の造語です(^^; これは、

「16バイトのヘッダ」+「F-BASICディスク内のクラスタイメージRAWデータ」

にほぼ等しいものです。16バイトのヘッダの中にはD77ディスクイメージディスクに書かれていたときのファイル名や、属性、FM-FILEであることをあらわすIDなどが格納されています。
このファイルの中身を見ることにあまり意味はありません。D77イメージファイルから取り出したファイルの中身が必要な場合、FMDECODEコマンドを使用してヘッダを取り除いた状態に変換してから使用してください。

----------------------------------------------------------------------
●FMDIR

機能： D77ファイルの中に格納されているF-BASICファイル一覧を表示する

書式： FMDIR D77_IMG [options]

オプション：
    -C   クラスタチェイン表示モード。どのクラスタが使用されているのか
         分かるようにクラスタチェインを表示する
    -W   横にたくさんファイル一覧を表示する


実行例:
C:\>FMDIR test.d77 -c
MONBOOT  0 B 0 7<2> 1
EXMON    2 B 0 8-9<5> 2
kanji    0 B 0 6<1> 1         ↓最終クラスタ
DUMPA    0 A 0 10-11-12-13-14-15<2> 6
KASAHARA 0 A 0 16-17<7> 2        ↑最終クラスタで使用されているセクタ数
               ↑先頭クラスタ
----------------------------------------------------------------------
●FMREAD

機能： D77ファイルから、F-BASICファイルを読み出す

書式： FMREAD D77_IMG FBASIC_FILE [options]

オプション： -V    Verboseモード。変換後の出力ファイル名などを表示する。

詳細： 読み出されたファイルはFM-FILE形式という独自形式ファイルとして作成されます。このとき、出力ファイルのファイル名はF-BASICファイルのベースファイル名と属性から決定されます。出力ファイル名は、
　「F-BASIC名」+「.」+「ファイルタイプ」+「アスキーフラグ」+「ランダムフラグ」
となります。たとえばマシン語のTESTというファイルの場合、TEST.2B0となります。


実行例：
C:\>FMREAD TEST.D77 DUMPA -V
Output file='DUMPA.0A0'


----------------------------------------------------------------------
●FMDECODE

機能：FM-FILE形式ファイルを、DOS/V標準ファイル形式に変換する

書式： FMDECODE FM-FILE [options]

オプション：  -V   Verboseモード

詳細： FM-FILE形式ファイルを.TXTや.MOT(モトローラSフォーマット)等の、DOS/V標準(?)ファイルに変換する。F-BASICの時のファイル属性を利用して出力ファイル形式を決定する。FM-FILEに格納されているIDを使用してファイル属性を取得するので、入力ファイルの拡張子は出力ファイルの形式に関係ない。変換される形式は以下のとおり
  F-BASIC BINARY  (0B0) → xxxxxxxx.BIN (バイナリ)
  F-BASIC ASCII   (0A0) → xxxxxxxx.BAS (テキストファイル)
  F-BASIC DATA    (1A0) → xxxxxxxx.TXT (テキストファイル)
  マシン語        (2B0) → xxxxxxxx.MOT (テキストファイル:Motorola-S form)
  その他全部      (xxx) → xxxxxxxx.BIN (バイナリ)

実行例１：
C:\>FMDECODE DUMPA.0A0 -V
Output file='DUMPA.bas'
FileName=DUMPA    FileType=0 Ascii=A Random=S

実行例２：
C:\>FMDECODE DPOKEM.2B0 -V
Output file='DPOKEm.mot'
FileName=DPOKEm   FileType=2 Ascii=B Random=S
StartAddr=6000 EndAddr=60a6 Entry=6000

実行例２で生成されたファイル(DPOKEm.MOT)
S1236000338C25C67F9E3334103702A7805A26F99F338607B702033510BF0204338823FF63
S12360200210BD8F397E8E8243484149CE45524153C54C4C4953D44C5052494ED4534F550C
S12360404EC4504C41D944504F4BC581F427037E92A09DD281DB2607EE8C499DD22005BD26
S12360609A021F1334409DD82734812C270A813B2711817C271820D79DD2BD99BC3540E728
S1236080C020E19DD2BD9A023540AFC120D69DD2BD98F13540A680A7C05A26F920C635400D
S10A60A0EF8C013900000040
S90360009C

----------------------------------------------------------------------
●FMENCODE

機能： DOS/V標準ファイルをFM-FILE形式に変換する

書式： FMENCODE DOSV_FILE [options]

オプション： -V   Verboseモード。出力ファイル名などを表示する

詳細： DOS/V標準ファイルをFM-FILE形式に変換する。出力ファイル名は入力ファイルのベースファイル名と拡張子から決定される。また、出力ファイルのファイル名、拡張子、FM-FILEのID情報は入力ファイルのベースファイル名と拡張子により決定される。
xxxxxxxx.TXT  (1 A 0)   F-BASIC DATA
xxxxxxxx.MOT  (2 B 0)   マシン語
xxxxxxxx.S    (2 B 0)   マシン語
xxxxxxxx.BAS  (0 A 0)   F-BASIC PROGRAM(ASCII)

実行例：
C:\>FMENCODE DPOKEM.MOT -V
fn=DPOKEM.MOT ext=MOT 2 B 0
FM-FILE file ='DPOKEM.2B0'

----------------------------------------------------------------------
●FMWRITE

機能： FM-FILE形式のファイルをD77イメージファイルに書き込みます

書式： FMWRITE D77_IMG FM-FILE

オプション： なし

詳細： 書き込まれるファイル名、属性などはFM-FILE形式のIDに保存されている情報を元に書き込みます。入力ファイルのファイル名、拡張子は書き込みファイル名、属性に一切関係ありません。もし、同名のファイルが存在する場合、書き込みに先立ってファイルの削除を行います。FTOOLSのコマンドはD77フォーマットがサポートするライトプロテクト機能に対応しているので、ライトプロテクトの掛かったD77イメージには書き込みを行うことはできません。また、D77イメージ内のディスクIDを確認していますのでF-BASICフォーマット以外のディスクに書き込むこともできません。

使用例：
C:\>FMWRITE test.d77 DPOKEm.2B0


----------------------------------------------------------------------
●FMCOPY

機能： D77イメージファイル間でのファイル転送を行います

書式： FMCOPY D77_IMG_IN D77_IMG_OUT F-BASIC_FILE [options]

オプション： -V  Verboseモード。コピーしたバイト数などを表示する。

詳細： ファイルコピーを行います。ワイルドカードなどは使用できません。送り先のファイル名、属性は送り元のものと同一となります（変更できません）。

使用例：
C:\>FMCOPY YASU.D77 KASHI.D77 DUMPA -V
10704 bytes copied

----------------------------------------------------------------------
●D77DMP

機能： D77イメージフォーマット内のセクタダンプを表示します

書式１： D77DMP D77_IMG track sctor [options]
書式２： D77DMP D77_IMG -Ccluster [options]
書式３： D77DMP D77_IMG -Llba [options]

オプション： -m   マニュアルモード。セクタダンプ後にキー入力待ちになり、
                  キー操作で前後のセクタに移動することができる

詳細： 書式１のときはtrackは0〜79、sectorは1〜16で指定。書式２のときはクラスタ番号で指定すると、クラスタの先頭セクタをダンプ。書式３の時はTRK0:SCT1を0とした連番(LBA)でセクタ番号を指定する。LBA32はTRK2:SCT0と同一。

使用例１：
C:\>D77DMP TEST.D77 2 1
Dumping TRK=2 SCT=1
-OFFSET- +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 0123456789ABCDEF
00000000 00 FF FF FF FF C3 C0 C5 C3 C0 C2 C0 C1 09 C4 0B .....ﾃﾀﾅﾃﾀﾂﾀﾁ.ﾄ.
00000010 0C 0D 0E 0F C1 11 C6 13 14 15 16 17 18 19 1A 1B ....ﾁ.ﾆ.........
00000020 1C C0 C0 C0 C0 C0 C0 C0 FF FF FF FF FF FF FF FF .ﾀﾀﾀﾀﾀﾀﾀ........
00000030 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
00000040 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
00000050 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
00000060 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
00000070 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
00000080 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
00000090 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
000000A0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
000000B0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
000000C0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
000000D0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
000000E0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
000000F0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................

使用例２：
C:\>D77DMP TEST.D77 -C1
  〜表示例は省略〜

使用例３：
C:\>D77DMP TEST.D77 -L32
  〜表示例は省略〜

----------------------------------------------------------------------
●注意事項など

FTOOLSのコマンドはすべてD77イメージのライトプロテクト機能をサポートしています。ライトプロテクトフラグの立ててあるファイルに対して書き込みを行いませんが、エラーの表示も行いません。つまり、FMWRITEやFMCOPYコマンドは何事も無かったように終了していますが、FDイメージファイルには何も書き込まれません。

FTOOLSのコマンドはFM-FILE形式と、D77ファイル形式についてはファイルタイプをチェックしています。間違ったファイルを指定して場合エラーとして処理されますので誤ったファイルの中身を壊したりすることはありません（無いように設計しています）。

FTOOLSの一部のコマンド(FMREAD,FMWRITE,FMCOPY,FMDIR)はFMFSLIB.DLLを使用します。

すべてのコマンドはワイルドカード、正規表現など一切受け付けません。一生懸命タイプして下さい。
