2023年1月29日日曜日

FT245通信カード用のディスクイメージ転送専用ソフト

 FT245通信カード用のディスクイメージ転送専用ソフトの紹介

FT245を用いた通信カードは非常に高速ですので、もうRS232Cカードを使うことはなくなり、もっぱらこればかり使用しています。

このカードを使用するためのドライバソフトとしては、カードを考案された「思い付きハードでソフトに七転八倒」さんが作成された専用ソフト FDDIMG_RW77.exe があります。(https://vehwk3yxv7hw.blog.fc2.com/blog-entry-73.htmlで入手できます。)

これは特定のセクタの読み書きができたり、ディスクの検査ができるなどの機能を持ち、さらにRAMディスクのドライバも内蔵しているという多機能のものですが、私の用途ではFMとWindowsPCの間でFDのディスクイメージを丸ごと転送することがほとんどです。

ということで、FMとWindowsPC間での転送専用のソフトを作成しました。常用機がFM77AV40SXですので、2Dのみでなく2DDディスクにも対応させました。

使用しているFT245通信カードです。私は通常、このようにFT245通信カードと自作のFDCカードを32Pスロット拡張基板に装着して使用しています。


使用しているFT245通信カード

作成したソフトの構成図です。

なお、転送時のデータの処理方法が異なるため、FDDIMG_RW77.exeとは互換性がありませんので混用はできません。FM側FT245DRV(とFTDRV11o)、Windows側 ft245drv.exe のペアで使用することになります。



構成図

FM側の機械語サブルーチンをロードする間の起動画面です。


FM側の起動画面

FM側のメインメニュー画面です。

FM側のメインメニュー画面

メニューの1と2で転送方向を選択します。

3,4,5はオプション設定で、3でドライブ番号の選択(0~3の範囲)、4でディスクのタイプの選択(2Dか2DD)、5でFMからWindowsへの転送時にFT245RLのTXE(TX Enable)機能を使用するかしないかを選択します。使用する場合はFT245通信カード上のスライドスイッチを右(USBコネクタ側)に、使用しない場合は左(バッテリ側)にセットします。このスライドスイッチがないカードの場合にはTXE機能をOFFにします。


WindowsPC側のメニュー画面を示します。

Windows PC側のメニュー画面


起動後にまず、COMポート番号を選択します。使用可能な番号のみが表示されますのでその中から選択します。もし希望の番号が表示されていない場合は「COMポートスキャン」ボタンを押してから選択します。

次に読み書きするファイル名を選択します。直接入力もできますがディレクトリまで入力するのは面倒ですので、「ファイル選択」ボタンを押して希望のディレクトリを表示させれば既存のDATファイルが一覧表示されます。ファイルを選択した後でそのファイル名を直接修正することもできます。
最後にディスクの種別(2D,2DD)を選択します。もちろん、FM側の設定と同じでなければなりません。
以上で、FMからの読み込み、FMへの書き込みが実行できます。
オプション機能として、転送で使用されるDAT形式のファイル(各セクタの先頭に16バイトのヘッダがついた形式)を通常のDSK形式やD77(D88)形式に変換する機能もあります。


動作中の画面


画像のように、転送動作中にはプログレスバーと処理したトラック番号が表示されますので進行状態が分かります。
蛇足ですが、この表示部分が最も苦労したところで、この表示のためにスレッドとタイマー機能を用いることになりましたが、結果、転送中に他の操作をしても表示が止まることがなくなりました。
作成にあたっては下記の書籍に大変お世話になりました。感謝いたします。
 参考にした書籍 「かんたん Visual C++(堀義博著)技術評論社」

もしディスクに不良セクタがあると、正常に読み書きできるまで繰り返すため、最悪の場合にはそこでハングアップしてしまいます。この場合には、USBケーブルを抜いて止めることになります。(エラーが生じた場合には、不正なデータを転送するよりも中断した方が良いと考えて、このような仕様にしています。)

なお、転送時間は2Dで1分、2DDで2分ぐらいですが、不良セクタがあるディスクの場合にはこれ以上の時間がかかることがあります。

参考までに、FM側の機械語サブルーチンを示しておきます。

 


以上ですが、作成したソフトなどをOneDriveに上げておきます。
内容は、
・Windows側
  ft245drv.exe(64ビット版ですので32ビットOSでは動作しません)
・FM側
 メニューソフト FT245DRV(F-BASIC)
 サブルーチン FTDRV11o(機械語)ソースリストとバイナリ
・FMへの転送用DATファイル FT245DRIVER2.DAT(上記の2ソフトを収めてある)
・以上のソフトの使用説明書
・ユーティリティ
 イメージファイル処理ソフト FBasDrvWin.exe
 (以前紹介したものをDAT形式ファイルを扱えるように拡張したもの。
  FT245通信カードと関係なく、イメージファイルを処理するソフトとして使用可能。)
です。