現在地

FDCボード (ハードウェア編)


テーマ:

カテゴリー:

MC68kボード復活作戦(番外編)などで取り上げた大昔の環境は以前イメージ化してあったものですが、フロッピーディスクのままでイメージ化していないものがまだまだ存在します。読めなくなる前に(既に手遅れかもしれませんが)イメージ化しておきたいものです。

以前はまだPCに5.25インチのドライブが接続してあったのでそれを利用したのですが、今やろうとするといろいろ面倒なことになりそうです。

FDCボード
ということでこんなボードを作ってみました。

PCとはシリアル(USB変換ケーブル)で接続します。

Mass Storage Classを使うべきではという意見もあるかもしれませんが、次のような理由でこの形式を選択しました。

  1. 読みたいディスクは8ビット時代のものが主で、DISK BASICあるいはCP/Mのフォーマットです。Windowsにディスクとして認識させるメリットがあまりありません。むしろWindowsの都合に煩わされるだけデメリットだといえます。
  2. USBターゲットとしてファームウェアを実装するのは面倒です。専用のコントローラを使えば楽になるかもしれませんが、今度はWindows標準ではない物理フォーマットへの対応に不安が出てきます。
  3. 古いディスクを読みたいだけなので速度は求めていません。

基板 表側
一番上の40ピンはATmega1284P、コントローラ用のマイコンです。当初はFDC接続用に外部バスの使えるAT90S8515かATmega8515あたりを予定していましたが、GPIO経由で接続しても速度的に問題なさそうなのでこちらを使用しました。

昔のZ80などではデータ転送時にバッファオーバランが発生しないようにいろいろ工夫したようですが、AVRならバスタイミングをソフトウェアで作っても十分余裕があります。むしろFDCのアクセスタイムにあわせるためにnopが必要です。

ファイルシステムなどの複雑な処理はPC側で行う予定なのでプログラムサイズは小さくてすむはずですが、大容量のバッファが欲しいのでRAM容量の大きなATmega1284Pを選びました。READ DATA(セクタ読み出し)だけなら1kBのバッファでも困らないのですが、READ ERRORNOUS DATA(μPD765のREAD DIAGNOSTIC)でトラックを丸ごと読む可能性を考えた結果です。8515系の場合は外部RAM搭載が必要だったので配線量の点でかなり楽になっています。

左上の6ピンはISP用のコネクタです。

48ピンのHD63265Pは日立製のFDCです。NECのμPD765互換でデータセパレータを内蔵しています。外付けのC,R類すら不要のデータセパレータで完全無調整という優れものです。

左横の1列6ピンのコネクタはシリアルで、秋月のTTL-232R-5Vの配列に合わせています。

2つ並んでいる8ピンサイズ(実ピンは4本)はSG-8002DC、左はFDCのクロック16MHzで、右は19.2MHzです。19.2MHzはATmega1284のクロックとして使っていますが、必要に応じてFDCに使うことも考慮した周波数です。19.2MHzは標準品にありませんが、SG-Writer IIを利用しました。

その右の14ピン2つはSN7438NでFDDインターフェイスのドライバです。書き込み系のWRITE DATA, WRITE GATEなどは未接続にしているので足りていますが、書き込み対応するなら追加が必要です。150Ω終端の8インチも想定しているので7438を使用していますが、3.5インチ, 5.25インチのみなら7405(7438は4つ、7405なら6つ入り)でもいけると思います。

下はSN74LS14NでFDDインターフェイスのレシーバです。

赤いのは終端抵抗で10kΩです。これは逆に最近の3.5インチドライブを想定して高めにしています。150Ωでは最近のFDDではドライブできるか不安ですから。

右側のコネクタはFD1165A用の50ピンと3.5インチ, 5.25インチ用の34ピンです。

(つづく)


コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。