since 2007.8 by K-ichi

久々にMSXを引っ張り出してみたら、拗ねられてしまった。モータがぐゎんぐゎんと唸っている。アクセスはできるが、頻繁にエラーを吐き不安定。修理が必要と判断した。

MSXのFDDは、基本的にベルトドライブが用いられている。手許のFS-A1ST(MSX turboR)もご多分に漏れず。モータの小さなプーリーからディスクのハブへ、ゴムベルトで伝達する。
いざ開けて見てみると、一見きれいな状態。融けたり割れたりはしてない。ただ、硬化していて、モータ付近で滑っている模様。ベルトは消耗品であり、数年に一度は取り替えが必要とされる。この際なので、ダイレクトドライブで市場に大量供給されている、PC用のFDDに換装することにした。

使用したのは、TEACのFD-235HGPDF)。メモ記述によれば、パソコン屋で前世紀末に2980円で購入したもの。
フロントベゼル付きだが、4箇所の爪が掛かっているだけなので簡単に外せる。上手い具合に寸法が合っていて、左の写真のように、MSX本体にすっぽり収まる。元々との違いは、イジェクトボタンの色と挿入口の蓋の有無くらい。ケース加工は一切不要。

ちなみにこのドライブには、ジャンパやスイッチの類は全く無い。あくまでPC専用と割り切った製品。

ピンアサイン調査なども兼ねてググってみると、MSXのFDD換装ネタはいくつも掛かる。
FDDの信号は基本的に同一なので、相応の信号同士をつなげばよい。ただ、PC用FDDには、MSXに必要なREADY信号がない。ディスクを入れっぱなし(≒常にREADY)にしておく条件で、READYをGNDにつなぐ簡易方法が一般的らしい。FDDインターフェースはローアクティブのオープンコレクタなので、これで常にアクティブになる。ただしこの場合、ディスクを抜くと、MSXがアクセスしっぱなしになり暴走してしまう。READYをいったん切るスイッチを設ければ、手動回避もできるが、少々スマートでない。

ここでは、ケーブル途中にREADY信号を生成する回路を付加し、そのままのMSXにそのままのFDDをつなぐことを目指した。MSXにもPC用FDDにも一切の加工はしない。

動作確認ができた回路は次の2パターン。
ひとつはPICマイコンを使うタイプ。かつては名を馳せていたMODチップのような使い方になる。もうひとつはロジックICの4538を使ったもの。PICの開発環境を持ってない場合にはこちらが使える。

もっともスマートと思われる物理的接続方法は、まず既存FDDからハンダ鏝を使ってコネクタごとケーブルを外す。これを本回路に接続。本回路からは34ピンケーブル、および4ピン電源ケーブルでPC用FDDにつなぐ。
残念ながら手許のMSXは中古品で改造済みだったため、この方法は採れなかった。MSX本体基板に簾ケーブルが直ハンダ付けされていたので、このケーブルにボックスヘッダを圧着して代用した。


【PIC版】

ハードウェアは、ひたすら配線するのみ。ケーブル類のほかは、PICとパスコンだけ。パスコンは回路図にはないが、電源とGND間に0.1μFほどの積層セラミックコンデンサを付けておく。

PICは12F675を使った。下位互換の12F629なら、HEXファイルはそのまま使えるはず。難しいことはしておらず、割り込みもペリフェラルも使っていないので、その他機種でも初期化の部分などを書き換えれば、容易に移植が可能。

PICのソースファイルなど:FDD-IF_PIC.zip (1442 bytes)


【4538版】

PIC版より部品点数は増える。書いてないが、こちらにもパスコンは必要。

タイミングはシビアではないものの、コンデンサはフィルムタイプを推奨する。電解コンデンサでは経年変化で容量が減ってしまう。大容量の積層セラミックも入手できるが、これは温度や電圧でかなり変化してしまう。状況により最悪-80%という記述もある。

回路図ではHC4538を使っているが、4538Bにも置き換え可能なはず。この場合、時定数が変わるが、問題はない。

Q1は小信号用の適当なNPNトランジスタ(例えば2SC1815)でよい。HC4538を使った場合、/Q出力を直接使うことで、R3とQ1は省略できるかもしれない。


FDDなどのピンアサインは以下のとおり。
名称が各方面で少し異なるが、最も適すると思われるものに統一、変更してある。

MSX turboR (24pin zigzag-inline)
15V5V 2
3NC5V 4
55VREADY 6
7GNDGND 8
9SIDE ONE SELECTGND10
11READ DATAWRITE PROTECT12
13TRACK 00WRITE GATE14
15GNDWRITE DATA16
17GNDSTEP18
19DIRECTIONMOTOR ON20
21NCDRIVE SELECT22
23INDEXDISK CHANGE24
turboRでは、本体基板上に番号が振ってある。
2ドライブ分のパターンが並んでいるが、MOTOR ON、DRIVE SELECT、DISK CHANGE以外は共通になっている。
turboR以外の機種は、Web上の情報を参照のこと。


PC用FDD (34pin boxheader)
1NCNC 2
3KEYNC 4
5NCNC 6
7GNDINDEX 8
9GNDNC*10
11GNDDRIVE SELECT12
13GNDNC**14
15GNDMOTOR ON16
17GNDDIRECTION18
19GNDSTEP20
21GNDWRITE DATA22
23GNDWRITE GATE24
25GNDTRACK 0026
27GNDWRITE PROTECT28
29GNDREAD DATA30
31GNDSIDE ONE SELECT32
33GNDDICK CHANGE34
FDDは、PCで使う状態での信号。
KEYはピンが抜かれている。NCは接続なし。
PC用FDDケーブル(先端が一部捻じってある)を使う場合、NC*にMOTOR ON、NC**にDRIVE SELECTとしておくと、捻じった先のFDDをアクセスできる。

ここで使ったFD-235HGは、コネクタが逆についていた。1ピンを示す▼マークではなく、必ずKEYの抜けているピンで確認する。


FDDの電源コネクタ。
図はFD-235HGのPDFから拝借し追記した。

ちなみに、相当に古いFDDでは、4ピンに12Vを必要とする。入手の際には念のため、5Vのみで動くかどうか確認した方がいいかもしれない。


その他、詳細などは別稿につづく

3 件のコメント:

Fram さんのコメント...

FS-A1Fの修理をした際にFDDの換装方法を調べていて、こちらのサイトにたどり着きました。

READY信号の処理に悩んでいたのですが、おかげさまでベルトレスドライブに換装することができました。

ブログ記事からこちらの記事にリンクを貼りたいのですがよろしいでしょうか?

K-ichi さんのコメント...

リンクはご自由にどうぞ。
ちなみに、どちらの方法を使われましたか?

Fram さんのコメント...

リンクの許可をいただきありがとうございます。

4538Bを使いました。トランジスタにMOSFETを使った以外はそのままの回路です。

コメントを投稿

※ コメントは管理者の確認後に表示されます

関連記事


この記事へのリンク by 関連記事、被リンク記事をリストアップする」記事
Related Posts Plugin for WordPress, Blogger...

ブログ アーカイブ