上記の広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書く事で広告が消せます。

YSMenu概説

1.はじめに
  • この概説はYSMenuとはそもそも何か?YSMenuが動作する概念、ファイル構成、自前で調達すべき資源と作業、必要なToolを理解していただくためのものです。
  • YSMenu導入作業の詳細は、別途マジコン別のYSMenu導入解説記事にさせていただきます。

2.登場の経緯と現状
  • Yasu氏が開発されたDSマジコン用の汎用ランチャー(カスタムメニュー)です。
 (下の画像をクリックすると、別窓でリンク先が開きます。)
  Yasu_YSMenu02.png
  • DSTTのメニューを、先行していたR4DSの使い易いメニューにしたいという多くのニーズを汲み取ってYasu氏がボランティアで開発されました。(感謝に堪えません。m(_ _)m)
  • その後R4DSのファームウェアの更新が途絶え、「マリオ&ルイージRPG3!!!」以降、R4DSでは起動できないROMが増えはじめ、R4DSユーザーは頭を抱えました。
  • そこで再び注目されたのがYSMenuです。元々はDSTT用のランチャーですが、DSTTのブートローダーにDLDIパッチを施してR4DSでもROMを起動できる仕組みになっています。
  • ベースのDSTTのブートローダーは、マジコン対策ROMに回避パッチを当てたり、チートの回避コードを適用することでマジコン対策ROMを起動できますので、R4DSにYSMenuを導入すればマジコン対策ROMが起動できる、という解決策が見いだされました。
  • 今後もDSTTのファームウェア(ブートローダー)が更新されてROMの起動率が改善されれば、R4DSのROM起動率もアップすることになります。
 【対応マジコン】:DSTT、AceKard2/ RPG/2i、R4i/R4 Ultra、R4DS/M3 Simply

3.ちょっと敷居が高いと感じるYSMenu
  • 汎用パッケージ故に以下の2点を自前で対応する必要があります。ちょっと敷居が高そうですが、YSMenuの構造を理解して作業すればそれほど難しいものではありません。
    (作業内容の詳細は、別途マジコン別のYSMenu導入解説記事にさせていただきます。)

(1) NDS-ROMブート(起動)ローダーの準備
  • マジコン毎に起動プロセスが異なりますので、マジコンに依存するブートローダーを持っていません。この為、DSTTのファームウェアからブートローダーを抽出して配置する必要があります。(AK2(i)で使用する場合は、AK2(i)のファームウェアから抽出します。)
  • 用意するもの:DSTT(またはAceKard2(i))ファームウェア
  DSTTファームウェア: http://www.ndstt.com/jp/download.html
  AceKard2(i)ファームウェア : http://www.acekard.com/download.php

さらにR4DSで使用する場合は、DSTTのブートローダーのままでは利用できませんので、R4DS用のDLDIパッチを適用します。

(2) YSMenu本体(YSMenu.nds)のパッチ処理
  • マジコンのmicroSDにアクセスできるように、YSMenu本体(YSMenu.nds)にマジコン別のDLDIパッチ(ディスクドライバ)を適用しなければなりません。
  • 用意するもの:マジコン別のDLDIパッチ
  DSTT用:「ttio_2.dldi」、http://gbatemp.net/index.php?download=4555
  R4DS用:「r4tf_v2.dldi」、http://dldi.drunkencoders.com/index.php?title=R4TF
  AceKard2(i)用:「ak2_sd.dldi」、AceKard2(i)ファームウェアの__ak2フォルダにあります。

  DLDIとは何か? ⇒DLDIとは?
YSMenu_動作概念図

4.YSMenuの構成
  • YSMenuのアーカイブを解凍後のファイル構成は以下のとおりです。(09.07.07現在)
YSMenu_archive
  • 最終的には以下のような構成に仕上げてmicroSDに配置します。
YSMenu_root

(1) ルートディレクトリに配置するもの

 A.YSMenu本体
  • YSMenu.ndsが本体です。マジコン別のDLDIパッチを施してファームウェアファイル名にリネームしてから配置します。
  • R4DSで使用する場合はファームウェアを暗号化しないと動作しませんので、DLDIパッチ後のYSMenu本体を暗号化します。(暗号化方法は別途R4DS用のYSMenu解説記事にさせていただきます。)
 B.TTMENU.SYS
  • DSTTのシステムファイルです。DSTTのファームウェアアーカイブに同梱されているものを使用します。ない場合はYSMenuが自動作成してくれます。
(2) YSMenuフォルダに配置するもの
  • ブートローダー
※ NDS-ROMを起動するプログラムです。YSMenuはマジコンに依存するブートローダーを
 内蔵していません。
※ YSMenuのアーカイブに用意されているローダー抽出プログラムを使って、各マジコンの
 ファームウェアから抽出します。詳細はマジコン別のYSMenu解説をご参照下さい。

♪ DSTT:ttdldi.datttpatch.datの2つがセットでブートローダーの役割を果たします。
♪ R4DS:r4dldi.datr4patch.datの2つ。上記のローダーにR4DS用DLDIパッチした
     ものです。
♪ AceKard2(i):akloader.nds

  • YSMenu.ini (環境設定ファイル:アーカイブに用意されています。)
    ・使用環境に合わせてカスタマイズするとより快適に使用できます。
  • フォント
    ・GBKフォントでもS-JISフォントでも動作しますが、GBKフォントでファイル名やチートに
     日本語を使用すると化ける文字がありますので、S-JISフォントをお奨めします
    ・フォントはsystem.fon/system.ank/system.l2u/system.u2lの4つがセットです。必ず同じ
     文字コードのセットでご使用下さい。
    ・異なる文字コードのファイルを混ぜると文字表示がおかしくなるだけではなく、想定外の
     エラーを引き起こしかねません。
  • usrcheat.dat (チートDB:ゲーム改造コード)
    ・YSMenuのフォントに合わせたエンコードが必要です。
    ・GBKフォントで作成されたusrcheat.datをS-JISに変換するには『r4cce.exe』の使用をお奨
     めします。
  • Skin (壁紙)
    ・「YSMenu1.bmp」が上画面、「YSMenu2.bmp」が下画面、「gbaframe.bmp」がGBA
     ゲーム用のフレームです。
    ・YSMenu1、2.bmpはR4DS用Skinの「bckgrd_1、2.bmp」を加工して使用できます。

(3) TTMenuフォルダに配置するもの
  • infolib.dat
    ・DSTTは、ゲームROMを起動する際に自動的にパッチを行っています。どこをどのように
     パッチするか、起動する度に解析してパッチ方法を決定しますが、infolib.dat に登録され
     たタイトルは、この解析を行わず、登録されたパッチを行うため、高速に起動できます。
    ・最新のROM情報を登録したinfolib.datが公開されていますので、定期的に更新することを
     お奨めします。
  • savlib.dat
    ・DSTT(YSMenu)は、ゲームROM起動時にセーブファイルが存在しないと自動的に作成
     します。
    ・自動作成されるセーブファイルのデフォルトのサイズは512KBですが、ゲームによっては
     固有のサイズでないと正常に動作しないものがあります。
    ・savlib.datにセーブサイズを登録しておくと、必要とされるサイズでサーブファイルを作成
     します。
    ・最新のROM情報を登録したsavlib.datが公開されていますので、定期的に更新することを
     お奨めします。
  • reset.mse
    ・DSTT(YSMenu)がソフトリセットされると、ttreset.datが起動してreset.mseを呼び出
     していると推測します。
    ・reset.mseは指定されたファームウェアを起動し、リセットが完了するようです。
    ・R4DSでYSMenuをソフトリセットするとフリーズします。DSTTとAK2(i)では同じファイル
     構成でソフトリセットできますので、R4DSでは特殊な配慮が必要なようです。
    (皇帝氏が作成されたreset.mseや他のreset.mse 、DLDIパッチも試しましたがダメでした。)
  • ttreset.dat
    ・ソフトリセットすると最初に起動するプログラムです。
    ・reset.mseとセットで機能していると思われます。

【なぜDSTT/R4用のブートローダーが2ファイルに分かれて、AK2(i)用は1ファイルなのか?】
  • NDS-ROMはマジコンのハードウェアとブートローダーによって起動されます。
  • AceKard2(i)はハードウェア構造上の拡張性が高いため、YSMenuのような自作プログラム(Home brew)を動作させるのに特別は措置を必要とせず、ファームウェアからブートローダー(akloader.nds)を抽出して配置するだけで動作すると推測します。
  • このH/Wの優位性によって、AceKard2(i)非公式ファームウェアのAKAIOは、ローダーを更新するだけでマジコン対策ROMの起動を可能にしていると思われます。
    (AKAIOも自作プログラム(Home brew)です。)
  • 逆に、DSTT/R4DSは、AceKard2(i)がH/Wでカバーしている自作プログラム(Home brew)のロードプロセスをS/Wで対応をしなければならず、xxpatch.datがROMをロードする度に、xxdldi.datでパッチしているのではないかと推測します。
    (前述の「infolib.dat」の機能とも関係していると推測します。)

                                     以上です。

theme : ニンテンドーDS
genre : ゲーム

comment

Secret

プロフィール

えびすめ

管理人:えびすめ
えびすめのブログへようこそ!
速報性より正確性、詳細性を重視
しています。
【ご注意】
あくまでも管理人の環境で実践・
検証した内容です。記事の内容を
全ての方に保証する訳ではありま
せん。

ブログ内検索
最新記事
カテゴリ
全記事表示リンク

全ての記事を表示する

月別アーカイブ
最新コメント
最新トラックバック
What's time ? … ↓
ブログパーツ『SkyClock』:http://flash-scope.com/
カレンダー
プルダウン 降順 昇順 年別

08月 | 2010年09月 | 10月
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -


メールフォーム
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
RSSリンクの表示
リンク
アクセスカウンター