ラベル FT245通信カード の投稿を表示しています。 すべての投稿を表示
ラベル FT245通信カード の投稿を表示しています。 すべての投稿を表示

2026年9月15日火曜日

FT-245高速通信カードにRTCモジュールを搭載

 FT-245高速通信カードにRTCモジュールを搭載してしまいました


RTCモジュール(ZS-042)を6809のアセンブラによるI2Cでコントロールできたので、調子に乗っていくつかのカードに搭載してきましたが、その第4作です。
第1作:RTC+SDカード(FM-7/77版)
第2作:RTC+68B50通信カード(FM-7/77版、FM-11版)
第3作:RTC+8251A通信カード(FM-7/77版)
第4作:RTC+FT245高速通信カード(FM-7/77版)・・・本カード

製作の動機としては、F-Basicはともかく、Flex9やOS-9では起動時に時刻設定が必須なので、その面倒を避けるためには時刻機能が必要ということと、FM-7系は拡張カード用のスロットが少ないので装着するカードの枚数を減らす必要があるということがあります。

特に私の常用機であるFM77AV40SXには32Pスロットが一つしかないので、どうしても合体カードが必要でした。

これが作成したカードです


RTC_FT245カード

裏面です

その裏面


一枚のサイズに収めるために、いつものようにいくつかのゲートICをGALに置き換えています。

その回路図を示します。

回路図


実は上記のカードは2枚目の製作品で、1枚目は下図のもので、これを実際にFM77AV40SXに装着して使用しています。


第1作のカード


SXに装着の様子


画像を見ても違いが分からないのではと思いますが、実はPIA(6821)のランクが異なっています。第1作は動作速度が1MHzの6821で第2作は2MHzの68B21のものを使用しています。

回路自体は2MHzを前提にしていますので1MHzバージョンでは動作しないはずなのですが、実際には動作する6821があります。個体差があるようで、同じHD6821でも動作するものとしないものがありました。


実際にFM77AV40SXに装着して起動した画面を示します。


OS-9起動画面


Flex9起動画面


上記の2つのOSではStartupファイルにRTCから日付・時刻を読み出してOSにセットするドライバRtcSet2を組み込んでありますので、起動時にセットされています。

また、下記の画像はF-Basicでの例ですが、このように起動後にRtc_Set2を起動して直接セットすることもできます。

F-Basicでの例



ドライバソフトとしてRtcRd2、RtcWr2、RtcSet2の3つをOSそれぞれについて作成してあります。

F-Basic用           RTC_RD2, RTC_WR2, RTC_SET2
OS-9用                RtcRd2, RtcWr2, RtcSet2
Flex9用               RTC_RD2.CMD, RTC_WR2.CMD, RTC_SET2.CMD

いずれもFM-7/77だけでなくFM-11でも動作することを確認してあります。
(FM-11対応にする際には「Retro PC Gallery」のはせりんさまにアドバイスをいただきました。ありがとうございました。)

なお、FT245高速通信部のドライバは今までに公開しているものがそのまま使えます。

これらのドライバソフトは、別途公開する予定です。

2025年7月10日木曜日

FM-11用のFT245カードのドライバ作成に四苦八苦

 FM-11用のFT245カードがようやく完成しました

ミスを重ねて作り直していましたが、ようやく3作目で完成しました。

これが完成したFM-11用FT245カードです。


FT245カード

右側が本体の後方側で、コネクタの端から筐体の端までの間隔がそれほど大きくないので、基板上のUSBコネクタの位置を最初に作成したものよりもかなり下げてあります。

回路図を示します。

FT245 R3.3


基本的にFM-7系のFT245カードと同じですが、IOS信号の生成部を追加し、*EB信号を反転させています。


ハードはこれで良いとして問題はドライバソフトです。

FM-11AD2には2HDと2Dの2種のドライブが接続されていて、通信経路もこのFT245カードの他に内蔵COMポート(8251A)があり、さらに拡張COMポート(68B50)も追加しました。
そして、従来からFM-7でも使用しているFT245カードですので、FM-11だけでなくFM-7/77でも共通に使用できるドライバにしたいと考えました。

四苦八苦した挙句、これら全てに対応するドライバを作成してみました。

Windows側のft245drv.exeの画面です。
ディスク種別、OSの種類、通信経路が選択できるようになっています。
また、FM-7用では転送はDAT形式のみが可能でしたが、D77、DSK形式でもFM側に転送できるように拡張しました。


ft245drv.exe


FM側のソフトのメニュー画面です。
従来のドライブ、ディスク種別の選択の他に通信経路と動作機器を選択できるようになっています。


FM側のドライバのメニュー

ところが転送速度を確認してみると、FT245使用では2Dの転送が両方向とも1分弱、2HDではFM-11->Winでは2分弱と想定通りであるのに対してWin->FM-11では10分以上と極端に遅いのです。

SNDCH、RCVCHルーチンは今まで使用してきた実績のあるもので間違いがあるはずはありません。割り込み関係をいじってみたり、Windows側との間をハンドシェークにしてみたりとあれこれ試みても変わりません、、、

ハードに問題があるのかと疑って、前々回のブログで報告したFM-7用のカードをFM-11で使用するためのアダプタを使用して、FT245モジュール使用の初代を始め数枚のカードで試してみたり、配置アドレスを変更してみたりしましたが結果は同様でしたので、ハードの問題ではないようです。

現在のところ、3種の通信経路用のSNDCH、RCVCHルーチンを切り替えて使用しているのですが、その箇所が関係していることは分かっています。

切り替えルーチンは以下のようなものです。

 


動作時に希望の通信経路を選択するとIOPORTの値が0,1,2と切り替わり、それに応じてSETADRルーチンが実行されることでアクティブになるSNDCH、RCVCHが設定されます。 

このルーチンも今までに使用してきたものですので、このためにFMへの転送時間が大幅に増えることは全く納得できないのですが、これを外して直接呼び出すと、例えば2Dの転送で1分弱と正常な転送時間になるのですが、このルーチンを通すと4分30秒近くかかってしまうのです。

ということで、一本のドライバでまかなうことはできず、3種の通信経路毎に専用のドライバを用意しなければならないようですので、FT245用、内蔵COM0用、拡張ExCOM用とそれぞれのドライバを作成してみましたが、内蔵COM0と拡張ExCOM使用の場合は2DのFM->Winの転送に5分程度、Win->FMの転送ではその数倍の時間がかかるので実用的ではありませんでした。

結局、FT245専用のドライバと3種対応のドライバの2種のみとし、通常使用ではFT245専用のものを使用することとし、どうしても必要な場合にはCOM0やExCOMを選択できる3種対応のドライバを使用するというように使い分けることにしました。

さらに原因追及の必要があるとは思いますが、とりあえずF-Basic関係は一旦終了ということにして、OS-9のドライバの作成に取り掛かりたいと思います。

作成したWindows側のft245drv.exeとFM側のメニューソフトFT245FTと機械語サブルーチンFTDRV14FなどをOneDriveに上げておきます。これらのソフトはFM-11のみでなくFM-7や77でもそのまま使用できます。また、転送に使用するDATファイル形式とD77、DSKファイル形式間の変換ソフトも同梱してあります。

 

2025年6月5日木曜日

FM-11用のアダプタを用いてFM-7用カードの動作をテスト

アダプタを使用してFT-245通信カードとRTC_SDカードをテストしました

前回の報告で作成したアダプタを使用して2種のカードのFM-11での動作テストをしてみました。

1.FT-245通信カード

使用したプログラムですが、大きな変更として2HDディスクではトラック0、サイド0のみが128bytes/sctですので、それに対応するようにFM-11側、Windows側ともに対応する必要がありました。その他にも細かい変更が必要でしたが、何とか2HD、2Dの両方に対応することができました。

これが修正したWinodws側のFT245DRVforFM-11の動作画面です。現在のところメディアは2HDと2Dの2種、DOSはF-Basic5.0,4.0とその他(F-Basic3.0等)、通信経路はRS232CとFT245通信カードで動作しています。


FT245DRVforFM-11


結果ですが、通信経路としてRS-232Cを使用した場合には19200baudでFM-11->Windows、Windows->FMの両方向とも正常にディスクイメージの転送ができました。しかし、FT-245カードを使用した場合には、FM-11->Windowsは正常に動作し、FM-11のディスクイメージがWindowsに読み込まれましたが、逆方向のWindows->FM-11では動作しませんでした。

転送速度はRS-232Cでは2HDで13分余、2Dで5分であるのに対してFT-245カードでは2HDで2分、2Dで1分と大幅に異なりますので、FM-11への転送もぜひFT-245カードで行いたいのですが、、、

今のところ、FM-11への書き込みができないのは、そもそもWindowsが送り出したデータがFM-11に受信されていないことにあることは確認していますが、その原因はまだ分かっていません。(どうも、割り込みの制御と関係がありそうなのですが、、、)

ということで、FT245通信カードでのFM-11への書き込みがまだ実現できていませんが、一応(!)使えそうだということが分かりました。


2.RTC_SDカード

OS-9やFlex9の起動時には日時を入力する必要がありますので、その手間を省くためにはリアルタイムクロック(RTC)が必要です。

FM-7ではRTC_SDカードを製作して起動時に自動的に日時を取り込むようにしていましたので、そのカードがFM-11でも使えないかをテストしました。

これがテストしたRTC_SDカードです。(このカードについてはブログ「FM-7にRTCとSDを接続する試み(その4)2023年4月25日」で紹介しています。)


RTC_SDカード


現在のところ、FM-11のF-Basic5.0の時刻関係のワークエリアが分かりませんので、とりあえず320KBドライブからF-Basic3.0を起動して、その上でFM-7用のRTCプログラム(RTC_RD、RTC_WR)を変更せずにそのまま実行してみました。

なお、使用した320KBドライブからF-Basic3.0を起動するシステムディスクの作成については、知人から教えていただいたOh!FM誌1985年2月号の「F-BASIC V3.0をFM-11で走らせる」によります。ありがとうございます。

これがRTC_SDカードを装着した様子です。アダプタの上に装着しています。


カード装着の様子


ちなみに、画像中の768KB拡張メモリカードは、ブログ「まごころせいじつ堂」を公開しておられるほうめい様がBOOTHで頒布されているFM11RAM基板のgerberファイルを用いて基板を起こして作成したものです。貴重な資料を公開していただきましてありがとうございます。


RTCが動作した


結果は画像のように、RTC_WRで日時を設定し、電源を落としてから再度ONにしてRTC_RDで日時を読みだしてみましたら時刻が保存されていましたので、RTC部はFM-11でも使用できることが確認できました。ただし、F-Basic5.0ではこれらのプログラムは正常に動作しませんでした。今のところ、F-Basic5.0で日時データが保存されているワークエリアが分かっていませんので修正できていません。

以上の結果を踏まえて、FM-11用のFT245通信カード、RTCカードのプリント基板を作成中です。


2025年3月10日月曜日

FM-7/77用仮想ドライブ構築ソフトのFT245高速カード対応版

FM-7/77用仮想ドライブ構築ソフトをFT245高速カード対応させました

===昨年から取り組んでいるいくつかのハードやソフトの作成がいずれもうまく行っていない状態なので、気分転換を兼ねて表題のことに取り組んでみました===

以前からFM-7やFM77AV40SXを使用する際にはWindows機上で仮想ドライブを構築して使用してきましたが、その際にはシリアル通信(RS232C)を使用していました。(CP/M版のみFT245カードを使用)

それについてはその都度公開してきました。

・「拡張ROM/RAMディスクボードと仮想ドライブ用のF-BASICドライバ」(2022年5月18日)

・「F-BASIC用のWindows版仮想ドライブ構築ソフトの改良」(2022年2月12日)

・「FM-7/77用の改良版I/O拡張基板用のF-BASICドライバを作成」(2021年7月8日)

・「FM-7用 60K CP/M-80 の仮想ドライブ版が完成」(2021年2月23日)

・「CP/M用の仮想ドライブの構築ソフト(その2)」(2020年5月2日)

・「CP/M用の仮想ドライブの構築ソフト」(2020年4月29日)

・「FM-7/77のF-BASIC用の仮想ドライブ構築ソフトが完成」(2019年9月25日)

・「FM77用の拡張I/Oボード、ROM/RAMディスクボードのプリント基板化が完了」(2019年8月26日)

・「FM77用の拡張IOボード、ROM/RAMディスクボード」(2019年6月12日)


しかし、現在はRS232C通信を使用することはほとんどなく、もっぱら「思いつきハードでソフトに七転八倒(https://vehwk3yxv7hw.blog.fc2.com/blog-category-2.html)」の秋田修二さんが作成されたFT245高速通信カードを使用させていただいています。

ということで、ここで全ての仮想ドライブ構築ソフトをFT245カード対応に切り替えることにしました。(もちろん、従来通りRS232Cも使えます。)

今回作成したのは以下のものです。

動作確認した機器:FM-7、FM77AV2、FM77AV40SX
対応DOS:F-Basic、Flex9

使用したFT245カードは画像のものです。

使用したFT245カード

これはVer2でTXE端子の制御機能が追加されており、スイッチで有効・無効を切り替えることができるものですが、この機能がないVer1でも同様に使用できます。


全体の構成図

詳解するソフトの機能を大まかな図で示します


機能の説明

図に示しましたように、Windows側では使用するDOSに合わせて仮想ディスク構築ソフト(FbasDrvWin.exe, FlexDrvWin.exe, Os9DrvWin.exe, CpmDrvWin.exe)のいずれかを実行します。使用する通信カードや通信ポートはiniファイルで指定したものが選択されますが、起動後に変更できます。

FM側のドライバですが、Flex9ではWINDRVの起動時のオプションでFT245カードとRS232Cカードに対応させていますが、F-Basicでは裏RAMに常駐させていてその常駐部を少なくするために、FT245カード用のWINDRV(もちろんFlex9用とは別ソフトです)とRS232C用のWINDRVX7という別々のソフトになっていますので、使用する通信カードに合わせて選択します。FM-7やFM77AV2用のオプションRS232Cカードは38400baudまで動作しますが、FM77AV40SXなどに内蔵されているRS232Cは19200baudまでです。


動作している様子

F-Basic (Ver3.0)の場合です。
FM77AV2でFT245カードを使用しています。

FbasDrvWin.exeの場合

Flex9の場合です。
FM77AV40SXの内蔵RS232Cを使用しています。

Flex9DrvWin.exeの場合

この画像中のDrive2や3のボックスにディスクイメージファイルをdrag&dropするとその内容が左下のリストボックス中に表示され、読み出し、書き込み、削除、名称変更ができますので、Windows機中のファイルをイメージファイルに書き込んだり、読み出したりできて、そのままFM機で扱えます。
右のボックス中のRで始まっているリストがFMのfilesコマンド(F-Basic)やCATコマンド(Flex9)でドライブ2と3を連続して読んだ時の様子で、仮想ドライブのリードしているドライブ、トラック、セクタを表しています。もちろんFM側ではそれぞれのドライブのファイル一覧が表示されています。

Windows側のFbasDrvWin.exeは以前から公開しているものですが、使用しているうちに必要になった機能として、有効なポートを検出する「ポートスキャン」、ポートの種類を選択する「Port Select」ボタンを追加した最新のVer1.53です。またFlex用も同様に機能追加してあり、FlexDrvWin.exeはVer1.73です。


FM機とWindows機との間のファイル交換の手段として

このファイル交換の手段としては、従来からRS232Cによるものがありますが、使いやすさや速度面での問題がありました。それを改善するものとしてFT245カードを使用する方法があり、ディスクイメージファイル全体の転送や単一ファイルの転送用のソフトを作成してきました。速度的には大幅に改善されたとはいえ、それでも、毎回転送ソフトを起動してファイル操作を行う必要がありました。

今回、仮想ドライブ構築ソフトをFT245カードに対応させたことで、普通にディスクを読み書きする操作の延長でそのままWindows上のファイルを処理することができるようになりました。
もちろん、FT245カードがない場合でもその代わりにRS232Cを使うことで、全く同様な操作ができます。

今回はとりあえずですが、F-Basic V3.0用とFlex9用の2種のみ公開します。ただしF-Basic用はVer3.0のみに対応しており、また、Flex9用ですが私は8インチのGeneral版から移植したものを使用していますので、もしかしたら富士通製のFlex9には使えないかもしれません。

動作に必要なソフト一式をOneDriveに公開しますので、使用した結果に対して私は責任を負わないことを了解していただいたうえで自由にご利用ください。


2024年3月25日月曜日

FM-7/77用の自作基板(RS232Cカード、FT245通信カード、1024KB拡張RAMカード)のプチ改良

 FM-7/77用の自作基板3枚を少しですが改良しました

改良版を製作したのは次の3カードです。

1.RS232Cカード

 D-Sub9ピンコネクタに加えてTTL-USB変換ケーブル用コネクタを増設

2.768KB拡張RAMカード(1024KB拡張RAMカード改め)

 512KBのSRAMを2個搭載で1024KBですが、最上位の256KBを切り離して768KBにするジャンパスイッチを増設

3.FT245高速通信カード

 制御・データアドレスとして使用しているアドレス$FDFD,FEを$FD06,07に変更


1.RS232Cカード

2019年10月26日のブログ「FM-7/77用RS-232Cカードの改良版」https://flexonsbd.blogspot.com/2019/10/fm-777rs-232c.html

などで紹介したものです。D-Sub9ピンコネクタが使用されているのですが、現在では、Windows機と接続するケーブルとしてはシリアル-USB変換ケーブルではなくTTL-USB変換ケーブルを使用する方が便利ですので、それ用の6ピンコネクタを増設しました。これに伴ってシリアル変換ICも実装不要になりました。

右上の6ピンソケットが増設したコネクタです。


RS232C_R1.2



右上が増設したコネクタ


回路的にはただ単に8251からコネクタへ信号線を引き出しただけです。


RS232C回路図


使用したケーブルは以下のようなものです。ピン配置は1番ピンから順にGND, RTS, VCC, RXD, TXD, CTSになっていますが、VCCは接続しないのでピンを抜いてあります。


使用したTTL-USB変換ケーブル



2.768KB拡張RAMカード

2023年7月16日のブログ「FM77AV40用1024KB増設RAMカードの製作」https://flexonsbd.blogspot.com/2023/07/fm77av401024kbram.html

で紹介したものです。対象のFM77AV40では増設できるメモリの最大値は768KBなので最上位の256KBは使用されません。無視されるだけで問題は無いとは思いますが、何となく気持ち的にすっきりしないので、回路的に最上位の256KBを無効にできるように切り替えスイッチを増設しました。


512KB拡張RAM

ちなみにこの48ピンコネクタは、知人が32ピンのコネクタ2個からニコイチで作成されたものをいただいて使用していますが、全く不都合はなく使用できています。


768KB拡張RAM回路図


3.FT245高速通信カード

2023年10月23日のブログ「FT245通信カードの新基板の製作」https://flexonsbd.blogspot.com/2023/10/ft245.html

などで紹介したものです。オリジナルでは制御・データアドレスとして$FDFD,FEを使用しているのですが、このアドレスを他のカードが使用している可能性があるので$FD06,07に変更したものを作成しました。このアドレスはRS232Cカードが使用しているものなので、他のカードとバッティングすることはないと考えました。また、FT245カードとRS232Cカードは使用目的が同じなので同時使用することはないだろうと判断しました。


FT245_R3

74LS04を1個増設しただけでアドレスを変更できました。


FT245_R3回路図

以上、自作のカードを少しでも使い易くするためにちょっとした改良を行ったという紹介でした。


2024年1月27日土曜日

FT245高速通信カードを用いるファイル転送ソフトのCP/M版とOS-9版をアセンブラで書き直しました

 Cで書いたCP/M版とOS-9版が満足できなかったのでアセンブラで書き直しました

先に作成したC版はサイズが12KB程度と大きく、そのために起動時や動作にやや時間がかかっていました。

その点が不満でしたのでアセンブラで書き直すことにしました。プログラム全体の構造はC版と同じで良いので、Cの命令をひとつひとつアセンブラの命令に置き換えていきました。CP/Mでのアセンブラ開発も初めてでしたので、命令表と首っ引きでしたが勘違いも多く、変なところで手間を食ったりしました。

結果、CP/M版もOS-9版もC版では12KBほどだったサイズが2KB程度と小さくなり、起動はもちろんですが動作も多少ですが速くなりました。


OS-9メニュー画面


CP/Mメニュー画面


メニュー3,4のディレクトリ表示のために、CP/M版ではディレクトリ表示ルーチンを作成してサブルーチンとして組み込みましたが、残念ながらOS-9版では今のところ、コンパクトなディレクトリ表示ルーチンをアセンブラで作成できていませんので、メニュー3,4は動作しません。メニュー3,4が必要な場合はC版を使用することになります。(以前、仮想ドライブ構築ソフトOs9DrvWin.exeをCで作成したときに、ディレクトリ表示部にはかなり複雑な処理が必要でしたので、これをアセンブラで作成できるかどうかは分かりません。)

これでF-BASIC版、FLEX9版、CP/M版、OS-9版の全てがアセンブラで作成できましたので、ファイル転送ソフトslwinftの制作はこれで一区切りをつけようと思います。あとはこれらをツールとしてプログラム開発に生かしていくつもりです。

参考までに、私のプログラム開発の手順を図で示します。


プログラム開発の手順

これで一区切りとしますので、今までに制作したFM側のF-BASIC版、FLEX9版、CP/M版、OS-9版のslwinftとWindows側のslwinft245.exeをOneDriveに上げておきます。ディスクイメージ転送ソフトft245も同梱してあり、簡単な使い方の説明も付けてあります。


2024年1月13日土曜日

FT245高速通信カードを用いるファイル転送ソフトのCP/M版ができました

 これでようやく、F-BASIC版、FLEX9版、OS-9版、CP/M版の4種が揃いました。

最後のCP/M版ができたので、FM-7で動作する全てのDOS(?)用の版(F-BASIC版、FLEX9版、OS-9版、CP/M版)が揃ったことになります。


CP/M版の動作画面です。FM-7上の富士通版CP/M-80上で動作しています。


CP/M版slwinft

しかし残念ながら、メニュー3,4のディレクトリ表示は未実装です。BDS-Cで書いたのですが、標準関数のexec()などではビルトインコマンドのdirは動作しないのです。ということで、dirコマンドに相当するものを作成する必要がありますが、それには時間がかかりそうです。

また、現在のところ、FM77AV2に装着してあるZ80Hカード(IDATEN)上のCP/Mでは何故か正常に動作していません。(ソフトは正常に動作しているように見えるのですが、実際にはファイルが転送されないのです...)AV2でもF-BASIC版など他の版では正常に転送できていますので、ハードには問題はないと思うのですが、原因はまだ分かっていません。


蛇足ですが、純正のCP/M-80カードは大切に保管してあるので、普段は自作のカードを使用しています。


自作CP/M-80カード


完成度については、F-BASIC版>FLEX9版>OS-9版>CP/M版という感じで、特にCP/M版についてはBDS-Cを使うのは初めてということもあり、試行錯誤の連続でした。現在のところ、メニューの3,4は実行できませんし、動作速度もアセンブラで書いたF-BASIC版やFLEX9版より遅いようです。

しかし、今まではディスクイメージ全体を転送するソフトしかなく、2Dディスク一枚の転送に1分ほどの時間がかかっていたので、Windows上のエディタでプログラムソースを作成し、それを各DOSに転送してアセンブルやコンパイルするという手順の繰り返しが面倒でしたが、これらのファイル転送ソフトのおかげで大幅に時間が短縮できるようになりました。これらのソフトの開発中も、Windowsー>FM-7方向の転送部分をまず作成し、それを繰り返し使いながらソフト全体を仕上げていくことができました。(CP/Mに標準添付のエディタEDを流石に使う気にはなれないので、制作途中の手直しは全てWindows上のエディタで行うという開発スタイルです。)

完成度の低いOS-9版とCP/M版についてはこれからも改善していくことになると思いますが、とりあえず一段落したということにして作成した4種の版をまとめてOneDriveに上げておきます。CP/M版以外の版も細かい修正を重ねていますので、ここに上げたものが最新版となります。また、ディスクイメージ転送ソフトも含まれています。


2023年12月15日金曜日

FT245高速通信カードを用いるファイル転送ソフト(FLEX9版とOS-9版改)

 

F-BASIC版、OS-9版に続いてFLEX9版を作成すると共にOS-9版を微修正しました


【2024年1月13日追記】F-BASIC版、OS-9版、FLEX9版、CP/M版の最新版を1月13日のブログ「FT245高速通信カードを用いるファイル転送ソフトのCP/M版ができました」にアップしましたので、このブログのOneDriveを削除しました。

【12月17日追記】OneDriveに上げたファイルの中のOS-9版が古いものでしたので、最新版に差し替えました。

ようやくFLEX9版ができあがり、これでCP/Mを除いて3つの環境でファイルをFMとWindowsPC間でファイルを自由に転送することができるようになりましたので、Windows上の慣れたエディタで作成したプログラムをFMに転送して最後の仕上げ作業をするという一連の流れがよりスムーズに進められるようになりました。(以前はRS232を使用したものを使っていたのですが、転送時間が格段に短くなりました。)

CP/M版の作成は80系の知識がない自分にとっては敷居が高く、時間がかかりそうですので、とりあえず、これまでのまとめとして3種の版をまとめて紹介しておきます。

まずはWindows側のslwinft245.exeです。



slwinft245.exe


F-BASIC版、OS-9版、FLEX9版に共通して使用できます。
COMポートはbaud:115200以上, 8bit, non-parity, 1stop bit に設定します。
また、FT245通信カードのTXE機能はOFFのままで構いません。

FM側のドライブソフトです。


(1)F-BASIC版です


F-BASIC版のSLWINFT


(2)OS-9版です


OS-9版のslwinft


前回のブログのものではディレクトリを表示するメニュー項目がありませんでしたが、追加することができました。また、FM-7用のOS-9LevelIで動作することも確認しました。

(3)FLEX9版です


FLEX9版のSLWINFT


見てわかりますようにメニューはほとんど同じにしてあり、操作性もほとんど同じですが、処理対象のドライブ指定だけは、OS-9やFLEX9ではOSであらかじめ指定できるのに対して、F-BASICではできないのでメニューでドライブ変更できるようにしてあります。ただし、メニューからディレクトリ表示できるのはドライブ0と1だけです。(メニューソフトはF-BASICで書いてありますので、簡単に書き換えることができますが。)

以上の3つのOS(F-BASIC版、OS-9版、FLEX9版)に対応したソフトをOneDriveに上げておきますので、FT245高速通信カード(RAMディスク付きも)をお持ちの方は自由にご使用ください。

【12月17日追記】差し替えたのはOS-9版のみで、他は変更していません。

【2024年1月4日追記】最新版をOneDriveに上げました。


2023年12月7日木曜日

FT245高速通信カードを用いるファイル転送ソフト(F-BASIC版とOS-9版)

 FT245高速通信カードを用いるファイル転送ソフトのF-BASIC版とOS-9版を作成しました


【追記】Windows側のslwinft245.exeの機能拡張やOS-9版の修正をしましたので、次のブログ「FT245高速通信カードを用いるファイル転送ソフト(FLEX9版とOS-9版改)」の方にソフトの公開を移動しました。

今までFT245高速通信カードを用いる場合には、2D(2DD)ディスクを丸ごと転送するディスク転送ソフト(FDDIMG_RW77.exeやFT245DRV.exe)を使用していました。

しかし、いくら高速とはいえ2Dディスクで約1分、2DDディスクで約2分かかりますので、ファイルを一つだけコピーしたい場合には時間がかかりすぎです。
特に、Windows上の慣れたエディタで作成したプログラム等をF-BASICやOS-9等に転送して使用するという、私のプログラム開発の手順の中では転送時間が長いのは致命的です。
ということで、ディスク転送ソフトではなくファイル転送ソフトが必要と感じていました。

ディスク転送ソフトの場合にはOSの種類によらず、40(80)トラック、16x2セクタ/トラック
のディスクであればF-BASIC上のドライブソフトで転送できましたが(ただし、FLEX9だけは32セクタ/トラックなので転送できない)、ファイル転送の場合にはOSの機能を用いてファイルを読み書きしますので、当然OSに依存することになります。

ということで、まずは使用頻度の高いF-BASIC版を作成し、続いてOS-9版も作成しました。

Windows側のslwinft245.exeはもちろん、全OS共通です。
起動後にCOMポートとOSの選択をしたのちに使用可能状態になります。



Windows側のslwinft245




FM-7/77側のドライブソフトはOSに依存しますので、それぞれのOS用に作成しました。


【1】F-BASIC用のSLWINFT


まずF-BASIC用のSLWINFTを紹介します。
対象ドライブはデフォルトで1ですが、もちろん変更できます。
TXE機能のON,OFFはFT245通信カードの設定と一致させます。
(TXE機能がないカードの場合はOFFに設定します。)


FM-7/77側のSLWINFTメニュー



使用するソフト
〇FM-7/77側   メニュープログラムSLWINFT(F-BASIC)を実行する。
         起動時に機械語サブプログラムSLWINFToが読み込まれる。
         (SLWINFToは&H6000~&H61E7に配置される)
〇WindowsPC側 SLWINFT245.exeを実行する。

動作環境
〇FM-7     F-BASIC V3.0
〇FM77AV2   F-BASIC V3.0、V3.3
〇FM77AV40SX F-BASIC V3.0、V3.4
以上の環境で動作することを確認してあります。

使い方
◎WindowsPC -> FM-7/77 への転送
  FM-7/77側でメニュー2を選択する。
  Windows側で転送するファイルを選択(ドラッグ&ドロップまたは直接書き込み)して「FMへの書き込み」ボタンを押す。

  FM-7/77側に既に同名のファイルが存在する場合には、重ね書きをするかどうかを選択できます。

  ファイル種別は自動的に判別しますが、通常のバイナリファイルの場合は先頭に5バイトのヘッダー、末尾に5バイトのフッターが必要ですので、そのための情報として保存アドレスと実行アドレスをセットします。(既にヘッダー、フッターがついているファイルの場合はそのまま転送されます。)

◎FM-7/77 -> WindowsPC への転送
  Windows側で読み込んだファイルを保存するファイル名をセットして、「FMから読み込み」ボタンを押す。
  FM-7/77側のファイル名と異なるファイル名でも構いません。
  FM-7/77側でメニュー1を選択し、転送するファイル名を入力してEnterキーを押す。
  存在しないファイル名を入力した場合にはエラーメッセージが出て、再入力を促されます。
  機械語ファイルの場合にはヘッダーとフッターが削除された通常のバイナリファイルとして保存されます。(読み取った保存アドレスと実行アドレスは画面上に表示されます。)

その他
  FM-7/77側ではドライブ番号をメニュー3で変更できます。
  また、メニュー4でTXE機能を使用するかしないかを選択できます。通常は機能OFFで問題はありません。


【2】OS-9用のslwinftos9



OS-9側のslwinftos9のメニュー


使用するソフト
〇FM側      ドライブプログラムslwinftos9を実行する。
〇WindowsPC側 SLWINFT245.exe(F-BASIC版と同じ)を実行する。

 (FM側のslwinftos9をどうやってOS-9に読み込むかですが、OS-9のディスクもF-BASIC
上のディスク転送ソフトft245drvで転送できますので、これを利用してOS-9のディスクに
読み込みます。)

動作環境
〇FM77AV40SX OS-9Level2
 Level1では動作確認をしていません
 【12月15日追記】動作することを確認しました。

使い方
◎WindowsPC -> FM への転送


メニュー2の実行例

  FM側でメニュー2を選択する。
  「Send file from Windows...」が出て受信モードに入る。
  Windows側で転送するファイルを選択(ドラッグ&ドロップまたは直接書き込み)して「FMへの書き込み」ボタンを押す。このファイル名でFMに保存される。

  FM側に既に同名のファイルが存在する場合には上書きされる。

  ファイル種別は自動的に判別するので、実行モジュールファイルとテキストファイルのどちらであっても構わない。

◎FM -> WindowsPC への転送


メニュー1の実行例

  FM側でメニュー1を選択する。  
  Windows側で読み込んだファイルを保存するファイル名をセットして、「FMから読み込み」ボタンを押す。
  FM側のファイル名と異なるファイル名でも構いません。
  FM側でメニュー1を選択し、表示「Input file name:」に続いて転送するファイル名を入力してEnterキーを押す。
  存在しないファイル名を入力した場合にはメニューに戻ってしまうので、最初からやり直す。

その他
  メニュー3でTXE機能を使用するかしないかを選択できます。通常は機能OFFで構いません。

現在のところはF-BASIC版とOS-9版のみですが、順次CP/M版、FLEX9版を作成する予定です。

現在のF-BASIC版とOS-9版をOneDriveに上げておきますので、FT245高速通信カード(RAMディスク付きも)をお持ちの方は自由にご使用ください。
【12月15日追記】ソフトの公開は12月15日のブログに移動しました。



2023年10月23日月曜日

FT245通信カードの新基板の製作

 FT245通信カードの新基板を製作しました

【2024年1月24日】末尾にOneDriveを追加して、RAMディスクのない従来のFT245カード用のドライバ一式を上げました。

ブログ「思いつきハードでソフトに七転八倒(https://vehwk3yxv7hw.blog.fc2.com/blog-date-202206.html)」のshujiakitaさんの発案・製作によるFM-7/77用の「FT245使用の高速通信カード」と「RAMディスクカード」について、プリント基板を作成したり、両カードの合体カードを製作したりしながら、その都度それらをブログで紹介してきました。

FT245通信カード用のディスクイメージ転送専用ソフトhttps://flexonsbd.blogspot.com/2023/01/ft245.html

FT245通信カードとRAMディスクカードの合体カードの製作https://flexonsbd.blogspot.com/2022/06/ft245ram.html

FT245高速通信カードの改造の試み
https://flexonsbd.blogspot.com/2022/04/ft245.html

FM-7用の512KB RAMディスクカードの紹介
https://flexonsbd.blogspot.com/2022/02/fm-7512kb-ram.html

高速通信カードFT245の使い方の紹介
https://flexonsbd.blogspot.com/2022/02/ft245.html

FT-245カード用の転送ソフトの使い方
https://flexonsbd.blogspot.com/2021/04/ft-245.html

FT-245カード用の高機能な転送ソフト
https://flexonsbd.blogspot.com/2021/01/ft-245.html

Ndittを使用しないでGOTEK用のHFEファイルを作成する(その3)https://flexonsbd.blogspot.com/2020/12/ndittgotekhfe_11.html


振り返ってみますと、2020年12月11日のブログから始まって、上記のように8回も紹介していますが、それだけ私にとっても非常に有用なツールであり手放せないものになっています。


今回製作したカードの改善点

今回新たに基板を作成することにしました。回路には見直すところはありませんでしたが、念のために電源ラインを強化すること、FT245カードにはコネクタの取り付け穴の追加と、合体基板で採用したTXE#をソフトで読めるようにする切り替えスイッチの追加を行いました。

製作した3種のカードです。


製作したカード3種


(1)上左のカード:オリジナルのカードで秋月電子製のFT245モジュールを使用しています。

(2)上右のカード:オリジナルのFT245モジュールをFT245RLチップに置き換えたものです。マイクロUSBケーブルも使用できるようにマイクロコネクタも装備しています。

(3)下のカード:(2)にRAMディスクカードを合体させたものです。(2)と同様にマイクロコネクタも装備しています。


使用するドライブソフト

使用するドライブソフトは従来のものと変わりませんが、メニューを多少変更しました。

(1)shujiakitaさん作成の高機能ソフト(転送機能のみでなく様々な機能があります)

FM-7側:メニューソフト:FM7FDRAM(従来のFM7FDUIXのメニューを多少変えましたのでFM7FDRAMと改名)、機械語サブプログラム:FDIMGFMX, XRAMDK77

Windows側:FDDIMG_RW77.exe

(2)私作成の単機能ソフト(使いやすさを求めて転送機能に特化)

FM-7側:メニューソフト:FT245DRV、機械語サブプログラムFTDRV11o

Windows側:ft245drv.exe


以上、FT245通信カードを多少手直しして製作したという紹介でした。

ドライブソフト一式をOneDriveに上げておきます。


【2024年1月24日追加】RAMディスクのない従来のFT245カード用のソフト(Windows側:FDDIMG_RW77.exe、FM-7側:FM7FDUI5, FDIMGFM2)をOneDriveに上げました。なお、FM7FDUI5, FDDIMGFM2はFB_TRANS.DATの中にも入れてあります。



2023年2月18日土曜日

FM-7/77用F-BASIC,OS-9,CP/M,FLEX9のディスクイメージを操作する

 Windows上でFM-7/77用F-BASIC,OS-9,CP/M,FLEX9のディスクイメージを操作するソフトの紹介

FM用のエミュレータであるXM7を使用されている方も多いと思います。私も使わせていただいています。素晴らしいソフトを作成された開発者に敬意を表します。

XM7を使用していると、しばしばD77形式のディスクイメージ中のファイルを操作したいことがあります。つまり、ディスクイメージ中にWindowsからファイルを書き込んだり、逆にディスクイメージからWindowsへファイルを読み出したりしたいということです。

今までにそのためのソフトを制作してきました。当然のことですが、各OS(?)によってディスク中への保存形式が異なりますので、ソフトも各OSで異なるものとなりました。

制作したソフトについてはその都度紹介してきましたが、扱えるファイル形式を今までのD77(D88)、DSKに加えて、FT245高速通信カードで用いられているDAT形式に対応するように拡張しましたので、ここでまとめて紹介します。

今までに制作したソフトは以下の4本です。

(1)F-BASIC用 FbasDrvWin.exe

(2)OS-9用   Os9DrvWin.exe

(3)CP/M用   CpmDrvWin.exe

(4)FLEX9用  FlexDrvWin.exe (DAT形式には対応しない)

それぞれ対応するOSが異なりますが、操作性は全て同じにしてあります。

(ただし、FLEX9用のみはディスク形式が異なるためにFT245通信カードを使用する転送ソフトは使用できませんので、DAT形式に対応する必要がありません。)

それぞれの画面イメージは次のようです。


FbasDrvWin.exe



Os9DrvWin.exe


CpmDrvWin.exe


FlexDrvWin.exe



イメージファイル処理ソフトとしての使い方


(1)処理したいイメージファイルをドライブ名ボックス(Drive 0~4)にドラッグ&ドロップすると、下のボックスにそのイメージファイル中のファイルが一覧表示される。
どのボックスに入れても構わない。また、いくつでも重ねて入れることができる。
(2)読み出し
読み出したいファイルをマウスの左ボタンで選択しておいて、右ボタンを押すと現れるメニューから「読み出し」を選択する。
(3)書き込み
書き込みたいWindows上のファイルをこのボックス中にドラッグ&ドロップする。
(4)全ファイルの一括読み出し
メインメニュー「編集」中の「全ファイル読み出し」を選択する。
(5)他の機能
右ボタンメニューには他のコマンドとして「削除」、「ファイル名変更」がある。


仮想ドライブ構築ソフトとして使用する


イメージファイル処理ソフトとしての使い方は上記のようですが、実はこれらのソフトは本来、Windows上の仮想ドライブ構築ソフトとして制作したものです。
(上の画面イメージ中のFlexDrvWin.exeで右側のボックス中にFM機がアクセスしたトラック/セクタが表示されています。)
ということで、FM機に各OSに対応するドライバをインストールすることで、FM機本体のドライブ(通常0と1)に加えて、これらのxxxxDrvWin.exeのDrive2と3が拡張ドライブとして使用できるようになります。
OS-9用以外の3つの仮想ドライブ構築ソフトについては以前紹介し、ドライバも公開しています。

RS-232C用のドライバをFT245通信カード用に書き換える


今までに、Flex用、F-BASIC用、CP/M用のドライバを紹介してきましたが、それらはいずれもFM機とWindows機との間の通信手段としてRS-232Cを使用していました。
しかし、最近はRS-232C機能を使用することはほとんどなくなり、もっぱら「思い付きハードでソフトに七転八倒」さん(ブログは下記)が製作されたFT-245高速通信カード(本ブログでも何回か紹介しています)を使用していますので、現在、各ドライバをFT-245通信カード用に書き換えているところです。完成し次第公開する予定ですが、残念ながら、私は80系は全くと言ってよいほど経験がないので、CpmDrvWin.exe用のドライバが作成できません。F-BASIC用、OS-9用の2つのみを作成中です。

「思い付きハードでソフトに七転八倒」さんのブログ
(1)FM-7用データ転送基板を使った新ユーティリティの紹介https://vehwk3yxv7hw.blog.fc2.com/blog-entry-39.html
 (2)FDDイメージをバックアップするFM-7専用ソフトの説明https://vehwk3yxv7hw.blog.fc2.com/blog-entry-31.html

以上、各OS用のイメージファイル処理ソフト(実は仮想ドライブ構築ソフト)の紹介でした。
これらの4ソフトと、共に使用することが多いD77,DSK,DATファイル間で形式を変換するソフト CvtDskD77.exeをOneDriveに上げておきます。

【注意】これらのソフトの制作にあたっては、それぞれのOSのFMS(ファイルマネージメントシステム)に相当するものの実装が必要ですが、OSの中身を知っているわけではないので、XM7上で読み書き、追加、削除などの操作をして、操作前後でイメージファイルのどの個所がどのように変化したかを確認することによってOS内の動作を推定し、それをもとにして実装しました。
従って実装が不完全、不十分なための誤動作が予想されますので、使用される場合はその点にご注意ください。特に、操作を何回も繰り返すとイメージファイルがおかしくなる可能性がありますので、何回か操作を繰り返したらXM7で別ファイルにコピーし直したり、転送ソフトを用いてフロッピーディスクにコピーしておくと安心です。(使用した感覚ですが、FlexDrvWin.exe以外は比較的安定しているようです。)

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通信カードと関係なく、イメージファイルを処理するソフトとして使用可能。)
です。