石原 博の覚書

電子工作に関する日々の覚書を記載します

ArduinoFDCがとりあえず動いた(2)

2024-02-24 18:20:30 | 日記
バラックで作っていたので不安定だったのを、
万能基板で作り直した(コネクタも34pin買ってきてはんだ付け)
グラウンドもそれなりに強化、1Kオームでのプルアップも行った。


・3.5インチ
 ほぼ問題なく動くようになった(時々CRCエラーは出るかリトライで読めている)


・5インチ
 ArduinoFDCでdirするとディスクは回転するが、エラー(Error#3:Drive not ready)
 (monitorで t 0や t 1としても同じ)
 なんか接続が違うのかな?

ArduinoFDCがとりあえず動いた

2024-02-18 15:11:16 | 日記
約40年程前になるが、シャープMZ80Bでカセットテープ入手力やキーボードスキャンを含めモニタを完全に作り変えた上で、日本橋で8inch厚型 両面単密度の中古ドライブを購入し、1982年10月トランジスタ技術に相沢 一石さんが連載していた「作りながらマングマイコン設計トレーニング」を参考に、フロッピーディスクコントローラMB8877を使用してフロッピーディスクをつないでいた。さらにその後薄型の両面倍密度の中古ドライブを購入しCP/Mを動かしていた。

今思えばオシロもなしにテスターだけでよく動かしたものだ。若かった。
turbo pascalを動かし、Game80を動かし、micro pascalを動かし、TL/1を動かし遊んでいた。JUG CP/Mにも参加してたし。

その後AT互換機(386 25MHzとか)やMacPlusを使用していたが、当時使用していた5インチや3.5インチの
フロッピーディスクがまだ手元にある。動くかどうかはわからないが放置するのはもったいない。
(内容的には今となっては大したものがあるわけではないが)

そんな折WebでArduinoFDCを見かけた。なんとArduinoでフロッピーディスクを読み書き出来るとのこと。(https://github.com/dhansel/ArduinoFDC)
昔はVFOを利用したデータセパレータとか、FMだのMFMだの大変だったし、速度的にも単純なZ80 4MHzのソフトでは間に合わないので、
Waitを利用して読み書きしていたが、このArduinoFDCは信じられないことに16MHz atmeg328pでソフト的にMFMまで読み取っている。
さらにArduino UNOだけではなく、miniやmicroでも動くらしいので検証を兼ねてpro miniで作成してみた。

とはいえなかなか機器の入手が難しい。
・フロッピードライブやケーブルはオークションで入手
・電源は以前作成していたATX電源を利用したものを使用(これなら5インチで使う12Vも出る)
・Arduinoはpro miniを使用


結果
・3.5インチ
 読めるがCRCエラーが結構出る(monitorコマンドでrで全面読み込み時)
 ディスクの劣化によるものなのか、中古ドライブの問題なのか、貧弱な配線の問題か、
 ArduinoFDCの問題なのか良くわからない(*1)。
・5インチ
 黄ばんだFD1155Cを入手したが、フロッピーディスクを入れた際にモーターは回るが、
 ヘッドをおろした時にモーターが止まってしまう。ArduinoFDCをつなぐところまで行かない。



(*1)USB接続の3.5インチディスクから読むと普通に読めるのできっと配線だろう。まず動くかの確認のため、
 強く推奨されている信号線のプルアップも端折ってるしGNDラインもブレッドボード用の線1本しかつないでないし。

3.5インチのディスクなら今でもUSB接続のドライブがあり、今でもそれほど必要性はないが
5インチはなかなか読む手段がない。将来的には8インチが読めれば良いなあ。