メインコンテンツへスキップ

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点滅とイジェクトボタン)】

あとがき

(ふゆきさんが書く)

おしまい