「チートデバイス」の編集履歴(バックアップ)一覧はこちら
「チートデバイス」(2017/02/20 (月) 16:54:06) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
これらのデバイスは、ROM 上の指定された場所のデータを書き換える動作をします。
***目次 [#ab6dcdb0]
-[[Pro Action Replay (ハードウェア)>#ha7c9ff5]]
-[[Gold Finger (ソフトウェア)>#n488ed76]]
-[[Game Genie (ハードウェア)>#le7e3be9]]
-[[CPU アドレスと ROM アドレスの変換>#a6e23fc9]]
**Pro Action Replay (ハードウェア) [#ha7c9ff5]
コードフォーマット : AAAAAADD (8 文字)
A - アドレス
D - データ
コードは 16 進数で指定します。
アドレス値は ROM の場所ではなく、CPU からアクセスする際のアドレスを指定します。
**Gold Finger (ソフトウェア) [#n488ed76]
コードフォーマット : 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 (ハードウェア) [#le7e3be9]
コードフォーマット : DDAA-AAAA (8 文字)
A - アドレス
D - データ
これは解読が難しいコードです。
まず、コードの値から実際の値をテーブルで引き、変換する必要があります。
|~Genie Hex|D|F|4|7|0|9|1|5|6|B|C|8|A|2|3|E|
|~Normal Hex|0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F|
次に、値を実際のアドレスに置き換えます。
|~エンコードされた 24 bit アドレス|ijklqrst opabcduv wxefghmn|
|~デコード済み 24 bit アドレス|abcdefgh ijklmnop qrstuvwx|
8bit encoded data: ABCDEFGH
8bit data: ABCDEFGH
エンコードされたアドレスの 23 ビット目 (デコードされたアドレスの 15 ビット目) は
常に 1 になります。
**CPU アドレスと ROM アドレスの変換 [#a6e23fc9]
ROMaddress = (CPUaddress & 0x7FFF) | ((CPUaddress & 0xFF0000) << 1)
CPUaddress = (ROMaddress & 0x7FFF) | ((ROMaddress & 0x7F8000) >> 1) | 0x8000