チップチューンへの道!~第4回 GB CART FLASHERの制作~

こんにちは、けんです。
今回もゲームボーイ実機を鳴らすために頑張っていきます。

フラッシュカートリッジを使う

ようやくMIDIキーボードが動くようになったわけですが、ゲームボーイ実機で演奏できるようにするにはmGBやLSDJなどの特殊なソフトが書き込まれたカートリッジが必要になります。
以前はLSDJが入ったカートリッジが売られていたとの情報もありましたが、現在は販売されていないようです。

そこでゲームボーイを使ったチップチューンでよく使用されているのが、GB USB SMART CARDです。

大体5000円くらいから買えるようです。

しかし!電子工作野郎がどうするかは、もうお分かりですね。

もちろん作るでしょ!

はい、自作します。

こういったカートリッジを自作する場合はカートリッジだけでなく、書き込み機も必要になります。

書き込み機も色々ありますが、今回制作するのはReiner ZieglerさんのGB CART FLASHERのUSBバージョンです。

AVRマイコンを使ってみたかったってのと、すでに持っているUSB-シリアル変換アダプターが使えれば、部品点数が少なくて済むと思ったからです。
使うのはArduino Pro Miniを使うために持っていたアダプタです。

Arduino Pro Miniだけでなく、GB CART FLASHERでも使えるようになれば利用価値が上がるってもんです。

コネクタを拝借

書き込み機で使用するGBカートリッジのコネクタはハードオフで50円でゲットしたスーパーゲームボーイから拝借しました。

このコネクタは端子が特殊なピッチで並んでいるので2.54mmピッチのユニバーサル基板はもちろん、1.27mmピッチのユニバーサル基板にも挿さりません。

ということで、スズメッキ線で足を延長しました。

あとは足をうまいこと曲げて、ユニバーサル基板に挿していきます。

配線!配線!

あとは回路図通りに配線するのみ!

なのですが、正直回路図だけではATmega8515とカートリッジコネクタ間の配線が分かりません。

ここは”ぽんRev”さんの情報が非常に参考になりました。

この情報を元に、あとは線を繋いでいくだけです。

こんな感じで。

複雑な配線になるので、マスキングテープにそれぞれのピン番号を書いて、回路図とにらめっこしながら配線していきました。

UEW線は便利ですが、アドレスとデータはもう少し細い線を使ったほうが楽だったかな。

表側はこんな感じ。

やっぱりATmega8515はデカイなぁ。

ちなみにATmega8515はebayで1個180円位で購入しました。

USBシリアル変換アダプタはL字のピンヘッダーに接続して使えるようにしています。

ATmega8515にファームウェア書き込み

基板が完成したらATmega8515にファームウェアを書き込みます。

書き込みに使用したのはaitendoで購入したAVRライタとProgispです。

基板側にISP用のピンヘッダーを付けたんですが、肝心のケーブルが見つからなかったので、ICクリップ付きのケーブルを使って接続しました。

ヒューズビットはLowValueが1F、HighValueがC9となるようにします。

ヒューズビットを設定していないと動作しませんし、逆に間違ったヒューズビットを書き込んでしまうと、ヒューズリセッターでリセットしない限り、それ以降の書き込みができなくなってしまうことがありますので、注意してください。

動作確認

AVRマイコンの書き込みまでできたら、 GB Cart Flasher programming softwareを使って、動作確認してみます。

うまく動作していれば、Cart Infoボタンをクリックすることで、挿してあるGBカートリッジの情報を表示してくれます。
上の画像ではスーパーマリオランド2 6つの金貨の情報が表示されています。

そしてRead FLASHボタンをクリックすることで、ROMイメージを取得してくれるのですが、私の環境ではGB Cart Flasher programming softwareのアイコンを右クリック→”管理者として実行”しないと、吸い出しはできてもファイルを開くことができませんでした。

Write FLASHはフラッシュカートリッジが無いと使用できません。

またRead RAMボタンをクリックするとセーブデータを吸い出すことができます。
RAMデータに関しては純正カートリッジでもWrite RAMボタンからセーブデータを書き込むことができます。

これは便利です!
古めのソフトだとセーブデータが一つしか持てなかったりするものがありますが、これを使えば複数のセーブデータで運用することも可能です。
そもそもレトロゲームの場合はバックアップ用電池がいつ切れるか分かりませんから、万が一に備えてバックアップを取っておけるのはいいですね!

最後に

もともとは実機演奏目的に作成したGB CART FLASHERですが、セーブデータのバックアップなど他の用途でも役に立ちそうです。

ただしシリアルでの吸い出しなので、時間がかかるのがちょいと残念です。
(512KBのファイルを吸い出すのに1分位かかります)

何はともあれ、順調に準備は進んでいます。

次回は書き込みができるGB用フラッシュカートリッジを作成します!

この記事を書いた人

けん
けん
熱しやすく冷めやすく、さらに完全に形から入るタイプ。
電気回路を勉強中のへっぽこ会社員。


好きなレトロゲーム

【FC】テニス、バルーンファイト、ドラゴンバスター、ボンバーマン
【SFC】スーパーマリオワールド、エキサイトステージ、ドラゴンクエストV、VI、ファイナルファンタジーVI
【GB】ラクロアンヒーローズ、モトクロスマニアクス、魔界塔士Sa・Ga

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA