Site cover image

🐾flag3

ポケットモンスター ピカチュウ バイナリエディタ レポートバグなし

バイナリエディタは、初代ポケモンにおける任意コード実行の究極の到達点とも言えるツールです。このエディタを使用すると、ゲーム内のあらゆるメモリの読み書きが可能になります。さらに、プログラムを記述し、実行させることもできます。これにより、テトリスやオセロなどのゲームを遊ぶことも可能になる、非常に強力なツールです。

本記事は以下の動画の解説となります。

バイナリエディタ導入手順

環境

ポケットモンスター ピカチュウの日本語版のみに対応しています。ポケットモンスター 赤・緑・青や日本語版以外のバージョンには対応していません。またさいしょからはじめることを前提としています。セーブをする際に特定のタイミングで強制リセットを行うSRAM Glitchは使わない方法となります。SRAM Glitchを使う方法やポケットモンスター 赤・緑・青でバイナリエディタを導入する方法については以下の記事をご覧ください。SRAM Glithchが可能であれば以下の記事でバイナリエディタを導入するのをおすすめします。

📄Arrow icon of a page linkポケットモンスター ピカチュウ バイナリエディタ

📄Arrow icon of a page linkポケットモンスター 赤・緑・青 バイナリエディタ

バージョンの違い

ポケットモンスター ピカチュウにはv1.0、v1.1、v1.2、v1.3が存在します。カートリッジの表面のパッケージシール右下に刻まれている刻印によってどのバージョンであるかを判定することができます。

  • 刻印が数字のみまたは数字+Aであればv1.0。
  • 刻印が数字+Bであればv1.1。
  • 刻印が数字+Cであればv1.2。
  • 刻印が数字+Dであればv1.3。

なお3DSのVCはv1.3となります。

以下の手順8における23、24番目のどうぐの種類によってバージョンを判定することもできます。

  • 23、24番目のどうぐが「ぬ゙のづ」であればv1.1、v1.2、v1.3のいずれか。
  • 23、24番目のどうぐが「ぬ゙のづ」でなければv1.0。

今回の手順においてv1.1、v1.2、v1.3による違いはありません。

手順1: さいしょからはじめる

主人公の名前を「がんョぜメ」にし、ライバルの名前を「オオオオ」にします。ニビシティに到着するまでゲームを進めてください。ただしトキワのもりの3番目のむしとりしょうねんには勝利しないようにしてください。トキワのもりの3番目のむしとりしょうねんとは画像のトレーナーのことです。

Image in a image block

手順2: ニビシティのポケモンセンターとフレンドリィショップに寄る

後の手順であなぬけのひもを使ったときに移動先がニビシティとなるようにポケモンセンターで回復を行ってください。またポケモンセンターにあるパソコンでボックス2に切り替えてください。ボックス1は後の手順で使うためボックス1とは異なるボックスに切り替える必要があります。

フレンドリィショップではモンスターボールとあなぬけのひもを購入してください。モンスターボールは最低でも19個必要なためおかねには注意してください。上記の動画では途中でモンスターボールを1個拾い、さいしょのおこづかい(3000円)、ライバル戦での勝利(175円)、むしとりしょうねん戦での勝利(100円)、途中でキズぐすり×6を入手し売る(900円)で合計4175円を入手し、モンスターボール×18とあなぬけのヒモを購入することで4150円を使っています。必要であれば追加でトレーナーと戦闘をしておかねを入手しておくと良いです。

手順3: ポケモンを19匹捕獲する

はじめに入手する5匹は以下のニックネームをつけるようにし手持ちに加えるようにしてください。残りの14匹のニックネームは何でも良いですがボックス2に送られるようにしてください

捕獲するポケモンは何でも良いですが、おかねがあまり使えないためモンスターボールの無駄遣いはしないように注意してください。1匹捕獲するごとにセーブすることをおすすめします。動画では捕捉率の低いトランセルとピジョンは捕獲しないようにし、捕獲率を上げるためになるべくやせいのポケモンのHPを最大値の1/3以下にしてからモンスターボールを使うようにしています。

📛
はじめに入手するポケモンのニックネーム
  • がやぜふづ
  • よれづぼて
  • づヅモめデ
  • がんぜゆの
  • ゲぼんだー

手順4: むしとりしょうねんに見つかりながらあなぬけのヒモを使う

トキワのもりの3番目のむしとりしょうねんが画面外にいる状態で左に一歩進むと見つかる場所に移動してください。画像のこの場所となります。ここでセーブをするのをおすすめします。

Image in a image block

左に1歩進みながらSTARTボタンを押してメニューを開きあなぬけのヒモを使ってください。そうすることでむしとりしょうねんに見つかりますがトキワのもりから脱出してニビシティへと移動します。移動先がニビシティでない場合はリセットしてニビシティのポケモンセンターで回復をしてからやり直してください。

手順5: ボックスにポケモンを預けてセーブとリセットを行う

手持ちのポケモンを以下の順番で預けてボックス2にいるポケモンの数が19匹になるようにします。ボックス2の15匹目から19匹目のポケモンのニックネームがこの順番になっていることを確認してください。

📛
ボックスに預ける順番/ボックス2の15匹目から19匹目のポケモンのニックネーム
  • がやぜふづ
  • よれづぼて
  • づヅモめデ
  • がんぜゆの
  • ゲぼんだー

セーブに関してはメニューが開けなくなっているのでポケモンセンターのパソコンでボックス2に切り替えることでセーブをしてください。セーブをした後はリセットをしてください。

手順6: ニビかがくはくつぶかんへ案内をしてもらう

フレンドリィショップの右にいるNPCに話しかけてニビかがくはくぶつかんへ案内してもらってください。ニビかがくはくぶつかんに入る必要はありません。

手順7: 民家でタウンマップを見てからトキワのもりへ向かう

ポケモンセンターの左下にある民家に入って壁にあるタウンマップを見てください。タウンマップを見た後はそれ以降メニューを開かずにトキワのもりへ向かってください。トキワのもりへ入るとテキストボックスが表示されます。任意コード実行に成功していればどうぐ欄が拡張されやめるよりも下にカーソルを移動することができるようになります。

Image in a image block

手順8: タマムシマンション屋上部屋に向かう

  • ニビシティのポケモンセンターに戻り手持ちのポケモンを6匹にしてください。手順2で捕まえたポケモンを引き出せば良いです。その後ボックス1へ切り替えてください。またボックス1にポケモンが預けられていないことを確認してください。
  • ポケモンセンターの左下にある民家に入ってどうぐ欄を開いてください。
    • 24番目のどうぐと34番目のハイパーボールを入れ替えます。
      • 23番目のどうぐと24番目のどうぐは同じ名前のどうぐで、25番目のどうぐはピーピーエイド×80になっているのでこれを目印にすると良いです。
  • 家から出ることでタマムシシティ屋上部屋に移動することができます。

手順9: 簡易版バイナリエディタ導入

せっていを開き以下のようにします。そうすることでどうぐの26番目がはやぶさバッヂになります。

はなしのはやさ:おそい

せんとうアニメ:じっくりみる

しあいのルール:かちぬきタイプ

サウンド:イヤホン2

これ以降はなしのはやさがおそいとなりますが、Bボタンを押しながらメッセージを表示することで表示速度をはやくすることができます。

無限イーブイモード導入
  1. イーブイを入手しニックネームを「ヅずゆデの」にしてはやぶさバッヂを使います。これによりイーブイのモンスターボールが出現します。
  2. イーブイを入手しニックネームを「ゴづ」にしてはやぶさバッヂを使います。これによりイーブイのモンスターボールが再度出現します。
  3. イーブイを入手しニックネームを「がやぜカ」にしてはやぶさバッヂを使います。これにより好きなだけイーブイを入手することができる状態になります。
簡易版バイナリエディタ導入

イーブイを入手し、以下の順番でニックネームをつけます。

📛
イーブイに付けるニックネームリスト
  1. よメボデの
  2. よザれリん
  3. ぼダメギて
  4. へはんち
  5. だいなひだ
  6. れじよダリ
  7. めかんざダ
  8. ダれサんダ
  9. ダめッんど
  10. ううゾダグ
  11. へたんへ◯
    • v1.0: へたんへそ
    • v1.1~v1.3(VC): へたんへた
  12. へたんボぷ
  13. ぱへたんぴ
  14. キづごヅー
  15. てケんダム
  16. ダだギムツ
  17. ぼヂてケん
  18. ぜーダだグ
  19. づひせがゆ
  20. よヂづよく

イーブイにニックネームをつけ終わったらはやぶさバッヂを使うと簡易版バイナリエディタが起動します。

簡易版バイナリエディタ

これ以降、はやぶさバッヂを使うたびに簡易版バイナリエディタを起動することができます。

Image in a image block

左側のD5E3が書き換えようとしているメモリのアドレスで、右の00がその中身です。

🎮
簡易版バイナリエディタ操作方法

B: アドレス-01

A: アドレス+01

↑: 中身-01

↓: 中身+01

←: 中身-10

→: 中身+10

START: 終了

SELECT: D62Cからのコードを実行(プログラム入力するまで押さないように注意)

手順10: バイナリエディタ導入

簡易版バイナリエディタを使用してバイナリエディタのプログラムを入力していきます。入力を終えたらセレクトボタンを押すことでバイナリエディタを起動することができます。バイナリエディタを起動する前に一旦スタートボタンを押して簡易版バイナリエディタを終了させてセーブすることをおすすめします。

アドレス中身
D5E9CD
D5EAv1.0: 3F
v1.1~v1.3(VC): 40
D5EB38
D5ECF0
D5EDB3
D5EE01
D5EF01
D5F000
D5F107
D5F238
D5F318
D5F40B
D5F50B
D5F607
D5F738
D5F813
D5F90E
D5FAF0
D5FB07
D5FC38
D5FD0E
D5FE01
D5FF10
D60000
D60107
D60238
D60308
D60407
D60538
D60603
D60707
D608D0
D609E9
D60AE1
D60BC9
D60C79
D60DCB
D60E43
D60F20
D61006
D611CB
D6124B
D61320
D61405
D61509
D616C9
D61786
D61877
D619C9
D61A84
D61B67
D61CC9
D61DF5
D61ECB
D61F37
D620CD
D62124
D622D6
D623F1
D624E6
D6250F
D626C6
D627F6
D628F6
D62960
D62A22
D62BC9
D62C21
D62D00
D62ED0
D62FCD
D630E9
D631D5
D632E5
D63311
D634F8
D635FF
D63619
D637E5
D638D1
D63921
D63AAB
D63BC3
D63C01
D63D0C
D63E00
D63F36
D6407C
D64123
D6427A
D643CD
D6441D
D645D6
D6467B
D647CD
D6481D
D649D6
D64A36
D64B7F
D64C23
D64D1A
D64ECD
D64F1D
D650D6
D65113
D65236
D6537C
D65409
D6557C
D656FE
D657C5
D65820
D659E5
D65A3E
D65BED
D65CEA
D65D4B
D65EC4
D65FE1
D66018
D661CD

バイナリエディタ

これ以降は簡易版バイナリエディタを起動してからセレクトボタンを押すたびに、バイナリエディタを起動することができます。

Image in a image block
🎮
バイナリエディタ操作方法

↑: アドレス-01

↓: アドレス+01

←: アドレス-10

→: アドレス+10

B+↑: アドレス-100

B+↓: アドレス+100

B+←: アドレス-1000

B+→: アドレス+1000

A+↑: 中身-01

A+↓: 中身+01

A+←: 中身-10

A+→: 中身+10

START: 終了

SELECT: 現在のアドレスからのコードを実行(注意して使用してください)

バイナリエディタを使って以下のように書き換えを行うと、はやぶさバッヂを使うたびに、バイナリエディタを直接起動することができるようになります。

v1.0

アドレス中身
DDCAC3
DDCB2C
DDCCD6

v1.1~v1.3(VC)

アドレス中身
D4CA0E
D4CB62
D4CC04
D4CD09
D4CEE9
D4CF63
D4D0FF

またバイナリエディタを直接起動するには関係ありませんが、アドレスD4B9からD4C9までを以下のようにしてパソコンのどうぐ欄を変更しておくと良いです。ただし1番目から11番目のどうぐは引き出さないようにしてください。

0B C9 01 CA 01 CB 01 CC 01 CD 01 CE 01 CF 01 D0 01

手順11: 通常の状態に戻す

バイナリエディタの導入で様々な副作用が発生しています。

  • 現在地
  • 主人公の名前
  • ライバルの名前
  • 手持ちのどうぐ欄
  • イーブイ取得のフラグ
  • ボックス
現在地

タマムシマンション屋上部屋でアドレスD330、D331、D334、D335の中身を00にしてから部屋の外に出るとマサラタウンに移動することができます。トキワシティへ移動したい場合はD331とD335の中身を01に、ニビシティに移動したい場合はD331とD335の中身を02にしてください。

主人公とライバルの名前

バイナリエディタを使ってアドレスD000~D00Dの中身を以下のように書き換えてください。

アドレスv1.0v1.1~v1.3(VC)
D0003E3E
D0010101
D0022121
D003主人公の名前: 5F
ライバルの名前: B3
主人公の名前: 5F
ライバルの名前: B3
D0046767
D005CDCD
D0067D7E
D0073E3E
D008CDCD
D009FD02
D00A2F30
D00BC3C3
D00CCDCE
D00D3D3D

書き変えたらカーソルをアドレスD000に合わせてセレクトボタンを押すことで主人公またはライバルの名前を決めることができます。主人公とライバルの名前を両方とも変更させたい場合はD003を変更して再度実行するようにしてください。

手持ちのどうぐ欄とイーブイ取得のフラグ

バイナリエディタを使ってアドレスD010~D029の中身を以下のように書き換えてください。

アドレス中身
D010AF
D011EA
D01236
D013CC
D01421
D0158B
D016D2
D017CB
D018A6
D019EA
D01AA1
D01BD2
D01C21
D01D2D
D01ED5
D01FCB
D020AE
D021EA
D02292
D023D5
D02401
D02500
D02665
D027C3
D02838
D0293E

書き換えたらカーソルをアドレスD010に合わせてセレクトボタンを押すことでプログラムを実行することができます。このプログラムは以下の効果があります。

  • どうぐをはやぶさバッヂのみにする。
  • ポケモンずかんからイーブイをつかまえたという情報を削除する。
  • イーブイの入手に関係するフラグを初期化する。
ボックス

アドレスD9B2の中身を00に、アドレスD9B3の中身をFFにすることで現在のボックスに預けているポケモンを0匹にすることができます。ただしv1.0の場合はボックスに預けているポケモンを0匹にしないでそのままにしておくことを推奨します。

使用上の注意

v1.0の場合はボックスに預けているポケモンの5匹目のおやの名前を「がんてじよ」にしてはやぶさバッヂを使うようにしてください。特にボックスを切り換えるとボックスに預けているポケモンが変化してしまうことに注意してください。上記の手順ではやぶさバッヂからバイナリエディタを直接起動することができるようになっていればボックスに預けているポケモンの5匹目のおやの名前は「がんてじよ」になっています。

v1.1~v1.3(VC)の場合はパソコンに預けているどうぐの9番目から11番目を変更しないようにしてください。上記の手順ではやぶさバッヂからバイナリエディタを直接起動することができるようになっていればパソコンに預けているどうぐの9番目から11番目は以下のようになっています。

🔍
9番目のどうぐ:ねむけざまし×98

10番目のどうぐ:モンスターボール×9

11番目のどうぐ:わざマシン33

バージョンに依らずアドレスD5E9~D661はバイナリエディタで編集しないようにしてください。

技術的補足(執筆中)

以下の記事と内容が重複する部分についてはここでは省略します。

📄Arrow icon of a page linkポケットモンスター ピカチュウ バイナリエディタ

トキワのもりにおけるテキストボックス

手順7でニビシティの民家でタウンマップを見てからトキワのもりに入ることで、アドレスDED0以降をテキストコマンドとして実行させることができます。更にアドレスDED0の中身を08にすることで、アドレスDED1以降をプログラムとして実行することができます。アドレスDED0はボックスに預けているポケモンの19匹目のニックネーム1文字目を格納しているアドレスであり、内部番号08に対応する文字「ゲ」にすることで19匹目のニックネーム2文字目からプログラムを実行することができます。

テキストコマンドで実行したプログラム

説明

どうぐ欄の拡張とアドレスD4CA以降を C3 04 DE への書き換えを行っています。どうぐ欄の26番目に配置されるはやぶさバッヂを使うためのプログラムとなります。更にどうぐ欄の拡張はイーブイの部屋へ移動するためにも利用します。

なおテキストコマンドの処理の関係でプログラムを終了する前にhlレジスタの中身が50にする必要があるためretコマンドで終了する前にhlレジスタをDED5にして中身を50にしています。

WRA1:DEB8 26 D4            ld   h,D4
WRA1:DEBA 2E CC            ld   l,CC
WRA1:DEBC 32               ldd  (hl),a
WRA1:DEBD 50               ld   d,b
WRA1:DEBE D6 DA            sub  a,DA
WRA1:DEC0 32               ldd  (hl),a
WRA1:DEC1 3E C3            ld   a,C3
WRA1:DEC3 50               ld   d,b
WRA1:DEC4 32               ldd  (hl),a
WRA1:DEC5 11 A1 D2         ld   de,D2A1
WRA1:DEC8 12               ld   (de),a
WRA1:DEC9 50               ld   d,b
WRA1:DECA 26 DE            ld   h,DE
WRA1:DECC 2E D5            ld   l,D5
WRA1:DECE C9               ret  
WRA1:DECF 50               ld   d,b
WRA1:DED0 08               db   08
WRA1:DED1 3E DE            ld   a,DE
WRA1:DED3 30 E3            jr   nc,DEB8
WRA1:DED5 50               ld   d,b
バイナリ
26 D4 2E CC 32 50
D6 DA 32 3E C3 50
32 11 A1 D2 12 50
26 DE 2E D5 C9 50
08 3E DE 30 E3 50

手持ちのどうぐ欄とイーブイ取得のフラグに関するプログラム

説明

以下のことを実現するプログラムとなっています。

  • アドレスCC36の中身を00にしどうぐ欄のスクロールを一番上にする。
  • アドレスD28Bの4bit目を下げてポケモンずかんからイーブイをつかまえたという情報を削除する。
  • アドレスD2A1までの中身を00にしどうぐの個数を0個にする。
  • アドレスD52Dの5bit目を下げてイーブイ取得のフラグを初期化する。
  • アドレスD592の中身を00にしはやぶさバッヂ2回目の効果を修正する。
  • はやぶさバッヂを入手し、手持ちのどうぐ欄をはやぶさバッヂのみにする。
WRA1:D010 AF               xor  a
WRA1:D011 EA 36 CC         ld   (CC36),a
WRA1:D014 21 8B D2         ld   hl,D28B
WRA1:D017 CB A6            res  4,(hl)
WRA1:D019 EA A1 D2         ld   (D2A1),a
WRA1:D01C 21 2D D5         ld   hl,D52D
WRA1:D01F CB AE            res  5,(hl)
WRA1:D021 EA 92 D5         ld   (D592),a
WRA1:D024 01 00 65         ld   bc,6500
WRA1:D027 C3 38 3E         jp   3E38
バイナリ
AF EA 36 CC 21 8B D2 CB A6 EA A1 D2 21 2D D5 CB
AE EA 92 D5 01 00 65 C3 38 3E

参考文献

日本語

英語