N64 チートコード形式の意味と説明
N64用プロアクションリプレイ3、ゲームシャーク、エミュレーターで使用できるチートコードの形式とその説明、対応バージョンを紹介していきます。(対応verはそのコード形式を使用できるPAR、GSのバージョンとなります。)
通常書き込み
80コード
[コード形式]
80xxxxxx 00??
[説明]
アドレスxxxxxxに00??の下2桁の8ビット値を書き込み続けます。00??の00の部分は入力しても使われません。8ビット、つまり1バイト書き込みなので、奇数アドレスでも指定できます。
[対応ver:全て]
81コード
[コード形式]
81xxxxxx ????
[説明]
アドレスxxxxxxに????の4桁の16ビット値を書き込み続けます。偶数アドレスでないと無効になります。
[対応ver:全て]
88コード
[コード形式]
88xxxxxx 00??
[説明]
PAR、GSカートリッジ前面のボタンを押したときのみ「80xxxxxx 00??」と同じ効果が出ます。コードジェネレーターがOFFの時のみ有効です。数値を固定すると問題が生じる場合の時に使います。
[対応ver:全て]
89コード
[コード形式]
89xxxxxx ????
[説明]
PAR、GSカートリッジ前面のボタンを押したときのみ「81xxxxxx ????」と同じ効果が出ます。コードジェネレーターがOFFの時のみ有効です。数値を固定すると問題が生じる場合の時に使います。
[対応ver:全て]
連続書き込み(シリアルコード)
50コード
[コード形式]
5000xxyy ????
8zzzzzzzz vvvv
[説明]
次の行に入力されるコードのアドレス部分にyy(アドレス間のオフセット)、数値部分に????を加算しながらxx回繰り返し書き込みます。シリアルコードは非常に長い連続したコードを短くするために使用します。
アイテムMAXなどの入力が非常に面倒な場合に重宝するコードです。
(例)
5000FF02 0000
80123456 0063
これで255種類のアイテムを全部99個にするコードができました。通常書き込みコードなら255行も必要ですが50コードを使うと2行で済んでしまうのです。
50コードの下にはDxコード(条件付き)を付けることができ、80/81/88/89コードタイプはすべて機能します。なお????数値は符号付きであるため、0x8000より高い値は加算されるのではなくvvvvから減算されます。
[対応ver:3.0以上]
条件付き
D0コード
[コード形式]
D0xxxxxx 00??
[説明]
アドレスxxxxxxの値が??と等しいとき、次の行に入力しているコードが有効になります。
[対応ver:全て]
D1コード
[コード形式]
D1xxxxxx ????
[説明]
アドレスxxxxxxの値が????と等しいとき、次の行に入力しているコードが有効になります。
[対応ver:3.0以上]
D2コード
[コード形式]
D2xxxxxx 00??
[説明]
アドレスxxxxxxの値が??と異なるとき、次の行に入力しているコードが有効になります。
[対応ver:3.0以上]
D3コード
[コード形式]
D3xxxxxx ????
[説明]
アドレスxxxxxxの値が????と異なるとき、次の行に入力しているコードが有効になります。
[対応ver:3.0以上]
D8コード
[コード形式]
D8xxxxxx 00??
[説明]
アドレスxxxxxxの値が??と等しいときにPAR、GSカートリッジ前面ボタンを押すと次の行に入力しているコードが有効になります。
[対応ver:全て]
D9コード
[コード形式]
D9xxxxxx ????
[説明]
アドレスxxxxxxの値が????と等しいときにPAR、GSカートリッジ前面ボタンを押すと次の行に入力しているコードが有効になります。
[対応ver:3.0以上]
DAコード
[コード形式]
DAxxxxxx 00??
[説明]
アドレスxxxxxxの値が??と異なるときにPAR、GSカートリッジ前面ボタンを押すと次の行に入力しているコードが有効になります。
[対応ver:3.0以上]
DBコード
[コード形式]
DBxxxxxx ????
[説明]
アドレスxxxxxxの値が????と異なるときにPAR、GSカートリッジ前面ボタンを押すと次の行に入力しているコードが有効になります。
[対応ver:3.0以上]
特殊コード
20コード
[コード形式]
20000000 0000
[説明]
メモリ0x80000200~0x80000300をクリアします。これは起動時にその領域をチェックするゲームへの対策として追加された可能性があります。しかしこのコードは実際には使われません。
[対応ver:3.2以上]
CCコード
[コード形式]
CC000000 0000
[説明]
例外ハンドラの変更。コードエンジンを実行するために、ハンドラにパッチを適用します。このコードは実際にはほとんど使われません。
[対応ver:3.2以上]
DEコード
[コード形式]
DExxxxxx 0000
[説明]
ゲームプログラムの起動アドレス(実行可能エントリポイント)を変更します。
指定されるアドレスは、0x80000000~0x80100000のみです。 0x80100000(EG 0xDE100400 0000)を超えるアドレスは、デフォルトでエントリポイントを0x80000400に下げます。DEコードは通常、キーコードと共に必須コードとして使われます。「F-ZEROX、大乱闘スマッシュブラザーズ、ポケモンスタジアム、ポケモンスタジアム金・銀、星のカービィ64、マリオストーリー、ミッキーのレーシングチャレンジUSA、ヨッシーストーリー」の必須コードに該当
[対応ver:1.08以上]
EEコード
[コード形式]
EE000000 0000
[説明]
メモリー拡張パックを検出させずに無効にして低解像度モードに変更するコードです。このコードを使えば、メモリがローレゾであってもコードジェネレータの安定性を高めることができます。このコードの実際の効果は、以下のコードと同じです。
F1000318 0040
F100031A 0000
[対応ver:3.2以上]
F0コード
[コード形式]
F0xxxxxx 00??
[説明]
ゲーム起動時に1回だけアドレスxxxxxxへ値??を書き込みます。F1コードの8ビット版。必須コードのほとんどは16ビット版のF1コードが使用され、F0コードはあまり使われなくなりました。
[対応ver:3.0以上]
F1コード
[コード形式]
F1xxxxxx ????
[説明]
ゲーム起動時に1回だけアドレスxxxxxxへ値????を書き込みます。このコードは起動時にのみ機能して、CICチェックサムが計算された後に処理されます。PS2用改造コードでいうところのAコードに該当し、このF1は必須コードで使われることが多いです。「カスタムロボ、カスタムロボV2、実況パワフルプロ野球2000、実況パワフルプロ野球 Basic版2001、ゼルダの伝説 ムジュラの仮面、ダービースタリオン64、電車でGO!64、どうぶつの森、ぬし釣り64 潮風にのって、バイオハザード2、ハムスター物語64、風来のシレン2 鬼襲来!シレン城!、ポケモンスタジアム 金・銀、マリオゴルフ64、マリオストーリー 、マリオテニス64、マリオパーティー2、マリオパーティ3、ロックマンDASH」の必須コードに該当
[対応ver:3.0以上]
FFコード
[コード形式]
FFxxxxxx 0000
[説明]
アドレスxxxxxxからアクティブコードを格納するようにデバイスに指示します(指定アドレスにGSのプログラムを配置)。指定するアドレスはゲーム中に一度も書き換えが行われない空きアドレスでなければなりません。このコードはメモリー拡張パックを必要とするゲームでは必須です。このコードはカラットのプロアクションリプレイ3では使えずゲームシャークv3.30でのみ使えます。「ゼルダの伝説 ムジュラの仮面、ドンキーコング64、パーフェクトダーク」の必須コードに該当
[対応ver:3.3以上]