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を交換することで修理可能だという一例のつもりで紹介しました。


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以外は比較的安定しているようです。)