チートコードについて

Last-modified: 2024-03-17 (日) 05:05:55

[tip]重要:改造行為はすべて自己責任で行ってください。 [tip]
[tip]如何なる場合であっても一切関与は致しません。 [tip]

チートコードについて

・利用は当然、自己責任です。
 チートを使用して本体やソフトウェアに問題が発生しても、誰にも文句は言えません。

・チートは基本的に「アングラ」なものです。公の場(大手サイト知恵袋等)で聞いたりするのもNGです。
 公の場でアングラな話を持ち出せば、その界隈の人間に迷惑がかかる事を理解しましょう。
 たいていの場合はGoogleなどで検索すれば見つかります。「アレのコード下さい」と聞くのは禁則事項です

・チートコードを使用する為には専用の道具やソフトが必要です。
 例:コードフリーク・レトロフリーク・プロアクションリプレイなど
 チートコードを扱うのなら、16進法や自力で調べられる能力は身に付けておきましょう。
 日本だけではありません。海外にもコードはあります。但し海外サイトは当然英語です。

・チート(改造)コードとROMを直接改造する行為は別のものです。
 前者はメモリを書き換えるだけなのでプログラム自体に変更を加えるのは難しいです。

・コードはゲーム上に存在する固定のメモリアドレスを利用するものなので
 コードの転載自体は盗用等の概念はありませんが
 他の改造コードサイト様からの転載はお止めください。ウェブアーカイブでサルベージしたものもNGです。

10進数と16進数

・コードの殆どは16進数で記載されています。
 16進数を理解しておく事をおすすめします。
 10進数は10で繰り上がるが、16進数は16で繰り上がり10~15は代わりにA~Fの文字を使います。
 10になるまでの例:
 10進数・・1→2→3→4→5→6→7→8→9→10
 16進数・・1→2→3→4→5→6→7→8→9→A→B→C→D→E→F→10
 分かりにくければ、16進数に関しては説明サイトが数多く存在するので検索してみて下さい。

・よく使われる値(10進と16進変換)

10進(実数)0910992559999999999999999999994294967295
16進00090A63FF03E7270FF423F5F5E0FFFFFFFFFF

・複数行にまたがるコードの入力方法

 値が129473CFの時

   7E1111CF
   7E111273
   7E111394
   7E111412 と入力

 わかりにくいですがSNESでは「リトルエンディアン」と言い、1byteずつ下位側から格納されます。
・説明文の○○hや○○dはhが16進数(Hexadecimal ヘキサデシマル)を指し、dが10進数(decimal)となっています。


・よく使われる値

10進数001016992559999999655359999999999999999991677721599999999999999999
↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓
16進数000A1063FF03E7270FFFFF01869F0F423F98967FFFFFFF05F5E0FF3B9AC9FF



・「↓+xxh↓」や「アドレスに+xxh」について

簡単に言うとその場所から+01hなら1つ増えた場所 +02hなら2つ増えた場所ということ
または

ここからが始めで
↓+xxh↓づつ
ここまで全部

ということです。
―(マイナス)なら逆に減った場所 ±(プラスマイナス)はその分増えるか減るか両方

誰でもわかるチートサーチ教室

サーチ画面の見方

例:Snes9x
○Comparison Type(サーチ方法)
Scrn3.png
 ・Less Than(今の状態より小さい値)
 ・Greater Than(今の状態より大きい値)
 ・Less Than or Equal to(今の状態より小さいか同じ値)
 ・Greater Than or Equal to(今の状態より大きいか同じ値)
 ・Equal To(今と同じ値)
 ・Not Equal To(今と違う値)
○Data Type(数値のタイプ)
 ・Unsigned[>=0](10進数)
 ・Signed[+/-](プラスマイナス付き10進数)
 ・Hexadecimal(16進数)

※Snes9x V1.51以降では Search for New Cheat (Active) を選びましょう
 一緒に動くのでわかりやすいです

タイプ別サーチ方法

1.一番簡単な数値系サーチ

 アクションゲームの残機は、まず死んで残機を減らすでサーチ。
 RPGの経験値、お金などは複数(3回ぐらいあればいい)の戦闘をし、経験値を得たところで低い値からどんどん増やす
 RPGのステータス系は装備を変えて数値を上げながらサーチ。

 何度やっても結果が出ないときはデータサイズを1バイトから2バイトなどにするか、
 (これが一番多い)16進数で値が出力されているときがある。

 RPGのステータス系はだいたい固まっているので1つ見つかれば次々見つかるかと思います。
 また、キャラクターの間隔は等間隔なので、それさえ分かれば3番目4番目が簡単に分かります(例外あり)


cheat002.png

 だいたいまとまっている。


  得点に関すること

cheat011.png

2.ジャンプ力アップ等をする

 2パターン存在する。1つは地面に立っていると値が0(最小値)でジャンプの限界位置が最大値になっているもの。
 値を増やすでサーチ。
 もう1つは、地面に立っているときが最大値でジャンプの限界位置が最小値(最小値は0でないことが多い)になるときがある。
 値を減らすでサーチ。


Jump3.gif
Jump4.gif
通常のジャンプスーパージャンプ
立っている状態が0→→一番高いところが最大値→→再び地面で0

3.アクションゲームの無敵

 これも2パターン。1つは無敵アイテムを取った状態。この場合値が0から1か128d(80h)となる。
 値を増やす→無敵が切れたら値を減らすでサーチ。
 もう1つはダメージを受けた直後の無敵時間(点滅)を利用するもの。この場合はダメージを
 受けた直後に値をリセットし
 値を減らしながらサーチ(エミュの場合ゲーム速度を下げたほうがいい)


muteki1.gif
muteki2.gif
ダメージを受けた時に値をリセット無敵になる
リセット→→値を減らしながら→→

4.パズルゲームの連鎖数

 3連鎖ぐらいすればいい。エミュならばゲーム速度を遅くして連鎖数が増えるごとに
 値を増やしながらサーチ。


cheat001.png

5.RPGのランダムエンカウント

 だいたい1歩ごとに数値が減る(増える)ようになっているので値を減らし(増やし)ながらサーチ。


cheat005.png
cheat006.png
cheat007.png

6.スプライト操作系

 スプライトを固定して動かなくするタイプ 横軸(X軸)左0~右250 縦軸(Y軸)下0~上250
 と、だいたい二次関数のとおりになっていますが逆もあります


cheat004.png

・スプライトとは
 キャラクターやアイテム、敵キャラのこと。
 それ以外はBG(バックグラウンド)やオブジェクトという。
 スーパーファミコンはBGレイヤー4面+スプライトレイヤー1面の5面構成で描かれている。

cheat013.png

 ちなみにスーパーマリオワールドのクッパはスプライトレイヤーではない BGレイヤー1に描かれている。
 理由?拡大縮小・回転処理をさせる為だとか・・・


7.時間固定系

 時間は2つ。1カウント(1フレーム)ごとに増減しているか、常に増減しているか です。
 昼夜操作系も同じ感じでてきます。 これも16進数で画面に出力されていることがあります。
 それと、1コードで全て出来るか1コードで時間、分、秒が分かれているものもあります。


cheat010.png

8.ボスなどの体力

 基本はやはり値を減らす。(0になれば死ぬ)しかし増えているときもあるので注意。
 例外的なのが、普通に値が減るのだが死んだ状態が0ではなく255d(FFh)の時もある。


cheat008.png
cheat009.png

9.デバッグモード

これは一番難しいかもしれません。 どの’’場所’’か?どの’’場面’’か?という問題です。
しかしコツさえわかれば見つかるでしょう。
(ほとんどの場合デバッグプログラムを排除しているので無いことが多いです)

RPGの場合はセーブした位置 またはマップ番号
アクションゲームの場合はステージ番号 で数値系と同じ感じでサーチすれば見つかるでしょう

 サーチの流れ(例)


cheat015.png

                ↓

cheat016.png

                ↓

cheat017.png

10.RAM領域(7E0000xx~7FFFFFxx)以外でのサーチ(PARが効かない)

 スーパーファミコンは ROM領域とRAM領域があり、7E0000xx~7FFFFFxxがRAM領域(メモリ)
 ここが自由に値をいじれる所。しかし、まれにこの範囲外にメモリを置いてあるゲームがある
 この場合はSnes9xやZSNESなどではサーチができない!特殊なソフトを使う必要がある(MECCとかCEPとか何とか…)
 (Snes9xは800000xx~80FFFFxxも出てくるのがあるがほとんどの場合ここは数値の固定ができない)

 この他にもC00000xxやD00000xxのプログラムコード等があります。

 ○次に挙げるゲームは7E0000xx~7FFFFFxxとは別のところにRAM領域がある

 ・星のカービィスーパーデラックス
 ・星のカービィ3
 ・マーヴェラス
 ・ぱにっくボンバーW ・・・など


コメント

コードサーチ方法について情報がありましたらこちらにコメントお願いします。
また 他のコードサーチ方法も募集しています。

  • デバッグコードのサーチと特殊なチートのサーチを追加 -- KV-XP サーチ班? 2012-04-25 (水) 16:52:38
  • RAM領域が通常の範囲外なのはたぶんSA-1チップ搭載系ですね。おそらく搭載タイトルはほとんど範囲外だと思います。搭載リストはこちらhttp://www.d-colors.net/game/sfc.html -- 2012-09-25 (火) 06:59:50
  • 説明文 マップページ 追加 -- 2012-11-11 (日) 12:35:23
  • 分りやすいなのでいい勉強になりました。 -- 2013-03-23 (土) 00:05:19
  • とりあえず入力方法に追加 -- 2013-03-25 (月) 17:44:49
  • コードリストの行数には上限があるのでしょうか? -- 2019-05-16 (木) 20:06:34
  • チートの入力方法「Snes9X」「ZSNES」「BizHawk」を「エミュレーター関連」に移動しました
  • チートの入力方法「レトロフリーク」を「レトロフリーク関連」に移動しました
  • DQ3の経験値2倍 Cから始まるコードの使い方がわかりません。 MECCなどでメモリを直接書き換えても何も効果がありませんでした。 -- 2023-09-21 (木) 20:21:09
  • この記事面白いですね。欲張りで申し訳ないですがもっといろんな例を見てみたいです。 -- 2024-02-04 (日) 00:33:47