R4DSにYSMenuを導入する。
● なぜYSMenu?
● 用意するもの
● YSMenuのメリット
● デメリット
● セットアップ
1.DSTT ファームウェアから「Fake Killerコード」を取り除きます。
(詳細は「”Fake Killer”コードを無効化(毒抜き)する。」ご参照)
2.YSMenuの準備
3.DSTTローダーの抽出、およびYSMenu、TTMenuフォルダのセットアップ
4.YSMenu.ndsのDLDIパッチと暗号化
5.YSMenu.iniの設定
(1) 自動起動フォルダの設定 (お奨めです。)
・ 以下の設定をすることで、YSMenu起動時にNDSフォルダの内容が自動表示され、他の
フォルダやファイルが表示されず、ファイル一覧画面が見やすくなります。
; Auto boot this file (default DEFAULT.NDS)
AUTO_BOOT= ⇒ AUTO_BOOT=/NDS/
(2) 「START」ボタン押下によるアプリケーションの起動設定 (あまり使わないかも…。)
・ 「START」ボタンを押下時のアプリケーション起動画面にアプリケーションを増やす設定
です。以下はMoonshell2の起動ボタンを増設する事例です。
・ EXT_APP1_FILEのAPP1をAPP2、APP3と定義することで、更にアプリケーションボタンを
増設できます。
; External Application (Start Button Menu) (文頭の「;」を削除するのを忘れずに!)
; EXT_APP1_FILE=/_DS_MSHL.NDS ⇒ EXT_APP1_FILE=/NDS/moonshl2.nds
; EXT_APP1_NAME=MoonShell ⇒ EXT_APP1_NAME=MoonShell2
(3) 上画面のファイル選択帯色とフォントカラーの変更 (お好みで)
・ ファイル選択画面の選択帯とフォントの色を変えて見やすくします。
[FILELIST]
; COLOR = BIT15 | BGR(5bit x3)
COLOR_PATH=0xFFFF
COLOR_FILE=0x8000 ← 一覧表示されるファイル名の文字色です。(黒?)
COLOR_FOLDER=0x800F
COLOR_SELECT=0xFC00 ← 帯色(紺色) ⇒ COLOR_SELECT=0xFDEF ← 薄紫
COLOR_SELTEXT=0x801F ← 文字色(赤) ⇒ COLOR_SELTEXT=0xFFFF ← 白
(4) DMA/リセットのデフォルト設定
・ DMA/リセットのデフォルトの設定値はそれぞれ有効と無効。R4でYSMenuから起動した
ゲームをソフトリセットするとフリーズするので、設定値を変える必要はありません。
(チートの有効/無効一括設定方法は、後記「7.メンテナンス」で解説しています。)
DEFAULT_DMA=true
DEFAULT_RESET=false
以上で基本のフォルダ/ファイルの準備は完了です。
6.microSDへの導入

※ microSDのフォルダ/ファイル構成は以下のようになっているはずです。

7.メンテナンス

8.操作方法


DMA:ダイナミック メモリー アクセス
NDS本体のCPUを介さずに直接メモリーにアクセスする手法です。(高速起動)
通常はチェックしておき、起動しないROMではチェックを外してみて下さい。
リセット:ソフトリセット(L+R+A+B+X+Y同時押し)の有効/無効切り替え。
R4DSで使用するとフリーズします。チェックを外しておいて下さい。
チート:チートコードの有効/無効切り替え
チェックを入れてYボタンかチート右横の□ボタンをタップすると、チート画面が
開き、チートコードを選択して有効/無効を切り替えられます。
- R4DSカーネルの更新が途絶え、最近のマジコン対策ROMはR4DS独自では起動できません。
そこで改めて注目されたのが「YSMenu」デス。
- 「3369 マリオ&ルイージRPG3!!!」がリリースされた際に、R4DSのカーネルでは起動しないことが確認されました。
- これはシリアルフラッシュチップが新しくなってコマンド体系が拡張されたことが原因ではないかと考えられますが、そうなるとR4DSのカーネルはコマンドをエミュレーションできないため、新しいコマンド体系に対応できません。
- しかしDSTTはH/Wの構造上拡張コマンドに対応できないものの、DLDIパッチとYSmenu+チートコードのセットで対応でます。
- これを応用して、R4DSにYSMenuを導入すれば、DSTTのローダーを使ってマジコン対策に対抗できるため、R4DSを継続使用することができるようになります。
- 「YSMenu概説」にYSMenuの概要を解説しておりますので、そちらも参考にして下さい。
● 用意するもの
- anti Fake killerパッチ (その他DSTT関連Tools)
http://boyakkey.cocolog-nifty.com/blog/2009/01/fake-002-1778.html
- IPSパッチプログラム(Winips)
http://smblabo.web.fc2.com/
- 最新のYSMenu
http://home.usay.jp/pc/etc/nds/
- r4tf.dldi、r4tf_v2.dldi
http://dldi.drunkencoders.com/index.php?title=R4TF
- R4DSカーネルの復号化/暗号化ツール(おまけ付き)
http://www.megaupload.com/?d=XZ71GUWL
- 最新の「infolib.dat」と「savlib.dat」
(「TTMen内のinfolib.dat xxxxまでの…」に両方含まれています。)
http://gamewiki.jp/uploader/dsm/
- S-JISフォントセット (DSTT v1.17のフォントをSJIS化したフルセットです。)
(wikiアップローダーのファイルが入れ替わっていました。コメントをいただいた『沙愛ママ』さん、ありがとうございました。)http://gamewiki.jp/uploader/dsm/src/dsm0085.zip.html
http://gamewiki.jp/uploader/dsm/src/dsm0234.zip.html
● YSMenuのメリット
- R4DSのカーネルの更新は期待できないが、YSmenuのベースになっているDSTT(DSTT Advace?)カーネルの更新が続く限り、今後リリースされるマジコン対策ゲームROMにも対応できる可能性が高い。
- 今までのゲームROM(〜.nds)、SAVEデータ(〜.sav)がそのまま使える。
- R4DSのカーネルに比較して起動が速い。
- ベースのDSTTカーネルで使用できないダメ文字が使える。
- SAVEデータのバックアップ/リストアができる。
- その他
● デメリット
- ソフトリセットするとフリーズする。
(DSTTとAK2(i)では同じファイル構成でソフトリセットできますので、R4DSではYSMenu本体に特殊な配慮が必要かもしれません。皇帝氏が作成されたreset.mseやR4DSオリジナルのreset.mse 、DLDIパッチも色々試しましたがダメでした。)
● セットアップ
1.DSTT ファームウェアから「Fake Killerコード」を取り除きます。
(詳細は「”Fake Killer”コードを無効化(毒抜き)する。」ご参照)
2.YSMenuの準備
(1) 最新のYSMenuアーカイブをダウンロードし、適当なフォルダに展開します。

(2) アーカイブを展開したフォルダにYSMenuフォルダを作成し、Fake Killerコードを取り
除いたDSTT ファームウェアからTTMENU.DATとTTMEMU.SYS、TTMenuフォルダを
コピーします。
(TTMENU.SYSは、なければYSMenu初回起動時に自動作成されます。)
(3) 用意したr4tf_v2.dldiをr4tf.dldiにリネームして配置します。
※ ここまでの作業でアーカイブ展開フォルダの構成は以下のようになっています。

(4) S-JISフォントのアーカイブから、以下の4つのファイルをYSMenuフォルダにコピー
します。
system.ank、system.fon、system.l2u、system.u2l
(5) 別途以下の3つのSkin(壁紙)ファイルを用意して、YSMenuフォルダに配置します。
(Slot-2からGBAゲームを起動しないなら、gbaframe.bmpは用意しなくてもOKです。)
YSMenu1.bmp、YSMenu2.bmp、gbaframe.bmp

(6) TTMenuフォルダに「reset.mse」と「ttreset.dat」を残してそれ以外のフォルダ/ファイ
ルを削除し、最新の「infolib.dat」と「savlib.dat」をダウンロードして配置します。

(2) アーカイブを展開したフォルダにYSMenuフォルダを作成し、Fake Killerコードを取り
除いたDSTT ファームウェアからTTMENU.DATとTTMEMU.SYS、TTMenuフォルダを
コピーします。
(TTMENU.SYSは、なければYSMenu初回起動時に自動作成されます。)
(3) 用意したr4tf_v2.dldiをr4tf.dldiにリネームして配置します。
※ ここまでの作業でアーカイブ展開フォルダの構成は以下のようになっています。
(4) S-JISフォントのアーカイブから、以下の4つのファイルをYSMenuフォルダにコピー
します。
system.ank、system.fon、system.l2u、system.u2l
(5) 別途以下の3つのSkin(壁紙)ファイルを用意して、YSMenuフォルダに配置します。
(Slot-2からGBAゲームを起動しないなら、gbaframe.bmpは用意しなくてもOKです。)
YSMenu1.bmp、YSMenu2.bmp、gbaframe.bmp
(6) TTMenuフォルダに「reset.mse」と「ttreset.dat」を残してそれ以外のフォルダ/ファイ
ルを削除し、最新の「infolib.dat」と「savlib.dat」をダウンロードして配置します。
3.DSTTローダーの抽出、およびYSMenu、TTMenuフォルダのセットアップ
(1) DSTTのTTMENU.DATとR4DS用のDLDIパッチ(r4tf_v2.dldiをリネームしたr4tf.dldi)
からR4用ローダーを作成します。
・ アーカイブ展開フォルダで「ttextract.exe」をダブルクリックして実行します。
・ コマンドラインで実行され、下の画面が表示されたら「Enter」キーを押して終了します。

・ 抽出された4つのファイルの内、以下の2つをYSMenuフォルダに移動します。
r4dldi.dat、r4patch.dat
(ttdldi.datとttpatch.datはDSTT用のローダー。R4DSには不要です。)

からR4用ローダーを作成します。
・ アーカイブ展開フォルダで「ttextract.exe」をダブルクリックして実行します。
・ コマンドラインで実行され、下の画面が表示されたら「Enter」キーを押して終了します。
・ 抽出された4つのファイルの内、以下の2つをYSMenuフォルダに移動します。
r4dldi.dat、r4patch.dat
(ttdldi.datとttpatch.datはDSTT用のローダー。R4DSには不要です。)
4.YSMenu.ndsのDLDIパッチと暗号化
(1) DLDIパッチ
・ YSMEnu.ndsはDSTT用に作られているので、R4で動作するようにr4tf_v2.dldiでパッチ
します。
(DLDIパッチの方法は「DLDIってなに?(DLDIパッチの当て方)」記事ご参照)
・ オリジナルのYSMenu.ndsをYSMenu_org.ndsとリネームし、パッチ後のファイルを
YSMenu.ndsとして保存します。
(2) 暗号化
・ R4DSはファームウェアを暗号化しないと動作しませんので、(1)でパッチした
YSMenu.ndsをr4crypt.exeとr4crypt.batを使って暗号化します。
・ ダウンロードしたr4crypt (with BAT).zipを展開すると以下のようなファイル構成になって
います。

・ (1)でDLDIパッチしたYSMenu.ndsを配置します。

・ r4crypt.BATをダブルクリックして実行すると、下図左のようなコマンドラインで実行
されます。「Action:」の右に「2」を入力して「Enter」キーを押します。(下図右)

・ r4cryptが実行されてコマンドラインが消え、暗号化された「_DS_MENU.DAT」が作成
されます。

・ 暗号化された「_DS_MENU.DAT」をYSMenuのアーカイブ展開フォルダに移動します。
※ ここまでの作業でアーカイブ展開フォルダの構成は以下のようになっています。

・ YSMEnu.ndsはDSTT用に作られているので、R4で動作するようにr4tf_v2.dldiでパッチ
します。
(DLDIパッチの方法は「DLDIってなに?(DLDIパッチの当て方)」記事ご参照)
・ オリジナルのYSMenu.ndsをYSMenu_org.ndsとリネームし、パッチ後のファイルを
YSMenu.ndsとして保存します。
(2) 暗号化
・ R4DSはファームウェアを暗号化しないと動作しませんので、(1)でパッチした
YSMenu.ndsをr4crypt.exeとr4crypt.batを使って暗号化します。
・ ダウンロードしたr4crypt (with BAT).zipを展開すると以下のようなファイル構成になって
います。
・ (1)でDLDIパッチしたYSMenu.ndsを配置します。
・ r4crypt.BATをダブルクリックして実行すると、下図左のようなコマンドラインで実行
されます。「Action:」の右に「2」を入力して「Enter」キーを押します。(下図右)
・ r4cryptが実行されてコマンドラインが消え、暗号化された「_DS_MENU.DAT」が作成
されます。
・ 暗号化された「_DS_MENU.DAT」をYSMenuのアーカイブ展開フォルダに移動します。
※ ここまでの作業でアーカイブ展開フォルダの構成は以下のようになっています。
5.YSMenu.iniの設定
- YSMenu.iniをメモ帳等のエディタで開き、以下のとおり編集します。
- 編集が終了したYSMenu.iniをYSMenuフォルダへ移動します。
(1) 自動起動フォルダの設定 (お奨めです。)
・ 以下の設定をすることで、YSMenu起動時にNDSフォルダの内容が自動表示され、他の
フォルダやファイルが表示されず、ファイル一覧画面が見やすくなります。
; Auto boot this file (default DEFAULT.NDS)
AUTO_BOOT= ⇒ AUTO_BOOT=/NDS/
(2) 「START」ボタン押下によるアプリケーションの起動設定 (あまり使わないかも…。)
・ 「START」ボタンを押下時のアプリケーション起動画面にアプリケーションを増やす設定
です。以下はMoonshell2の起動ボタンを増設する事例です。
・ EXT_APP1_FILEのAPP1をAPP2、APP3と定義することで、更にアプリケーションボタンを
増設できます。
; External Application (Start Button Menu) (文頭の「;」を削除するのを忘れずに!)
; EXT_APP1_FILE=/_DS_MSHL.NDS ⇒ EXT_APP1_FILE=/NDS/moonshl2.nds
; EXT_APP1_NAME=MoonShell ⇒ EXT_APP1_NAME=MoonShell2
(3) 上画面のファイル選択帯色とフォントカラーの変更 (お好みで)
・ ファイル選択画面の選択帯とフォントの色を変えて見やすくします。
[FILELIST]
; COLOR = BIT15 | BGR(5bit x3)
COLOR_PATH=0xFFFF
COLOR_FILE=0x8000 ← 一覧表示されるファイル名の文字色です。(黒?)
COLOR_FOLDER=0x800F
COLOR_SELECT=0xFC00 ← 帯色(紺色) ⇒ COLOR_SELECT=0xFDEF ← 薄紫
COLOR_SELTEXT=0x801F ← 文字色(赤) ⇒ COLOR_SELTEXT=0xFFFF ← 白
(4) DMA/リセットのデフォルト設定
・ DMA/リセットのデフォルトの設定値はそれぞれ有効と無効。R4でYSMenuから起動した
ゲームをソフトリセットするとフリーズするので、設定値を変える必要はありません。
(チートの有効/無効一括設定方法は、後記「7.メンテナンス」で解説しています。)
DEFAULT_DMA=true
DEFAULT_RESET=false
以上で基本のフォルダ/ファイルの準備は完了です。
6.microSDへの導入
- YSMenuアーカイブ展開フォルダから以下のフォルダとファイルをmicroSDへコピーします。
(使い回しのmicroSDをお使いの場合は、事前にPanasonic SD formatterでフォーマットしておかれることをお奨めします。)
※ microSDのフォルダ/ファイル構成は以下のようになっているはずです。
7.メンテナンス
- YSMenu本体が更新された場合
4.の『YSMenu.ndsのDLDIパッチと暗号化』を行って『_DS_MENU.DAT』を入れ替えて下さい。
YSMenu.iniも更新されているようなら、所要の更新を行って下さい。ttextract.exeが更新されている場合は、全て最初からやり直して下さい。
- DSTT(DSTT Advance?)のファームウェアが更新された場合
1.の『毒抜き』を行ってから、3.の『ローダーの抽出』を行って『YSMenu』フォルダのr4dldi.datとr4patch.datを入れ替えてください。TTMENU.SYSも更新されているようなら、これも入れ替えて下さい。
- 壁紙の変更
壁紙の変更は、『YSMenu』フォルダの『YSmenu1.bmp』と『YSmenu2.bmp』を入れ替えるだけです。
R4DSカーネルのbckgrd_1.bmpとbckgrd_2.bmpをリネームするだけでそのまま使えます。
- 『infolib.dat』、『savlib.dat』の更新
YSMenuを快適に使うためには、この2ファイルを更新を強くお奨めします。
- チートコード(usrcheat.dat)の配置/更新
『usrcheat.dat』(S-JIS)更新の都度、『YSMenu』フォルダに上書きして下さい。
(R4DSオリジナルカーネルとはフォルダが異なりますのでご注意下さい。)
- GBKでエンコードされたusrcheat.datは、『usrcheat.datのS-JIS変換方法』をご参照の上、S-JISに変換してからご使用下さい。
- チートのデフォルト設定
YSMenu.iniではチートの有効/無効を一括指定できません。このため、全てのゲームに対して初期値で有効にする場合は、「r4cce.exe」を使ってusrcheat.datを開き、「アイテム(I)」⇒「全ゲーム(A)」⇒ 「全ゲームをONに(1)」に設定して下さい。
- Moonshell2を使用する際の注意点
Moonshell2のソフトリセットを有効にする際は、暗号化する前のYSMenu.ndsにr4tf_v2.dldiでDLDIパッチしたものを『R4TF.nds』とリネームして\moonshl2\resetmseフォルダに配置して下さい。
(暗号化したものを使用してソフトリセットするとフリーズします。)
8.操作方法
- ゲームROMはNDSフォルダ(フォルダ名は任意)を作って格納することをお奨めします。
前述のYSMenu.iniの設定とも関連しますが、ゲーム一覧もすっきり見やすくなりますし、後日解説する「Moonshell2」のMP3ファイル等、他のファイルとカテゴリー分けできて効率よくファイル管理できます。
- 矢印ボタンでゲームを選び(上画面の紫の帯が上下します。)、Aボタンを押して起動します。
- SELECTボタンを押すと表示するファイルの種類が切り替えられます。
- 「〜.SAV」,「〜.BAK」ファイルを選んでAボタンを押すと、相互の形式へバックアップ/リストアできます。
- ファイルや空のフォルダを選んでXボタンを押すとそのファイル/フォルダ削除できます。
- ゲームを選択し、下画面の3つの項目をチェックして、有効/無効を切り替えます。
DMA:ダイナミック メモリー アクセス
NDS本体のCPUを介さずに直接メモリーにアクセスする手法です。(高速起動)
通常はチェックしておき、起動しないROMではチェックを外してみて下さい。
リセット:ソフトリセット(L+R+A+B+X+Y同時押し)の有効/無効切り替え。
R4DSで使用するとフリーズします。チェックを外しておいて下さい。
チート:チートコードの有効/無効切り替え
チェックを入れてYボタンかチート右横の□ボタンをタップすると、チート画面が
開き、チートコードを選択して有効/無効を切り替えられます。
以上です。