2023年2月19日日曜日

パソピア7/700のFDバックアップ

前回紹介したFDコピーをもう少し拡張してみる。
XPAC2を持っている方はSDカードも使えるので、フロッピーイメージを分割してファイルに保存する方法を考えてみる。

パソピアの2Dは、1トラックに32セクタ(1セクタ256バイト)で8KBのデータ領域。
XPAC2のスロット#5は、8KBのSRAM RAM PAC2になっているので、ここをバッファとして利用する。

SDカードにトラック毎のデータ保存用ファイルを用意する
同じフォルダ内に"ファイル名.xx"で、拡張子xxが00~34のファイルを用意。
Trackファイル00はサイド0が単密度(128バイト)なので6,144バイト、Trackファイル01~34は8,192バイトのファイルを用意。
各Trackファイルは、ヘッド0 セクター1→16、ヘッド1 セクター1→16の順番で、合計32セクターのデータが保存されます。

例えばFormat.xxというファイル名の場合、"Format.00"(6,144バイト)と"Format.01~.34"(それぞれ8,192バイト)の35ファイルを用意。
これら35ファイルは、SDカードの同じフォルダに格納しておきます。
以前紹介した自作フォーマッタで初期化したディスクをイメージ化したのでアップします

SDカードへのExportと、FDへのImportプログラムを用意したのでアップしました。
RAM PAC2イメージには"BACKFD"というファイル名で保存されています。
フロッピーからSDカードにExportする場合、最初に1を選択。
フロッピードライブ番号を選択し、SDカードのバス名を指定します。
例えば、DiskフォルダにFormat.00~34ファイルを置いている場合、パス名は「/Disk/Format.」を指定します。00~34の拡張子2文字は自動で入力されます。

SDカードへの保存が成功すると、"Completed successfully."が表示されます。

SDカードからフロッピーにImportする場合、最初の選択でに2番を選びます。
あとは同じように、フロッピードライブ番号を選択し、SDカードのバス名を指定します。
"Completed successfully."が表示されると、SDカードに保存してあった35トラックデータがフロッピーに書き戻しされています。

あと、せっかくWindowsでTrackファイルを読み書きできるようになったので、TrackデータとD88ファイルを相互変換するWindowsアプリを作ってみました。
実行ファイル(32bitと64bit)とコードをアップしました。(つたないコードですが...)

実行ファイル(D88Track.exe)上にトラック00ファイルをドラッグ&ドロップすると、00~34ファイルを読み込み、同じフォルダにD88ファイルとログを出力します。
逆にD88ファイルをドラッグ&ドロップすると、00~34までのトラックデータに分割して、同じフォルダにTrackファイルを出力します。

D88Track.exeを単独で起動した場合は、ファイルを開くダイアログが開くので、トラック00ファイルかD88ファイルを指定して開いてください。
その後の動作はドラッグ&ドロップ時と同じです。

これで作成したD88ファイルをエミュレータで読込みましたが、問題なく利用できました。
但し全てのファイルで確認したわけではないので、うまく動作しない場合は連絡ください。

D88ファイルはトラック順に並んでいない場合があります。一旦セクターデータのオフセット位置を調べてから、Trackファイル00から順番にファイル出力する仕組みにしています。

PC-98の2D対応5インチドライブがあれば、パソピアの2Dフロッピーから直接D88ファイルを作ることができますが、今は環境を用意するのも難しくなってきました。

今回のツールで、パソピアの2Dフロッピー <-> SDカードのTrackファイル <-> D88ファイルの相互変換できるようになったので、実機とエミュの行き来がしやすくなったのかなと思います。

あと、パソピア700には1ドライブ仕様があります。
1ドライブの場合、ディスクコピーする際に何度もフロッピー入替えが必要でしたが、SDカード経由でバックアップ・リストアできれば、楽にコピーできるようになります。

2 件のコメント:

  1. PA7221と言うドライブでパソピア7からSDを経由してWindows、
    WindowsからSDを経由しパソピア7へも上手く動作致しました!

    過去の資産も、そこそこあったので、救済出来て助かりました。

    有り難うございました!

    返信削除
    返信
    1. 早速使ってくれてありがとうござます。パソピア7+PA7221でも確認できたということで助かりました。

      削除