GIMONS DEVELOPER WORKS/FDX68

コマンド書式

FDDエミュレーションモード用

FDDエミュレーション(root権限必要)
Usage: ./fddemu [-0 FILE] [-1 FILE] [-s OP] [-v] [-o OPTION]

 -0 insert disk for 1st drive. FILE is disk image FDX file path.
 -1 insert disk for 2nd drive. FILE is disk image FDX file path.
 -s select STEP SIGNAL operation. OP is {half|1|2}. Default setting is 1.
 -v enable verbose mode.
 -h print help message.
 -o setup options.

 OPTION is [x0|x1|q0|q1|m0|m1|c0|c1|vn].
  'x' : enable X68K control(0:off,1:on).
  'q' : enable PC98 control(0:off,1:on).
  'm' : enable Motor signal control(0:off,1:on).
  'c' : enable Raw data correction(0:off,1:on).
  Default setting is '-o x1 -o q0 -o m1 -o c0'.

ディスクイメージを設定して起動するFDDエミュレーション本体です。バックグラウンドで起動することを想定しています。

デフォルトではX68000拡張機能を使用する事になっていますのでディスクイメージ以外の指定は必要はありません。 PC98シリーズで使用する場合にはオプションで"-o q1"を指定してください。 この時X68000拡張機能は自動的に無効になります。 その他の機種で使用する場合には"-o x0"を指定してください。 X68000拡張機能を明示的に無効にすることができます。 特に影響がなければX68000拡張機能は有効なままでも問題ありません。

-s OPはステップ動作を変更するものです。 PCからステップ指示されたときに2回のステップ指示で1回分の幅シークする指定がh(halfの意味です)。 1回のステップ指示で2回分の幅シークするのが2です。 FDD側にシーク幅を制御する機構を持っていない機種によっては調整が必要になることがあります。

オプション指定の中にはモーター信号で制御を行うかどうかを指定するmオプション、 FDX形式のRawイメージを使用する際に不正な信号の訂正を行うcオプションがあります。 このオプションはデフォルトでオフですので問題がある場合はオンに設定する必要があるかもしれません。


FDD操作
Usage: ./fddctl -i ID -c CMD [FILE]

 ID is unit number {0|1}.
 CMD is operation command {insert|eject|protect}
 FILE is image file path

Usage: ./fddctl -l

 Print device list.

Usage: ./fddctl --stop

 Stop fddemu prosess.

バックグラウンドで動作しているfddemuに対してディスクの挿入、排出、ライトプロテクトの設定を行うコマンドです。 -lのみを指定した場合は現在のデバイスリストを表示します。-stopを指定するとfddemuを終了させます。

FDDコントローラモード用

FDダンプ(root権限必要)
Usage: ./fddump -i ID [OPTION]... FILE

 ID is unit number {0|1}.
 FILE is image file path.

OPTION
 -c CYLINDERS is number of cylinders. Default is 40.
 -h HEADS is number of heads. Default is Default is 2.
 -d DENSITY is FDD density {double|high}. Default is double.
 -b BEGIN is begin cylinder. Default is 0.
 -e END is end cylinder. Default is CYLINDERS - 1.
 -t TRACK is only 1 track operation.
 -s STEPS is seek step count {1|2}. Default is 1.
 -n LEVEL is denoise level. Default is 8.
 -a ANALYZE is analyze mode {upd765|mb8877}, Default is upd765.
 -f FORMAT is data format {encode|raw}. Default is encode.
 -p2 Assert Pin 2.
 -p4 Assert Pin 4.
 -p12 Assert Pin 12.
 -r RETRY is retry times for invalid track. Default is 5.
 -v is verbose mode.
 

物理FDDを制御して実ディスクからディスクイメージをダンプするコマンドです。 Version1.24から開始、終了シリンダを指定できるようになりました。 開始、終了シリンダを指定した時に既存のイメージファイルが存在した場合はそのイメージファイルの シリンダ数、ヘッド数、密度、RAWフォーマット指定が優先されます。

つまり既存のイメージファイルの特定のシリンダのみを再ダンプして上書きすることになります。 Version1.29から-tでトラック番号の指定も可能になりましたこの場合-bや-eの指定は無視されて 指定されたトラックのみダンプされます。

Version2.10から-aでエンコードデータの解析モードを指定できるようになりました。 デフォルトではX68000やNEC系のレトロPCで使用されているupd765モードです。 FM系,X1系で使用されていたMB8877A系の解析モードを使用するには-a mb8877を指定してください。

FDリストア(root権限必要)
Usage: ./fdrestore -i ID [OPTION]... FILE

 ID is unit number {0|1}.
 FILE is image file path.

OPTION
 -c CYLINDERS is amount of cylinders. Default is image cylinders
 -h HEADS is number of heads. Default is image heads
 -b BEGIN is begin cylinder. Default is 0.
 -e END is end cylinder. Default is CYLINDERS - 1.
 -t TRACK is only 1 track operation.
 -s STEPS is seek step count {1|2}. Default is 1.
 -a ANALYZE is analyze mode {upd765|mb8877}, Default is upd765.
 -n DISKNO is disk number of multi image format, Default is 1.
 -p2 Assert Pin 2. Pin 2 may affect RPM.
 -p4 Assert Pin 4. Pin 4 may affect STEP PULSE.
 -p12 Assert Pin 12. Pin 12 may affect HEAD LOAD.
 -r RETRY is retry times for verify error. Default is 5.
 -v is verbose mode.

物理FDDを制御してディスクイメージを実ディスクにリストアするコマンドです。 Version1.24から開始、終了シリンダを指定できるようになりました。 Version1.29から-tでトラック番号の指定も可能になりましたこの場合-bや-eの指定は無視されて 指定されたトラックのみリストアされます。

Version2.10から-aでエンコードデータの解析モードを指定できるようになりました。 デフォルトではX68000やNEC系のレトロPCで使用されているupd765モードです。 FM系,X1系で使用されていたMB8877A系の解析モードを使用するには-a mb8877を指定してください。 リストアにおいても書き込み開始点を探索するために解析処理が必要です。

FDアンフォーマット(root権限必要)
Usage: ./fdunformat -i ID -c CYLINDERS [-h HEADS] [OPTION]...

 ID is unit number {0|1}.
 CYLINDERS is number of cylinders.
 HEADS is number of heads. Default is 2.

OPTION
 -s STEPS is seek step count {1|2}. Default is 1.
 -p2 Assert Pin 2.
 -p4 Assert Pin 4.
 -p12 Assert Pin 12.

物理FDDを制御して実ディスクをアンフォーマットするコマンドです。


FD情報表示(root権限必要)
Usage: ./fdinfo -i ID [OPTION]...

 ID is unit number {0|1}.

OPTION
 -p2 Assert Pin 2.
 -p4 Assert Pin 4.
 -p12 Assert Pin 12.

物理ドライブの回転数や最大シリンダを計測するコマンド。 オーバートラック領域にヘッドをシークさせるので最悪の場合ドライブが壊れますので自己責任でお願いします。

FDXファイルユーティリティ

ディスク情報出力
Usage: ./fdxtool FILE
 FILE is FDX file path.

FDX形式のディスク情報を出力します。


新規ディスク生成
Usage: ./fdxtool -c -t TYPE [-r RPM] [-n NAME] [-p PROTECT] [-f FORMAT] FILE

 TYPE is {2D|2DD|2HD}.
 RPM is {300|360}. Default is 300 for 2D/2DD, 360 for 2HD.
 NAME is disk name. Default is 'BLANK IMAGE'.
 PROTECT is {on|off}. Default is off.
 FORMAT is data format {encode|raw}. Default is encode.
 FILE is FDX file path.

FDX形式の新規ディスクを生成します。


ディスク情報設定
Usage: ./fdxtool -s [-n NAME] [-p PROTECT] FILE

 NAME is disk name.
 PROTECT is {on|off}.
 FILE is FDX file path.

FDX形式のディスク情報を設定します。指定可能な属性は名前、ライトプロテクトです。

ディスクイメージビューワ
Usage: ./fdxview [OPTION]... FILE

 FILE is image file path.

OPTION
 -v MODE is {track|sector|data}, Default is track.
 -t TRACK is track number(Auto setup cylynder and head). Default is 0.
 -c CYLINDER is cylinder, Default is 0.
 -h HEAD is head, Default is 0.
 -s SECTOR is sector(1 or more) in data mode, Default is 1.
 -n DISKNO is disk number of multi image format, Default is 1.
 -a ANALYZE is analyze mode {upd765|mb8877}, Default is upd765.

FILEで指定されたディスクイメージのトラック一覧、セクタ一覧、セクターデータを表示します。 MODEでどのデータを表示するか設定します。 TRACKでトラック番号(CYLINDERとHEADでの指定も可)、SECTORでセクタ番号を指定します。 DISKNOはD68(D88/D77)のマルチイメージ形式の場合にディスク番号を指定するものです。 セクターデータ表示ではエンコードデータ、デコード済みデータ、ASCIIの情報を参照することができます。

Version2.10から-aでエンコードデータの解析モードを指定できるようになりました。 デフォルトではX68000やNEC系のレトロPCで使用されているupd765モードです。 FM系,X1系で使用されていたMB8877A系の解析モードを使用するには-a mb8877を指定してください。

トラック情報コピー
Usage: ./fdxtrkcpy -i SRCFILE -o DESTFILE [-t TRACK] [-c CYLINDER] [-h HEAD]

 SRCFILE is source image file path.
 DESTFILE is destination image file path.
 TRACK is copy track number(Auto setup cylynder and head).
 CYLINDER is copy cylinder.
 HEAD is copy head.

SRCFILEで指定されたFDXファイルの特定のトラックを(TRACKもしくはCYLINDERとHEADで指定)を DESTFILEで指定されたFDXファイルにコピーします。 破損したトラックデータを別のFDXのデータで補完し修復する使い方を想定しています。

ディスクイメージ変換

ディスクイメージ変換
Usage: ./fdxconv -i SRCFILE [-n DISKNO] -o DESTFILE [-f FORMAT] [-a ANALYZE]

 SRCFILE is source image file path.
 DISKNO is disk number of multi image format, Default is 1.
 DESTFILE is destination image file path.
 FORMAT is data format {encode|raw} when DESTFILE is FDX. Default is encode.
 ANALYZE is analyze mode {upd765|mb8877}, Default is upd765.

既存のディスクイメージからFDX形式に変換するコマンドです。 DISKNOはSRCFILEがD88(D68,D77)形式の時にマルチイメージの通し番号を指定するものです。 ディスクイメージの形式は拡張子から判断します。 FDX形式から既存のディスクイメージへの変換も可能です。 FORMAT指は変換後のFDXイメージの形式をエンコード形式(FM/MFM)またはRAW形式にするかを指定するものです。

Version2.10から-aでエンコードデータの解析モードを指定できるようになりました。 デフォルトではX68000やNEC系のレトロPCで使用されているupd765モードです。 FM系,X1系で使用されていたMB8877A系の解析モードを使用するには-a mb8877を指定してください。

FDX形式と相互変換可能なイメージの拡張子は "XDF","2HD","HDM","IMG","DUP","2HC","2HQ","2DD","DIM","D88(D68/D77 etc)","FDI","FDD","NFD"です。

FDX形式以外のイメージファイルからFDX形式への変換は全て成功するはずです。 但しその逆のFDX形式から他のイメージファイルに変換するには種々の制約があります (例えば2DDのFDXイメージを2HD専用のXDFやDIMに変換する等)。 D88(D68/D77 etc)やNFD形式は比較的自由度が高いため変換はほぼ成功するようです。

応用としてSRCFILE,DESTFILEの両方にFDX形式以外のイメージファイルを指定することも可能です。 内部でFDX形式を中継してイメージファイルの相互変換が可能になります。 エミュレータで使用するためのイメージファイル変換ツールとしても有用だと思います。



[EOF]