ラベル GOTEK の投稿を表示しています。 すべての投稿を表示
ラベル GOTEK の投稿を表示しています。 すべての投稿を表示

2024年8月2日金曜日

フロッピーエミュレータGOTEKを少しだけ使いやすくする工夫

 GOTEKのディスプレイとロータリーエンコーダを本体の外にも増設しました


私のFM77AVに内蔵してあるGOTEKには液晶ディスプレイとロータリーエンコーダを増設してあります。ソフトを切り替える場合にはディスプレイを見ながらエンコーダを操作するわけですが、私の場合、FM77AVを机の下に縦置きで設置していますので、ソフトを切り替える場合には机の下をのぞき込む必要がありましたし、ディスプレイの文字が小さいので私のような高齢者にはつらいものがありました。
この状態で2年近く使用してきましたが、流石に不便なので思い切って改善することにしました。
本体に内蔵してあるディスプレイとロータリーエンコーダを外部に引き出せば良いのでしょうが、本体はそのままで、同じものを本体から1mほど延長して増設したいと考えました。
(HxCには本体からケーブルで延長する形のものが製品として存在するので、GOTEKもそのような形で使用できればより使いやすいかもというイメージです。)

実施する前には、ロータリーエンコーダの方はデジタルスイッチ的なものだから、内蔵のエンコーダと並列に増設しても大丈夫だろうと予想していましたが、液晶ディスプレイの方は端子を見ると、SDA, SCL, VCC, GNDの4ピンなのでI2C通信のように見えます。
I2C通信だとするとスレーブ機器はそれぞれ固有のアドレスを持っているわけで、同じアドレスを持っている機器が並列に接続されている場合の動作については経験がありませんので全く分かりません。
ただ、今回の場合は本体から液晶ディスプレイへの表示データ送信が主で、ディスプレイが本体に返信するのはACKビットのみなので、何とかなるかなと甘いことを考えました。

ということで、まず全く同じ液晶ディスプレイを並列に2個接続してみたところ、両方の画面に同じものが正常に表示されましたので、これでいけるということでロータリーエンコーダも増設しました。

これが増設した状態です。
右上のケーブルが液晶ディスプレイとロータリーエンコーダに接続されています。
配線数は液晶ディスプレイが4本、ロータリーエンコーダも4本で計8本ですが、全て基板の裏面でハンダ付けしました。


右上が増設したケーブル


これがケースに格納した状態です。
左下のプリント基板上のフラットケーブルコネクタから外部に延長しています。
右の4線ケーブルはGOTEKとFDDのドライブ番号を切り替えるスイッチです。
(22年10月29日のブログ「FM77AV40SX用GOTEKのドライブ番号切り替えケーブルの製作」https://www.blogger.com/blog/post/edit/1662007451717538019/6000936869197817930
をAV1に適用したもの)

ケースに格納した状態


増設した外部コントローラです。
まだケースに収めておらずゴム足を付けただけですが、これを机上に置いて操作しています。当たり前ですが、以前と比べると格段に操作しやすくなりましたし、ディスプレイが近くに置けたので小さい文字でも見やすくなりました。(この形なら、大画面のディスプレイにも交換できそうです。)


外部コントローラ



目の前に77AVを置いておられる方には関係のない話でしょうが、私のようにスペースに余裕がなくて離れたところに設置せざるを得ない方やもう少し大きい液晶ディスプレイを使いたいと思っている方などに多少なりとも参考になれば幸いです。

また、今回の工作で、I2C機器を並列に接続しても正常に動作する場合があるという経験を得ることができたことも収穫でした。



2023年2月28日火曜日

GOTEKの修理に挑戦

 故障したGOTEKを修理してみました

私にとってのGOTEKの第1号ですが、以前紹介しました(https://flexonsbd.blogspot.com/2020/08/fm-777gotek.htmlとhttps://flexonsbd.blogspot.com/2021/05/fm-777gotek.html)ようにPC用のフロッピィドライブケースに、フロッピィドライブとともに収めて使用していました。しかしある時に突然電源が故障して5Vのはずが8Vになってしまい、フロッピィドライブの方は無事だったのですが、GOTEKに刺してあったUSBメモリは破損し、GOTEK本体も動作がおかしくなってしまいました。

そのためしばらく使用を中止していたのですが、不思議なことに電源を交換して試してみたら正常に動作しているようにみえました。ということで、しばらく使用していたのですが、やはりダメージを受けていたようで、読み出しはできるのですが書き込みができません。

やはり故障品として処分するしかないかと思ったのですが、考えてみるとメインのマイコンのSTM32F105は5Vを降圧した3.3Vで動作しているはずなので、5Vが8Vになっても大した影響はないはずです。だとすると、ダメージを受けそうなのは残るゲートIC(74HC04D)だけです。試しに電源をつないで74HC04Dの端子電圧を測定してみると、ゲートのINが3.25VでOUTが4.04Vだったりして明らかに異常です。

ということで74HC04D(SOICタイプ)を入手して交換することにしました。

これが交換前の状態です。最近のものとは多分異なっています。SFRC922Dという刻印があり、使用されているマイコンはSTM32F105でした。


交換前

交換すべきICはこれです。SOICタイプの74HC04Dです。


該当のIC(74HC04D)


ブロワーで加熱して外す方法は以前失敗したことがあるのと、14ピンの小さなICですので、今回はICの足をニッパーで切り取って除去しました。


ICを除去

フラックスを塗ってはんだ付けしました。SOPタイプよりも小さいのですが、それほど大変な作業ではありませんでした。


交換後

FM-7に載せた自作のFDCカードにFDDとともに接続して動作テストをしました。

GOTEKで起動しておいて、まずFDを初期化してからVOLCOPYでGOTEK中のシステムをFDにコピーしました。次にFDからGOTEK中に用意したブランクファイルにVOLCOPYで書き戻してみました。その結果、どちらのVOLCOPYも正常に行えて、書き戻したファイルからも正常に起動しました。以上より、GOTEKは正常に動作していると思われます。


チェック中

私のようにGOTEKを故障させた方はまずおられないとは思いますが、電源不良によるTTL IC破損による故障の場合は100円程度のICを交換することで修理可能だという一例のつもりで紹介しました。


2022年10月29日土曜日

FM77AV40SX用GOTEKのドライブ番号切り替えケーブルの製作

 FM77AV40SXのGOTEKのドライブ番号を0または2に切り替えられるようにしました

今までは、ドライブ0がGOTEK、1がFDDという形で使用してきました。ほとんどの場合はこれで問題はないのですが、時にはFDから起動したい場合もあります。しかし、ドライブ0がGOTEKだと、ドライブ1にFDを入れてもFDからは起動してくれないのです。

しかたなくドライブ0をFDに戻してみたのですが、GOTEKが使えないと結構不便です。ということで、GOTEKを再度追加することにしたのですが、以前、FM-7用のGOTEKを設置した際にはGOTEKとFDDのドライブ番号を互いに入れ替えることができるようにしたので(ドライブナンバー切替用ケーブルの製作(2021.02.02))、SXについてもドライブ番号を切り替えられるようにケーブルを作成することにしました。

最も簡単な形は、ドライブ1はそのままで、ドライブ0のFDDとGOTEKの番号を0と2に切り替える形式でしたので、そのような機能を持つケーブルを製作しました。

下の画像が製作したケーブルと追加したGOTEKです。GOTEKは98用のFDD用のケースを流用しており、パネルについていた2HD/2DD切り替え用のスイッチをそのままFDDとGOTEKの切り替えスイッチとして使用しています。


製作したケーブルとGOTEK


製作したケーブルの接続図を示します。FM-7用の場合とほとんど同じです。


ケーブル結線図



装着した状態を示します。SXからのケーブルのドライブ0用のコネクタに作成したケーブルを接続し、中間のコネクタをFDDに装着して、端のオスコネクタにGOTEKからのケーブルを接続しています。
ちなみに右上の基板はFT245使用の高速通信カードで、左の基板は最近製作した512KBのRAMカードです。



装着の様子


動作中の様子です。押しボタンが戻っている状態でFDDが、押し込んだ状態でGOTEKがドライブ0になります。0でない方のドライブは2になって、合計3台構成となります。



動作中


以上で、通常はGOTEKから起動して運用し、必要な場合は切り替えてFDから起動することができるようになりました。また、FD同士のコピーも楽になりました。



2021年5月26日水曜日

FM-7/77にGOTEKを接続する(その2 新基板の場合)

 またGOTEKを入手してみたのですが... 基板が新しくなっていた

今までにFM-7, FM77AV, FM77AV40SXにGOTEKを装着してきました。そのうちのFM-7用はPC用の外付けFDDのケースと電源を利用して、GOTEKと2DDのFDDを装着して使用していました。ところが、その電源が不調で5Vのはずが8Vも出力されることがあり、そのためにUSBメモリが破損してしまい、さらにGOTEKも不調になったような気配を感じたので、新たにGOTEKを2台追加購入してみました。

今まではFM77に合うようにと黒色を購入していたのですが、今回はグレーにしてみました。購入時にチェックした点は、7セグが3桁であることと背部のピンヘッダの穴が9ピンであることの2点です。今回で8台目の購入となり、最初はAmazonで購入していましたが、今は選択の幅の広いebayで購入しています。(どちらにしろ中国から送られてきますので...)


基板がかなり変更されていた!

以前よりも短い期間で送られてきたのは良いのですが、7セグをOLED液晶ディスプレイに交換し、ロータリーエンコーダを追加するためにケースを開けて基板を見てびっくりしました。何と、ロータリーエンコーダの接続ピンがないのです。さらにCPUが変更されており、パターンも細かいところで異なっています。(下図画像参照)


左:旧基板、右:新基板



左のものは既にOLED、ロータリーエンコーダや圧電ブザーが取り付けてあります。基板を比較すると結構異なっているのが分かるかと思います。CPUは従来のものがSTM32F105であるのに対して今回のものはAT32F415で、ピン数も異なっています。


ロータリーエンコーダの接続先は分かりにくかった


OLED液晶ディスプレイの接続先は旧基板とそれ程異なっていなかったので、テスターで調べながら接続することができました。また、エンコーダのプッシュボタンも同様でした。
しかし、エンコーダのCLKとDTピンは基板に該当のピンがありませんので、新旧基板を見比べながらあちこちに接続してみましたがうまく行きませんでした。困った挙句、ウエブで「GOTEK Rotary encoder」という語で検索をかけてみました。その結果、「Gotek Floppy Emulator:New 2021 Flash Floppy and Mods Procedure!」というユーチューブの動画を見つけました。
この画像によると、新しいGOTEKはCPUがAT32F415になり、それに伴って基板も変更されているそうです。おかげでCLKとDTの結線先も分かりました。


新基板の結線図


OLED液晶ディスプレイとロータリーエンコーダを装着した様子です。ハンダ付けは裏面で行っています。フロッピーのアクセス音がなくても不自由はなかったので圧電ブザーは装着していません。


新基板の完成した状態



なお、OLED液晶ディスプレイは相性があるようですが、私の場合は全て下記画像のものを使用しており、特に不具合はありません。ロータリーエンコーダはプッシュスイッチ付きであればどれでも良いようです。


使用したロータリーエンコーダとOLED液晶ディスプレイ


OLED液晶ディスプレイの画面は小さいのですが、サイズはちょうどですし文字は見やすいです。


動作チェックの様子



使用感ですが、もちろん今までのものと変わった点はありませんが、ロータリーエンコーダでディスクイメージを選べるのはとにかく便利で重宝しています。
(蛇足ですが、現在使用中のGOTEKが電源故障のために不調になったのではないかと疑っていましたが、どうも杞憂だったようで現在は普通に使えています。)

新基板の情報があまり多くないようですので、多少なりとも参考になればということでアップしました。

2021年2月2日火曜日

ドライブナンバー切替用ケーブルの製作

 ケーブルを加工してフロッピィドライブの0と1の切替をスイッチで行えるようにしました


私が使用している3台の8ビットパソコンはドライブ0を全てGOTEKに変更してあり、便利に使用できているのですが、時にはフロッピィから起動したい場合もあります。

常用しているFM77AV40SXはどのドライブからでも起動できるので良いのですが、残りの2台(FM77AV1,FM-7)にはそういう機能はありません。

FM-7用のFDDはPC-98用のケースに収めており、前面パネルにあったスイッチをドライブNo切替用に利用できましたが、そのためにGOTEKやPC用FDDからケーブルを引き出す必要がありました。(GOTEKには直接ハンダ付けをしました)


FM-7用FDD

しかし、FM77AV1の2Dドライブは基板上のスライドスイッチでドライブNoを切り替えるようになっており、ケーブルを引き出すのは容易ではありません。

そこで、ドライブ本体はそのままで、接続しているフラットケーブルを加工し、切替スイッチを追加することでドライブNoを変更できるようにしました。


下図がフラットケーブルの結線図です。

前提として、GOTEKがDRV0に、PC用FDDがDRV1に設定してありますので、GOTEKにはピン10にFDCからの10番か12番が、PC用FDDにはピン12に10番か12番が接続されることになります。(PC用FDDのピン10はN.C.ですので、結線されていてもいなくても無関係です。)


ケーブル結線図

実際のフラットケーブルとスイッチです。

有り合わせのものを利用したので、実際に装着してみたら長すぎました。。。

画像左側にFDCへのコネクタがあります。スイッチの下のコネクタがDRV0 用、右端のコネクタがDRV1 用です。


加工したフラットケーブル


その加工部のアップ

FM77AV1に装着した様子です。プッシュボタンはGOTEKの上に接着剤で固定しました。

プッシュボタンを押し込むとDRV0:GOTEK,DRV1:PC用FDDに設定され、ボタンを戻すとその逆になります。


FM77AV1に装着した様子

これで、ごくまれにあるフロッピィから起動させたい場合でも、77AVを分解しなくてもよくなりました。


2020年12月11日金曜日

Ndittを使用しないでGOTEK用のHFEファイルを作成する(その3)

 

ついに実用レベルの高速化を実現できました


前々回(その1)のブログでFDをイメージ化するのに「思い付きハードでソフトに七転八倒」さんが製作されたFT245RL使用の高速転送カードを使用できればもっと速くなるだろうと書きましたが、実際に2Dディスク(320KB)でわずか1分という、RS232Cカード使用の場合の10倍ほどの高速化を実現することができました。

使用したFT245カードは、FT245RLモジュールの他にはTTL-ICがわずか5個という簡素なものですが、その速さには目を見張るものがあります。




FM-7側のソフトはもちろん、「思い付きハードでソフトに七転八倒」さんがハードに合わせて作成されたものをそのまま使用させていただきました。
WindowsPC側のソフトは、とりあえずの間に合わせで私が作成したものを用いました。




使用法


(1)Windows側でmkd88img.exeを起動し、Port Noと保存ファイル名を指定して「データ受信開始」ボタンを押します。
ステータスバーに Data receive start ... が表示されて、データ受信待ち状態になります。




(2)FM-7側でLOADM”RDFDIMG",,RでRDFDIMGを起動します。
プログラムサイズは243バイトで$6800からに入り、実行開始アドレスは$6850です。デフォルトではドライブ0が指定されていますが、アドレス$6856の0を希望のドライブ番号に変えることで他のドライブも読めます。
Windows側では、track no = nn のように、読み終わったトラック番号が表示されます。




(3)40トラックの読み込みが終了すると(track no = 39はほとんど見えません...)、続いてDSKファイルとD88ファイルの作成に進みますが一瞬で終了します。



2つのファイルが作成されると DSK, D88 file created. が表示されて処理が終了します。
そのまま、別のFDの処理を続けることもできますが、同じファイル名のままだと重ね書きになります。

Windows上にD88形式のイメージファイルが作成できれば、後は、8月9日のブログ「FM-7/77にGOTEKを接続する」に書きましたように、HxCFloppyEmulator.exeを用いてD88ファイルをHFEファイルに変換してUSBメモリに書き込むだけです。

使用感など


ディスク一枚が1分で処理できるのは結構実用的ではないでしょうか。
私はこれを用いて手持ちのF-BASICの2Dディスクを全部読み込んでイメージファイル化してみましたが、それ程の手間ではありませんでした。

最後に


NDittを使わずにFM-7自身でFDを読んでそのままWindowsPCに転送することでイメージ化できないかという着想から始まった試みでしたが、WindowsPCへのデータ転送にRS-232Cを用いた場合はFD1枚に10分もかかり、出来ないことはないが普段使うツールとしては非実用的といえる結果となりました。
そんな時に、FT245基板を製作された「思い付きハードでソフトに七転八倒」の秋田さんが趣旨に賛同してFM-7側のFD読み込み・転送ソフト RDFDIMG を作成してくださいました。
これによってFD1枚のイメージ化が1分でできるようになり、実用的なツールになりました。

ということで、「FM-7側ソフト担当:秋田さん(企画の賛同者)、Windows側ソフト担当:私(企画・仕様設計)」という合同作品となりました。

使用したRDFDIMG(「思い付きハードでソフトに七転八倒」の秋田さん制作)とmkd88img.exe(拙作)をOneDriveに上げておきます。
なお、RDFDIMG にはFM-7からWindowsへの送信ルーチンだけでなく、Windowsからの受信ルーチンも含まれていますので、更なる用途も考えられると思います。

2020年12月3日木曜日

Ndittを使用しないでGOTEK用のHFEファイルを作成する(その2)

 

前回紹介したプログラムを改良し、多少の高速化を図りました


前回紹介したプログラムは、FM-7側はF-BASICで作成し、WindowsPC側は2つのプログラムに分かれていましたが、FM-7側のプログラムをアセンブラで、WindowsPC側のプログラムを一つにまとめることで、より使い易くするとともに多少の高速化を図ることができました。

(1)FM-7側(RDIMG)
アセンブラで書き直すにあたって、最初はFDCを直接コントロールしてトラックリードコマンドで、1トラックを一気に読み込んでメモリに展開し、そこからセクタデータを取り出すと高速になるのではないか(ディスクの読み込みが40x2の80回で済むので)と考えて作成してみました。
結果、セクタデータは得られたのですが、標準のフォーマットとは異なる個所もあり、また、読み込むたびに値が変わる部分もあり、全てに対応するのは結構面倒そうです。
ちなみに、読み込んだトラックデータは以下のようでした。

                            標準の値                     実際の値
----------------------------------------------------------------------------------------------
GAP1                      4E                             4E,その他の値
----------------------------------------------------------------------------------------------
SYNC                      00 (12バイト)            00,その他の値
IDアドレスマーク    A1,A1,A1,FE             14,A1,A1,FE or C2,A1,A1,FE
IDとCRC(4+2バイト)             同じ
----------------------------------------------------------------------------------------------
GAP2                      4E                              4E,その他の値
SYNC                      00 (12バイト)            00,その他の値
IDアドレスマーク    A1,A1,A1,FB             14,A1,A1,FB or C2,A1,A1,FB
                                                                 (FBはF8の場合もあり)
DATAとCRC(256+2バイト)    同じ
----------------------------------------------------------------------------------------------
GAP3                       4E                             4E,その他の値
----------------------------------------------------------------------------------------------

これを見る限り12バイトの00に続いた後、 14(orC2),A1,A1,FEの後にID(TRK,SIDE,SCT,セクタ長)+CRCが、14(orC2),A1,A1,FBの後にDATA(256バイト)+CRCがあると決め打ちして良いようにも思いますが、ちょっと不安です。

ということで結局、BIOSを用いてセクタリードを40x2x16の1280回繰り返すことにしました。1セクタ読むごとに256バイトのデータとチェックサム値を転送しています。ファイル名をRDIMGとしました。


(2)WindowsPC側(mkd88img.exe)
前回のプログラムはFM-7から送られたデータをそのままセクタ順に保存してできたDSKファイルをまず作り、次に別のプログラムを用いてD88ファイルを作成するものでしたが、それを一体化してmkd88img.exeとしました。処理結果としてDSKファイルとD88ファイルの2つが生成されます。

FDイメージファイル作成の手順


(1)FM-7とWindowsPCをRS232Cボードで接続して適切なボーレートに設定します。RTS/CTS制御可能なボードであれば19200Baudが可能です。
(2)WindowsPC側のmkd88img.exeを起動します。オプションを付けずに起動するとCOM4,19200Baud,生成ソフト名FDIMG.DSK, FDIMG.D88となりますので、変更する場合は下記のようにオプションを付けて起動します。
 mkd88img [p=n] [b=nn] fname (fnameはディレクトリを含んでも良い)
(3)FM-7側のRDIMGを起動します。デフォルトではドライブ0のディスクを読むようになっているので、他のドライブの場合は一旦Loadして(&H6000からに入ります)から&H6002の値0を希望のドライブ番号に変えた後、Exec &H6000で実行します。
(4)指定したディレクトリにDSKファイルとD88ファイルが作成されます。


結果など


速度ですが、2Dディスクを処理するのにおよそ10分(19200Baud)、15分(9600Baud)、20分(4800Baud)、35分(2400Baud)程度となりました。
8251Aを直接コントロールしているのでRTS/CTS制御をしてボーレートを上げることができていますが、2400Baudでは前回の結果と同じ程度なので、処理時間はディスクの読み込み方法とはあまり関係がなく、ほぼ転送速度で決まってしまっているようです。

作成したRDIMGとmkd88img.exeをOneDriveにMakeD88ImageFile2.zipとして上げておきます。FM-7にRDIMGを直接入力する場合はRDIMG.bin(236バイトもありますが...)を打ち込みます。(RDIMGはF-BASICの機械語形式に合わせたもので仮想ドライブにドラッグ&ドロップする場合に用います。)



2020年11月24日火曜日

Ndittを使用しないでGOTEK用のHFEファイルを作成する

 Ndittを使わないGOTEK用のHFEファイルの作成方法を紹介します


8月9日のブログ「FM-7/77にGOTEKを接続する」でFM-7/77でGOTEKが使えるという紹介をしましたが、実際にGOTEKを使用する場合の最大の障壁は、如何にして手持ちのフロッピーディスクの内容をWindowsPCに取り込むかだと思います。

〇標準的な方法

下図の左の方法で、3.5インチ又は5インチのFDDを装着したWindowsPCを用意し、Nditt.exeでフロッピーディスクを読み込んで.D88(.D77)イメージファイルに変換するというものです。

実際、私もこのためだけに3.5インチと5インチFDD付きの古いWindowsXPパソコンを保管しています。しかし、これは如何にも面倒です。

そこで、FDDのないWindowsPCでも可能な方法を紹介します。

〇FM-7を使用する方法

下図の右のように、FM-7上でフロッピーディスクの全セクタを読み出してWindowsPCに転送し、作成された.DSKファイルを.D77形式に変換するというものです。







このために必要なソフト(FM-7側:SNDIMG,  WindowsPC側:rcvfdimg.exe)を作成しました。

さらに最後の手順の.DSKから.D88への変換には従来から使用しているソフト FbDsktoD77.exe を使用しました。


各ソフトの機能

・転送ソフト SNDIMG:

FM-7上で動作するF-BASICのソフトで、フロッピーディスクの全セクタを読み込み、バイナリのままでWindowsPCに送信します。

ドライブは0を設定してありますので、他ドライブの場合は直接プログラムを修正します。

・受信ソフト rcvfdimg.exe:

WindowsPC上で動作するコンソールソフトで、受信したセクタデータをTrack0,Sector1からTrack39,Sector32までそのまま順に並べた.DSK形式のファイルを作成します。

  Usage:rcvfdimg [p=n] [b=nnnn] [filename](全て省略可)

        (省略時:p(ポート)は4、b(ボーレート)は4800baud、filenameはFDIMG.DSK)

・.DSKファイル変換ソフト FbDsktoD77.exe:

WindowsPC上で動作するコンソールソフトで、.DSK形式のF-BASICファイルを.D88形式に変換します。私が普段Windows上の仮想ディスクで使用するファイルを作成するために使用しているものなので、ファイルの拡張子が.D77にしてありますが、それを.D88にリネームします。また、デフォルトでは640KBのファイル用なのでオプションとして39を付けて変換する必要があります。(ファイル名のみで起動するとUsageが表示されます。)

  Usage:FbDsktoD77 filename 39 (ファイル名の拡張子は不要)



使用感など

最近はFDDがついていないPCが普通になってしまったようで、結構困ることがありますので、この方法もありかと思います。

ただ、速度的にはかなり遅くて2Dディスクの320KBで30分余りかかります。。。

ディスクの読み込みが遅い上にBASICでのRS232C通信ですのでさらに遅くなるのは当然ですが、FM-7(と普通のWindowsPC)でイメージファイルが作成できるのはメリットではないでしょうか。

GOTEKを使おうと考えるということは、当然、FM-7にはフロッピードライブが装着されていると思いますので、あとはWindowsPCとの通信手段としてのRS232Cカードなどがあれば良いわけです。

RS232Cカードの自作もそれ程大変ではないと思いますし、他にも「思い付きハードでソフトに七転八倒」さんが製作されたFT245RL使用の高速転送カードを使用できればもっと速くなると思います。また、以前ブログで紹介したArduinoMega2560を使用したカードを使うという手もあるかと思いますが、まだ試していません。

使用したソフト(SNDIMG,rcvfdimg.exeソース付き,FbDsktoD77.exe)をOneDriveに上げておきます。rcvfdimg.exeは以前のブログ「ASSIST09に追加したLoad, Saveコマンドを改良しました」で紹介したslwinr.exeを手直しして作成しましたが、ソースもつけておきましたので改良して使っていただければと。

蛇足になりますが、F-BASICのソフト SNDIMG だけは何とかしてFM-7に読み込む必要がありますが、40行足らずですので直接打ち込んだ方が早いと思います。


2020年8月9日日曜日

FM-7/77にGOTEKを接続する

FM-7やFM77にGOTEKを接続してみました

[12月6日追加]新基板のGOTEKの場合はこちらをご覧ください
[8月19日追加あり]

以前からHxCエミュレータには興味があったのですが、お遊びで試してみることができるような値段ではないので手を出さなかったのですが、低価格のGOTEKなら失敗してもあきらめがつくということで、2台入手してみました。
FlashFloppyというソフトの存在を知ったことも大きかったです。それまでは有料であるHxCのエミュレータをインストールしなければGOTEKは使えないものと思い込んでおりましたので。
さらにGOTEKは種類も多く、FM-7や77では2DDの720KBのものしか使えないのではないかと思っていたのですが、FlashFloppyをインストールするのであればどれでも良いのではないかと考えて、最安値に近いものを購入しました。

購入したのはSFR1M44-U100Kという型番のものです。オプションとしてOLEDディスプレイとロータリーエンコーダ(スイッチ付き)も入手しました。

FlashFloppyの入手・インストールやオプションの取り付け方等については先人の知恵をお借りしました。GOTEKやHxCというキーワードで検索すればたくさんヒットしますので、それらをご参照ください。
私は、特に「レトロなPCとか」の「FDDエミュレータのまとめ」を参考にさせていただきました。説明が具体的でかつ画像もありますので大変参考になりました。他には、「FlashFloppy Wiki」も参考にしました。ありがとうございました。


オプションのOLEDとロータリーエンコーダ(スイッチ付き)を増設しました。
画像にはありませんが、さらに圧電スピーカーも追加しました。


テスト風景です。自作のFDCカードからのフラットケーブルをそのままGOTEKに接続しています。カード上のStepDoubler機能はOFFにしています。
USBメモリ中に、F-BASIC30、Flex9、OS-9Level1、CP/M-80のシステムディスクのイメージファイル(D88形式をHFE形式に変換したもの)を入れて起動してみました。
どのシステムも正常に起動し、読み書きができました。




実際の使用風景です。このために最近入手したPC98用のFDDケースに収めています。GOTEKをドライブ0に、PC用のFDDをStepDoublerアダプタを通して接続してドライブ1に設定しています。
(OS-9を動作させるために、StepDoublerアダプタには7月19日のブログ「2DDドライブ用ステップ2倍化回路のその後」中の訂正を加えています。)



接続図です。


常用しているFM77AV40SXにも組み込んでみました。2DDファイルもOKでした。



訳が分からなくて苦労したことなど


ハードの設定やソフトのインストールなどは先人の知恵をお借りすることで、それ程苦労することはなかったのですが、イメージファイルをUSBメモリにインストールするところでは苦労しました。

HxCFloppyEmulator.exeでイメージファイルを作成する際の設定
[1]購入時の3桁7セグ表示の場合
 (1)使用するモードはIndexed Modeを選択
 (2)SDCard HxC Floppy Emyulator settingsとUSB HxC Floppy Emyulator settingsの設定では
 DoubleStepにチェックを入れない。
 Indexed Modeにチェックを入れる。
 2 drives emulationのチェックを外す。
以上の設定の上で(設定ファイルをUSBメモリにコピーする)、LoadでD88形式のディスクイメージファイルを指定してExportでHFE形式で書き出し、それをUSBメモリにコピーする。
その際のファイル名はDSKA0000.HFE,DSKA0001.HFE,...のように命名する。
7セグ上では000,001,...のように表示されるので、2つの押しボタンスイッチで選択する。

[2]OLEDに変更後の場合
 (1)使用するモードはNormal Modeを選択
 (2)settingsの設定では
 DoubleStepにチェックを入れない。
 Indexed ModeやAUTO BOOT Modeにチェックを入れない。
 2 drives emulationのチェックを外す。
以上の設定で(設定ファイルのコピーは不要)、LoadでD88形式のディスクイメージファイルを指定してExportでHFE形式で書き出し、それをUSBメモリにコピーする。
その際のファイル名は自由で良い。OLEDではそのままファイル名が表示される。

分かってしまえば簡単な手順なのですが、最初は何も分からない状態ですので、アップデートの必要がないのにしてみてエラーに悩んだり、あれこれ設定してみた間違った設定ファイルを書き込んでみたり、Modeと設定ファイルが合っていなかったりの試行錯誤の連続でした。
しかも、オプションのOLEDに交換するまでは3桁の7セグ表示ですので、表示の意味も良く分からない状態でインストールしようとしている者にとっては迷ってしまいがちです。

結果的には、何とか無事にインストールできて良かったです。

[8月19日追加]
上記はFM-7やFM77AVのような2Dの機種の場合です。
私が常用しているFM77AV40SXのような2DDの機種の場合は、次のようになります。
・元ファイルが2Dのイメージファイルの場合はDoubleStepにチェックを入れる。
・元ファイルが2DDのイメージファイルの場合はDoubleStepにチェックを入れない。


使用感など


まず、スピードはフロッピィとあまり変わらないようです。
また、音ですが、有り合わせの圧電スピーカーを付けたせいか、アクセス音はチリチリという小さな音が聞こえるだけですが、フロッピィのアクセス音は邪魔だったのでこれで良いかなと思います。
ただ一つ難点はOLEDの表示が老年者には小さすぎることですね...

何よりも良いのは、つまみを回すだけで起動するイメージファイルを選べることです。
私はメインでFlex9、時々OS-9やCP/M、ごくまれにFBasicを使っていますが、それらをUSBメモリに入れておけば、いちいちフロッピィを取り出す必要がありません。
ドライブ1にはフロッピィディスクをセットしてありますが、ドライブ2,3としてRAMディスクやWiindows上の仮想ドライブも使えますので、いよいよフロッピィと縁が切れるかもしれません。