ある日、SMS Power!でゲームギアの対戦ケーブルコネクタの仕様を見ていました。
こういうセガハードの仕様はたまらんですね。エッチな本なみです。
ふとみると、コネクタ端子にTXとかRXと見慣れた文字があります。これは、メガドライブのコントローラーからMIDIを送り込む装置で見たやつ・・・。
そう・・・シリアル通信の送信と受信の文言です。
古来より、外部通信ができるのならば武士(もののふ)たるもの「LEDチカチカ(Lチカ)」を執り行い、主君に報告せねばならないという電子工作の掟があります。知らんけど。
ということでレッツ工作。
対戦ケーブルを購入するが・・・
シリアル通信のためのハードウェア側の準備は、単純に対戦ケーブルのコネクタからTXやRXやGNDなど必要なピンを電気的につなげることができればいいわけです。
手っ取り早いのは対戦ケーブルを調達してきて、途中でぶった切って必要な線を出すことです。
というわけでさっそく調達。数千円で調達できました。でも最近は出物が少ないにょ。
さて、対戦ケーブルをぶった切ろうと思ったのですが・・・
できない。
できるわけがない。
神器であるゲームギアの純正ハードウェア。しかもコネクタはゲームギア専用のもの。これは、破壊してはいけない。そう直感しました。神への冒涜。人間が手を下していいものではなかった。
そんなわが方の軽率さを反省して、3Dプリンタを買ってコネクタを自作することにしました。3Dプリンタは中国のBambu LabさんのA1 miniを導入しました。
| 最初は舟をプリントしてみました |
コネクタづくり
正直、CADなんて触ったことがないのに勢いで3Dプリンタを買いました。
まぁそんなことは些細な話です。
きっと世界中のフリークたちが世界的ハードであるゲームギアの修理用CADデータを作ってくれているはず。
探してみた、AIにも聞いてみた、ないよう~・・・9(ナイン)thよ。
3秒くらい困ったのですが、諸兄が作ったCADデータの中に「対戦ケーブルコネクター用カバー」を発見。こいつをコネコネすれば何とかなるやろと思い立ちました。
で、Claudeさんにデータを投げ込んで「いっちょいい感じにやって」と指示したら、ざっくりしたアイディアを出してきました。
この方向でええやんと。あとは何度も作り直していけばきっと行けるはず。
というわけで、Claudeさんと相談したり、CADソフトで調整したりして16個くらい試作したら完成しました。
技術ブログは気が向いたらQiitaあたりに書きます。
プログラム作り
さて、お次はプログラム作り。仕様さえわかればポートに信号を発するだけなので、これまでのゲームギアプログラミングの経験でなんとかなりそうです。
ただし、この外部接続用のポートの使い方はさっぱりわからない。仕様書を読み込みます。
意味不明。理解力がないのを隠しながら「このポートに信号を出すだけなんだから、あんた書いてよねっ!(CV みやむーを想定)」とツンデレ風でAIに指示したところ、シリアル通信じゃなくてGPIOでやりましょうと提案がありました。
「じゃぁ、勝手にやんなさいよ! あと、GPIOっていうのもちゃんと説明しなさい!(CV みやむーを想定)」とツンデレ風に応じたところ、無事完成しました。
コードはいたってシンプルで、通信ポートの簡単な初期設定情報を送り込み、あとは1ボタンを押したときに指定のピンに信号を送信するだけです。
ついでに、以前書いたHello Worldの表示プログラムを合わせて、LED Chika Chika!と表示させました。
LED回路づくり
LED回路といったほどのものではありません。
ゲームギア側のTX→ 1KΩの抵抗→LED→ ゲームギア側のGNDでつなぐだけ。ブレッドボードとか一山いくらの大量のLEDや抵抗が届きましたが使うのは一つなのだ。
変なところに接続したり、ピンを間違えたり、5Vでショートさせるとゲームギア側が壊れそうなので慎重にやりましょうね!
| ブレッドボードに抵抗とかLEDとかを刺して完成! |
LEDチカチカへ
制御は当然偉大なるセガ ゲームギアに鎮座おわしますZ80。そして、わが祈りたる制御プログラムにて1ボタンを押しますれば、あれよあれよと・・・・
LEDがチカチカ。
まさに由緒正しきマイコンしぐさであります。
ごつぁんです。ハピハピハッピー。
