トップページ | 2008年3月 »

TTMENU.DAT for acekard R.P.G

GBALoaderのソフトウェアリセット後に、ブラウザが起動しないのが、やっぱり悔しいので、初期化処理を追加したTTMENU.DATを用意してみた。

TTMENU_RPG_v01

TTMENU.DATをGBALoaderの格納されたメモリ(NANDまたはmicroSD)のルートディレクトリにコピーしておくことで、GBALoaderのソフトウェアリセットによって、このTTMENU.DATが呼び出されます。TTMENU.DATは最低限の初期化処理を行って、NANDのakmenu4.ndsを再ロードします。
ブートローダーの吸い出しも不要で、ブラウザはクリーンROMのまま起動できるようになりました。
もしかしたら、GBALoaderのソフトウェアリセット後に起動しないタイトルも動くかも?

しばらくお休みのつもりでいたんですけど・・・なんだか中途半端なことばかりで、落ち着かない。
これで少しお休み・・・できるかな?

| | コメント (12)

まだあったダメ文字?・・・acekard R.P.G

akmenu407で2バイトコードにおける2バイト目が0x5C,0x7Cとなる「ソポ問題」が解決され、akmenu408も出て、ホッとしていました。ところが、新たなダメ文字?が見つかってしまいました。

今度は、

蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍
乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷
蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶
蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄
裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞

の、いずれかの文字をファイル名の先頭の文字に使うと、表示されないという不具合です。

これらの文字は、2バイトコードの1バイト目が、0xE5 になります。
ディレクトリエントリのファイル名の先頭が、0xE5 となるわけですが、この 0xE5 には、削除済みという意味があるため、Windowsでは、このコードを 0x05 に置き換えてディレクトリエントリを構成します。
acekard R.P.G で使用している libfat は、本来ならば、0x05 を 0xE5 に置き換えてローカルコードにしなければならないのですが、この処理が抜けていて、無効なディレクトリエントリとして扱ってしまい、その結果、ファイルとして表示されないという現象になってしまいます。

パッチ修正では、困難です。ソースコードを修正すれば対応できる話ですけど・・・。
滅多に使わない文字(第二水準、JIS 73区)だし、これら文字が先頭になければ問題ないので、ちょっと保留。

moonshellでも表示されないので、他のマジコンも同じだろうなぁ・・・と思って、CycloDS Evolutionで試してみたら、ちゃんと表示されるんです。それにセーブファイルも作成されます。こんな細かいところまで気が付いて libfat を修正しているんだぁ、と関心。
(ロングファイル名のエイリアス名は、ちょっと変だけど、使えない訳ではないので、TeamCyclops には脱帽です)

| | コメント (0)

GBALoader(EWIN Expansion PAK/GBA & EXPLORER 2in1)覚え書き

GBALoader_V16J01(GBALoader v1.6の日本語化ipsパッチです。Winipsでオリジナルにパッチする必要があります)

1. 概要
GBALoader V1.6に対して、日本語文字フォント(M+Bitmapフォント)を組み込み、日本語化しています。
パッチ領域の関係で、半角カタカナが入っていません。ファイル名に半角カタカナを使用するとWindows等で操作できないセーブファイルができる場合がありますので、半角カタカナをファイル名に使用しないようにしてください。
一般的に言われるダメ文字(ソ、ポ等)の対応をしていますが、これ以外は、文字フォント、文字コードテーブル、メニュー等の表示文字と言ったリソースの入れ替えしかしていませんので、GBALoader V1.6が固有で持つ機能に変更はありません。

2. ソフトウェアリセット
GBALoader のソフトウェアリセット(SELECT, L+R, GBA連動)は、_DS_MENU.DAT(R4/M3Simply)、または、TTMENU.DAT (DSTT)の再読込が行われることで実現しています。
R4/M3Simply/DSTT以外の場合、再起動用プログラムをTTMENU.DATとしてGBALoaderの格納されているルートディレクトリに用意することで、ソフトウェアリセットが可能となります。

(1) CycloDS Evolutionの場合
CycloDS Evolution用moonshell(release3)に同梱されている、reset.mseを改造したものを用意します。
・reset.mseをTTMENU.DATとしてmicroSDのルートディレクトリにコピー
・このTTMENU.DATをバイナリエディタで、 0x00011224 からの 0x43,0x45,0x56,0x4F を 0x00,0x00,0x00,0x00 に変更
これにより、ブラウザ起動、GBA連動が可能になります。
ただし、CycloDS Evolutionメニュー内のバージョン表記が乱れます。他に問題があるかもしれませんが、把握できていません。

(2) acekard R.P.G の場合
NDS_Backup_Tool等で、バックアップしたブートローダをTTMENU.DATとしてNANDメモリまたは、microSDのルートディレクトリに用意することで、メニューに戻ります。
akmenu4.ndsをTTMENU.DATにリネームしてもメニューに戻ることが可能ですが、NAND/microSD間の移動ができなくなる場合があります。
この方法でメニューに戻ってGBA連動は可能ですが、ブラウザ起動はできません。
(→ソフトリセット後、ブラウザ以外にも起動しないタイトルがあることが判明しています。)
ブラウザを起動させるためには、GBALoader以外の手段で、EWIN Expansion Pakをブラウザ用拡張RAMとして設定する必要があり、次のような方法があります。
・ブラウザ側にパッチを当てる
・GBALoader以外の設定プログラム(このプログラムは、ブラウザ設定をしてreset.mseまたはSoftReset.DLDIでメニューに戻るだけのプログラムです)でEWIN Expansion PAKを設定する。(この方法は、ブラウザに対するパッチは不要ですが、電源投入後、ブラウザを起動する前に実行させる必要があります)


3. その他
(1) DSTTにおけるSDHCカードの問題
DSTT (~1.08まで、以降のバージョンでは判りません)では、ブートローダーが起動時にmicroSDかmicroSDHCかをメモリ領域に判別情報を記録し、TTMENU.DATを起動します。TTMENU.DAT内のDLDIドライバは、この判別情報に基づき動作するだけで、DLDIドライバ内でmicroSD/microSDHCの再判別を行っていません。

GBALoader_V16J01は、ソフトウェアリセット時に、この判別情報領域をクリアしているため、GBALoaderに対してTTMENUによってパッチされるDLDIドライバが、microSDHCをmicroSDと誤認識し正常動作しなくなるという問題を持っています。

GBALoader_V16J01_dstt_sdhc(ipsパッチデータです。Winipsでオリジナルにパッチする必要があります)
・SDHCに特化したDSTT用DLDIドライバを組み込み(microSDで使用すると誤動作します)
・DSTTのDLDI Auto Patchが効かないように対応
・再起動時に読み込むファイルをTTMENU.DATからBTLOAD.DATに変更
(各自でバックアップしたDSTTのブートローダーをBTLOAD.DATとして用意する必要があります)

(2) GBA連動
連動可能なタイトルは、限定されるようです。

| | コメント (29) | トラックバック (1)

引っ越しました

黙ってヤフーからこちらにに引っ越してしまいました。
ご迷惑をかけた方々には、心よりお詫び致します。

いろんな嘘や噂がありますが、単にあちらのシステムがセキュリティやいろいろな面で使いにくいというのが大きな理由です。
こちらに引っ越したからと言って、しばらく様子見です。
(また、勝手に黙って引っ越すかもしれません。根っからの我が儘ですから・・・)

以前、acekardやcyclods等の公開していたファイルをどのように再公開するかは決めていません。
私の代わりにファイルを扱うという方がおられるなら、ご自由に利用・配布して頂くことは構いません。
ただし、無保証ですから、ご理解の上、お願いします。

あと、しばらくは多忙ゆえ、活動は休止します。

・・・・・・・・・
とりあえず、これだけ置いておきます。
添付ファイル内のメールアドレスは古いままです。メールは届きませんのであしからず。

・acekard R.P.G
akmenu4.08修正ファイル
「akmenu408_release_20080202_patch.zip」
RPG用チートデータ作成ソフト
「RPGccs01.zip」
「RPGccs01_src.zip」 ← ソースコード(公開が漏れていました)


・EWIN Expansion PAK
GBALoader v1.6日本語版 (IPSパッチデータのみです。Winips等でオリジナルにパッチするデータです)
「GBALoader_V16J01.zip」
「GBALoader_V16J01_dstt_sdhc.zip」 ← DSTT&SDHC専用


・CycloDS Evolution
チートコードコンバータ (R4ユーザーチートをEvo用チートに変換するソフト)
「R4toEvo_v02.zip」 Ver.upのため、削除しました。2008/4/3
「R4toEvo_v02_src.zip」 ← ソースコード Ver.upのため、削除しました。2008/4/3
チートエディタ1.0Beta2の日本語化パッチ
「CheatEditor_1_0_Beta2_JPN_PATCH.zip」

| | コメント (2)

トップページ | 2008年3月 »