Wiiって anchor.png

Wiiで,Backupされたゲームなんかを動かそうとドライブにDISCを入れてもゲームは動きません。DVDも再生できないし,自作したソフトなんかも動かすことは出来ない。任天堂が基本的にWiiは専用機にしているからなんだけど,Wiiを改造して動かそうと考えた人たちがいます :D
やり方は,WiiにModチップって呼ばれるICを接続して,Wiiのドライブからデータを読み取るところに細工するようです。
また最近トワイライト・ハックと呼ばれるゼルダのバグを利用してユーザープログラムを動かすことが発見され,利用されるようになって来たようだ。

Page Top

Modチップ anchor.png

市販されているModチップ(改造用チップ)は,表向きは日本では購入できないし(秋葉原で5000円ぐらいで購入できるらしい。また通販でも購入可能),それを取り付けて楽しむことも違法のようです。自分で自作して取り付けて楽しむぶんには,問題ないようだが・・・

Wiiは既にドライブ・コントローラーでModチップ対策が行われているようで,新しいWiiになればなるほど,取り付けが大変になっていってるようだ。見分けるにはWiiを分解して,ドライブ・コントローラーに表記されているラベルで判断できます。DMS,D2A,D2Bなら比較的簡単にModチップを取り付けられるみたいだけど,D2BでICの足を切っているものもあるんで,この場合は切られた足に直接半田付けしないといけないんで,ちょっと大変かな。ラッキーにもおいらのWiiは,「DMS」で初期のタイプのようでした :D (最近は,D2C,D2Dと任天堂も対策してきている)

dms.jpg

← おいらのWiiはDMSと初期の物だった。ラッキー :)

Page Top

Modチップの自作 anchor.png

ということで,Modチップの自作にトライしてみました。自作といってもWiiの解析から始めるのは大変なわけなんで,すでに公開されている情報を元にトライすることにした。

Page Top

回路 anchor.png

自作したModチップの回路図

ATmega168                      Wii
TQFP32          Connector      DVD Driver Chip
PC0     23  ======= 5 ======== CLOCK(5)          
PB5     17  ======= 5((WiiKey互換用))
PC1     24  ======= 4 ======== INPUT(4)          
PB3     15  ======= 4((WiiKey互換用))
PC2     25  ======= 6 ======== OUTPUT(6)         
PB4     16  ======= 6((WiiKey互換用))
PB1     13  ======= 3 ======== (3)((WiiKey互換用))
GND    3,5  ======= 2 ======== GND            
VCC      6  ======= 1 ======== VCC             
PC3     26  (A)LED(K)==R(470)==GND
            VCC==C(0.1uF)==GND

Wiiとの接続

Wii PCBのパターン
     GND(2)  VCC(1)
     3 4 5
       x 6

一応WiiKey互換にもなるようにしてみたけど,たぶんWiikeyのファームは動作しないと思う。(CPUが違うからね)

Page Top

取り付け anchor.png

自作チップ.jpg

こんなふうに取り付けた。Modチップはいつでもコネクタから外せるようになっています。別のModチップも取り付けられる。

Page Top

Firmware anchor.png

ModチップのFirmwareとしては,OpenWiiプロジェクトというソース公開されている物がある。
OpenWiiのターゲットのCPUには,PIC675/629,MSP430,AVR(AT90S2313,ATmega8)をサポートしているようだが,OpenWiiではサポートしていないけど,手持ちのAVRにATmega168(QFP32)があったんでそれを使うことにした。
公開されているソースはATmega8用なのでそのままでは動作しない。ATmega168で動作するようにソースを適当に変更した。変更した所は,ブートローダー,システムクロック,リンカースクリプト,ヒューズビットぐらいです。
システムクロックは,内臓RC発振で8MHzで使うようにしました。

  • Memory Map
    $0000
        Application ROM
        15360byte=7680word
    $1E00
        Bootloader Program
        1024byte=512word
    $1FFF
SRAM
    $0100-$04FF
    
  • Fuse Setting
        lfuse: 0xe2
        hfuse: 0xdf
        efuse: 0x03
  • EEPROM(JAP Mode)
        0x00,0x60

Firmwareはブートローダーを入れてあるんで,WiiにDiskを挿入して間接的にFirmwareをアップデート出来ます。でもModチップを簡単に外せるようにしたんで,直接書き換える方が簡単だけど・・・ ;)

  • ATmega168用の変更を含む全ソース [添付]
  • コンパイル
    コンパイルするには,
    • AVR-GCC(WinAVR)
      最新のだとコンパイルエラーが出るんで,WinAVR-20060421をとりあえず使った方がいいかも。
    • MN10200用GCC
      Wiiはドライブ・コントローラーにPanasonicのMN10200っていうCPUを使っています。こいつのSoftwareをコンパイルするのに,MN10200用にコンパイルしたGCCが必要です。コンパイル済みのWindows用Ruputer向けToolChainを見つけたんでこれを使います。(GCCをコンパイルして使っても,もちろんOKですが・・・)



新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ

トップ   凍結 差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 1688, today: 1, yesterday: 0
最終更新: 2020-12-26 (土) 16:07:50 (JST) (1215d) by yuji