FDD エミュレータ
FDDエミュレーターについて解説します。
オプション
オプションは、各ファームウェアの能力をさらに活かすものなので、つけておくことをお勧めします。
ここでは、優先順位の高い順に、その効果も踏まえてお伝えしていきます。
なお、詳細については、英語になりますが、下記アドレスをご参照ください。FlashFloppyの例ですが、ほとんどの場合HxCでも使えます。
https://github.com/keirf/FlashFloppy/wiki/Hardware-Mods
下準備
オプションを使用する場合は、一部のピンヘッダの付け替えが必要になることがあります。
下準備はオプションをつけないにしても、やっておいて損はしないと思います。私はやってます。
用意するのは、ライトアングルの2列のピンヘッダです。
これを2x3列にします。(ついているのは2x2列)
(通常のピンヘッダをつけてしまうとGotekのケースに収まりません。。。)
まずは、I2Cコネクタをはずし、ハンダを取り除きます。
ハンダの除去は、吸い取り線より吸い取り器のほうが効果的です。
そのあと、今度は先ほど用意した3x2列のピンヘッダを入れ、はんだ付けします。これで下準備はOKです。
OLED(ディスプレイ)
ディスプレイを7セグLEDから液晶やOLEDに変更すると、イメージのファイル名を番号(デフォルトでDSKAxxxx)から任意の文字列に変更ができます。
※ただし、ファイル名は表示領域の限界もあるので短め(8文字以内)がお勧めです。
取り付けは、Gotekについていたケーブルを利用してつなげます。
配線は左記の図のようになります。
ただし、OLEDの配線は違うことがあるので、信号線の位置は必ず確認して取り付けてください。
ことVCC/GNDは間違えるとOLED破損します。
OLEDは、筐体にグルーガンなどで取り付けるといいでしょう。
なお、筐体の蓋に7セグLEDを固定する抑えがついているので、ニッパーなどできれいに取り除くことを忘れずに。
※作業はOLEDでやっていますが(筐体内に収まるのはこの.91のOLEDが最大なので)、ケーブルを外に出せるなら、I2C対応のキャラクター液晶(16桁2行)や通常のディスプレイにも対応できるようです。
(ここではその内容については割愛します)
ロータリーエンコーダー
ロータリーエンコーダーは、ファイルの切り替えやメニューの選択、内部の簡単なユーティリティの操作にはとても便利です。
最初についている2つのボタンでもいいんですが、これがあるだけでかなり操作が楽になります。(ボタンだと同時押しになるところでも、ロータリーエンコーダーだとワンプッシュでOKということもあるため)
ロータリーエンコーダー(プッシュスイッチ付き)はいくつか種類がありますが、代表的なのが、エンコーダーだけ(基板なし)パーツになると思います。
これのほうが取り付けやすいです。
シャフトは15mmのものを選ぶといいでしょう(ただし、ドライブが少し奥まったところにある場合は、あえて20mmを選ぶのも手です。単体だと見栄えが良くないですが、実際に取りついけると案外その方が操作しやすかったりします)。またそのエンコーダー(だいたいがDカットシャフトになると思います)に合ったつまみを一緒に用意しておきましょう。
この配線をすると同時に、筐体にも穴をあける必要があります。
穴の位置はポンチモールドされていますので、穴はあけやすいと思います。最初に3mmで穴をあけて、それからそのエンコーダーの取り付けネジに合ったサイズの穴をあけます(だいたい7.1mm前後がベストなことが多いです、エンコーダーで違うので確認して、止めるネジが通る程度のほんの少し大きめの穴をあけておけばOKです)。
ほかにも種類があるので、詳しくはFlashFloppy本家のページをご参照ください(リンクはこのページ上部にあります)。
圧電スピーカー
何故圧電スピーカー(圧電サウンダ)?って人もいるかもしれません(実は私もつい先日までその一人でした)。
意外にこれが使えます。
なんと、本物のフロッピーのシーク音、ヘッドのステップ音などの、ヘッドサーボの音をこのスピーカーで再現してくれます!
昔の本物のフロッピーディスクさながらの音なので、私はほかの人のその装備の音を聞いて思わず「うわー懐かしい!!」(笑)
それからこれが欲しくなりました(笑
ちなみに、圧電スピーカーは、パッシブタイプ(スピーカーだけ)とアクティブタイプ(アンプ付き?)があります。一応両方使えますが、パッシブタイプのほうがお勧めです(左上の図もパッシブタイプ用になってます)。筐体に入れるためにできる限り小さいものを選びましょう。
また、超小型のダイナミックスピーカーをつける手もありますが、STM32だけではドライブパワー不足ですので、トランジスタを間に入れる必要があります(左下手書きの図参照)。
端子は左上には書いてありませんが、JBジャンパを使います。