2010年11月12日金曜日

anagoGUI test その2 を試してみる

先月終わりにna6koさんがanagoGUIのテスト版を公開していただいて試させていただいたのですが、本日テスト2が公開されました。

先回のバージョンでの小さなバグ&私のわがままは以下の通り。

・窓を最大化して戻すとCHRのSkip表示がズレる

・surom吸い出し時にCHRが0x000001と出る

・使用するデバイスがAM29F040Bデフォがよいなぁ

・データベースと比較できたらわかりやすいかなぁ

・SRAMの読み書きがまだ無いぞ?

と、5点ほどあったわけですが、今回のテスト2では全て直されている&追加されてます(^-^)

一つ、デバイスに関してはAM29F040Bデフォで固定ではなく、前回使ったものを表示するようになっています。

これはna6koさんが書かれたように、確かに書き込めるデバイスはAM29F040Bだけではないし、人によっては違うデバイスをメインで使ってるかもしれないですからね。

特定のデバイスを良く使うなら結果的にデフォになるわけなので完璧な処理です(笑

わがままを取り入れてくれて感謝しますm(_ _)m

んでは、ちょっと触った感じを。

anagogui13

ドラクエ4(SUROM)をダンプした様子。

na6koさんとこの説明でもあるように、ここからデータベースを落として解凍し、anago_wx.exeと同じフォルダに入れれば、ダンプ後にデータベースと比較して表示してくれます。

今回からSRAM(warkram)の読み書きが出来るようになり、一部スクリプトが統合されました。

scriptの拡張子が「ae(今まではad)」になっており、このスクリプト一つでROMダンプとSRAMの読み書きのどちらにも対応できます。

当然SRAMを使わないゲームの場合は拡張子がadのものを使うのですが、

スクリプトの様式が少し変更されたため、CUI版(GUItest1含む)で使われているadのスクリプトは使えません。

例えば、nrom.ad(マッパー0)の場合、

CUI版

board <- {
mappernum = 0,
cpu_romsize = 0x8000, cpu_banksize = 0x4000,
ppu_romsize = 0x2000, ppu_banksize = 0x2000,
ppu_ramfind = false, vram_mirrorfind = true
};
function cpu_dump(d, pagesize, banksize)
{
cpu_read(d, 0x8000, 0x4000);
cpu_read(d, 0xc000, 0x4000);
}
function ppu_dump(d, pagesize, banksize)
{
ppu_read(d, 0, banksize);
}

となってるのですが、

GUItest2版

board <- {
mappernum = 0,
cpu_rom = {
size_base = 0x8000, size_max = 0x8000
banksize = 0x8000
},
ppu_rom= {
size_base = 0x2000, size_max = 0x2000,
banksize = 0x2000
},
ppu_ramfind = false, vram_mirrorfind = true
};
function cpu_dump(d, pagesize, banksize)
{
cpu_read(d, 0x8000, 0x4000);
cpu_read(d, 0xc000, 0x4000);
}
function ppu_dump(d, pagesize, banksize)
{
ppu_read(d, 0, banksize);
}

といった感じで・・・ってわかりますよね?

要するにboardのところ(上で言うと太字の箇所)を変更しなければいけません。

当然ながらGUItest2用のadファイルはCUI版では使えません。

今後はprogramモードも含めて統一されるかもしれないですけどね。

現状は混在させないように注意しましょう。

anagogui14 ←SRAMの読み書き

上で書いたようにSRAMの読み書き用スクリプトの拡張子はaeで、現在はskrom、surom、mmc3用の3タイプに対応しています。

anagogui15

書き込みモードは今までと同じですが、skipのズレは直されていますし、デバイスの表示も問題なく機能しています。

anagogui16

なんとっ!25周年バージョンSMBにも対応してる~!・・・ってのは冗談で(ぉぃ!

データベースはXMLでできてますので、ハッシュ値(CRC32とSHA-1)含めて追加すればデータの追加は可能です、ってことで。

ま、殆ど網羅されてると思うから追加する必要は無いかもだけれども、完璧なデータベース(?)になったらそれはそれで何かの役に立つかなぁ、と。

といった感じで、test2といえど動作は今のところ何の問題も無いし、メッチャ使いやすいかとw

あ!ココまで書いて一つ気が付いた。

マッパー0、2、3などの初期の頃のカートリッジを吸い出す場合、ヘッダのミラーリング値が上手く変わらないので・・・XML内の「<pad h="0" v="1"/>」を見て書き換えるようにできないかなぁ・・・とか思っちゃったりしてみたりなんかして(^-^;

【訂正】

上で書いたミラーリングの件ですが、私のミスでした(-_-;

昔にテストで吸い出してた間違ったデータと比較していたようです(爆

なので、今回のGUItest2の出力は問題ありません。

失礼しましたm(_ _)m

ともあれ、使い勝手はかなり良いので、kazzoを持ってる人は是非使いましょう~

2 件のコメント:

ツボック さんのコメント...

メ-ル送りました。
流石は、ぽんさんですね。
検証のレベルが違いますね。

ぽんRev さんのコメント...

今メールしました~(^-^)
検証しても間違ってること多いですけどね(笑
・・・って笑い事じゃないか(反省