これらのデバイスは、ROM 上の指定された場所のデータを書き換える動作をします。 目次 †Pro Action Replay (ハードウェア) †コードフォーマット : AAAAAADD (8 文字) A - アドレス D - データ コードは 16 進数で指定します。 アドレス値は ROM の場所ではなく、CPU からアクセスする際のアドレスを指定します。 Gold Finger (ソフトウェア) †コードフォーマット : AAAAADDDDDDCCW (14 文字) A - アドレス D - データ C - チェックサム W - 何を変えるか (DRAM か SRAM) これは ROM コピー機のためのコードで、16 進数で指定します。 アドレスは ROM のアドレスを指します。 データ値は 2 個一組で使用し、3つ分のサイズがあります。 使用されないデータ値は、 "XX" を入れます。 アドレス値はベースアドレスで、最初にデータ値の 1 つ目を入れ、 アドレス値 + 1 に 2 つ目を、 アドレス値 + 2 に 3 つ目を入れます。 XX が入っている場合は使いません。 W値は、ROM イメージと セーブデータの入った SRAM のどちらを 変更するかを指定します。 0 が DRAM、 1 が SRAM です。 Game Genie (ハードウェア) †コードフォーマット : DDAA-AAAA (8 文字) A - アドレス D - データ これは解読が難しいコードです。 まず、コードの値から実際の値をテーブルで引き、変換する必要があります。
次に、値を実際のアドレスに置き換えます。
8bit encoded data: ABCDEFGH 8bit data: ABCDEFGH エンコードされたアドレスの 23 ビット目 (デコードされたアドレスの 15 ビット目) は 常に 1 になります。 CPU アドレスと ROM アドレスの変換 †ROMaddress = (CPUaddress & 0x7FFF) | ((CPUaddress & 0xFF0000) << 1) CPUaddress = (ROMaddress & 0x7FFF) | ((ROMaddress & 0x7F8000) >> 1) | 0x8000 |