USB Geckoの修理

USB Geckoを使用していると、miniUSB端子がとれるというトラブルがよく発生します。私が所有しているUSB Geckoも、2つとも同じように壊れてしまいました。おそらく構造的に負荷がかかりやすい設計なのでしょう。オリジナル版は販売終了していますが、USB-TypeC版が現在も販売されているのでこちらに買い換えてもいいですが、せっかくなので壊れたUSB Geckoを修理することにしました。

  • 修理方法
  • miniUSB端子が基板から外れた際、基板のパターンが剥離してしまっていたためminiUSB端子を復旧するのは諦め、その代わりUSBケーブルを基板に直接はんだ付けすることで修理することにしました。

    1.適当なUSB 2.0ケーブルを用意し、適当な長さで切断。
    2.以下の図に示した4か所に、それぞれ対応する同色の配線をはんだ付け。
    3.はんだ付けが終わったら、配線がちぎれないようにホットボンドなどで固定。

    USB 2.0ケーブルの配線色は規格で指定されており、ほとんどのUSBケーブルでこの配線色が共通しているようです。

    赤: 5V
    黒: GND
    緑: D+
    白: D-

    修理後は問題なく動作するようになりました。壊れたUSB Geckoが手元にある方は、この方法で修理を試してみるのも良いかもしれません。

    CleanRIPの改造版

    Wii/GCのディスクイメージを作成できる「CleanRIP」という自作ソフトがあります。

    Disc Backup Tool for GC/Wii Discs
    https://github.com/emukidid/cleanrip

    DATEL製ディスク(例:PARなど)の吸い出しを試行錯誤する中で、CleanRIPをあれこれいじっていたところ、自分好みに改良したバージョンが完成したので公開します。

    CleanRIP改
    https://github.com/Nekokabu/cleanrip

    以下は、現時点(2024年12月10日)のオリジナル版CleanRIPのリポジトリからの変更点:

    ・Force Read Modeを追加(spycrabの「2.0.0-datel2」に相当)
    ・DATファイルをダウンロードしないように変更
    ・ハッシュ値の計算を常に実行するように変更
    ・wii/gc/datel.datの情報を元に、ファイル名を自動変更する機能を追加
    ・レイヤー設定をディスクサイズ設定に変更、1.4GBを追加
    ・Force Read Mode中もスキップ情報を保存するように変更
    ・Datel.datの情報を更新
    ・その他

    CleanRIPは、ディスクIDのファイル名でディスクイメージを作成しますが、DATEL製ディスクはすべて同じディスクIDを使用しているため連続して読み込むとファイルが上書きされたり、どれがどのファイルか分からなくなる問題が発生します。この問題を解決するためwii/gc/datel.datの情報を元に、ハッシュ値が一致する場合には自動的にファイル名を変更するようにしました。またハッシュ値が一致しない場合でも、「datel_xxxxxxxx」というファイル名で保存されるようにしたため、ファイルが上書きされることはありません。

    さらに、redump.orgで推奨されている「2.0.0-datel2」の機能を、Force Read Modeとして追加しました。この機能は、リードエラーが発生しても強制的にデータを読み込むっぽい名前をしていますが、読み取れなかった部分を0x55で埋める仕様となっています(2.0.0-datel2のソースコードから移植した機能なので、もともとそういう動作をします。)。一応、DATEL製ディスクの場合のみ、Force Read Modeを有効にするか確認するようにしています。

    さらに、Wii用Freeloaderに対応するため、ディスクサイズ「1.4GB」を追加しました。Force Read ModeをONにすると、Wii用Freeloaderの吸い出しも可能です。リージョン違いで3種類吸い出していますがなぜかredumpのハッシュ値と一致しません、おそらく埋める値が違うだけだと思います。

    その他の改良点として、USB Geckoのデバッグ出力を追加しています。

    wii向けのDOLファイルだけ公開していますが、ソースコードから「make -f Makefile.gc」と実行するとGC向けのDOLファイルを生成できます。ただ、Wii本体ではPARなどをx01F00000まで読み取れるはずが、GC本体では0x01EF0000までしか読み取れない問題が発生するため、Wiiで使用することを推奨します。

    ◯その他の機能
    CleanRIPにもとからある機能ですが、Datel製のディスクを吸い出すときに検出した読み取り不良エリアの情報とディスクの 先頭0x100000バイトのcrc値を拡張子.skpのファイルに保存しています。
    この情報をDatel.datに追加すると次回同じディスクを吸い出すときに一部エリアをスキップするようになり吸い出す時間を短縮することができます。

    2024/12/18
    ※リネームが正しくできていなかったので修正しました。
    ※SDカードの「apps\CleanRip\boot.dol」に上書きしてください
    ※同梱の「datel.dat」以外のdatファイルは、redump.orgのサイトからダウンロードし「wii.dat」、「gc.dat」にリネームし、ディスクイメージ保存先のSDカードやUSBメモリのルートに保存してください。

    USB Geckoを使ったデバッグ出力

    Wii/GCのHomebrew関係を片付けている際にUSBGeckoが出てきたので色々調べなおしています。
    自作プログラム作成において本体からのデバッグ出力をUSBGeckoを介して取得できる機能があるのですがメモとして残しておきます。

    USBGeckoとはIan Callaghan氏によるWii/GCの開発/ハッキングツールで、コンピューターのUSBポートとWii/GCメモリーカードスロットとを接続することでゲームなどの本体とのデータのやり取りをしたり、デバッガ的な使い方をすることができました。オリジナル版はすでに販売されていませんが本体のPCB設計図、回路図などが公開されているためいくつかクローンが作られており、現在は接続端子をUSB TYPE-Cに変更したものが販売されています。
    USB Gecko (Type-C) debugging tool for GameCube/Wii – webhdx’s retro store
    https://store.webhdx.dev/products/usb-gecko-type-c-debugging-tool-for-gamecube-wii

    ドライバはFTDIのサイトからFT245RL向けのD2XX Driversをダウンロードし、インストールするか、おそらくWin10/11ならUSBケーブルを指せば勝手に認識されると思います。もしCOMポートが追加で認識されない場合は、「デバイスマネージャー」→「ユニバーサルシリアルバスコントローラー」から「USB Serial Converter」のプロパティ→詳細にある「Load VCP」等書いてあるところにチェックを入れて設定を保存したあと、USBケーブルを接続しなおせばCOMポートが認識されるはずです。

    この時認識されたCOMポートの番号でTeraTermProなどで接続すれば実行中のデバッグ出力を取得することができます。

    具体的なプログラミングは既存のプログラムのソースを見てもらえればいいかともいますが、例えばCleanRipならprint_gecko()関数で文字列を表示させればよいようです。
    https://github.com/emukidid/cleanrip/blob/master/source/main.c#L1327

    また、wiiへプログラムを転送するwiiloadはUSBGeckoからプログラムを転送することも出るのですが、「set WIILOAD=COM6」と入力するか、環境変数の設定にWIILOAD、値を先ほどのCOMの値を追加しておくと使えるようになります。

    Wii U 向け Homebrew CHannelリリース

    本日12/8は日本でのWii U発売日です。
    この発売日に合わせてWii U 向けHomebrew CHannelがリリースされました。

  • HBC release for a new Wii U
  • インストールには、多くのexploitが対策されていますが、
    Smash Stack(大乱闘スマッシュブラザーズX)
    Return of the Jodi(レゴスターウォーズ コンプリートサーガ)
    Eri HaKawai(テイルズ オブ シンフォニア ラタトスクの騎士)
    などが使用できると思われます。
    WiiMode – WiiUBrew
    http://wiiubrew.org/wiki/WiiMode
    日本の発売日に合わせてHBCをリリースできたのは
    日本よりも海外の発売日が早かったたことや(11月18日)
    中身がWiiに近かったこともあり、CPUクロックがわかったり
    NANDダンプできていたりと解析がかなり進んでいました。

    プロアクションリプレイ(Wii用)発売決定

    item_wiipar.jpg
    いつの間にかWii用プロアクションリプレイの発売が決まったようで
    公式サイトに商品ページができていました。

  • プロアクションリプレイ公式サイト |プロアクションリプレイ(Wii用)
  • 12月末発売予定
    通販価格:5,229円(税込)
    Wii用ゲームを簡単攻略!
    約200のゲームタイトルに対応!
    Wii本体バージョン4.3Jに対応!
    最新ゲームのウラワザも無料でダウンロード


    これまでWiiの改造ツールはコードフリークのみでしたが
    ここに来てついにプロアクションリプレイも!
    4.3J対応で配布メディアがSDカードであることから
    Wii用コードフリークと同じexplitを使った起動方法を
    とるものと思われます。

    Wii用コードフリーク typeII

    4544859163333m.jpg

  • CYBER コードフリーク typeII(Wii用)|サイバーガジェット
  • ついにWii本体バージョン4.3Jに対応したWii用コードフリークが登場しました。
    無改造Wiiで動作させるために使われてきたシステムメニューに存在する
    Exploitを使った「BannerBomb」が本体バージョン4.3Jで対策されてしまったため
    しばらくの間Wii用コードフリークは最新バージョンのWii本体で使用できなくなって
    いました。
    Wii用コードフリークの対応状況について (ねこかぶのblog(仮))
    しかし1ヶ月ほど前に新たに見つかったLetterBomb(及びMailBomb)というexploitを利用することで
    また無改造Wiiで動くようになりtypeIIとして新たに発売するに至ったというわけです。
    すでに無印バージョンを持っている方は無償でバージョンアップが可能です。

    Mailbox bomb

    久々にWiiのExploitが公開されていたので紹介。
    今までのSmash Stackや遊戯王Exploitのような特定のゲームに
    依存しない、Wiiのシステムメニューに存在するExploitを利用したもので
    すべてのバージョンのファームウェアで動作するそうです。

    新しいWii Exploit: Eri HaKawai

    スターウォーズコンプリートサーガに続き、Wiiに新たなexploitが見つかりました。
    対象となるのはテイルズ オブ シンフォニア ラタトスクの騎士
    発見したのはPierre “delroth” Bourdon氏。
    最初にPAL版で発見されたexploitをgiantpune氏が
    USA版に移植したようです。
    今のところ日本語版にはまだ対応していませんが、
    作者はtwitter上で日本語版についての情報、協力を呼びかけているので
    近いうちに日本語版にも対応すると思います。
    Eri HaKawai

    ※追記
    日本語版にも対応したようです