A1FにFDDを付け直し
かなり前にダイレクトドライブに換装したA1Fを使っているとFDDアクセスでエラー発生。
おかしいなと思いつつ面倒なので放置していたのですが症状が悪化。
FDDにアクセスするとリセットが掛かるという状態になってしまったので開けて見てみることにしました。
原因
原因は半田付け不良とすぐに分かりました。
配線が何故か切れて隣の端子に接触している状態です。
自分の下手くそな半田付けに呆れながら故障せずに済んだことにホッとして、FDDの付け直しです。
FDDの配線は当時のネット情報をそのまま鵜呑みにして繋げただけなので詳細は覚えておらず、当時見たはずのページも見つからない状態。
この際なので記録も兼ねて、パターンを追ってどう繋がるのかを確認してみます。
調査
まずは基板に半田付けされているケーブルを取ります。
丁寧に作業したつもりでしたが、スルーホールを1個壊してしまいました。
足の多い部品を抜く時に、わずかに残った半田が取り切れていなくて壊してしまうんですよね…。難しいです。
ただ配線は繋がっていなくて実質的な問題はなく、その点は助かりました。
コネクタの下側には+5Vの接続だけで、裏側の配線が主なようです。
こちらは基板の裏側。
こう見ると奇数ピンは1番ピン以外、+5VかGNDに纏められていて、偶数ピンに信号が来るようです。
間違い等があるかも知れませんが回路図にするとこんな感じです(信号の向きもついでに書いておきました)。
かなり記憶が曖昧になっているのですが、このA1Fは当時FDDの修理に出したことがありまして(今考えると新品から3年程でゴムベルトが伸びてしまったようです)、戻ってきた本体を開けると基板が追加されていました。
FDDは本体からのケーブルがこの基板を介して繋がっていて、その時はその理由が良く分からなかったのですが、今見てみると26ピンを24ピンに変換しているのでA1F用のドライブの在庫がもう無くて、発売中だった2+以降のドライブを繋げるためだったのかと、そんな風に思われます。
一応この基板も回路図にしておきました。チップ部品の型番に自信がなく2SD1484Kだったとすれば、という程度のものですが。
またREADY信号を何故トランジスタを介さなければいけないのか、という点も分かりません。
※ピンの名称は、TC8566Fのデータシートにあるものを書いています(24ピンの一部はネットで調べた名称です)。
問題のチップ部品がこれです。チップ部品から型番を調べるのって難しいですねぇ…(この基板、パターンカットした後がありますが、何故そんなことをしたのかさっぱり覚えていません)。
FDD
取り付けるFDDはこちらになります。
FDH480-DM1102とありますが、
横を見るとB03L-4985-0013Aとも書いてあります。どちらが型番になるのでしょうか。
1991年製なのでかなり古いFDDです。ネットで探してみても情報はなさそうでした。
困るのはピン配列が分からないことです。基板裏のパターンから奇数ピンは全てGNDということだけは分かります。
とはいえ、FDDのピン配列は全くバラバラというわけでもないので繋いで問題が出たらその時考えることにします。
FDDの電源は+5Vと+12Vの2種類使うタイプもあるらしいですが、これは(今まで+5Vのみで運用できていたので)+5Vだけでも良いタイプのようです。
スイッチで色々動作が変更できそうですが、いままで問題なく動作していたのでこのままで。
A1Fで使用していたのでReady信号が出せることは確定ですが、イジェクトボタンにセンサが取り付けられているので、設定によってはDISK CHANGE信号も出せそうです。
接続
FDDのピン配列は、「フロッピ・ディスク装置のすべて」という本にある34ピン・インターフェースと同じだと仮定してみます。
| 内容 | ピン番号 | ピン番号 | 内容 |
|---|---|---|---|
GND |
1 | 2 | High Density |
| GND | 3 | 4 | In Use |
| GND | 5 | 6 | Drive Select 3 |
| GND | 7 | 8 | Index |
| GND | 9 | 10 | Drive Select 0 |
| GND | 11 | 12 | Drive Select 1 |
| GND | 13 | 14 | Drive Select 2 |
| GND | 15 | 16 | Motor On |
| GND | 17 | 18 | Direction |
| GND | 19 | 20 | Step |
| GND | 21 | 22 | Write Data |
| GND | 23 | 24 | Write Gate |
| GND | 25 | 26 | Track 00 |
| GND | 27 | 28 | Write Protect |
| GND | 29 | 30 | Read Data |
| GND | 31 | 32 | Side 1 Select |
| GND | 33 | 34 | Ready/Disk Change |
上の想定のもと、対応するピンをコネクタに接続します。
FDDにあってMSXに無いピンは未接続にします。
| 内容 | FDD側 | MSX側 | 内容 |
|---|---|---|---|
| - | 1 | NC | |
| Ready/Disk Change | 34 | 2 | READY |
| INDEX | 8 | 4 | INDEX |
| Drive Select 0 | 10 | 6 | DRIVE SELECT 0 |
| - | 8 | NC | |
| Side 1 Select | 32 | 10 | HEAD SELECT |
| Motor On | 16 | 12 | MOTOR ON |
| Direction | 18 | 14 | DIRECTION |
| Step | 20 | 16 | STEP PULSE |
| Write Data | 22 | 18 | WRITE DATA 1 |
| Write Gate | 24 | 20 | WRITE ENABLE |
| Track 00 | 26 | 22 | TRACK ZERO |
| Write Protect | 28 | 24 | WRITE PROTECT |
| Read Data | 30 | 26 | READ DATA |
| 電源へ | - | 3,5,7,9,11,13 | +5V |
| GND | 奇数ピン | 15,17,19,21,23,25 | GND |
結果
FDDのピン配列が全く不明だったのでどうなるかなと思いましたが、上記の接続で問題なく動作しています。少なくとも接続したピンに関しては間違いないようでした。