6/13-2(No.167)

ファミコン版「スーパーピットフォール」です。ピットフォールはもともとアメリカで生まれたキャラクターで、パソコン上では割とメジャーみたいですね。アーケード版でもありましたし、パソコンのゲームでも何度かみたことあります。探険家がジャングルや古代遺跡を宝物を求めて毒蛇やコウモリと戦いながら進むというのは何となくゲーム化しやすいのかもしれません。MAMEで対応している「ピットフォール2」は改造解析しましたからまた見てくらはい。で、このファミコン版ですが、昔(といっても15年程前ですか)やりましたねぇ。確か無限コンティニューの裏技があって(もう忘れてしまいましたが)、それを使って確かほとんど最後のあたりまでいった。。。ような。でも、エンディングはみていなかったと思います。そういうこともあって改造は随分前から挑戦していたのですが、なかなかうまくいかず、結局放りだしていたのです。そんなゲームはこの他にまだ2,3個(もっとかな)あるのですが、かえってムキになって解析しようとするのです(ヨセバいいのに(^^;;)で、苦労の結果です。

残機減らないは1バイトの数値データのサーチですぐに出てきます。サーチ領域をそこに絞って、無敵コードのサーチです。探険家が画面に現れる時、しばらく点滅していて無敵です。だから、この経過時間の格納されているアドレスをいつものようにサーチしようと試みるのですが、、、、何故かでてきません。

結局諦めて、今回は次の方法で無敵コードをサーチしました。こういう場合、無敵の時はどこかのアドレスにフラッグをたてて判定しているはずなのです。。。。。そのフラッグが立っている時は無敵、立っていないときは無敵じゃあない、という具合にですよね。ExSTANDには増減データのサーチの他に、値が変化したか、しないかをサーチする機能があります。だから、これを使ってこのフラッグをサーチします。普通、このサーチは増減サーチより時間がかかります。でも、増減サーチが出来ないとなれば、これしかないですから、覚悟を決めて。。。。結果は意外と簡単にでてきてしまいました。これによれば無敵の時はFFが入り、無敵じゃあないときは00がその1バイトのアドレスに入るみたいです。だからこのアドレスにFFを入れ、更新周期を0.5秒(もっと早いほうがいいかもしれません)にして変わらなくしてしまいます。これで探険家は永久に点滅して無敵です。でも、針の上や、溶岩(?)の上に落ちたら死んでしまいますよ(^^;;

残機減らない(C66D52%05)   無敵(C668DC%FF)

もし、無敵が見つかりにくかったら、残機のアドレスをみつけてそのアドレスから476hを引いたアドレスをFFにしてやればいいですよ。EMUはNEStenでした。

C66D52−C668DC=476h




100MB無料ホームページ可愛いサーバロリポップClick Here!