2011年7月1日金曜日

GC 拡張基板(Xeno)を自作してみる

先にこっちやっちゃったのでこちらから書く。

ゲームキューブの拡張基板は、Viper、Qoob、Xenoの3つが有名です。

ViperとQoobはちょっと高級で、独自OSからアプリを起動できたりしますが、Xenoはリージョンフリー&DVD-Rなどからの起動を主とした最低限の機能しかない。

(v2.0は多少機能アップしてるみたい)

で、このXeno、現在2.0基板が世界のマーケットで売られているのですが、今年の2月、GC Foreverのフォーラムでemu-kidid氏がXeno1.05のソースを公開されていました。

xeno_free5

今更なマシンだからか、国内では話題にならなかった気がするし、私も別件弄ってたときに偶然気が付いた(笑

ソースのアーカイブの中には完成されたhexファイルやdolファイルも一緒に入っているので、コレを使えば自作できることが判明。

実際にフォーラム内でも動かしている人がいるし、工作も簡単ってことで、これはやらなきゃでしょ、ってなことで作ってみました。

Xenoに使われているチップはAtmelの「ATMEGA8L」というもので、簡単に入手が可能です。

因みに、WiiKeyもXenoの開発した人(チーム?)が作ったものらしく、コチラも同じくATMEGA8Lが使われているらしい。

ってことで、ん~・・・工作の前に少し説明を。

ATMEGA8LとATMEGA8の主な違い

ATMEGA8L-動作スピード0~8MHz、動作電圧2.7~5.5V

ATMEGA8-動作スピード0~16MHz、動作電圧4.5~5.5V

となってます。

どちらでも動くと思いますが、今回はXenoと同じ3.3Vで動かすため、ATMEGA8Lを使ってセオリー通りの配線をします。

(後で5Vの位置も参考に書いておきます)

dolファイルについて

ソースアーカイブ内にはdolファイルがあり、GCから直接ATMEGA8(L)に書き込み出来るアプリなのですが、これはバージョンアップ用であるため、新品のATMEGA8(L)に直接書き込むことはできますが、動きません

これの一番の理由として、フューズビットの値が違う(書き換えられない)から、というのが一つと、私の書き込み実験の結果、あまり安定性が良くない(データが化ける)ので、今回は使いません。

フォーラムには#RESETをGNDに落として書き込み出来る、とありますが、これだと書き込みできないと思うんだけど・・・

書き込むにはもう一本配線しないといけない(実験済み)んですが、ごっちゃになるのでここでは書かないことにします。

以上、2点の前置きをしたところで工作に入ります。

PICT6229

まず部品、右から

・6×18にカットした基板

・ATMEGA8L-DIP

・赤LED

・緑LED

・セラミックコンデンサ-0.1μF(104)×2

・抵抗-1KΩ

・抵抗-120Ω×2

あとははんだとか配線材など。

あ、それと、ATMEGA8Lにデータを書き込むためにAVRライタが必要になります。

私は日昇テクノロジーのヤツを愛用してるのでそれを使います。

USBタイプで安いのはaitendoのヤツがある。

ATMEGA8(L)は一般的なデバイスなので、どのAVRライタでも焼けるでしょう。

PICT6230

私が使うAVRライタは電源供給も出来るタイプなので、ATMEGA8LのISP信号が出てるピンに直接繋げてプログラムできる。

(関係無いがこのAVRライタ本体もATMEGA8Lですw)

xeno_0

まずはフューズビットを書き換えて保存する。

HIGH=0xD9、LOW=C4へ変更してProgramボタンを押す。

ATMEGA8Lが新品の場合、HIGHは既にD9になってるかもしれない。

xeno_1

XenoAT.1.05.hexを焼いたらソフト的な部分は完了です。

次はハードの製作。

xeno_2

部品の配置&配線は上の絵を見てわかるようにとてもシンプルです。

LED-からATMEGA8Lの4、5ピンへの配線は被膜付き配線材を使ってはんだ付けする。

xeno_free1

絵と若干の違いがあるけど、まぁ、こんな感じで。

基板が作れたらゲームキューブへ配線ですが、絵を見てわかるように、GC側への配線は6本です。

PICT6261

分解方法は端折りますが、はんだ付けするのはメイン基板ではなく、DVDコントローラ基板です。

PICT6264

DVDユニット外して裏を見た様子。

ちゃんと確認はしてませんが、このユニットは前期、後期の2種類あり、現状どちらのタイプでも同じように改造できます。

xeno_free

基板中央付近にあるコネクタが付くような空きパターン、ココがポイント。

作った基板からの信号を上の写真の箇所へそれぞれ配線すればOK。

xeno_3ATMEGA8の場合

5Vは上の箇所から出てるので、ATMEGA8を使う場合はココから電源を取るとよいでしょう。

因みに私はATMEGA8での動作テストはしてませんので、絶対に動くかどうかは定かではありません。

PICT6247

作った基板はドライブの後ろへ出すように取り付けます。

PICT6272

はんだ付けが終わったら・・・ネジを全部取り付けて動作確認するのは失敗したとき分解するのがメンドイので、ネジは付けずに仮に組み立てます。

Homebrewでもゲームでもいいですが、試しに焼いたDVD-Rを読み込むかどうかテストします。

・電源を入れると赤LEDが点灯する

・少しして緑LED点灯に切り替わる

・焼いたデータが正常に起動する

となれば完成です(^-^)

(上の写真はテスト時のもので、LEDが逆付けになってます(^-^;)

ですがっ!

GCはDVDの読み込みにちょっと問題がありまして。

GCのDVDレンズの出力はかな~りシビアに作られており、運がいいと8センチDVD-Rでも普通に読み込めるのですが、運が悪いと12センチDVD-Rでも全く読めません。

粗悪な(安い)DVD-Rはまず読めないと疑ったほうが良いでしょう。

GCが主流だったころはマクセルの国産DVD-R(今は撤退して国内では作っていない)が良い、ってことだったんだけど、それでも読めないことはあった(爆

読めない原因としては、

・DVD-Rメディアが粗悪

・DVD-Rの焼き質が悪い

・レンズの劣化

が主なところかな?

粗悪メディアは問題外として、焼く時のコツ(?)は、焼き速度を最低にして斑無く焼くこと。

これをするとしないでは結構な差が出ます。

レンズの劣化・・・新品GCでも読めない(クドイけど元々シビアなの)事もあるので一概に劣化とは言えないかもですが、出力のボリュームを弄ってやることで読めるようになります。

(絶対ではない)

xeno_4

あ、上写真の抵抗幅はなので。

抵抗値を小さくする=レンズの出力が上がる=寿命が早くなる、となるわけなので、一気に下げるのは望ましくない。

以前は150Ω以下にはしないほうがよい、と言われていたけど・・・今回弄ったジャンク2台に関しては70Ω程度まで下げなければ12センチDVD-Rでも認識してくれなかった(汗

調整は地道にやるしかないかな。

PICT6277

レンズの調整まで出来たら本体を元通りに組みなおして完成です(^-^)

作った基板の大きさだと、ケースの加工とかせずに本体内へ収めることが出来てGood。

ATMEGA8(L)のTQFPを使う場合はさらに省スペースで収められそうですが・・・変換基板を使うと結局大きくなってしまうため、DIPと大差はないと思う。

GCの12センチ用ケースは国外でも扱ってるとこ少ないので・・・できれば8センチDVD-Rのいいやつ見つけるといいかもね~

ってことで、簡単な工作だし、GCは105円~525円程度で買えるので、工作好きな人はやってみましょう。

GCはGB&GBC&GBAが公式で動かせる据え置き型マシンですから、なかなか使えると思うんだけどなぁ・・・ってレトロに興味が無きゃ無意味かw

ぶっちゃけGCバックアップ起動はWiiのほうが楽なので、GC本体でHomebrewなDiscを動かしたいとか、SDブートを早く起動したいとかに使う場合に、この自作Xenoは約に立つと思います。

.

番外編

一応GC本体でXenoを焼いた様子も載せておく。

PICT6250

ブランクATMEGA8L(実験の為フューズは書き換え済み)+スイッチ付きの基板を取り付ける。

(上の画像では1本線が足りない)

PICT6249

ドノーマル機を改造するということで、PARとSDカードアダプタを用意。

PICT6251

ねこかぶさんのトコにあるコードを必死こいて打ち込んで起動(笑

PICT6254

XenoFlasherを選択する

PICT6259

上の写真では画面がちゃんと出てますが、これはPAL出力されてます。

NTSCモニタで映すと白黒で画面が流れて見えませんw

これはアプリの仕様なのでどうにもならない。

スイッチを切り替えてAボタンを押すと書き込みが始まり、20秒程度で終了する。

説明通りスイッチを元に戻して電源を落とし、再度電源ON、赤LEDが付いて動いた~・・・と思ったらそのまま(-_-;

正常なデータと比較したら、所々データが変わっていた。

hexファイルとdol内のデータ内容が全く同じかどうかはわからないけど、とりあえず現状はGC本体での書き込みには成功していない。

ま、フューズだけはGC本体ではどうにもならんし、拘る必要はないかな?

と、そんなとこでした。

6 件のコメント:

かるぴす さんのコメント...

どーも かるぴすです
GC増えましたね 本体(笑)
レアなクリスタルとパナ製GCは
持ってましたよね?
この拡張基盤はどんな働き
をするものですか?

ぽんRev さんのコメント...

どもども~

白&Qはありまして、こちらはViperで調整無しで動きますw
QはもともとDVD読めるドライブですから、8センチも普通に問題ないですね。

今回作った基板はDVD-R(RWなど含む)の起動、リージョンフリーが主なトコですね。
Y押し起動で強制PAL起動、X押し起動で強制NTSC起動、試してないけどLやRにもAudioFixやerroeFixなどが割り当てられてるけど、その機能はあまり使わないかも~(笑

trickart さんのコメント...

GCですか~バックアップはWiiでできるし…homebrewもそうだし…
という割には300円でGBプレイヤー付きのGC(黄緑…テイルズのだっけ?)買ってきましたw
もともと持っている方をいじくり回そうかなぁ

ぽんRev さんのコメント...

trickartさん

結局大半の事はWiiでできますし、多少メディアが悪くてもWiiなら普通に起動できますからね(笑
ま、普通は今更GC弄らないでしょうね。
工作は簡単だし、GC持ってる人は無いよりあったほうが便利かな、ぐらいのものですから。
Viper使ってる人間としてはXenoでは物足りなかったり(爆

atssada さんのコメント...

いつも楽しく読ませていただいております。

確認情報を2点、投稿させていただきます。

(1) ATMEGA8-16PUの場合、ご説明のポイントから5Vをつなげて問題なく動きました。

(2) 書き込みツールですが、TOP3000(TopWin6.31h)の場合は、Fuse(Log/High)以外にもLockを0xFFにしなければ動きませんでした。

おかげさまで、XenoGCを自作できました。ありがとうございます。

ぽんRev さんのコメント...

atssadaさん

ご報告ありがとうございます~(^-^)
8も試そうか迷って結局止めたので、実際に動いたことが確認できて良かったです。

そういえばTOPシリーズでも書き込めたんですね(^-^;
TOP2049以前用クライアント(6.25)ではフラグを一つずつ指定しないといけないので、ちょっとメンドいかな。
6.3ならいけるのかな?
後で確認してみよう・・・
因みに、今日TOP3000用が6.32Pにアップしてました。