先日BBSでMSXのFDDの話題が出たので、我が家で死蔵していたFS-FD1A(パナのMSX用カートリッジ一体型FDD)のことを思い出した。
これは自分が学生の頃、学校の先生をしている大阪のMSXユーザーの方にいただいたものだ。今でこそFDDはゴミみたな値段で転がっているが、発売当時は定価39,800円もした代物だった(これでもFDDとしては安価な方)。いただいた当時はMEGA-SCSIの普及期であり、ファイル管理はSCSIに移行したのでもう使わないからと、気前良く2台もタダで送ってくれた(感謝)。当時はキチンと動作していたのだが、先日1チップMSXで使おうとしたところ2台とも動作しなくなっており、どうやらしばらく寝かせている間に発酵してしまった模様。
中身はミツミ製のドライブ「D357T」。検索をかけてみたが、詳細はわからなかった。スピンドルモーターはダイレクトドライブであるのでゴムベルトが伸びる心配はないが、読み取り不良が発生した場合はヘッド周りのトラブルである可能性があり、クリーニングで復活しない場合は素人修理は難しいとされる。
今回はドライブユニットの修理はあきらめて換装を行うこととした。使うのはウチのジャンク箱に転がっていたミツミのFDDユニット「D353M3D」だ。以前キューブPCで使用していたもので、ベゼルはシルバー。購入したのは2002年頃だったと思う。
FDDの換装についてはここのサイトに詳しい解説がある。ここの情報と昔の記憶を頼りに試行したところ、MSXのFDDをAT互換機用のものに入れ替えるには下記の点に留意すればよいことがわかった。
1)DriveSelect信号のピンアサインが異なる。
2)34pにREADY信号を用意する必要がある。
3)DiskChange信号は通常は必要ない。
4)2HD識別スイッチは2D/2DD 固定にする。
とりあえず動作確認として元々のフラットケーブルを加工してFDDインターフェイス側の10p(DriveSelect1)とドライブ側の12pを接続し、インターフェイス側の34p(READY)をGNDに直結してAT機のFDDを繋いでみた。これだけで2DDのディスクは普通に読めたので手ごたえOK。本格的に入れ替えることにした。
なお、元のドライブとAT機のFDDではコネクタ位置が異なり、そのままではケーブルの長さがどうしても足りなくなる。特にフラットケーブルは上下が逆さになるため、すだれタイプ(途中でワイヤーがほぐれているやつ)のフラットケーブルを使って180度捻る必要がある。34pのすだれケーブルを1節分使うとぎりぎりケースに収めることができる。
まずは、元のフラットケーブルの接合部を注意深く取り外し、短いフラットケーブルを除去した。コネクタに硬い樹脂がはめ込んであるのだが、うかつに手を出すとツメが容易に破損するので、パーツショップで同じものを買っておいたほうがbetter。ここに用意した34pのすだれケーブルを圧着する。注意深く位置決めをした上でこのようにベンチバイスで挟んで締め付ければOK。
FDD側になる方も同じようにベンチバイスで挟んで圧着。圧着する前にFDDとの位置関係をシミュレートして長さや表裏を間違えないように注意が必要だ。
圧着が終わったら隣り合うピンがショートしていないかテスターでチェック。フラットケーブルの10pと12pを途中で切断し、ドライブ側の12pと基板側の10pを接続した。基板側の12pとドライブ側の10pは断端を熱収縮チューブで絶縁している。
電源ラインも延長し、基板側は最終的にはこんな感じになった。
次はドライブ側の加工であるが、AT互換機のFDDは34pにREADY信号を出さない代わりにDiskChange信号を出すようになっている。DiskChangeはディスクが取り出されたと認識された瞬間から、次のアクセスがあるまでactive(L=GNDレベル)になる信号だが、FS-FD1Aでは必要のないものだ。一方READY信号はFDDがアクセス可能であるときにactive(Lレベル)になる信号であるが、とりあえずディスクが入っていればactiveとしておけば問題ない。よって、34pのDiskChange信号をパターンカットで殺し、FDDのディスク挿入検知スイッチを利用してREADY信号を作り、34pに引き渡すことにした。
このドライブのディスク挿入検知スイッチを調べてみると、ディスクが挿入されているときに信号がGNDに落ちていることが分かったので、これをそのままREADY信号として利用することにした。やったこととしては34pのパターンカットとスイッチへの接続だ。もし、逆にディスクがイジェクトされたときに信号がGNDに落ちるスイッチだったとしたらトランジスタを使って信号を反転させればよい。ちなみにREADY信号を常にGNDに落としてしまうとディスクが入っていないときにdisk offlineエラーを吐けなくなって動作が止まる不具合が発生する。READY信号はキチンと処理したほうが良いだろう。
AT互換機のFDDは2HDも読み書きできる3モードドライブだが、MSXでは2HDフォーマットは使えない。2HDディスクには識別のためにライトプロテクトノッチの反対側に穴が開いているが、そのまま使うとFDDが2HDモードで動作してしまい、2DDとしてアクセスができなくなってしまう。テープなどで穴を塞いでおけばよいが、それも面倒な話だ。MSXでは2HDディスクを2DDフォーマットで使うことも多いため、ドライブの2HDモードは殺しておいたほうがbetterだろう。このドライブを調べたところスイッチが2HDでオープン、2DDモードでショートとなっていたので半田でブリッジさせておいた。
ちなみに余談だが、DiskChange信号はターボRの内臓FDDで使われており、これを接続しないとディスクキャッシュを使ったときに不具合が発生する。このようなケースではDiskChange信号は殺さないほうが良いだろう。
ケーブルを延長したことにより、ドライブをケースに収納することができた。フラットケーブルはギリギリの長さ。ネジ穴はそのまま使うことができた。
ベゼルがシルバーなので違和感ありまくりだが、とりあえずそのままにした。塗装しても良いのだが、いまさらMSXのドライブにそこまでしなくてもよいかと思ったり。
動作確認したところ、2DDディスク、2HDディスクともに2DDモードで読み書き、フォーマットできた。もちろんプロテクトのかかった市販ソフトも問題なく起動できるし、1チップMSXで使うこともできた。ここまでやっておけばドライブユニットがまた壊れたとしても簡単に蘇らせることができるだろう。
ちなみに動作チェックに使ったMSX(FS-A1Mk2)は、FS-FD1Aと同じく大阪の先生からの頂き物。FDDも漢字ROMもFM音源も内臓していないが、改造によりメインメモリ512kB実装しているため、MEGA-SCSIだけでDOS2も動作可能。画面はMSX-FANのオープニングCG。