PCでゲームボーイアドバンスのゲームを遊んでみよう!!
お約束
あなたが吸出したROMデータを他人に販売・配布するなどの行為は、著作権法違反となります。絶対に行なわないで下さい!
ゲームボーイアドバンスROMデータの吸出し
普通のゲームボーイのROMデータは「ホンコン」+GBアダプタにより吸出しが可能だけど、ゲームボーイアドバンスについては吸出しが不可だったりする。
しかし、先達はとっくにゲームボーイアドバンスのROMデータ吸出しを「ULA」というブツにより可能にしていましたとさ。
「ULA」とは、「Optimize」さんと「TeamKNOx.」さんのコラボレーションにより実現した、ゲームボーイアドバンスとパソコンをUSBで接続するデバイスであり、主としてサイプレス社のUSBコントローラ内蔵マイコンを利用して作成。「USB Linker Advance」の略ですな。
この、サイプレス社のUSBコントローラ内蔵マイコンは、かつてデジタル携帯電話をパソコンとつないでモバイル通信をするアダプタに大量に採用されていたようで、このアダプタを改造すればお手軽に「ULA」が作成できるということもあり、一時とっても品薄状態に。
恐らく、現在オークションで落札されているこの手の携帯電話の通信アダプタは、本来の通信目的ではなく改造目的で落札されているに違いない...俺様だけか?(^^;)
「ULA」は、ROMデータを吸出すだけではなく、ゲームのセーブデータの読み書き、ゲームボーイアドバンスに内蔵されているRAM領域へのプログラム転送等々色々なことができたりする。
今回の「ULA」製作は、主として「Ben’s HP」を参考にさせて戴きました。神々に感謝!!
吸出しの手順
今までの吸出しとは違って、結構複雑な手順かも。
- 部品入手 → 携帯電話アダプタとゲームボーイ通信用ケーブルの捜索
- USBドライバ入手 → USBデバイスとして使用するためのドライバを入手
- 吸出し用プログラム入手 → ULAを用いてROMデータを吸出すプログラムを入手
- 「ULA」アダプタ作成 → 携帯電話アダプタとゲームボーイ通信用ケーブルを合体
- USBドライバインストール → ULAアダプタをUSBデバイスとして認識させる
- 吸出し用プログラム起動 → ゲームボーイアドバンスとパソコンをULA経由で接続
- ちゅーちゅー吸出しして成功!!
準備するもの
- パソコン → 普通にUSBコネクタを装備しているやつ。OSはNT系(WinXPやWin2K)でも9x系(Win98やWinMe)でも大丈夫
- ゲームボーイアドバンス本体 → ゲームボーイアドバンスSPでも大丈夫
- デジタル携帯電話通信用アダプタ → 今回はIO-DATAの「USB-PDC」というアダプタをオークションで入手。ここで注意してほしいのは、アダプタに使用されているサイプレス社のUSBコントローラ内蔵マイコンというかチップの型番が「AN2131SC」でなくてはいけないということ。IO-DATAをはじめとして各社で発売されているようなのでインターネット上で情報収集すること(無責任)
- ゲームボーイ通信用ケーブル → ゲームボーイアドバンスの通信用コネクタに接続するためのケーブル。今回は任天堂のゲームボーイポケット専用変換コネクタ「MGB-004」をハードオフで入手。ここで注意してほしいのは、通信用コネクタは6ピン+GNDという構成だけどその全てのピンに結線されているものが必要ということ。これまたインターネット上で情報収集すること(またまた無責任)
- USBドライバ →「AN2131SC」チップの開発元であるサイプレス社のページから、「EZ-USB Control Panel」ファイルをダウンロード。もともと「AN2131SC」というチップは、「EZ-USB」というマイコンシリーズ(?)のチップであり、それを制御するプログラム。サイズが60MB程度あるので注意
- 吸出し用プログラム →「TeamKNOx.」さんのページから「ULA-HostV2(build 20030731) 」というファイルをダウンロード
- 半田付け用の工具一式
- ニッパとワイヤストリッパ
- 配線材
- テスター
- 「ULA」基板格納用ケース
- ホットボンド(あれば)
下の画像が、通信アダプタの「USB-PDC」(奥)及び通信ケーブル「MGB-004」(手前)。
下の画像が内容物。青いのが「USB-PDC」で黒いのが「MGB-004」。
下の画像が「MGB-004」のコネクタ部分。ピンが6個あるけどその全てが結線されている必要あり。
下の画像は反対側のコネクタであり今回は不要。
ULA製作開始
まずは、変換コネクタ「MGB-004」の反対側のコネクタを分解。ネジを2個外して少し横にずらすと、簡単にケースが外れる。ケースを取り外して、ケーブルの玉結び(?)をほどいてから6本の線+GNDを半田ごてで基板から取り外す。
取り外したまんまのケーブル。あとで各々の線を「AN2131SC」のピンに直接半田付けするので、ワイヤストリッパで綺麗に皮膜をむいて予備半田をしておく。
次に、「USB-PDC」を分解。裏側のネジを4個外してケースを開け、基板を取り外す。
下の画像が取り外した基板。真ん中にある正方形のチップが「AN2131SC」。で、その下にある小さなICが、ファームウェアを格納しているIC(EEPROM)なので、そのIC(EEPROM)の各ピンに半田ごてをあてて取り外すこと。これをやらないとファームウェアが生きた状態になってしまい、USBドライバを組み込む際に問題が生ずる恐れあり(多分)。
下の画像が、取り外したあとの基板。
IC(EEPROM)を取り外した基板は、もう半分しか必要ないのでニッパで基板をぶった切る(^^;)。間違えて「AN2131SC」のピンをぶった切らないように気を付けること。
さて、ここからが面倒な作業だったりする。変換コネクタ「MGB-004」の各々の線を「AN2131SC」のピンに半田付け。
その前に、どの線をどのピンに接続するのかを確認。
MGB-004の色 | AN2131SCのピン |
---|---|
1(茶色) | なし(配線せず) |
2(赤色) | PC0 |
3(オレンジ色) | PC1 |
4(黄色) | PC4及びPB0 |
5(緑色) | PC5 |
6(青色) | GND |
変換コネクタ「MGB-004」のピン配列は以下のとおり。
問題は、「AN2131SC」のどこがPC又はPBなんだらのピンかということだったりする。「CYPRESS」の文字を正面から見て、左上に丸い穴があるけど、その左側の一番上のピンが1番ピンで、そこから反時計回りで2番、3番...となっている。要するに、左側のピンは上から1番~11番ピン、下側のピンは左から12番~22番ピン、右側のピンは下から23番~33番ピン、上側のピンは右から34番~44番ピン。
で、「AN2131SC」のピン番号を間違えずにしっかりと確認し、半田付けする。「AN2131SC」のピン間は非常に間隔が狭いので、隣のピンとブリッジしないように注意すること。半田付けが終わったらテスターでブリッジがないかどうかしっかりと確認。
AN2131SCのピン | AN2131SCのピン番号 | MGB-004の色 |
---|---|---|
なし(配線せず) | なし | 1(茶色) |
PC0 | 14番ピン | 2(赤色) |
PC1 | 15番ピン | 3(オレンジ色) |
PC4及びPB0 | 18番ピン及び24番ピン | 4(黄色) |
PC5 | 19番ピン | 5(緑色) |
GND | 12番ピン | 6(青色) |
半田付けが完了したら、ケースに組み込む。基板はホットボンドでしっかりと固定するのが吉。変に力を加えると、折角の半田付けが取れてしまう可能性が大。
ケースに組み込んだ状態の「ULA」。会社の上司が丁度食べ終わったのでケースをめぐんでもらうことに(^^;)。本当はピンキーのケースにしたかったけど(^^;)
USBドライバの組込み
ここまででハードウェアの作成は完了なので、これからソフトウェアの組込み。
まずはUSBドライバの組込み。ダウンロードした「EZ-USB Control Panel」を解凍すると、「EZ-USB_devtools_version_261700.exe」という実行ファイルが出現するので、そのファイルを実行するとインストーラが起動。
下の画像がインストール先の指定の画面。デフォルトのままで進むこと。
下の画像がセットアップの種類の選択の画面。「Typical」のままで進むこと。
セットアップの種類の続き。良く解らないので(^^;)、一番下のオプションを選択して進む。
インストールが完了してから、「EZ-USB Control Panel」のプログラムを起動すると下のようなメッセージが表示される。これは、USBデバイスが接続されていないよんというメッセージ。
ここで「ULA」をUSBポートに突っ込んでも、正常にUSBデバイスとして認識がされないはず。なぜならデフォルトの状態では、「EZ-USB Control Panel」から「USB-PDC」というか「ULA」は、「EZ-USB」の仲間として見てもらえていないから。
よって、「EZ-USB Control Panel」に「USB-PDC」というか「ULA」を仲間として認識させるために、USBデバイス組込み時に参照する「inf」ファイルをいじる必要がある。具体的には、「C:CypressUSBDrivers」フォルダの中にある「ezusbw2k.inf」をメモ帳で開き、下記の行を追加。
追加したら「ezusbw2k.inf」を上書きし、USBポートに「ULA」をぶっ挿す(^^;)。お馴染みのハードウェアの検索ウィザードが開始する。* [Cypress]の項目に追加 * ; I/O DATA USB-PDC %USBVID_04BB&PID_0902.DeviceDesc%=EZUSB.Dev, USBVID_04BB&PID_0902
* [Strings]の項目に追加 * USBVID_04BB&PID_0902.DeviceDesc=”I/O DATA USB-PDC (AN2131SC)”
ドライバファイルの特定で「場所を指定」とし、ドライバファイルのありかとして「C:CypressUSBDrivers」のフォルダを指定。
そうすると、ドライバファイルが見付かるのでそのまま次へ進むこと。
最終的に、しっかりとUSBドライバがインストールされるはず(^^)。
デバイスドライバでもしっかりと認識されていたりする。
ここで、「EZ-USB Control Panel」を起動するとちゃんとウィンドウが表示されるはず。しかし結局「EZ-USB Control Panel」は使わずじまいなので、そのまま終了。ご苦労さん(^^;)。
吸出し方法
いよいよ吸出し。ゲームボーイアドバンスと「ULA」を接続し、「ULA」はパソコンに接続。あ、当然ゲームカートリッジはゲームボーイアドバンスに予め差しておくこと。また、ゲームボーイアドバンスの電源は入れたままで。
ダウンロードしてきた「ULA-HostV2(build 20030731) 」を解凍すると、フォルダの中に「ULAHostV2.exe」というファイルが出現するので、起動すると下のようなウィンドウが表示される。
次に、真ん中のボタン(プログラム吸出し)をクリックすると、ファイル名入力のダイアログボックスが表示されるので適当なファイル名を付けること。
すると、「電源切れやワレぇ」というメッセージが表示されるので、ゲームボーイアドバンスの電源を切ること。
電源を切ると、「スタートボタンとセレクトボタンを押したまま電源を入れろや」というメッセージが表示されるので、おとなしく指示に従うこと(^^;)。
で、実際に電源を入れたときの状態は、下の動画を見るべし。
上手くいくと、起動後に吸出しを開始。上手くいかない場合は、その殆どが配線ミス又は半田付けミスによるものなので、再度配線等をチェックすること。
下の画像が吸出し中の画面。128Mbit(=16MB)のゲームで約10分程度掛かるはず。気長に待つこと。
吸出しが完了したら、早速きちんと吸出しされているかどうか確認。エミュレータは定番の「VisualBoyAdvance」あたりでどうぞ。
...きちんと吸出しされています!!大成功!!
結局半田付けが一番厄介だったけど、先達のお陰で特に問題なく「ULA」の作成に成功!!めでたしめでたし。
2号機作成(2008年03月30日)
ハードオフのシャンクコーナーで、IO-DATAの「USB-PDC」と「MGB-004」が安く売られていたのでゲットしULAの2号機を製作した。
久し振りにものすごく細かい半田付けを行なったので、目が非常に疲れた(^^;)。
ケースの加工はかなり簡略化(手抜き?)したが、それなりに格好が付いたっぽい。
2個持っていても同時に使用はしないので(多分)、オークションで売り飛ばす予定。短いお付き合いでした(^^;)。