2023年2月18日土曜日

パソピア7/700用のFDコピー

パソピア7/700用フロッピーディスクのコピープログラムを作ってみる。

前回調べたフォーマット形式を参考に作ってみる。
パソピアの2Dは、0~34トラック、1トラック毎に32セクタで、1セクタは256バイト。
(但し、トラック0ヘッド0のみ単密度で128バイト)

パソピア7純正コピープログラムは2トラック16KB(4000h)ずつコピーしている。
今回はできるだけ短いプログラムを組んで、3トラックずつコピーする方法を考える。
裏RAM利用も考えたが、BIOSコールと排他になるのでシンプルな方法で行くことにする。

BIOSコールのプログラムは、F000hに配置。BASICプログラムはできるだけ短くして、バッファは9000h~EFFFhで24KB(3トラック分)確保できました。

FDコピーのRAMPACイメージとBASICテキストをアップしました。
RAMPACイメージにはCOPYFDのファイル名で保存しています。

コピーを実行する前に、コピー先のフロッピーをフォーマットしておく必要があります。
COPYFDを実行すると、オリジナルのコピー元FDドライブ番号(1~4)と、コピー先FDドライブ番号(1~4)を聞かれるので入力。
フロッピーディスクを2枚それぞれ挿入し、RETURNキーを押すとコピー開始されます。
コピーが無事に終われば、"Completed Successsfully."の表示がされます。

1ドライブのみの場合、オリジナルFDドライブ番号とコピー先FDドライブ番号の両方に"1"をセット。ドライブ#1のディスクを入れ替えながら進めます。
前述のとおり、パソピアの2Dはトラック#0~#34の35トラックあり、3トラックずつコピーするので、12×2回のディスク入れ替えが必要です。
純正のコピーツールは2トラックずつなので、もっと大変だったはず...

パソピア700実機でコピーしたディスクを98で読み込んでバイナリ比較してみましたが、ちゃんとコピーできているようです。エミュでの確認も大丈夫でした。

パソピア7+FDD実機での確認はしていませんので、もし試された方がいましたら報告もらえると助かります。

1ドライブコピー時のディスク入れ替えは苦痛(というかドライブ壊れないか心配)なので、別な方法も考えてみます。
(続く)

0 件のコメント:

コメントを投稿