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: バイナリエディタ導入

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

アドレス 中身
D5E9 CD
D5EA v1.0: 3F
v1.1~v1.3(VC): 40
D5EB 38
D5EC F0
D5ED B3
D5EE 01
D5EF 01
D5F0 00
D5F1 07
D5F2 38
D5F3 18
D5F4 0B
D5F5 0B
D5F6 07
D5F7 38
D5F8 13
D5F9 0E
D5FA F0
D5FB 07
D5FC 38
D5FD 0E
D5FE 01
D5FF 10
D600 00
D601 07
D602 38
D603 08
D604 07
D605 38
D606 03
D607 07
D608 D0
D609 E9
D60A E1
D60B C9
D60C 79
D60D CB
D60E 43
D60F 20
D610 06
D611 CB
D612 4B
D613 20
D614 05
D615 09
D616 C9
D617 86
D618 77
D619 C9
D61A 84
D61B 67
D61C C9
D61D F5
D61E CB
D61F 37
D620 CD
D621 24
D622 D6
D623 F1
D624 E6
D625 0F
D626 C6
D627 F6
D628 F6
D629 60
D62A 22
D62B C9
D62C 21
D62D 00
D62E D0
D62F CD
D630 E9
D631 D5
D632 E5
D633 11
D634 F8
D635 FF
D636 19
D637 E5
D638 D1
D639 21
D63A AB
D63B C3
D63C 01
D63D 0C
D63E 00
D63F 36
D640 7C
D641 23
D642 7A
D643 CD
D644 1D
D645 D6
D646 7B
D647 CD
D648 1D
D649 D6
D64A 36
D64B 7F
D64C 23
D64D 1A
D64E CD
D64F 1D
D650 D6
D651 13
D652 36
D653 7C
D654 09
D655 7C
D656 FE
D657 C5
D658 20
D659 E5
D65A 3E
D65B ED
D65C EA
D65D 4B
D65E C4
D65F E1
D660 18
D661 CD

バイナリエディタ

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

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

アドレス 中身
DDCA C3
DDCB 2C
DDCC D6

v1.1~v1.3(VC)

アドレス 中身
D4CA 0E
D4CB 62
D4CC 04
D4CD 09
D4CE E9
D4CF 63
D4D0 FF

またバイナリエディタを直接起動するには関係ありませんが、アドレス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.0 v1.1~v1.3(VC)
D000 3E 3E
D001 01 01
D002 21 21
D003 主人公の名前: 5F
ライバルの名前: B3
主人公の名前: 5F
ライバルの名前: B3
D004 67 67
D005 CD CD
D006 7D 7E
D007 3E 3E
D008 CD CD
D009 FD 02
D00A 2F 30
D00B C3 C3
D00C CD CE
D00D 3D 3D

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

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

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

アドレス 中身
D010 AF
D011 EA
D012 36
D013 CC
D014 21
D015 8B
D016 D2
D017 CB
D018 A6
D019 EA
D01A A1
D01B D2
D01C 21
D01D 2D
D01E D5
D01F CB
D020 AE
D021 EA
D022 92
D023 D5
D024 01
D025 00
D026 65
D027 C3
D028 38
D029 3E

書き換えたらカーソルをアドレス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ポケットモンスター ピカチュウ バイナリエディタ

fifth法(執筆中)

fifth法とは最後に戦闘をしたポケモンのとくしゅの値に対応したポケモンとエンカウントすることができるバグのことです。発見者のfifthヽ(´ー`)ノ◆Fi3PJTZKLQさんにちなんでこの名前がついています。とくしゅエンカウントとも呼ばれています。

上記のバイナリエディタの導入ではとくしゅの値によるエンカウントをすることはありませんが、トレーナーに見つかりながらそらをとぶ、テレポート、あなぬけのヒモを使って戦闘を開始する前に場所を移動するfifth法の手法を使っています。

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

手順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

参考文献

日本語

英語