2009 041234567891011121314151617181920212223242526272829302009 05
ここでは今となってはレガシーなDSi以前のコンソールに関連したHomebrewの研究をしています。 初めての方は正面玄関(ホーム)よりお入りになり、談話室の掲示板をご覧下さい。
No.

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[No. ] --/--/--(--) スポンサー広告
No. 10

DSTTでトリプル・ブート

acekard2、R4と来ればDSTTを遣らない訳には行きません。
実はこのテーマは私にとって初めてではないのですが、
その頃とは状況が変わっていますので再検証してみました。

その結果、今回は下記の3アイテムに決めました。

・R4X v1.17 JPN
・M3Adaptes JPN
・DSTTAdvance v1.17A JPN

ご覧のように最新の気になるカーネルを二つも含んでいます。

動作環境はDS、DSLite、DSTTおよびそのクローンです。
動作確認はDSTTとU2DSで行っています。
DSiでは使えません。

レポート10用

1. R4Xのセットアップ
こちら から最新のカーネルv1.17 Japaneseをダウンロードして解凍します。
今回用の作業フォルダを用意してTTMenuフォルダ、
R4XDS.DATTTMENU.DATを移します。
TTMENU.DATはdefaultx.ndsにリネームします。

2. M3Adaptesのセットアップ
こちら から日本語版のカーネルをダウンロードして解凍します。
今回用の作業フォルダへm3フォルダとm3.datを移します。
m3.datをdefaulty.ndsにリネームします。

3. DSTTAdvanceのセットアップ
こちら から最新のカーネルv1.17 Japaneseをダウンロードして解凍します。
TTMenuフォルダ内のskinフォルダ内のdefaultフォルダを開き、
bgUp.bmpをコピーしてbgUp2.bmpにリネームして、
作業フォルダのR4XのTTMenuフォルダ内のskinフォルダ内へ移動して、
defaultフォルダ内に追加します。

次にTT-ADV.DATこちら のパッチでIPSパッチします。
TTMENU.DATdefaultn.ndsにリネームして、
IPSパッチしたTT-ADV.DATと共に作業フォルダへ移します。

4. MoonShell2のセットアップ
最新のMoonShell2 beta12をダウンロードして解凍します。
moonshl2.ndsをDLDIパッチしてTTMENU.DATにリネームします。
作業フォルダへmoonshl2フォルダとTTMENU.DATを移します。
更にTTMENU.DATをコピーしてMoonShl.DATにリネームします。

DSTT用のttio.dldiを複製してdldibody.binにリネームして、
moonshl2フォルダ内に上書コピーします。

5. microSDへコピー
準備したファイルを初期化済みのmicroSDへコピーします。
最終的にTF(microSD)のファイル構成はこうなります。

TF Root
 ├ TTMenu(フォルダ)※R4Xから
    └ ※内容省略
 ├ m3(フォルダ)※M3Adaptesから
    └ ※内容省略
 ├ moonshl2(フォルダ)
    └ ※内容省略
 ├ R4XDS.DAT
 ├ defaultx.nds
 ├ defaulty.nds
 ├ TT-ADV.DAT
 ├ defaultn.nds
 ├ TTMENU.DAT
 └ MoonShl.DAT

以上でセットアップは完了です。

普通に起動すればDSTTAdvanceが立ち上がります。
起動時にXボタンを押しているとR4X(R4風)が立ち上がります。
Yボタンを押しているとm3(M3Real風)が立ち上がります。
AボタンかBボタンを押しているとMoonShell2が立ち上がります。
R4X等からMoonShell2を起動した積りでも、
何も押さないでいるとDSTTAdvanceが立ち上がってしまいます。

それぞれのファイルは検証時のバージョンでしか動作確認していません。
また、今回のレポートに限らず実験的にお遊びで遣っている事なので、
将来的なサポートなども考えていません。

尚、レポートは執筆時の環境や情報に基づいており、
現在では異なる場合があります。

スポンサーサイト
No. 9

自己紹介

今日は研究レポートはお休みです。

今朝は用事を早々に済ませて「名探偵コナン 漆黒の追跡者」を観てきました。
連休なので混むだろうと予測して朝一上映のにしましたが、
案の定、満席・立見は当たり前で通路も一杯の状態でした。

観終わっても凄い混雑で映画館を出るのが一苦労な状況でしたが、
今回のは中々面白かったです。

実は私はニュース以外は殆どテレビを観ません。
そんな私が今、唯一毎週欠かさず観ているのがコナンなのです。
何がそんなに面白いのかと訊かれても困るのですが習慣です。

…という訳で今回は少しだけ自分の事を書いてみます。

私は凝り性で趣味は多い方だと思います。
凝り出すとトコトン嵌ってしまうので自制していますが…。
まぁ、趣味の話は別の機会に譲るとして、
今日は私の好きなものを少し並べてみる事にしました。

小 説:E・クィーン、A・クリスティー
ゲーム:ウィッシュルーム、刑事J.B.ハロルドの事件簿
テレビ:名探偵ポアロ、ミス・マープル、ジェシカおばさんの事件簿、
    刑事コロンボ、名探偵コナン

こんな感じです。 MENU.BATの七夕バージョンの0番は秘密のコマンド

突込みが入りそうな内容なのは承知してます。(^^;
…で買ったゲームがこんな感じです。

DSゲーム

その内、これ等のゲームやコナンのネタを書くかも知れませんが、
ゲームは上手くないですしコナンに詳しい訳でもないので期待しないで下さい。

P.S. 初対面なのに10年来の友人のように話しかけないで下さい。
人見知り傾向が有るので無視してしまいます。
[No. 9] 2009/04/29(水) 未分類 track back(0) comment(6)
No. 8

R4でトリプル・ブート

本日の研究テーマはこれです。

既にレポート2・3で検証しましたので、
R4でその亜種のカーネルを起動させる事は可能です。
また、MoonShell2によるトリプル・ブートも既に実現しているので、
R4でも同様にできそうですが実際には簡単では有りません。
その理由はレポート2・3で書いたようにR4には特殊な事情が有るからです。

その様な訳で今回はMoonShell2による起動分けは使えません。
亜種ならどれでも良い訳でもありません。
厳しい条件下でも起動可能なものを選ばざるを得ません。
しかし、そのような状況下でもできるだけ特徴のある3種を選びました。

・Alienware v1.27 ……… N5系からチョイス
・R4_SDHC v1.24 ……… SDHC系からチョイス
・R4 v1.19(r4v1.19) …… 完全なFAKE、R4のUI+YSMenu

本家とM3-Simplyは敢えて外しました。

動作環境はDS、DSLite、R4です。
DSiおよび初期のDSでは使えません。

レポート8用

AlienwareはカスタマイズされたN5カーネルで、
スキンはMARSのようですしチート関係が拡張されているようです。
また、チート・コンバータが付属します。

最近のR4_SDHCはレポート2・3で紹介した方法ではR4で起動しません。
バージョンアップ毎の変更が大きく簡単なパッチでは起動しなくなりました。
そこで今回はv1.24を起動可能にするパッチを用意しました。
スキンはR4らしくないNPlayerのものに入れ替えます。

R4v1.19はYSMenuにR4のUIを被せただけの完全なFAKEですが面白いので…。

1. Alienwareのセットアップ
Alienware v1.27は こちら からダウンロードできます。
作業用のフォルダで解凍して_DS_MENU.DATを加工しますが、
今回はパッチデータを一式用意しました。 こちら です。

先ず、_DS_MENU.DATをIPSパッチしてからYSMenu.ndsにリネームして、
r4cryptフォルダ内に置きGUI.BATを実行して暗号化します。
キーは[2]そして[Enter]です。
IPSパッチはwinipsで動作を確認しています。
使い方が分からない場合は調べて下さい。ここでは書きません。

_DS_MENU.DAT → IPSパッチ → YSMenu.ndsにリネーム
→ 暗号化して_DS_MENU.DATに

今回必要なものは_SYALIN_フォルダと_AX_MENU.DAT
IPSパッチおよび暗号化済みの_DS_MENU.DATです。

moonshlフォルダと_DS_MENU.DATおよび_M2_BOOT.NDSは使用しません。

2. R4_SDHCのセットアップ
こちら からダウンロードできます。
ダウンロードするのは最新版ではなくR4_SDHC v1.24Englishです。

解凍して_DS_MENU.DATをIPSパッチしてからYSMenu.ndsにリネームして、
r4cryptフォルダ内に置きGUI.BATを実行して暗号化します。
暗号化された_DS_MENU.DATを_R4_SDHC.DATにリネームします。

_DS_MENU.DAT → IPSパッチ → YSMenu.ndsにリネーム
→ 暗号化して_DS_MENU.DATに → _R4_SDHC.DATにリネーム

次に こちら からNPlayerのカーネルをダウンロードして、
解凍して_system_フォルダ内のthemesフォルダを取り出し、
先ほどのR4_SDHCの_system_フォルダに上書コピーします。
これでNPlayerのスキンが反映されますがこの作業は必須ではありません。

3. r4v1.19のセットアップ
こちら からダウンロードします。
解凍して_DS_MENU.DATを複合化してからR4YSMENU.NDSにリネームします。
複合化はr4cryptフォルダ内に_DS_MENU.DATを置きGUI.BATを実行します。
キーは[1]そして[Enter]です。

次に_system_フォルダからbckgrd_2.bmpとdown_screen.bmp、
r4tf.dldiを取り出してR4_SDHCの_system_フォルダに上書コピーします。

R4Menuフォルダはそのまま使います。

4. MoonShell2のセットアップ
Moonlightさんのところから最新のMoonShell2をダウンロードします。
moonshl2.ndsをDLDIパッチして_DS_MSHL.NDSにリネームします。
更にこれをコピーして_M2_BOOT.NDSにリネームします。

r4tf.dldiを複製してdldibody.binにリネームして、
moonshl2フォルダ内に上書コピーします。
また、beta11を使用の場合はms2b11_keepdpgpauseも入れ替えます。

次に こちら からR4i(r4i.cn)のカーネルをダウンロードして解凍します。
今回はこのカーネルを使うわけでは有りませんが、
付属のmoonshl2フォルダ内のresetmseフォルダの内容を使います。
内容の一部は以前皇帝さんが公開されていたファイルと同等品です。
現在はアーカイブの公開をしてませんので他では入手困難です。
これ等のファイル群はこれからも使いますので要保存です。

今回はこの中からR4TF.rstR4TF.ndsにリネームして、
moonshl2フォルダ内のresetmseフォルダに入れます。
更にこれを二つコピーして一つはR4_ALIEN.ndsにリネームします。
もう一つはR4SDHC.ndsにリネームしてからIPSパッチします。

R4TF.rst → R4TF.ndsにリネーム
          ├ コピーしてR4_ALIEN.ndsにリネーム
          └ コピーしてR4SDHC.ndsにリネーム → IPSパッチ

5. microSDへコピー
用意したファイルを初期化済みのmicroSDへコピーします。
最終的にTF(microSD)のファイル構成はこうなります。

TF Root
 ├ _SYALIN_(フォルダ)※Alienwareから
    └ ※内容省略
 ├ _system_(フォルダ)※R4_SDHCから
    ├ ebook(フォルダ)
       └ ※ファイル省略
    ├ themes(フォルダ)
       └ ※内容省略
    ├ CHEAT.DAT
    ├ theme.ini
    ├ gbaframe.bmp
    ├ icons.bmp
    ├ logo.bmp
    ├ bckgrd_1.bmp
    ├ bckgrd_2.bmp(r41.19からコピー)
    ├ down_screen.bmp(r41.19からコピー)
    └ r4tf.dldi(r41.19からコピー)
 ├ R4Menu(フォルダ)※r41.19から
    └ 内容省略、YSMenu関係が古いので気になる方は要差替
 ├ moonshl2(フォルダ)
    └ ※内容省略
 ├ _AX_MENU.DAT
 ├ _DS_MENU.DAT
 ├ R4_ALIEN.nds
 ├ _M2_BOOT.NDS
 ├ _R4_SDHC.DAT
 ├ R4SDHC.nds
 ├ _DS_MENU.INI
 ├ R4YSMENU.NDS
 └ _DS_MSHL.NDS

以上でセットアップは完了です。

普通に起動すればN5 Alienバージョンが立ち上がります。
スキンはMARS風で表示される情報も拡張されています。
チート関係がどのように拡張されたのかは調べていません。

R4SDHC.NDSを選択するとR4_SDHCメニューが立ち上がります。
R4YSMENU.NDSを選択するとR4メニューが立ち上がります。
左のゲーム・ボタンで起動する画面はYSMenuのものです。
真中のマルチ・メディア・ボタンで起動するのはMoonShell2です。
これはどのメニューからも共通です。
また、_DS_MSHL.NDSを選択する事でも起動できます。

R4_ALIEN.NDSはN5_Alienへの切り替えです。

尚、レポートは執筆時の環境や情報に基づいており、
現在では異なる場合があります。

 
【 Column 5 】 R4亜種の乱立
最近、R4の亜種の新製品が続々と発売されています。
日本国内ではR4と冠されたNDS-Adapterの販売が難しくなりつつありますが、
そんな事はお構い無しに彼の国では亜種の新製品ラッシュです。

頭にR4と付けるか付けないかで売り上げが大きく左右されるのか、
挙ってR4の仲間入りをしている感があります。
余りの乱立振りに訳が分からない状態になって来ました。

既にレポート2で亜種の分類をしていますが、
最近の状況を踏まえて再分類してみました。
その結果、更に種類が増えましたので編成し直しました。
()内は旧分類名です。

① 直系(R4 type)
② N5系(N5 type)
③ Advance系(? type)
④ SDHC系(SDHC type)
⑤ acekard系(acekard type)
⑥ DSTT系(DSTT type)
⑦ DSTT&MoonShell2系
⑧ YSMenu系

※分類名は当研究所が勝手に付けた名称です。

m3iとM3Adaptes等は⑥番に属しそうです。
HypeR4iやR4i(r4i.cn)は⑦番に属しそうです。
R4i-SDHCやR4Xも⑦番に属しそうですが明らかになるのはこれからです。
⑧番は今回のr4v1.19が該当します。
No. 7

acekard2でトリプル・ブート

前回で基礎編が終わったので今回からは応用編です。
acekard2でacekard2とR4UltraおよびYSMenuを起動時に切り替えます。
小手調べなので難しい事はありません。
動作環境はDS、DSLite、acekard2、acekard2.1です。
それぞれのソフトは現時点での最新版を使用しています。
DSiおよびacekard2iの環境では使えません。

レポート7用

1. AKmenuのセットアップ
acekard2用の最新カーネルをダウンロードします。
作業用のフォルダで解凍してakmenu4.ndsdefaultn.ndsにリネームします。

2. R4menuのセットアップ
R4Ultra用の最新カーネルをダウンロードします。
解凍して_DS_MENU.DATをコピーしてdefaultx.ndsにリネームします。
_DS_MSHL.NDSは使いませんので削除するか別のフォルダに移します。

3. YSMenuのセットアップ
YASUさんのところから最新版をダウンロードします。
解凍してakmenu4.ndsと同じフォルダでakextract.exeを実行します。
akloader.ndsが抽出されるのでmicroSDのYSMenuフォルダに入れます。
YSMenu.iniもYSMenuフォルダに入れます。
YSMenu.ndsをDLDIパッチしてdefaulty.ndsにリネームします。
acekard2用のdldiは__ak2フォルダに有ります。

4. MoonShell2のセットアップ
Moonlightさんのところから最新のMoonShell2をダウンロードします。
moonshl2.ndsをDLDIパッチして_DS_MSHL.NDSにリネームします。
更にこれを二つ複製してakmenu4.ndsRPGS.ndsにリネームします。
RPGS.ndsの方はmoonshl2フォルダ内のresetmseフォルダに入れます。
また、beta11を使用の場合はms2b11_keepdpgpauseも入れ替えた方が良いでしょう。

5. microSDへコピー
用意したファイルを初期化済みのmicroSDへコピーします。
最終的にTF(microSD)のファイル構成はこうなります。

TF Root
 ├ __ak2(フォルダ)
    └ ※ファイル省略
 ├ _SYSTEM_(フォルダ)
    ├ resource(フォルダ)
       └ ※ファイル省略
    ├ themes(フォルダ)
       └ ※ファイル省略
    ├ CHEAT.DAT
    ├ system.ank(日本語フォントセット)
    ├ system.fon(日本語フォントセット)
    ├ system.l2u(日本語フォントセット)
    └ system.u2l(日本語フォントセット)
 ├ YSMenu(フォルダ)
    ├ YSMenu.ini
    ├ akloader.nds
    ├ ak2_sd.dldi
    ├ infolib.dat
    ├ reset.mse
    ├ savlib.dat
    ├ USRCHEAT.DAT
    ├ system.ank(日本語フォントセット)
    ├ system.fon(日本語フォントセット)
    ├ system.l2u(日本語フォントセット)
    └ system.u2l(日本語フォントセット)
 ├ moonshl2(フォルダ)
    └ ※ファイル省略
 ├ defaultn.nds
 ├ defaultx.nds
 ├ defaulty.nds
 ├ _DS_MSHL.NDS
 ├ akmenu4.nds
 ├ _DS_MENU.DAT
 └ _DS_MENU.INI

以上でセットアップは完了です。

普通に起動すればAKメニューが立ち上がります。
起動時にXボタンを押しているとR4メニューが立ち上がります。
Yボタンを押しているとYSメニューが立ち上がります。
勿論、ROMの起動もできます。
AボタンかBボタンを押しているとMoonShellが立ち上がります。
起動時のボタン押しはMoonShell2が停止する辺りまでです。
MoonShell2自身を起動させたい時はAボタンかBボタンを押して、
止まったら一度放して直ぐまた押して2度目に止まったら放す、
というのが良いみたいです。

尚、レポートは執筆時の環境や情報に基づいており、
現在では異なる場合があります。

 
【 Column 4 】 MoonShell2を使用した起動時選択の仕組み
何故こんな事が可能かと言うとm3sakuraの頃の機能が残っているからです。

一般的に『defaultx.nds』と『defaulty.nds』は知られていますが、
『defaultn.nds』は知らない方が多いのでは無いでしょうか。
使う機会があまり無いですしね。

『default』の次の一文字はボタンを意味します。
x ……… Xボタン
y ……… Yボタン
n ……… 何も押さない

『defaultn.nds』を指定した時はMoonShell2自体を起動できなくなりますので、
それを回避するために『A』か『B』ボタンでエスケープできるようになっています。
No. 6

MoonShell2をカーネル代わりに使う(後編)

MoonShell2の設定に関しては前回の前編で終わっています。
この後編では商用ROMを起動させるための機能拡張ファイルの設定と、
それらが必要とする環境の設定を行います。

DS用の商用ROM起動用の機能拡張ファイルとしては、
前編で紹介したとおり次の2つが公開されています。
・M2Loader_v0.1
・YSLoaderForMS2

『M2Loader_v0.1』はAKAIO専用です。
『YSLoaderForMS2』はDSTT、acekard2、R4用です。
どちらもLoaderという名称ですがランチャーです。

MoonShell2が想定した仕様ではROMのローダになる筈なのですが、
YSLoaderForMS2は引数の渡し方も違う等、
どちらも仕様に則っていません。

どちらもROMのローダではなくランチャーなので、
そこから更にROMのローダを起動する必要が有ります。
その内、何方かが本物のローダを開発してくれるまで、
複雑な工程を経た起動方法ですが仕方がありません。

どちらの機能拡張ファイルを使用するかは、
acekard2のユーザ以外は悩む必要は有りません。
M2Loader_v0.1の方はacekard専用ですので、
今回の例は双方ともacekard2で行っています。

■M2Loader_v0.1の環境設定
この機能拡張ファイルはAKAIOのメンバーの一人が作った物のようです。
AKAIOがインストールされている環境でAKAIOからMoonShell2を起動して、
…というような使われ方を想定しているようです。
これって余り意味が無いような気がしますが…。

そこでMoonShell2をカーネルとして起動できるようにしてみました。
それにはMoonShell2を少し変更する必要が有るのでお手軽とは言えません。
beta5を元に行いましたが最新バージョンでも通用するかは試していません。
その内、検証するかも知れませんが仕様にがっかりしたので…。

必要なファイルとその構成は以下の通りです。
検証を途中で止めたので無駄なファイルが含まれているかも知れません。
『mnshlフォルダ』の中身は『__aioフォルダ』からコピーします。

TF(micr SD) root
 ├ moonshl2(フォルダ)※フォルダ内は省略
 ├ mnshl(フォルダ)
    ├ ak2loader(フォルダ)
       ∟ akloader.nds
    ├ loaders(フォルダ)
       ├ ak2loader.nds
       ├ akloader.nds
       └ akploader.nds
    ├ ak2loader.nds
    ├ ak2sd.dldi
    ├ ak2_sd.dldi
    ├ rpg_sd.dldi
    ├ rpg_nand.dldi
    └ lastsave.ini
 └ akmenu4.nds(前編で設定済のmoonshl2.nds beta5)

M2Loader_v0.1の機能拡張ファイル名はnds.akaio.ndsです。
このファイルを『moonshl2フォルダ』内の『extlinkフォルダ』に入れます。
MoonShell2はbeta5をDLDIパッチした物を用意します。

このakmenu4.nds(moonshl2.nds)にバイナリ・パッチをします。
差分を用意しましたので こちら からダウンロードしてパッチします。
IPSパッチは幾つかソフトが存在するようですが私はwinipsを使用しています。
使用法が分からない場合は調べて下さい。ここでは書きません。

尚、M2Loader_v0.1にはバグが有るのでROMはrootに置かないと起動できません。

■YSLoaderForMS2の環境設定
必要なファイルとその構成は以下の通りです。
使用したMoonShell2は beta10 + beta10plus1 の組み合わせです。

TF(micr SD) root
 ├ moonshl2(フォルダ)※フォルダ内は省略
 ├ YSMenu(フォルダ)
    ├ YSMenu.nds
    ├ YSMENU.INI
    ├ ttpatch.dat
    ├ ttreset.dat
    ├ reset.mse
    ├ akloader.nds
    ├ ak2_sd.dldi
    ├ ttdldi.dat
    ├ infolib.dat
    ├ savlib.dat
    ├ USRCHEAT.DAT
    ├ system.ank(日本語フォントセット)
    ├ system.fon(日本語フォントセット)
    ├ system.l2u(日本語フォントセット)
    └ system.u2l(日本語フォントセット)
 └ akmenu4.nds(前編で設定済のmoonshl2.nds)

機能拡張のファイル名はnds.YSloaderForMS2.ndsです。
このファイルと『config.ini』を『moonshl2フォルダ』内の、
『extlinkフォルダ』に入れます。

次に環境設定ファイル『config.ini』の内容を確認します。
下記と異なっているようであれば編集します。

[Config]
;YSMenu.nds path
YSMenu=/YSMenu/ysmenu.nds

;YSMenu.ini path
YSini=/YSMenu/ysmenu.ini

;How boot YSMenu
;0-Only boot YSMenu
;1-Autoboot game
autoboot=1

更にYSMENU.INIの下記該当部分をこのように編集します。

; Default DMA/Reset Setting
DEFAULT_DMA=true
DEFAULT_RESET=true
; External Application (Start Button Menu)
EXT_APP1_FILE=/akmenu4.nds
EXT_APP1_NAME=MoonShell2

これでMoonShell2から選択したROMが起動するようになります。
YSMenu自体を起動したい時は何かのROMを選択して[A}ボタンを押し、
画面が消えたところで[B]ボタンを押し続けるとOKです。

尚、YSLoaderForMS2は2バイト文字に対応していませんので、
日本語のファイル名はNGです。
どうしても使いたい場合は先頭に半角の5文字を加えます。

尚、レポートは執筆時の環境や情報に基づいており、
現在では異なる場合があります。

 
【 Column 3 】 YSMenuの設定とショート・ファイル・ネイム
■YSMenuの設定
DLDI対応なのでそれ自体はどのNDS-Adapterでも使用可能ですが、
公式からローダを抽出する必要が有りますので、
正式にはDSTTとacekardへの対応を謳っています。
更に非公式ながらR4にも対応しています。

DSTTとacekardの設定はドキュメントに書いて有るとおり、
ttextract.exeまたはakextract.exeを使ってブート・ローダを抽出し、
YSMenu.nds本体をDLDIパッチするだけです。

R4の場合は非公式なので英文でサラリと遣り方が書いてあります。
基本的にはDSTTの場合と同じで良くttextract.exeを実行する時に、
ttmenu.datとr4tf.dldiを同じフォルダ内に入れて置くだけです。

■ショート・ファイル・ネイム
今では聞き慣れない物になってしまいましたが、
その昔、ファイル名は8文字のベースと3文字の拡張子からなっていました。
Windowsになってから仕様が見直されて、
現在のロング・ファイル・ネームが採用されるようになりました。

しかし、色々な事情から双方を変換する仕組みが残されています。
ロング・ファイル・ネームからショート・ファイル・ネイムへは、
元のファイル名の最初の5バイト+3桁の数字+拡張子の法則で変換されます。
(正確には、元のファイル名の最初の4バイト+~+3桁の数字+拡張子です。)

つまり、6バイト目からは無視されるので何が書かれていても関係有りません。
例えば、ホゲホゲゲーム.ndsをhoge-ホゲホゲゲーム.ndsにした場合、
hoge~001.ndsになります。
No. 5

MoonShell2をカーネル代わりに使う(前編)

R4の次に何を採り上げるか迷ったのですがこれに決めました。
前バージョンは殆どのマ○コンにも採用されている偉大なHome Brewですし、
当研究所での研究には欠かせないアイテムであり基本ですので…。

ところで、マ○コンというのも変ですので、
これからはNDS-Adapterと呼ぶ事にします。

MoonShell2の事は既に皆さんご存知で使っている事でしょうが、
本来のマルチメディア用途での方が多いと思います。

MoonShell2以前にはMoonShellが有りますが、
MoonShell→M3Sukura→MoonShell2という系譜になります。
MoonShell2は一度、開発が中止に成り掛けましたが、
一応、現在も更新が続いています。

MoonShell2はDLDI対応なので様々なNDS-Adapterに対応します。
…なので様々なNDS-Adapterを同じUIで使用することができます。
MoonShell2自体にはコマーシャル・ゲームを起動する機能はありません。
…けれどそれを可能にする仕組みが用意されています。

MoonShell2のカーネル化は以下の手順で行います。
①使用するNDS-Adapterに合わせてMoonShell2を最適化する
②カーネル化して本来のカーネルと入れ替える

■MoonShell2の最適化
先ず、使用するNDS-Adapterに合わせてDLDIパッチをします。
DLDIパッチのツールはMoonShell2に同梱されています。
また、レポートNo.2の【 Column 1 】にも登場した、
chishmさんのサイトの ここ に必要なものは全て揃っています。

DLDIパッチ

次に使用したDLDIパッチ・ファイルをコピーして、
『moonshl2フォルダ』内のdldibody.binと入れ替えます。
つまり元からあったdldibody.binを捨てて、
今コピーしたファイルをdldibody.binにリネームして差し替えます。
例えば、DSTTの場合はttio.dldiの事です。

更にソフト・リセットのための機能拡張ファイルを追加します。
『TTIO.nds』『DLMS.nds』『RPGS.nds』『CEVO.nds』『R4TF.nds』、
『EZ5S.nds』等がありますが現在は入手困難に成りつつあります。
既に国内では難しいのでググって海外のサイトから落とします。

これ等のファイルは『moonshl2フォルダ』内の『resetmseフォルダ』に入れます。

これでMoonShell2の最適化は終わりです。
マルチメディア・ツールとして使うだけならこのままでOKです。

■MoonShell2のカーネル化
使用するNDS-Adapterのファームウェアから起動させるためには、
原則的にmoonshl2.ndsをそのNDS-Adapterのカーネル名に変更する必要が有ります。
例えばDSTTならTTMENU.DAT、Acekard2ならakmenu4.ndsです。

これはNDS-Adapterのファームウェアからそのファイル名で起動されるからです。
原則的にと書いたのは例外が有るからで、
或るツールを使ってファームウェアを書き換えられるものが存在します。
この辺りは別の機会に紹介します。

更に対象がR4の場合は暗号化も必要です。(レポートNo.2の【 Column 1 】参照)

さて、これだけではカーネルとして起動しますが、
コマーシャル・ゲームを起動する事はできません。
それを可能にする機能拡張ファイルを追加してやる必要が有ります。
現在、この用途では次の2つが公開されています。

・M2Loader_v0.1( ここ に在ります。)
・YSLoaderForMS2( ここ に在ります。)

これ等のファイルを『moonshl2フォルダ』内にある、
『extlinkフォルダ』に入れて終わりです。
…と云いたい所ですがこれでも未だ商用ROMの起動はできません。
上記、2つの機能拡張ファイルが正常に働く環境を作ってやる必要が有ります。

その辺りは次回という事で…。

尚、レポートは執筆時の環境や情報に基づいており、
現在では異なる場合があります。
No. 4

赤箱を使ってみた(R4i-SDHC)

赤箱(R4i-SDHC)を入手したので取り敢えず使ってみました。
姉妹品には黒箱(R4-SDHC)が有ります。先ずは外観です。

パッケージカード

これまではパッケージに赤を使用したものは見た事がないので新鮮です。
しかし、実際には真っ赤ではなく茶色掛かった赤です。
カードの方は一般的なデザインです。次は起動画面です。

スタート上画面スタート下画面

R4系のスキンですが複数を切り替える機能は無いようです。
勿論、[SELECT]ボタンも反応しません。
スキン画像は公式に幾つか用意されています。
R4iMenuフォルダのskinフォルダ内の4つの画像を直接交換します。

この画面で何も操作をしないと約10秒でスクリーン・セーバが起動します。

下画面には見慣れた3つのボタンが有りますが、
真ん中のボタンは"MoonShell"ではなく"MoonShell2"が起動します。
左のゲーム・ボタンを押すと次のような画面になります。

ゲーム上画面ゲーム下画面

上画面にはヘルプと現在のモードが表示されます。
但し、ヘルプは約4秒で消えてしまうので全ては読めません。
…なので撮影もできません。

その後、5~6秒でスクリーン・セーバが働くので真っ暗になります。
このスクリーン・セーバはとても鬱陶しい限りです。
しかも様々なワイプアウトをしてくれます。
何処かに設定ファイルが無いか探しましたが無いようです。

上画面の右側に縦に4つ並んだアイコンは上からゲーム、
チート、使用言語とROMの設定になります。
これ等のモードの移動は[X]と[B]ボタンで行います。

ゲーム・アイコンの状態で[A]ボタンを押すと選択されたゲームが起動します。
ゲームの選択にはカーソルの上下ボタンを使用します。
この辺りは一般的な仕様です。

この画面はどこかで見たようなアイコンが並んでいますね。
それぞれのゲーム・アイコンは選択されると左右に動きます。
一度、真ん中辺りまで移動してから左に戻る感じです。

このゲーム選択画面では[START]ボタンも[SELECT]ボタンも機能しません。
スタート画面に戻るには[START]ボタンではなく[R]ボタンを押します。

[L]ボタンは輝度調節になっていて4段階の調節が可能です。
これも一般的ですが順番が逆で段々暗くなります。

チート・アイコンを選択するとこのような画面になります。

チート

チートの選択項目が幾つ並ぶかはそのゲーム次第です。
チートの次は言語設定画面です。

言語設定

日本語版のカーネルを使用しましたが3カ国語共通仕様のようです。
日本語を選択しても可笑しな日本語なので英語の方が良いかも知れません。

次は各ROM用の設定画面です。
チートとDMAとソフトリセットのON/OFF切り替えができます。

ロム設定

スペックに関しては標準的に網羅されています。
TFカードは32GBまでサポートと書かれています。

本格的な検証はこれからになりますが、
ちょっと使ってみた印象としては r4v1.19 に近い感じです。
r4v1.19 は YSMenu に R4 のスタート・メニューを被せた感じでしたが、
此方は DSTTi に R4 のルック&フィールを被せて、
一部に M3さくら のような味付けをした感じでしょうか。

このレポートへのコメント投稿は締め切りました。
[No. 4] 2009/04/21(火) NDS-使用所見 comment(29)
No. 3

R4で亜種のカーネルは動くのか?(実践編)

前回の調査編では多くの亜種カーネルがR4で動作する事を確認しましたが、
今回の実践編ではその遣り方について書いてみます。

現在もR4の亜種は増え続けており多様化してきました。
前回はそれらを以下の6タイプに分けました。
① R4 type
② N5 type
③ ? type
④ SDHC type
⑤ acekard type
⑥ DSTT type

先ず、①のR4タイプのM3-SimplyはR4のOEMなので兄弟のような存在です。
…なのでジャンパ・チェックの変更だけで動きます。
この作業は以前はバイナリ・エディタで行いましたが、
今はYASUさんのr4customを使用した方が安全で簡単です。

しかし、ここでは敢えてバイナリ・エディタでの方法を紹介します。
当研究所ではバイナリ・エディタを当たり前のように使うので、
慣れておいた方が良いからです。

バイナリ・エディタは"Bz"や"Stirling"等を好みで使用します。
ここではバイナリ・エディタの使用方法までは書きません。
予め"_DS_MENU.DAT"を復号化してからパッチします。
変更箇所は6箇所です。(レポートNo.2【 Column 1 】の※1参照)

バイナリ・パッチ

パッチ後には再暗号化します。

次に②のN5タイプは暗号化だけで動くようになるものと、
簡単なバイナリ・パッチと暗号化が必要なものの2種類です。
パッチは①と同様の遣り方で変更すればOKです。(【 Column 1 】の※2参照)
※2の場合はパッチ処理後に暗号化します。

N5はR4の亜種の中でも最低最悪の劣化クローン等と言われ、
余り評判は良くありません。
しかし、前回のレポート001の分類結果のように、
派生亜種が一番多いタイプでもあります。

因みに私のN5は評判通りの不良品でした。
多少熱くはなりますが普通に起動します。
しかし、一度リセットなり電源を切るなりすると暫くは起動しません。
カードそのものが認識されなくなります。(^^;

しかしながら亜種としては一番本家のR4に近い気がします。
実際、双方のDIFFを取ってみても僅かな違いしかありません。
少し前のバージョンまではバイト数まで同じです。

このタイプには本家R4には無い_AX_MENU.DATというファイルが有ります。
このファイルがどういう役割をしているものかは解明されていませんが、
新しいROMへの対応をこのファイルで行っている事が想像できます。

R4のカーネルを引き続きバージョンアップしていく道を選ばずに、
外部ファイルを参照する仕組みだけを組み込んで、
その後の対応は_AX_MENU.DATで行う事にしたのだと思われます。

暗号化で使用するツールは【 Column 1 】で2種類紹介しましたが、
どちらも暗号化と復号化が可能です。

chishmさんのr4cryptを使用する場合はコマンドライン・ツールなので、
"GUI.BAT"を用意した方が扱いやすいです。
"GUI.BAT"は【 Column 1 】で紹介したサイトに分かり易く書かれているので、
切り出してテキスト・エディタで保存するだけです。

但し、暗号化する元のファイル名はYSMenu.ndsに固定されますし、
復号化する対象のファイル名は_DS_MENU.DATで固定です。
処理前にリネームすれば済む事ですが面倒に感じる方もいる事でしょう。

YASUさんのr4encならドラッグ&ドロップが可能なので、
その様なファイル名の問題はありません。
しかし、YASUさんのサイトからは見つける事ができなかったので、
私はr4cryptを使うようになりました。

最近になって海外のサイトで発見しましたので、
【 Column 1 】に載せておきました。
機能的にはどちらも同じなので好きな方を使用すれば良いと思います。

因みに"GUI.BAT"での暗号化の操作は[2] [Enter]です。
復号化は[1] [Enter]です。

③と④のタイプは暗号化だけでOKです。

⑤と⑥はどの方法でも起動しません。
…と言うかこれ等はR4の亜種と言うよりAcekardやDSTTのクローンで、
インタフェースでR4のように見せ掛けているだけです。
実際、⑥の"R4III SDHC v3.07E"をDSTTで起動させる事は簡単です。

尚、レポートは執筆時の環境や情報に基づいており、
現在では異なる場合があります。

 

【 Column 2 】 r4cryptをドラッグ&ドロップで使用する
"r4crypt"は本来コマンドライン・ツールですが、
"GUI.BAT"を使用する事で簡単に使う事ができるようになります。
唯一、使い難いところはファイル名が固定されてしまう事でしょうか。

今回はドラッグ&ドロップ対応にしてこの問題を解決してみました。
"GUI.BAT"は多機能ですが取り敢えず暗号化と復号化ができれば事足ります。
そこで"暗号化.BAT"と"復号化.BAT"を作ってこれに対応します。

以下が"暗号化.BAT"の中身です。

rem ---------ここから---------
@echo off
cls
d:
cd \
ren _DS_MENU.DAT _DS_MENU.BAK
r4crypt.exe -e %1 _DS_MENU.DAT
cls
rem ---------ここまで---------

テキストエディタでコピペして"暗号化.BAT"の名前で保存します。
"復号化.BAT"の中身は以下のようになります。

rem ---------ここから---------
@echo off
cls
d:
cd \
ren OUTPUT.NDS OUTPUT.BAK
r4crypt.exe -d %1 OUTPUT.NDS
cls
rem ---------ここまで---------

此方は"復号化.BAT"の名前で保存します。

これ等のファイルを"GUI.BAT"と同じフォルダに入れます。
どちらも"d:"と"cd \"の部分をご自分の環境に合わせて書き換えます。
例えば"r4crypt"や"GUI.BAT"が入ったフォルダが"C:\KOKO"なら、
それぞれ"C:"と"cd \KOKO"になります。

但し、フォルダを置くところはできるだけ階層の浅い単純なパスにします。
パス名にスペースが含まれたりデスクトップ等の複雑なパスは避けます。
[No. 3] 2009/04/20(月) NDS-その他 track back(0) comment(0)
No. 2

R4で亜種のカーネルは動くのか?(調査編)

本家R4が製造中止になって久しいですが、
その亜種は現在も続々と増え続けています。
マジコンの代名詞的な存在成ればこその現象ですが…。
ところで、これ等の亜種のカーネルはオリジナルやコピー品のR4で動くのでしょうか?

そこで調査してみたところ幾つかの系列に分類できそうでした。
乱暴ですがファイル・サイズを頼りに分けてみました。

R4ファミリー・フルサイズ

① R4 type
R4 v1.18E      1.34MB
M3 Simply v1.14J 1.34MB(※1)

② N5 type
n5 v1.26E      1.34MB(※2)
ND1 v3.07E     1.34MB(※2)
NPlayer v3.04E   1.34MB(※2)
R4-III v3.02E    1.34MB(※3)
R4Plus v2.01    1.34MB(※3)
E7 v2.01E      1.34MB(※3)
R4 New v1.23E   1.34MB(※3)

③ ? type
R4Advance v1.20E 2.53MB(※3)
R4Deluxe v1.20E  2.53MB(※3)

④ SDHC type
R4sdhc v1.21E    3.6MB(※3)
MARS v1.03E    3.6MB(※3)

⑤ acekard type
R4Ultra_v1.52     585kB
R4Pro_v1.50     585kB
R4-New_v1.50    585kB

⑥ DSTT type
R4III SDHC v3.07E  490kB

意外と狙いは良かったようで見事に分かれました。(^^;

現在、オリジナルのR4は製造中止で存在しません。
今、市場に出回っているR4は全てコピー品かスーパー・コピー品です。
…なのでそれ等コピー品も①のR4 typeに属します。
実は私のもコピー品です。(-_-)

コピー品はオリジナルのカーネルが動きますが、
更新が止まっているのでそのままでは最新のゲームが動かなかったりします。
チートやバイナリ変更で対応できるようですが私には興味がありません。

私が興味があるのはオリジナルやコピー品のR4で亜種のカーネルが動くのか?
というアブノーマルな使い方です。
そこで実際に上記全てを検証してみました。
結果は大多数のカーネルが動きました。
但し多少の変更は必要ですが…。

マジコンには内部に起動するためのソフトが存在し、
ファームウェア等と呼ばれています。
R4の場合はこのファームウェアがTF上のカーネルを起動させ、
起動画面(メニュー)が表示される仕組みになっています。

但しR4の場合は少し変わっていてカーネルが暗号化されています。
R4のファームウェアはこれを復号化して起動し、
ジャンパ・チェック後に起動するようになっています。

R4の場合は_DS_MENU.DATという暗号化されたファイル以外は起動しません。
更にジャンパ・チェックもクリアする必要があります。
つまりこれ等の条件を整えれば亜種のカーネルも起動する可能性があります。

さて、大分長くなってしまったので続きは次回に廻します。

尚、レポートは執筆時の環境や情報に基づいており、
現在では異なる場合があります。

 
【 Column 1 】 R4亜種のカーネルのパッチと暗号化
それぞれのカーネル名の最後の※印の意味は下記を参考にして下さい。
※印が付いているものはこれ等の処理を行う事でR4で起動するようになります。

■ジャンパ・チェック用パッチ(※1)
_DS_MENU.DATを復号化して下記6箇所をバイナリ・エディタで変更する。
0000DFD8 73 → 7D
0000ED44 73 → 7D
0000EEA4 73 → 7D
0000FA48 73 → 7D
00131200 2D → 23
00132264 77 → 79
この変更後に再暗号化します。

YASUさんのr4customは更に凄く、
ジャンパ・チェック自体を無効にしてしまいます。
バイナリ・エディタを使用する上記方法より安全で簡単です。
但しYASUさんは遊び心が有る方のようで使い方に一工夫必要です。

■機種依存部分のパッチ(※2)
00000680 46 → 4F
この変更後に暗号化します。

■暗号化(※3)
_DS_MENU.DATを暗号化するにはchishmさんのr4cryptか、
YASUさんのr4encを使います。 r4encはr4decとセットでr4dencとなっています。

r4cryptは http://gbatemp.net/index.php?showtopic=97615 に詳しく有ります。
また、そこに有るリンクの こちら から落とせます。
コマンドライン・ツールなのでGUI.BATも切り出しておいた方が便利です。
r4dencは こちら にあります。 こちらのツールはドラッグ&ドロップ対応です。
[No. 2] 2009/04/14(火) NDS-その他 track back(0) comment(10)
No. 1

はじめに

これは「携帯遊戯機研究所(NDS LAB.)」のブログです。
携帯遊戯機研究所は主に任天堂DS関係の研究をしていますので、
その研究成果を記録するために始めました。
私は当研究所常勤研究員のアークです。よろしく。

研究テーマは主に任天堂のDS関係ですが、
GBAやPSP等の携帯ゲーム機も偶には取り上げる予定です。
但し、ゲームの攻略に関するような研究には関心がありません。
ここではDSで普通にゲームを楽しむのではなくDSそのもので遊びます。
当研究所は私の好奇心から生まれた発想を具現化したり、
DSとその周辺機器をモチーフにして色々と研究をしています。

しかし、残念ながら私には技術力がありませんので、
何か新しいものを生み出したりはできません。(多分)
その分、発想力でカバーしています。(^^;

ここでは既に有るものをカスタマイズしたり組み合わせたりして、
普通では無いちょっと変わった使い方を研究しています。
要するにDSのアブノーマルな使い方の研究をしています。
従って当研究所の研究内容は一般のDSユーザ向けではありません。

当研究所は初心者お断りという訳ではありませんが、
ここに書いてある事を実践する為には初心者卒業程度のスキルが必要です。
また、原則的に基本的な説明は省略しています。
管理人自身がHomebrewの研究・学習中の研究員であり、
レクチャ等をするような立場にありませんのでご了承ください。

日々研究に追われていますので全てにお答えする事はできませんが、
レポート内容へのご意見はコメント欄へお願いします。
但し、当研究所は初心者の救済を目的とはしていませんので、
ごく初歩的な質問にはお答えしません。
また、文面から未成年者と判断した場合はスルーするかも知れません。
一応、当研究所は未成年者お断りです。(実年齢ではなく…)

アブノーマルな使い方を研究・実験するからにはリスクが伴います。
発表前には動作テストをしていますが保障はできません。
レポートを読まれて実践される場合は自己責任でお願いします。
[No. 1] 2009/04/12(日) 未分類

| ホーム |
Page Top↑