ポケモン連動?


DSポケモン ダイヤモンド・パールとGBAポケモン ルビー・サファイア・エメラルド・・・を連動させて、GBAからDS側にポケモンを連れてこれる。ポケモン大好きな人には嬉しいのでしょうが、マジコンでやる必要性が理解できずにいます。
GBAからDSに連れて来ると、GBAカートリッジから消えてしまうのが嫌だ、というんですけどね。catface

cory1492さんのpokepatchを実施したダイヤモンド・パールと、EZ3in1のNORに転送したGBAポケモンとの連動が可能のようですし、acekard2/R.P.Gもblissさんのakmenu4でEZ3in1のPSRAMまたはEwin Expansion Pakもサポートしているようですし、M3DS RealもGBA Expansion Pack等を使ってできるらしいですし、Supercard DS oneもSupercard miniSD等できるらしい。
・・・調べると結構あるものです。

使用用途が良くわからないけど、Ewin Expansion Pak(GBA Explorer 2in1)用のダイヤモンド・パールのパッチプログラム(Win32コンソールアプリ)を作ってみました。(blissさんが公開されていたacekard R.P.G用ソースコードを参考にさせて頂きました)
GBA_Loaderまたは、皇帝様のGBA_ExpLoaderでGBAポケモンを転送してから、パッチ済みダイヤモンド・パールを起動すると連動が可能になります。
作ったのはいいけれど、何かにつけ問題になりそうな感じなので、一般公開は保留です。

ダイヤモンド(ヘッダCRC:0x3F8D0732)しか、所有していないので、他のバージョンの物やパールで、正しくパッチできるのか、わかりません。
また、CycloDS Evolution+ Ewin Expansion Pakの組み合わせでしか確認していません。
こんなパッチツールでも良いから欲しいという人は、所有しているダイヤモンド・パールのカートリッジとGBAポケモンのカートリッジを1枚の写真に撮って、メールに添付して頂ければ、折り返し、ツールを差し上げます。
ただし、動作保障はありませんし、あくまでも個人で楽しむだけでWiFi等で他の人と通信しないというお約束を守って頂けるという条件付きです。coldsweats01

| | コメント (0)

GPS

近所の中古屋さんでPSP-290を買ってしまいました。
PSP用のSiRF-StarⅢを採用したGPSユニットですが、DSのSlot2に付けることができれば楽しいかも?と、衝動買いです。

妄想の合成写真(任天堂とSCEのコラボレーション?!)

PSP-290がUSBホストとなり、PSP本体がデバイスとして動作することは、判っていました。
きっと、USBは単にCommunication Device Classで、NMEAのデータを垂れ流しているだけだろう、なんて安易に考えていましたが、浅はかでした。
調べてみると、独自のUSBプロトコルを使っていて、解析は大変・・・。
さらにもう一つ、Slot2に接続した場合のGPSアンテナの位置だと、DS本体からの放射電界強度が強すぎて、GPSの電波が取れないということも判明。
・・・保留・・・weep

| | コメント (0)

DS Lite用電池

なんだか久しぶりに更新。ここって、記事をアップしていないとアカウントが無くなってしまうんですよね。気をつけねば・・・

書くこともないのですが、電池ネタを。
DS Lite用として、互換電池が出ています。価格は400円前後から1000円前後。
純正品が2000円なので安いというのが売りなんでしょうけど。
容量表示されている値は、どうも怪しい。
面白そうなので、とりあえず、いくつか電池を集めて放電特性を調べてみました。


①あるところで¥380で投売りしていた1000mAh(ドライバ付属、箱なし)
純正品と同じ型番?

②D社製1200mAh

③メーカー不明の1600mAh

④R社製1200mAh

⑤N社製1000mAh


メトロイドプライムピンボールを、画面輝度最小、音量最小、25℃環境でデモ実行
(振動パックは付けていません)
25℃環境で充電を行ったのち、満充電状態から、シャットダウンするまでの電圧を記録
何度かこれを実施して、良かった結果のみを記録
※あくまでも、私が入手した電池の話で、固体差までは確認できません。
※絶対的な時間は、電池の活性化状態や、DS本体の状況により変化します。

●計測結果

N社純正品は、ほぼ期待通り。
純正品以外も、期待通り(?)に怪しい結果に・・・。価格相応ということで期待しない方がよさそう。
ただ、予想外に¥380の1000mAh互換電池が健闘。当たりを引くこともあるんですね。

DS Lite本体のLEDは、およそ3.65Vくらいで緑から赤に変わります。このあたりで電圧が急激に落ち込み、一気にシャットダウンまで行きます。
バックライトを最高に明るくした状態だと、この放電特性も変わってきます。

N社純正電池動作の連続動作時間が2倍くらいになる電池があったら欲しいなぁ。

| | コメント (0)

Cheat Converter for CycloDS Evolution

R4用チートデータをCycloDS Evolution用のチートデータに変換するソフト(R4toEvo_v02)で、一つのタイトルのチートコードサイズが約64kバイトを超えると、アプリケーションエラーとなってしまうことが判明し、修正しました。

R4toEvo_v03
R4toEvo_v031 5/1 : 不具合修正、更新しました。

あと、ソースコードが必要な人は、アーカイブのリンクからからダウンロードしてください。

| | コメント (1)

reset.mse for acekard2

公式に置いてある、MoonShell for AK2 のリンクをよく見ると、実は、acekard R.P.G用なんですよね。
付属している reset.mse も皇帝様作成された 06b そのものなので、R.P.GではOKですが、AK2では、リセットができないという問題があります。
R.P.Gと同じように、IOインタフェースが公開されていれば、それを組み込んでしまえばいいのですが、公開されていないので、やむを得ず、DLDI対応し、DLDIパッチをしたものを作成してみました。
(libfatにしてしまったため、ファイルサイズが肥大化するし、初期化のため遅くなるし...)
とりあえず、acekard teamが正式版を作成されるまでの中継ぎとして、お使いください。
(moonlight様、皇帝様、ソース公開ありがとうございます)

reset_mse_06b for ak2
解凍後、reset.mse を /moonshl/plugin フォルダにコピーしてください。

余談ですが、/moonshl/moonshl.iniの
[System]
....
NDSLiteDefaultBrightness=4
のあとに、
StartButtonExec=1
を追加しておくと、STARTボタンでソフトリセットが可能になります。

おまけ・・・
GBALoaderのソフトリセットに対応する、acekard2用TTMENU.DATです。

| | コメント (3)

GBA Expansion Pack

超初心者用acekard使用方法のDSブラウザ使用方法に、このブログへのリンクが張られているんですね。
(リンクそのものは、構わないけど、そこの説明と、このブログで書いていた内容が一致しないからなぁ・・・それとも違う意図でリンクしてくれたのかなぁ・・・)
説明によれば、GBA Expansion Pack(M3DS REALオプション)用ブラウザパッチは、G6Lite用を使えば、”ウマー”だそうですけど、”ウマー”なのは、M3DS REAL(M3R)を使った場合に限った話で、残念ながら、M3R以外では動作させることができません。

G6 Liteとは、仕様が異なる部分があるため、専用のパッチ対応が必要です。(M3DS REALに同梱される、Rumble RAM Packは、acekardでも、G6 Lite用で動作します)
使いたいという方(そんな人はいないと思うけど)のために日本語版ブラウザ用ipsパッチを置いておきます。
(皇帝様のGBA_ExpLoaderでソフトリセットが使えれば、パッチする必要はありません)

GBA Expansion PackのSDRAM初期化やRAM有効・無効を C言語で書くと、こんな感じになります。
(興味のある人に・・・参考まで)
もしかしたら、解析結果が間違っているかもしれません。ご指摘くださる人がいれば、いいなぁ。

| | コメント (0)

遅ればせながら、acekard2入手

takeruさんのご尽力により、acekard2に文字フォント・文字コードとして、acekard R.P.G用に用意していたものが含まれました。(でも、R.P.G用akmenu4は、更新されず・・・?)
acekard2を所有していなかったので、確認ができていませんでしたが、遅ればせながら、acekard2を入手したので、早速、文字コードの確認を。

acekard2用akmenu407(4.07a2)では、R.P.Gのバージョンと一緒ならば、文字コードの対応が一通り終わったはず(0xE5問題を除いて)・・・と、ワクワクしながら見てみると・・・日本語ファイル名・・・あれ?直っていない。

(1) 0x5C,0x7C問題 → 起動できない。”メディアの容量が不足しているので、ファイルをコピーできません”・・・?? microSDの容量は余っているけど・・・
(2) 第二水準文字表示 → 文字フォント参照計算が間違っているので、メチャクチャ
(3) 半角カタカナ → 表示されず
(4) 0xE5問題 → 表示されず

結局、acekard2のakmenu407は、acekard R.P.Gのakmenu406相当であることが判明。
パッチしないと日本語ファイル名でいろいろトラブルが発生するんだろうなぁ。(使わなければいいだけですけど)
あえて、日本語ファイル名を使いたいという場合は、

(1) 0x5C, 0x7C対策
5C 2F 3A 3B 2A 3F 22 3C 3E 7C 26 2B 2C 3D 5B 5D を探して、この先頭の5C00に変更
5C 2F 3A 2A 3F 22 3C 3E 7Cを探して、この先頭の5C00に変更
それぞれ2カ所あり、合計4カ所を変更。(前半の2つは、変更しなくてもよい)

(2) 第二水準文字違い
A0 68 08 18 10 BC 02 BC 08 47 0B 1C 35を探して、この最後の3534に変更
53 00 9B 18 9B 00 99 18 E6 E7 0B 1C 3Eを探して、この最後の3E3Fに変更
合計2カ所を変更

(3) 半角カタカナ
00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0A 3E 00 7F 00
F7 80 EB 80 EB 80 C1 80 DD 80 7F 00 3E 00 00 00 00 00 00 0A 3E 00 7F 00 C3 80 DD 80 C3 80 DD 80

を探して、この先頭から、0x1800バイトに __ak2\language\lang_jp\local.ank を上書き。

(4) 0xE5問題
大変なので保留coldsweats01

以前、作成していて、もう要らないと思っていたけど・・・。このパッチが面倒な人向け用パッチプログラムです。
Win32コンソールアプリなので、コマンドプロンプトから実行します。
解凍後、解凍したフォルダに移って

akpatch akmenu4.nds

と実行すると、akmenu4.ank と akmenu4.patch という2つのファイルができます。akmenu4.ankは、半角カタカナフォントまで含めたもの。akmenu4.patchは、半角フォントを含めないものです。どちらかを、akmenu4.nds とリネームしてmicroSDに入れてください。(お好きな方をどうぞ)
このソフトは、以前、やっつけで作成したものです。基本的に無保証ですので、自己責任でお使いください。
あと、0xE5問題はパッチしていません。

追記:
4.07a5
・同じ問題が残っています。
・lang_jpに限って言えば、language.txtとlocal.fonが更新されています。

----
と、ここまでは、公式リリースのakmenu4の話

blissさんのakmenu4がフォーラムにリリースされていますね。(この記事作成時点では、ak2_407_bliss_k02 です)
こちらは、akmenu4.ndsに対してパッチは不要です。(blissさん作成のakmenu4の方が公式より出来がいいような感じだなぁ...)
ちょっと変更するならば、公式リリースに同梱されている、lang_jpフォルダのlocal.fonとunicode.l2uを差し替えるくらいかな(半角カタカナや全角記号をファイル名に使わなければ差し替える必要もありません)。それと、language.txtは、はみ出したりするので、各自編集された方がいいかも。
参考までに、takeruさんのlanguage.txtに対して、blissさんのカーネル用に少し手直ししたものをここにおいておきます。(文字化けしたら、ブラウザのエンコードをシフトJISにして再読込してみてください)

----
文字の字体は、もう少し、なんとかしたいなぁ。

| | コメント (0)

EWIN GBA Loader v1.6 - ちょっと変更

なかなか、バージョンアップされません。EWINも修正してくるだろうと、待っていましたが・・・

暫定的にGBA Loader v1.6をDSTTで動作させるため、SDHCに特化したDLDIドライバを組み込んで、別ソフトにしていました。ただ、同一ソフトでSD/SDHCの両方を対応したいという人には不便です。

日本語化パッチ済みの(SDHC特化版ではない普通の)GBALoaderをバイナリエディタで開いて、
00029CE0 からの 02 9C 01 9A に変更して保存すれば、その修正したGBALoaderは、SDHC/SD兼用として、DSTTで使用できます。(必ず、上書きモードで編集してください)
これでもOKですけど、面倒という場合は、GBALoader_V16J02(ipsパッチ)を用意してみました。オリジナルは、各自用意してください。
(ipsパッチも面倒といえば、面倒だけど・・・。こちらは、SDHC/SD兼用パッチと、ちょっと英小文字の下が切れてしまって見づらい点の修正です)

ただ、これをやると、CycloDS Evolutionでは、パッチ前には動作したNDS-GBA連動が動作しなくなることを確認しています。対策用にTTMENU.DAT for CycloDS Evolutionを作成してみました。このTTMENU.DATは、microSDのルートディレクトリに入れておいてください。
尚、公式サイトで配布されているmoonshellに付属するreset.mseが必要です。moonshellをインストール済みでしたら、そのままで構いません。moonshellをインストールしたくない場合は、最低でもreset.mseだけは、ルートディレクトリにコピーしておいてください。(CycloDS Evolutionでバージョン表記がおかしくなっていましたが、正常な表示になります)

acekard R.P.Gは、 TTMENU.DAT for acekard R.P.Gがそのまま使えます。

皇帝様のGBA_ExpLoaderの方が高機能だから、こちらは、使われることも無さそうだけど、使えるツールはいくつあってもいいものねhappy01
でも、SRAMの使い方には互換性がないから併用する場合は気を付けてくださいね。

| | コメント (0)

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連動
連動可能なタイトルは、限定されるようです。

| | コメント (11) | トラックバック (0)

その他のカテゴリー

その他 | ゲーム