フロッピーの鼓動を、筐体で。ITX68000LにイジェクトボタンとアクセスLEDを実装した話
ITX68000Lに、フロッピーディスクのイジェクトボタンと、アクセスLEDを実装しました。X68000用エミュレータを動かしながら、実機さながらにランプが点滅し、ボタンを押すとディスクがイジェクトされる、あの感覚を、コンパクトな筐体の中で味わえるようにした話です。
目次
- ことの発端
- ITX68000Lに、まだなかったもの
- そもそも実現できると思っていなかった
- テスト制作:秋月のモジュールで検証
- 本制作:最強布陣で基板を開発
- 嬉しいハプニング発生!
- いうてもふゆきは素人
- ITX68000Lの見直し
- 完成
- あとがき
ことの発端
ITX68000Lは、私が制作・頒布しているMiniITXマザーボード用のPCケースです。X68000の佇まいを、今のパーツで再現できる、そんなケースです。
実はこのケース、HDDのアクセスランプはすでに実装済みでした。X68000は電源のON/OFFに連動して独特な点滅を行なうのですが、その挙動を忠実に再現しているんです。電源を入れると、あの懐かしいリズムでランプが明滅する。このあたりは、すでに完成していた部分です。
【画像挿入位置:ITX68000Lの全体と、点滅するHDDアクセスランプ】
ITX68000Lに、まだなかったもの
ただ、X68000にあってITX68000Lにないものが、二つありました。
一つは、フロッピーディスクのイジェクトボタン。もう一つは、フロッピードライブのアクセスステータスを表示するLEDです。実機では、ディスクを読み書きするたびにこのLEDが点滅し、ボタンを押すとディスクが「カチッ」と出てくる。あの感覚が、ITX68000Lにはまだなかったんです。
そこで今回、この二つを実装することにしました。ただし、XEiJ+t と XM6t というX68000用エミュレータを使うことで、これらの機能を利用できるようにします。実機のドライブそのものではなく、エミュレータの情報を物理的なボタンとLEDに落とし込む、という形です。
【画像挿入位置:実機のフロッピーイジェクトボタンとアクセスLED、とITX68000Lの比較】
そもそも実現できると思っていなかった
正直に言いますと、そもそも実現できると思っていなかったんです。
長年Windowsで動かしているX68000のエミュレータ。そのフロッピードライブに関する情報を、物理的なLEDに連動させるなんてことができるのか、と。エミュレータの中の世界と、筐体の外の物理世界を繋ぐ、その橋が架かるのか、自分では到底想像がつきませんでした。
ところが、SNSで「やりたいなぁ」とつぶやいたところ、以前からお世話になっている「たんぼ」さんから「やってみよう」と声をかけていただいたんです。この一言が、すべてのはじまりでした。
テスト制作:秋月のモジュールで検証
本当に実現できるのか、まず検証したかったんです。そこで秋月電子さんで「USB接続デジタル入出力モジュール」を購入しました。
これをPCに接続して、次のような流れでLEDを点滅させてみたんです。
WINDOWS → X68000エミュレータ → USB接続デジタル入出力モジュール → LED
……点滅しました。エミュレータのフロッピーアクセスが、物理的なLEDにちゃんと反映されたんです。あの瞬間、本当に嬉しかった。実現できる、と確信できた瞬間でした。
【画像挿入位置:USB接続デジタル入出力モジュールと、点滅するLEDのテスト風景】
本制作:最強布陣で基板を開発
ただ、ここで壁にぶつかりました。秋月電子のUSB接続デジタル入出力モジュールでは、ITX68000Lの筐体に入らないんです。コンパクトな筐体に収めるには、小型のモジュールを開発する必要があり、また専用のファームウエアの開発も必要でした。
そこで、秋月電子のモジュールに書かれている回路図を参考に、担当を振り分けたんです。
回路図:たんぼさん、ふゆき
PCB:ふゆき、たんぼさんの先輩
ファームウエア:たんぼさん
まさに最強布陣である。回路・基板・ファームウエア、それぞれの得意な人が揃った、この布陣に、ふゆきも胸を躍らせました。
【画像挿入位置:開発した小型モジュールの基板と、回路図】
嬉しいハプニング発生!
ここで、嬉しいハプニングが発生しました。
もともとは、フロッピーディスクのアクセスLEDだけの対応予定だったんです。ところが、「せっかく基板をつくるのであれば、ディスクイジェクトボタンも対応しよう!」となったんです。
ええ、なんでもできるんですね。LEDだけならLEDだけ、ボタンもつけたいならボタンも、と。基板を新しく作るなら、ここで一気に両方対応してしまう、という、なんとも贅沢な判断が下りました。我ながら、この布陣の強さを実感した瞬間です(白目)
いうてもふゆきは素人
とはいえ、いうてもふゆきは素人です。
ふゆきのKicadレベルは、緑帯程度。PCBの設計は、たんぼさんの先輩に色々とご監修いただきつつ、試行錯誤を繰り返しました。ここは、先輩の知恵と、ふゆきの根性で乗り切った、そんな感じでした。
【画像挿入位置:KicadでPCBを設計している画面、または監修をいただく様子】
ITX68000Lの見直し
基板ができたところで、今度は筐体側の話です。
LEDランプは、もともと光らせる余地を残してはいたものの、イジェクトボタンは完全に想定外でした。ボタンを置く場所が、そもそもなかったんです。
そこでITX68000Lの見直しに着手しました。CADデータの修正、押し心地の確認、コンパクトな筐体に無駄なく装着できるようにの小型化など、コンパクトな筐体に無駄なく装着できるように小型化させるなど、じつは困難を極めたんです。押し心地が硬すぎても、柔らかすぎてもいけない。あの「カチッ」とした実機の感覚に近づけるには、何度も試作を繰り返しました。
【画像挿入位置:イジェクトボタンの試作と、押し心地を確認している様子】
完成
そして、完成です。
XM6tをつかい、大好きなゲームを動かします。フロッピーディスクのアクセスも、イジェクトボタンも、完璧に動作するんです。ディスクを読み書きするたびにLEDが点滅し、ボタンを押すと「カチッ」と反応する。
ただ、一つだけ変なところがあります。実際にディスクが出てこないんです。ボタンを押しても、物理的なディスクは出てこない。あの「カチッ」という感覚だけが、そこにある。ちょっとだけ、寂しいような、嬉しいような、そんな気持ちになりました。
【画像挿入位置:XM6tを動かしながら、点滅するアクセスLEDとイジェクトボタン】
あとがき
(ふゆきさんが書く)
おしまい