改造コードの表記



ひとことに改造コードと言っても
その表記は対象となるゲーム機によって様々です。

それらを一通りまとめてみました。

・プレイステーション

表記
80123400 5678
30123400 0056
D0123400 5678
説明
左側先頭の2桁:改造コードの種類
左側の下6桁:アドレス値
この2つを合わせてアドレス部と呼びますが、
実際のアドレス値は80000000801FFFFFまでです。
30D0で始まるコードでもアドレス値は80〜であることに注意して下さい。

右側の4桁:データ値
補足
80123400 5678はアドレス80123400番地に5678、というデータを書き込みます。
ただし、1つの番地には数値2桁分のデータしか入らないので、
実質的には80123400番地に7880123401番地に56を書き込んでいることになります。

30123400 0056はアドレス80123400番地に0056というデータを書き込みます。

80〜と30〜の違いは、
80〜は常に2番地分のデータを書き込んでしまう・偶数の番地に対してしか
使うことができないのに対し、
30〜は1番地分しかデータを書き込まず、奇数の番地に対しても使用することができます。

例えば、30123400 0056では80123401番地の内容は変化しませんが
80123400 0056では80123401番地に00が書き込まれてしまいます。

なお、D0〜は条件判定を行うもので、
アドレス80123400番地の内容が5678と等しい時のみ
次の1行のコードを実行せよ、という意味です。
条件判定によって複数のコードの実行を制御したい場合は、
1行おきにD0〜のコードを入力する必要があるのでやや面倒になってきます。

・セガサターン

表記
10234500 5678
16034500 5678
30234500 0056
36067800 5678
D0234500 0056
D6067800 5678
説明
左側先頭の2桁:改造コードの種類
左側の下6桁:アドレス値
右側の4桁:データ値
補足
10〜、16〜はプレイステーションの80〜に相当するコードで、
2番地分のデータを書き換えるコードですが、
唯一異なる部分は
10234500 5678というコードは
実質的に10234500番地に5610234501番地に78を書き込んでいる点です。

これはゲーム機が使用しているCPUの仕様から来ているのですが、
大きい番地に最下位の桁が入ることから、ビッグエンディアンといいます。
(プレステの形式はリトルエンディアン)

注意点は、80010000番地から999という値を書き込む場合は
両者とも80010000 03E716010000 03E7でほぼ同じなのですが、
99999という値を書き込みたい場合は、

プレステ
80010000 869F
80010002 0001

サターン
16010000 0001
16010002 869F

とデータ部の指定が異なってきてしまうことです。

なお、30〜、36〜はプレイステーションの30〜に相当するコード、
D0〜、D6〜は条件判定コードですが、
サターンの条件判定コードは条件が成立している時のみ
入力したすべてのコードが有効になるため、
複数のコードを同時使用できなくなる、という難点があります。

・ニンテンドウ64

表記
81023400 5678
80023400 0056
説明
左側先頭の2桁:改造コードの種類
左側の下6桁:アドレス値
右側の4桁:データ値
補足
これはかなりややこしいのですが、
80〜が1番地分のデータ書き換え(プレステの30〜に相当)
81〜が2番地分のデータ書き換え(プレステの80〜に相当)
です。
プレステとニンテンドウ64両方持っている人から見れば
非常に使いずらいことでしょう。
せめて1番地分のデータ書き換え=81〜、2番地分のデータ書き換え=82
として欲しかった・・・

・ゲームボーイ

表記
01563412
80563412
説明
先頭の2桁:改造コードの種類
先頭から3・4桁目の2桁:データ値
先頭から5・6桁目の2桁:アドレス値下位2桁
先頭から7・8桁目の2桁:アドレス値上位2桁
補足
先頭の2桁は改造ツールによって異なるらしいですが
基本的にはどれも1番地分のデータ書き換え(プレステの30〜に相当)のようです。

全体の桁数は少ないのですが
アドレス部とデータ部の区切りがないので結構読み取りに苦労するかもしれません。
また、アドレス値の上位2桁と下位2桁が逆に表記されているので
特にアドレス値の計算をする場合は注意が必要です。
015634121Ehを加算する場合は、
3412+1Eh3430なんて計算はしてはいけません!
GBコードの場合、34121234番地を表しているので
1234+1Eh=1252、さらにこれを元の表記に戻して01565212になります。

・スーパーファミコン

表記
7E123456
説明
先頭の2桁:改造コードの種類
先頭から3〜6桁目:アドレス値
先頭から7・8桁目:データ値
補足
これも1番地分のデータ書き換えのみです。
ただしGBと違いアドレス値の上位下位が入れ替わりがないので
アドレス値の計算には苦労しないでしょう。

ただしPSのような便利なシリアルコードがついていないので
アイテム全て所持などをしようものなら相当の時間と労力が
必要になってしまうのが難点といえば難点でしょうか。



戻る