88PARとは、P88SRの作者であるぶるー氏とKAJA氏が提唱したPro Action Replay準拠の改造コードフォーマットで、一般的にはcheat codeなどと呼ばれているものです。 cheat codeというのは、その名の通り「騙す(ズルをする)コード」のことで、これを入力することにより、ROMデータやディスクイメージを改変することなく、ROMのパッチ当て・無敵化・最強化・高速化・プロテクト無効化などを実現することが出来るという優れものです。 原理はコードの規則に則ってメモリを監視し、書き換えるといった単純なものですが、その効力は絶大なものを誇ります。(某○inal ○antasy 8や○○ローグの対MODチッププロテクトもcheat codeで何とかすることも出来てしまう) cheat codeの歴史は意外と古く、数年前に外国で発売されたAction Replayと呼ばれるATARI用の改造コード入力専用アダプタが最初とも言われていますが、定かではありません。 Action Replayの他にも、Gold FingerやX-TERMINATORなどと呼ばれる同様のコードがありますが、日本ではDATEL社のPro Action Replay(以下PAR)用コードが最も一般的であると言えると思います。 さて、ここで88PARの解説に戻ります。88PARコードのフォーマットは、ProActionReplay(1・2)コードと同じく、
詳しくはP88SRに同梱されているPATCH.DOCを読んでもらうのが一番早いのですが、以下に簡単に各コードの説明をします。 |
命令コード※ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
RAM/ROM選択コード | アドレス | |||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
値 |
---|
(ただし8bit命令は下位8bitのみ) |
[1] | 「高速RAM」のアドレス「FE86」の値が「0F7A」であるか? | Yesなら[2]へ Noなら[4]へ |
---|---|---|
[2] | 「メインRAM」のアドレス「BE10」の値が「C9」でないか? | Yesなら[3]へ Noなら[4]へ |
[3] | 「メインRAM」のアドレス「BF05」に「50」を代入。 | [4]へ |
[4] | 「メインRAM」のアドレス「BE10」の値が「B8」より小さいか? | Yesなら[5]へ Noなら[6]へ |
[5] | 「サブRAM」のアドレス「6000」に「6F01」を代入。 | [6]へ |
[6] | 「サブRAM」のアドレス「6002」に「0000」を代入。 | [7]へ |
[7] | コード終了 |
これには様々な方法があると思います。PC-98x1/98V等を持っていて、P88SRが使える環境があるならばP88SRのデバッグモードを使うのが最適でしょう。 P88SRのデバッグモードにはメモリダンプ出力機能があるので、HP最大化などはダメージを受ける前と受けた後のダンプをfc /bとでもして比較すれば割合簡単にHPが収められているアドレスが見つかるでしょう。あとはそのアドレスをMAXで固定するように、8000xxxx ffffというかんじのコードを用意すれば良いだけです。簡単ですね:) もう一つ、パラメータを最大で固定するのではなく、ルーチンを書きかえる無敵化の方法を示します。同様にメモリダンプを出力した後、適当なZ80逆アセンブラにかけます。あとはDEC (HL)などのそれっぽい命令を探しましょう。その命令を潰してもフラグ等の変化が他のルーチンに影響を及ぼさないかどうかを確認したら、そのアドレスをNOPやRETにでもするコードを書けばOKです。こちらも簡単ですね:) さて、ではP88SRが使えず、Windows環境しかない人はどうしたら良いでしょう。そういう方はデバッグ機能の付いたManuke氏作のX88000を使うのがスマートです。X88000にはダンプ出力機能の他、逆アセンブル機能・トレース機能なども付いてますので、うまく使えば簡単に該当アドレスを見つけ出すことが出来ます。X88000でコードを見つけた後は、W88で動作確認をしましょう。 コードを見つけたら、KAJA氏のサイトに88PARコード登録所がありますので登録しましょう。 さあ、これで君もみんなの人気者ダ! |