FC2ブログ
2019 09123456789101112131415161718192021222324252627282930312019 11
ここでは今となってはレガシーなDSi以前のコンソールに関連したHomebrewの研究をしていました。 初めての方は正面玄関(ホーム)よりお入りになり「館内の歩き方」をご覧下さい。
No. 99

M3のマルチ・ブートに異変発生-後編

今回は前回に続いてM3マルチ・ブートの検証です。
同様のテーマをレポート79・80で遣ったばかりですが、
状況が変わりましたので再検証する事にしました。

このテーマは多くの方からコメントやメールで、
質問や要望を頂いていますので関心の高さが窺えます。
しかし、その内容は様々なので私なりに整理してみました。

A. ツールを既に所持していて自分でマルチ化ができる
B. ツールを所持しているが使い方が良く分からない
C. ツールを所持していない、または取り敢えず結果だけが欲しい

当然の事ながらAに属する方からは質問などは有りません。
このような方は今回はスルーして下さい。

[B] ツールの使い方が良く分からないケース
「M3R_iTDS_PP2」は非常に多くのプログラムで構成されていますが、
それぞれに対応したドキュメントも同梱されていますので、
その通りに実行すれば問題は有りません。

「使い方が良く分からない」「意図した結果が得られない」時は、
M3系カードの起動の仕組みを理解するのが早道かも知れません。

しかし、私自身に大した技術力や知識が有る訳ではないので、
以下の内容が全て正しいとは限りません。
そんなものか程度に読んでください。

M3系のカーネルは暗号化されています。
カードのファームウェアはこれを復号化して起動しているようです。
その暗号化・復号化に使用するコードはカードの種類ごとに異なります。
カードの種類とはカード名とリージョン名です。
カード名はM3REAL, M3iZERO, M3Sakura, iTouchDS, R4iRTSです。
リージョンは日本語版、欧米版、アジア版です。

つまり、単純計算で5×3で15通りの種類に分かれます。
実際にはR4iRTSにはリージョンが無いのでこれよりは少なくなります。

カーネルを他のカードで流用する時には、
この暗号化状態を流用先のカードに合わせる必要が有ります。

また、機種チェック等を行っている箇所全てをバイナリ・パッチして、
チェックをすり抜ける必要が有ります。
勿論、これはカードの種類分必要です。

カード別に暗号化されたカーネルを一度復号化して、
流用先のカード用に再度暗号化するのですが、
この復号化された状態のファイルが「default?.nds」です。
これは通常のndsヘッダでは無いのでファームウェアからは起動できても、
起動したカーネルから別のカーネルは起動できません。

唯一、M3Sakuraのカーネルはこの特殊なndsファイルを起動可能です。
起動後にもM3Sakuraは「default?.nds」で他のカーネルを起動可能ですが、
他のカーネルからはそれができないのはそういう事です。

もうお分かりでしょうがマルチ・ブートさせるためには以下を行います。
1. M3Sakuraカーネルを起動用としてセットアップする
2. 他のカーネルは「default?.nds」化と機種チェック等をパッチする
使用するカードがM3Sakura以外はM3Sakuraカーネルのパッチも必要です。

えっ、それでも良く分からないですか。そうかも知れません。
このツールは決して簡単ではありません。
VBScriptとバッチ・ファイル自体は私にも大体分かりますが、
VBScriptの中に書かれているバイナリ・データ部分は分かりません。
実はこの部分こそがこのプログラム群の肝です。

この数バイトのデータを特定するためには高度な知識と経験、
そして多くの時間が必要なのは容易に想像できます。
私は分からないながらも好きなのでチャレンジして行こうと思いますが、
面倒な理屈は抜きで結果だけ欲しいと言う方は次回をお楽しみに…。
次回はM3のマルチ・ブート-実践編を予定しています。
コメント

Xenonさん

> そうですか、1.34以降ではだめですか…
バージョンには関係ない筈ですが…。
BVgeUSCM by: アーク * 2010/03/01 23:33 * URL [ 編集] | UP↑

M3Sakura 1.46 -> GAME PATCH Save Data File format error
MoonShell 2.10 -> #00001 Large ARM7 binary size. -1064675692byte.
でした(iTouch jpn)。defaulty.ndsの中にはDSBooterと書いてあります。
vyMRz6gE by: Xenon * 2010/03/01 22:29 * URL [ 編集] | UP↑

そうですか、1.34以降ではだめですか…

MoonShell2は激重なのですがなんででしょうねぇ?MoonShell1.71も(それほどではないが)重いですし。
とりあえず試してみます。ありがとうございます。
#2.00beta5のソースを見た限りではそういう処理は入っていなかった気もしますが…

>String
SUR_GlobalButton=ゲーム全体設定
SUR_TitleGlobal=全体設定
SUR_MethodGlobal=全体設定モード
SUR_GlobalMethod0=全体設定を行わない
SUR_GlobalMethod1=新しいゲームに対してのみ設定
SUR_GlobalMethod2=全てのゲームに対して設定

この部分は純正日本語版でも日本語化されていないようです。ということは最近追加されたか(上○がカーネル導入代行で使っていたのは1.46でなく1.45でした^^;)。
vyMRz6gE by: Xenon * 2010/03/01 22:11 * URL [ 編集] | UP↑

Xenonさん

> 復号化されたDSBooterを起動できるのはM3Sakura 1.12+1だけなのですか?
いぇ、それ以前のM3Sakuraでも可能かと…。
また、MoonShell2はその機能を引き継いでいますよ。

> そういえばアークさんの疑似日本語化、一部stringが欠落してます。
おゃ、そうでしたか…。
ヤッツケはいけませんね。
こういうのはKoushinDSさんが得意ですね。
BVgeUSCM by: アーク * 2010/03/01 22:00 * URL [ 編集] | UP↑

すみません、もしかして復号化されたDSBooterを起動できるのはM3Sakura 1.12+1だけなのですか?それだとM3Sakuraで最新gamepatchは使えないのかな?残念…

#selectloader XとMoonShell Simplyは(商用ROM起動以外)動作確認できました。

そういえばアークさんの疑似日本語化、一部stringが欠落してます。Global Settingあたりですね。

#それにしてもなんかMoonShell2が重過ぎるのはそういえばM3は動作対象外とか言ってたような…
#いろんな意味でMoonShell Simply作ってよかった。M3でHomebrew起動するときはこっち使おう。
#ところで公式のMoonShellのreset.mseが効かないのは仕様…?

さらに言うとTouchPodでファイル名がソートされないってのは買って初めて知ったのだが--;

RTS/GBA連携を使わない限りは実験用になりそうです。てかGBA起動でセーブデータが破損する?GBATAであらかじめパッチしておけばほとんど問題なしと。

vyMRz6gE by: Xenon * 2010/03/01 14:54 * URL [ 編集] | UP↑

>Rudolphさんの処は配布停止ですが海外には有るようです。
おっ、なんかいいこと聞いた^^;
ちょっと予想外でした
探してみます

>R4も殆ど同じですよ。
>R4とM3DS SimplyがOEM関係なのは良く知られています。
>M3DS SimplyもM3の製品なので暗号化されています。
>R4も同様です。
確かにR4も暗号化されていますけどM3ほど厳しくはないじゃないですか
現にR4でM3Simplyは動くわけですし…
でもM3DSRealでもiTouchが動いたりするか…
やっぱり大差ないですね^^;
X85KNJ.g by: ドラクエ大好き少年 * 2009/11/03 08:25 * URL [ 編集] | UP↑

おはようございます

もんくさん
> R4iRTS、itouch2に関しては答えがわかりませんが・・・
R4iRTSもデータ部分が違うだけです。
iTouch2はiTouchDSと同じです。

塚さん
> なんとなく 判ったような まだ少しだけかも・・・ ぐらいかな
この事自体に強い関心が有るので無ければスルーした方が良いかも…。
奥が深そうです。

ドラクエ大好き少年さん
> 自分、M3R_iTDS_PP2は持ってないです
Rudolphさんの処は配布停止ですが海外には有るようです。

> R4は単純で判りやすいですが何でこうもM3は面倒くさいのでしょうか
R4も殆ど同じですよ。
R4とM3DS SimplyがOEM関係なのは良く知られています。
M3DS SimplyもM3の製品なので暗号化されています。
R4も同様です。

また、双方のカーネルの使い回しができないように機種チェックも有ります。
BVgeUSCM by: アーク * 2009/11/03 08:08 * URL [ 編集] | UP↑

もってない(汗)

おはようございます
自分、M3R_iTDS_PP2は持ってないです
なので、自分でマルチ化なんてできやしません
誰か譲って~^^;

なんかやっとM3系のカーネルの仕組みがわかったような気がします
R4は単純で判りやすいですが何でこうもM3は面倒くさいのでしょうか
苛苛します
X85KNJ.g by: ドラクエ大好き少年 * 2009/11/03 06:44 * URL [ 編集] | UP↑

おはようございます

おはようございます
なんとなく 判ったような まだ
少しだけかも・・・ ぐらいかな
なんせ 始めたのが遅かったので
Rudolphさんの恩恵をほとんど受ける事がなかったものですから
このページをたよりに日々勉強です
つぎの実践編が 楽しみです(やっと理解できるかも)
/2CD/BNk by: 塚さん * 2009/11/03 05:53 * URL [ 編集] | UP↑

ありがとです

今回の記事で何をすべきか判った気がします。
大変参考になりました。
自分なりに試す事が出来そうです。
R4iRTS、itouch2に関しては答えがわかりませんが・・・
新たなツールなどがあるのか、応用なんでしょうか?
次回の記事も楽しみにしています。
- by: もんく * 2009/11/03 02:20 * URL [ 編集] | UP↑

コメントの投稿
質問の前にこちらをお読み下さい。→質問時のご注意














管理者にだけ表示を許可する


| ホーム |
Page Top↑