ITX68000Lにフロッピーの鼓動を! イジェクトボタンとアクセスLEDの実装 目次 ・予備知識:X68000シリーズ ・予備知識:ITX68000L ・すでに実装されているもの ・X68000にあって、ITX68000Lにないもの ・今回開発したもの ・そもそも実現できると思っていなかった ・テスト制作 ・本制作 ・嬉しいハプニング発生! ・いうてもふゆきは素人 ・ITX68000Lの見直し ・完成 ・あとがき 予備知識:X68000シリーズ X68000シリーズは、シャープが1987年に発売したパーソナルコンピュータのシリーズです。通称「ペケロク」「ロクハチ」と呼ばれ、今では伝説のビンテージコンピュータとして語り継がれています。 当時としては画期的な性能を備えていました。最大6万5536色の多色グラフィック、シンセサイザーに匹敵するFM音源、そしてアセンブラが扱いやすいMC68000の命令セット。少年たちの心を掴んで離さなかったのは、まさにこの表現力の高さです。 さらにコーディングのしやすさという武器もあり、X68000はコンピュータを使いこなす様々なクリエイターを排出しました。ゲームクリエイター、音楽クリエイター、そして数多くの同人作家。このマシンからキャリアをスタートさせた人々は、今もなお日本のエンタメ業界を支えています。 【画像挿入位置:X68000の実機写真(マンハッタンシェイプの筐体)】 予備知識:ITX68000L ITX68000Lは、MiniITXマザーボード用のPCケースです。X68000の筐体を忠実に再現しつつ、現代のPCパーツを搭載できるように設計しています。これは私が制作・頒布しているものです。 幅140・高さ325・奥行き295mmのコンパクトな筐体に、GeForce RTX4070Ti Superクラスのビデオカードまで収まる設計が特徴です。X68000の「マンハッタンシェイプ」を3Dプリンターで再現し、実機さながらの佇まいをデスクの上で楽しめます。 詳細は下記のページに記載していますので、あわせてご覧ください。 ・グラボも入るぞ! ITX68000Lを紹介! ・グラボも入る「ITX68000L」パーツ組み込み編! 【画像挿入位置:ITX68000Lの完成写真(実機との比較)】 すでに実装されているもの ITX68000Lには、すでにHDDのアクセスランプの点灯機能が実装されています。X68000は電源のON/OFFに連動して独特な点滅を行うのですが、この挙動を忠実に再現しています。 電源を入れると、HDDのランプがゆっくりと点滅しながら起動していく。あの「X68000が息を吸っている」ような感覚を、現代のPCでも味わえるようにしたかったのです。この部分はすでに完成しており、多くのフォロワーさんにも好評をいただいています。 【画像挿入位置:HDDアクセスランプの点滅の様子】 X68000にあって、ITX68000Lにないもの しかし、X68000にあってITX68000Lにないものがありました。それは以下の2点です。 1:フロッピーディスクのイジェクトボタン 2:フロッピードライブのアクセスステータスを表示するLED X68000のフロントには、5.25インチのフロッピーディスクドライブが2基搭載されていました。ディスクを挿入するとアクセスLEDが点滅し、イジェクトボタンを押すとディスクが「カチッ」と出てくる。あの操作感と、LEDの点滅がもたらす「マシンが動いている」感覚は、X68000の体験を語る上で欠かせない要素です。 ITX68000Lは現代のPCケースなので、物理的なフロッピードライブは搭載していません。しかし、X68000のエミュレータを動かす場合、この「フロッピーの鼓動」がないと、どうしても物足りなさを感じてしまうのです。 【画像挿入位置:X68000実機のフロント(FDDとイジェクトボタン、LED)】 今回開発したもの そこで今回、以下の2つを開発しました。 1:フロッピーディスクのイジェクトボタン 2:フロッピードライブのアクセスステータスを表示するLED ただし、これらはXEiJ+tとXM6tという「X68000用エミュレータ」を使うことで初めて機能します。エミュレータがフロッピードライブのアクセス情報を検知し、それを物理的なLEDに連動させる。さらにイジェクトボタンを押すと、エミュレータ上の仮想ディスクが「イジェクト」される、という仕組みです。 【画像挿入位置:XEiJ+t / XM6tのスクリーンショット】 そもそも実現できると思っていなかった 正直に告白すると、そもそも実現できると思っていなかったのです。 長年Windowsで動かしているX68000のエミュレータ。そのフロッピードライブに関する情報を、物理的なLEDに連動させるなんてことができるのか? イジェクトボタンを押して、エミュレータ上のディスクが出てくるなんて、夢のまた夢だと思っていたのです。 ある日、SNSで「ITX68000LにフロッピーのLEDとイジェクトボタンをつけられたらいいなぁ」とつぶやいたところ、以前からお世話になっている「たんぼ」さんから「やってみよう」と声をかけていただきました。 あの瞬間、胸が熱くなりました。自分では「無理だ」と諦めていたことを、誰かが「やってみよう」と言ってくれる。その一言が、このプロジェクトの始まりでした。 【画像挿入位置:SNSでのつぶやきとたんぼさんのリプライのスクリーンショット】 テスト制作 本当に実現できるかを検証するために、まずテスト制作から始めました。 秋月電子さんで「USB接続デジタル入出力モジュール」を購入し、これをPCに接続します。そして、以下の流れでLEDを点滅させることに成功しました。 WINDOWS → X68000エミュレータ → USB接続デジタル入出力モジュール → LED エミュレータがフロッピーにアクセスした瞬間、USBモジュール経由でLEDが点灯する。あの「カチッ」という音は 없지만、LEDの点滅を見るたびに「X68000が動いている」という実感が湧いてきました。 このテストで、原理的には実現可能であることが確認できました。次の課題は、このUSBモジュールをITX68000Lの筐体にはめ込むことです。 【画像挿入位置:USB接続デジタル入出力モジュールとPCの接続写真】 本制作 しかし、秋月電子のUSB接続デジタル入出力モジュールでは、ITX68000Lの筐体に入らないことが判明しました。幅140mmのコンパクトな筐体に、このサイズのモジュールは収まりません。 そこで、小型のモジュールを開発する必要がありました。また、専用のファームウェアの開発も必要です。秋月電子のモジュールに書かれている回路図を参考に、担当を振り分けていただきました。 回路図:たんぼさん、ふゆき PCB:ふゆき、たんぼさんの先輩 ファームウェア:たんぼさん まさに最強布陣です。回路設計、PCB設計、ファームウェア開発の3本柱が揃い、それぞれが得意分野を担ってくれました。この布陣があれば、きっと実現できる。そう確信しました。 【画像挿入位置:回路図とPCB設計のスクリーンショット】 嬉しいハプニング発生! 本制作が進む中で、嬉しいハプニングが発生しました。 もともとはフロッピーディスクのアクセスLEDだけの対応予定だったのですが、「せっかく基板をつくるのであれば、ディスクイジェクトボタンも対応しよう!」とたんぼさんから提案があったのです。 ええ、なんでもできるんですね(白目) LEDだけならUSBモジュールの流用で済んだかもしれないのに、基板を新規に作るならボタンも足そう、という発想。この「ついでに全部やろう」精神こそ、DIYの醍醐味だと思います。結果として、ITX68000LはX68000のフロントをより忠実に再現できるようになりました。 【画像挿入位置:イジェクトボタンを追加した基板の写真】 いうてもふゆきは素人 しかし、いうてもふゆきは素人です。 ふゆきのKicadレベルは緑帯程度。PCB設計は初めてというわけではありませんが、実用的な基板を設計するのは初めてです。たんぼさんの先輩に色々とご監修いただきつつ、試行錯誤を繰り返しました。 配線のルートを間違えたり、コンポーネントの配置が筐体に収まらなかったり、はんだ付けで足を飛ばしたり。そのあたりは割愛しますが、トラブルや超えなければならない壁などたくさんありました。 それでも、先輩の「ここはこうするといいよ」という一言が、いつも背中を押してくれました。素人でも、正しい人に助けてもらえれば、ちゃんと形にできる。そう実感したプロジェクトでした。 【画像挿入位置:KicadでのPCB設計画面と、はんだ付け中の写真】 ITX68000Lの見直し LEDランプはもともと光らせる余地を残していたものの、イジェクトボタンは想定外でした。 CADデータの修正、押し心地の確認、コンパクトな筐体に無駄なく装着できるように小型化させるなど、じつは困難を極めました。幅140mmの筐体に、ボタンを押しやすく、かつ見た目を崩さずに配置する。このバランス調整に、何度もCADをいじくり回しました。 ボタンの押し心地も重要です。X68000のイジェクトボタンは「カチッ」とした感触がありますが、3Dプリンターで再現するのは意外と難しい。素材の硬さ、バネの強さ、ストロークの長さ。何度も試作を繰り返し、やっと「これだ」という感触に辿り着きました。 【画像挿入位置:CADデータと、イジェクトボタンの試作写真】 完成 そして、完成です。 XM6tを使い、大好きなゲームを動かします。フロッピーディスクのアクセスも、イジェクトボタンも、完璧に動作します。ディスクを「挿入」するとLEDが点滅し、イジェクトボタンを押すと「カチッ」と音がして、エミュレータ上のディスクがイジェクトされる。 ただし、実際にディスクが出てこないのが変な感じです(汗) 物理的には何も出てこないのに、ボタンを押した瞬間に「ディスクが出た」という感覚になる。この「実在しないものの実在感」を、X68000の体験として再現できたことに、大きな満足感があります。 【画像挿入位置:完成したITX68000Lでゲームを動かしている写真(LED点滅とイジェクトボタン)】 あとがき (ふゆきさんが書く) おしまい