改造の館 暫定掲示板
Mednafen 【PSX】だけ、ベースアドレスの設定(検索指定) - sukusuku
2021/08/25 (Wed) 20:26:48
マルチエミュレーター
Mednafen
入手先 https://mednafen.github.io/
マルチエミュなのにPSXだけですが…検索指定でベースアドレス検索してみました。
アプリケーション名:自由に設定してください
プロセス名: mednafen.exe
エンディアン: リトル
設定方法: 検索指定
検索値: 00001A3C800C5A270800400300000000
差分: -128
サイズマスク: 0
検索範囲: 40000000
アドレス設定: $0,$200000,0
64bitの1.26.0と1.26.1の2バージョンだけですが、複数回再起動して動作確認いたしました。
多分32bitでも大丈夫じゃないかと思うのですが、確認していないので、どなたか検証いただけるとありがたいです。
Re: Mednafen 【PSX】だけ、ベースアドレスの設定(検索指定) - Nobu
2021/08/26 (Thu) 15:46:49
sukusuku様、
TW人様、
こんにちは Nobuです。
> Mednafen 【PSX】だけ、ベースアドレスの設定(検索指定)
☆ Mednafen-1.27.1 win32 / win64
☆ ePSXe v2.0.5
☆ XEBRA 210423d
上記の
PSエミュレーターで動作状況を確認したところ
XEBRA 210423dのみが、動作を確認出来ませんでした。
> 00 00 1A 3C 80 0C 5A 27 08 00 40 03 00 00 00 00
こちらの環境で
上記の検索値を、任意検索(リージョン検索)指定で調べてみたところ
各エミュレーターのメモリー配置が違うため
上手く動作ません
sukusuku様、TW人様のコメントを参考に
検索範囲の数値をいじてみたのですが
私の理解不足のため
『ベースアドレスが見つかりません』と、
MECCツールが、エラーを返してきます
私には、かなり難易度が高いです・・・???
P.S.
XEBRA 独自BIOS 起動の場合は、
> 00000080 00 00 1A 3C 80 0C 5A 27 08 00 40 03 00 00 00 00
上記の検索値は使えない様です
XEBRA SCPH-7500番台 BIOS 起動 (メモリー配置数値)
00 00 1A 3C 80 0C 5A 27 08 00 40 03 00 00 00 00
XEBRA 独自BIOS 起動 (メモリー配置数値)
00 00 1A 3C 4C 0C 5A 27 08 00 40 03 00 00 00 00
5桁目のみが違いました。
Re: Mednafen 【PSX】だけ、ベースアドレスの設定(検索指定) - sukusuku
2021/08/26 (Thu) 18:37:51
Nobu様 こんにちは^^sukusukuです
検証いただきありがとうございますm(_ _)m
複数エミュでという事なので…
Mednafen 1.26.1
ePSXe v2.0.5
XEBRA 210423d
PCSX2 1.7.0-1592
で、メモリ配置を眺めてみました
00000060 02 00 00 00 00 00 00 00 FF 00 00 00 00 00 00 00
↑の行が4つとも同じでした。
という事で、ココを使うってのはいかがでしょうか?
アプリケーション名:自由に設定してください
プロセス名: それぞれのエミュ
エンディアン: リトル
設定方法: 検索指定
検索値: 0200000000000000FF00000000000000
差分: -96
サイズマスク: 0
検索範囲: $2000000
アドレス設定: $0,$200000,0
これでいけるのではないかと思います。
検索値に関してですが、どのゲームでも同じメモリ配置になってるトコならどこでも使えますので、エミュによって変えていただくのも良いかと思います。
ただ今回の場合は、エミュが同じでもBiosによって変わるトコでもあるので、違う場所を選んでしまうのが良いかと思い別の場所にしてみました。
検索範囲ですが、リージョン検索で検索した時のアドレス一覧が出る時のサイズ以上にしとけば間違いないかと思います。
検索値で、リージョン検索した場合に、一番目に検索されたアドレスをベースアドレスにするというのがあるので、必ず1つ目の検索結果のアドレスが設定したいアドレスの場合は、検索範囲はでかくても問題無いです。
検索範囲は重要になってくるのは、リージョン検索した場合に2番目に出てくるアドレスをベースアドレスにしたい場合に重要になってきます。
リージョン検索で出たアドレスが下記のような場合だったとします
アドレス サイズ 検索件数 メモリ領域(これは表示されません)
$00000000 &02000000 1 00000000~02000000
$04000000 $01000000 1 04000000~05000000
検索で出たアドレスが下記の通りだったと仮定してください。
1つ目 00250000(メモリ領域$250000byte目)
2つ目 04000500(メモリ領域$500byte目)
このような状態の時に、検索範囲を$24FFFF以下(例えば$1000)にすると、2つ目のアドレスがベースアドレスに設定されます。
理由としては、$1000の場合メモリ領域の頭から$1000byte、までしか検索しませんので、1つ目は検索範囲に入らないからです。
検索結果が多い検索値を選択した場合等は、このあたりの工夫が大事になります。
わかりやすく簡潔な説明が思いつかなかったので、このような説明になってしまってすみませんm(_ _)m
とりあえず練習に何か適当なエミュで、検索値を探すトコからやってみてはいかがでしょうか?
説明をしっかり読むとかよりも、とりあえず適当に読んでからやってみるってのが良いかと思います。
やっぱ実践に勝るものはないかと思うので^^
難易度はそんなに高くないと思います、難しいと思わず慣れだと思ってやってみてくださいw
Re: Mednafen 【PSX】だけ、ベースアドレスの設定(検索指定) - Nobu
2021/08/26 (Thu) 21:47:47
sukusuku様 こんにちは Nobuです。
> 検索値: 0200000000000000FF00000000000000
上記の、検索指定で確認したところ
☆ Mednafen-1.27.1 win32 / win64
☆ ePSXe v2.0.5
こちらの環境(Win10 ver.21H1)でも、動作を確認しました!!
☆ XEBRA 210423d ついては、
> アドレス サイズ 検索件数 メモリ領域(これは表示されません)
> $00000000 &02000000 1 00000000~02000000
> $04000000 $01000000 1 04000000~05000000
> 検索で出たアドレスが下記の通りだったと仮定してください。
> 1つ目 00250000(メモリ領域$250000byte目)
> 2つ目 04000500(メモリ領域$500byte目)
> このような状態の時に、検索範囲を$24FFFF以下
> (例えば$1000)にすると、2つ目のアドレスがベースアドレスに設定されます。
sukusuku様のご説明通りに、
検索範囲を設定したところ
> 検索値: 00001A3C800C5A270800400300000000
> 検索値: 0200000000000000FF00000000000000
共に
こちらの環境(Win10 ver.21H1)でも、動作を確認しました!!
詳しくご解説いただきありがとうございました。
> とりあえず練習に何か適当なエミュで、検索値を探すトコからやってみてはいかがでしょうか?
DCエミュ nullDC_104_r136
上記のエミュレーターは、
始点固定の可変ベースアドレスポインタで
MECC ツールを使うことをあきらめておりましたが
こちらもゲームソフトに関係なく
同じ数値がありましたので
今回の経験を生かし挑戦してみようと思います。
Re: Mednafen 【PSX】だけ、ベースアドレスの設定(検索指定) - sukusuku
2021/08/26 (Thu) 22:54:03
Nobu様 お疲れ様です^^
あのわかりやすいとは言い難いと思われる説明でご理解いただけてよかったです^^;
わかればそんなに難しい事じゃないというのの典型かなーと思いますので、新しいおもちゃだとでも思って楽しんでください^^
私はワークだけでなく、プログラムもいじれるPSX、PS2、PSPとPS系?専門ですが…
Nobu様はハードの幅が広いので、検索指定が使えれば、エミュのバージョンアップがお気楽に出来るようになるかと思います!
一時の苦労だと思って頑張ってくださいw