専用のディスクイメージフォーマット(FDX形式)の仕様です。
リビジョンが3になりインデックスやトラックサイズがビット数レベルに拡張されました。
イメージの構造
・ヘッダ情報(256バイトのディスク属性)
・トラック情報(16バイトのトラック属性+トラックデータ)×トラック数
ヘッダー情報
POS NAME NOTES +0 signature 識別子('F''D''X') +3 revision リビジョン(3) +5 name ディスク名 +64 pad パディング +68 type タイプ(0:2D 1:2DD 2:2HD 9:RAW) +72 cylinders シリンダー数 +76 heads ヘッド数 +80 rate 転送レート(クロック込み)[500|1000] +84 rpm RPM[300|360] +88 writeprotect ライトプロテクト(0: OFF 1:ON) +92 option 動作オプション(現在未使用) +96 unused 未使用 +100 trackblk トラックデータのブロック長(バイト数) +104 reserve リザーブ(ヘッダー全体256バイトに調整) 数値はリトルエンディアンで格納
トラック情報
固定の属性情報と可変長のトラックデータです。トラックデータの形式にはMFM/FMレベルのエンコードデータまたはサンプリングレベルのRAWデータです。FDDからの信号(クロックとデータ)を1でアサート、0でネゲートとして記録したバイトデータの連続です。
[C0H0][C0H1][C1H0][C1H1]...とシリンダ、ヘッドの順で連続しています。データ長はヘッダー情報のtracksiz、データ数はcylinders * headsになります。
POS NAME NOTES +0 cyllinder シリンダ +4 head ヘッド +8 index インデックスホール位置(ビット数) +12 length トラックデータ長(ビット数) +16~ data トラックデータ(ヘッダーのトラックブロック長 - 16) 数値はリトルエンディアンで格納
アプリケーション内で実際にはcylinderとheadのパラメータは参照してません。トラック情報にあるこの二つの情報はバイナリエディタ等でイメージファイルを参照した際にどのトラックかを人間が判断するための参考情報です。