Wonderland Seeker

スマホの子はTOPを見てね

【初代ポケモン】イベントフラグを書き換えてみた【イーブイ無限再生】

こんなことを思ったことありませんか?

 

イーブイがひとつのデータで3匹入手できればなぁ...

ブースターシャワーズサンダース全部自分の手持ちにできるのに...

と思った経験、初代ポケモンプレイヤーなら夢見たことでしょう

 

でも、任意コード実行なんてズルいしむずかしいしなんかヤダ!

人との交換だとIDが違うじゃん!

 

そんなあなたでも今から簡単に

それもきちんとタマムシマンションでもう一度あの時の素敵な出会いを再現できる

キャンペーンをお教えいたします

 

そのためには以下の条件を満たしたお客様のみの案内となっております

・じぶんのパソコンにどうぐを21種類以上預けている

・いらなくなった手持ちポケモンが居る

・ポイントアップを持っている

 

この条件を満たしているならお次に以下の手順を済ませてください

 

1.いらなくなった手持ちポケモンの2番目のわざにポイントアップを使用する

---タマムシ東の9ばんどうろで捕まえてくるのが速いです

---ポイントアップはタマムシシティ東で入手できます

 

f:id:Alice_Wreath:20200503053317p:plain

 

2.パソコンを起動し、じぶんのパソコンで21番目のどうぐでセレクトBBします

---手持ちではなく、パソコンの21番目のどうぐである必要があります

 

f:id:Alice_Wreath:20200503053335p:plain

 

3.野生とのバトルでいらなくなった手持ちポケモンでAを押し、逃げます

---もしフリーズした場合はそのポケモンの上にアネデパミを置いておきましょう

 

4.パソコンを起動すると、やめるより下にスクロールできるようになっています
上から数えて、58番目のどうぐを確認してください。
個数が1でないなら、本来預けていた個数1のどうぐと入れ替えてください

 

f:id:Alice_Wreath:20200503053350p:plain

 

5.タマムシマンションのイーブイが居た場所へ行ってみましょう

 

f:id:Alice_Wreath:20200503060841j:plain

 

手順は以上になります

 

というわけで、例によって解説のお時間ですね

 

手持ちのポケモンとパソコンの21番目をセレクトBBで交換する流れは基本的に13番目セレクトバグと同じ原理です

要はポイントアップを使った2番目のわざをトリガーにしているわけです

これに関してはパソコンのどうぐ欄を50種類の枠を上限開放させるための手段であり、重要な項目ではありません

 

肝心なのはこの後でしょう

パソコンのどうぐ58番目の個数を1にする

これこそが今回のメインとなります

 

どうしてパソコンのどうぐ58番目!?

 

まずはメインメモリを覗いてみましょう

主人公のパソコンは0xD4B9で管理されています

プログラミング風に表現するなら

 

D4B9 じぶんのパソコン
struct { unsigned char count; // 預けているどうぐの合計数
struct{ unsigned char type; // どうぐの種類
unsigned char count; // どうぐの個数 }
item[50]; unsigned char terminate; }
pc_item_data;

 

まぁこうなっているわけで

D4B9は預けているどうぐの1番目の情報になっていますゆえ

仮にわざマシン01を1個預けていれば

C9 01 という形で格納されています

 

これが本来であれば50種類目である0xD51Dで処理が終了し
0xD51Eはダミーの仕切りデータを入れた後

0xD51Fで管理されているコインケースの枚数処理となっているわけです

 

しかしやめるより下までスクロールできてしまえばこの限りではありません

 

本来あり得ない51番目にはコインケースを現しているどうぐの種類と個数が無理やりどうぐとして格納されてしまっています

そしてこの先までどうぐ欄は続くわけなのですが・・・

事もあろうことか、この先の領域はゲームのイベントフラグが管理されている危険な領域となっていました

 

あぁ、逃れられない!

 

先ほど登場した、58番目のどうぐとはメインメモリで表すと0xD52D

0xD52Dとは・・・

もうお分かりでしょう

 

タマムシマンションにあるイーブイモンスターボールなのです

 

だから、パソコンの58番目が重要だったわけですね

 

ちなみにこの先には12ばんどうろで寝ているカビゴンのフラグやら

スイッチを見張っているロケット団員のフラグやら

ふたごじまのフリーザーのシンボルエンカウントフラグやら

むじんはつでんしょやポケモンタワーに落ちているどうぐフラグなどと

とにかくキリがなく有用なイベントのリセットができてしまいます

 

ただ、試してみたところ上から数えて83番目のどうぐまでしかスクロールが出来なかったため

0xD55d以降は出来ませんが

ほぼ全ての落ちているどうぐはリセット可能です

リセットできないのは

:サファリゾーンえんちょうの家にあるふしぎなアメ
トキワシティの見えないキズぐすり
:サントアンヌごうキッチンのスーパーボール
シルフカンパニーわざマシン36
それとかくとうどうじょうの選ばなかった方のポケモン

 

これら以外はすべてOKです。意味もなくエレベーターのかぎを複製できたりします

 

また、もしフラグそのものを終了させていないイベントがあった場合

そのイベントが発生した際に終了する処理が一生終わらずにゲーム自体のリセットをしないといけない事態になるので注意して行いましょう

※特にライバル戦において多発しやすいと思います

 

今回は以上になります

 

EXIT

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

おまけ

 

D525/bit6,7 D526/bit1 ロケット団員@あなをほるイベント
D528 bit5 12ばんどうろ@カビゴン
D52C bit0 ライバル@ポケモンタワー
D52D bit0-2 ロケット団員@ポケモンタワー7F
bit6 ロケット団員@タマムシのスロット #ポスター
D52F bit5 サンダー@むじんはつでんしょ #D753/bit1も立つ
D533 bit1 ライバル@サントアンヌ号
D541 bit3 フリーザー@ふたごじま

D68A 訪れたことがある場所 #そらをとぶ
bit0 マサラ

D6A7 bit3 ボロのつりざおをもらう@クチバ
bit4 いいつりざおをもらう@セキチク
bit5 すごいつりざおをもらう@12ばんどうろ
bit6 ヤマブキシティーの警備員

D6AC bit6,7 最初のライバル戦(終わるとbit7は0へ)
D6AD bit0 ラプラスをもらう@シルフカンパニー7F

D6C9 ナナミからタウンマップをもらえるように
bit0 タウンマップをもらう
bit1 ライバルの家に入る
bit2 ライバルの家を出る

D6CA ゲーム始めイベント
bit0 御三家を選ぶシーン
bit1 「好きなポケモンを選ぶ」
(自分の選んだポケモンはD696、ライバルはD694)
bit2 それぞれの御三家が決まる
bit5 ポケモン図鑑をもらう
bit7 マサラを出ようとしてオーキド博士に呼び止められる

D6CD bit0 ポケモン図鑑をもらう
bit1 お届け物を預かる@トキワ

D6D0 トキワジム
扉の鍵が開く条件はバッジ(D2D5=7F)
bit0 サカキ
bit1 サカキから「わざマシン27」をもらう
bit2-7 トレーナー
D6D1 bit0-1 トレーナー

サカキを倒したときに書かれるフラグ
D529/bit3 D52B/bit3 D76A/bit1,7 #ポケモンリーグ

D6D3 博物館@ニビ
bit0 入場料を払う
bit1 ひみつのこはくをもらう

D6D4 ニビジム
bit3 ボーイスカウト
bit6,7 タケシ

D6D9 bit0 ライバル@ハナダ

D6DA bit7 ロケット団@ハナダ

D6DD ハナダジム
bit2 ガールスカウト
bit3 かいぱんやろう
bit6,7 カスミ

D6DE bit0 ひきかえけんで「じてんしゃ」をもらう

D6E3 bit7 ライバル@ポケモンタワー#D52C bit0も書かれる
D6E4 ポケモンタワー3Fのきとうし
D6E5 ポケモンタワー4Fのきとうし
D6E6 ポケモンタワー5F
bit2-5 きとうし
bit7 結界 #全回復

D6E7 ポケモンタワー6F
bit1-3 きとうし
bit7 ガラガラ

D6E8 ポケモンタワー7F
bit3-1 ロケット団
bit7 フジ老人(D75F:bit7も書かれる)

D6EB bit0 フジ老人から「ポケモンの笛」をもらう

D6F0 bit1 自転車の引換券をもらう@クチバ

D6F2 クチバジム
bit0 2つ目のスイッチ
bit1 1つ目のスイッチ
bit2 ジェントルマン
bit3 でんきグループ
bit4 ふなのり
bit7,6 マチス

D6F6 bit0 @タマムシ おじいさんにわざマシン41をもらう
D6F7 タマムシデパート
6Fの女の子に飲み物をあげる
bit4 わざマシン13
bit5 わざマシン48
bit6 わざマシン49
3階の店員
bit7 わざマシン18

D6FB-C タマムシジム
bit1,0 エリカ
bit2 ミニスカート
bit3 おとなのおねえさん
bit4 ガールスカウト
bit5 おとなのおねえさん
bit6 ミニスカート
bit7 おとなのおねえさん
D6FC- bit1 エリートトレーナー

D6FD スロット@タマムシ
bit1 ひみつのスイッチを押してアジト入口が開く
bit2 コイン10枚#おじさん
bit3 コイン20枚#おじさん
bit4 コイン20枚#おにいさん

D702 bit0 コインケースをもらう@タマムシ

D70D bit0 えんちょうから「ひでんマシン04」をもらう
bit1 「きんのいれば」をわたす

D711 セキチクジム
bit0,1 キョウ
bit2,3 ジプシージャグラー
bit5,6 もうじゅうつかい
bit7 ジプシージャグラー

D715 bit0 ひみつのスイッチ@ポケモンやしき
D717 bit1 はぐれけんきゅういん@ポケモンやしき

D719 グレンジム
bit0 カツラ
bit1 「わざマシン38」をもらう
bit2,6 りかけいのおとこ
bit3,5 かじばどろぼう
D71A グレンジム
bit0 りかけいのおとこ
D71B bit1-6 グレンジム内の扉

D720 bit7 けんきゅうしゃから「わざマシン35」をもらう@ポケモン研究所
D722 bit0,1 ひみつのこはくをわたす
bit1 リセットされると復元したポケモンを受け取れる
bit2 復元したポケモンをもらう
(D68E:預けた化石 D68F:復元されるポケモン)

D72E bit0 ものまねむすめから「わざマシン31」をもらう@ヤマブキシティ

D730 かくとうどうじょう@ヤマブキシティ
bit1 しはん
bit2-5 からておう
bit0,6 サワムラーorエビワラー
D732 ヤマブキジム
bit0 ナツメ
bit1 ナツメから「わざマシン46」をもらう
bit2-7 トレーナー

D73C bit0 エスパーから「わざマシン29」をもらう@ヤマブキシティ

D73E bit0 「きずぐすり」をもらう@1ばんどうろ
D741 bit0 「ひでんマシン05」をもらう

D742,3 3ばんどうろのトレーナー

D745 bit7 コイキング500円で買う@ポケモンセンター

D748 6ばんどうろのトレーナー
D74C,D 8ばんどうろのトレーナー
D74E,F 9ばんどうろのトレーナー
D750 10ばんどうろのトレーナー
D751 イワヤマトンネル1Fのトレーナー
D753,4 ビリリダマ/マルマイン/サンダー@むじんはつでんしょ
D754,5 11ばんどうろのトレーナー
D756 12ばんどうろ
bit0 シオンゲートで「わざマシン39」をもらう
bit5 でんきグループ
bit7 ボーイスカウト
D757 12ばんどうろ(カビゴン)
bit0 つりびと
Bit7 カビゴンがいない場合
Bit6 カビゴンを起こした
D758,9 13ばんどうろのトレーナー
D75A,B 14ばんどうろのトレーナー
D75C,D 15ばんどうろのトレーナー

D75F 16ばんどうろ(カビゴン)
Bit2 カビゴンがいない場合
Bit1 カビゴンを起こした
D762 18ばんどうろのトレーナー
D764,5 19ばんすいどうのトレーナー
D766,7 20ばんすいどうのトレーナー
D768,9 21ばんすいどうのトレーナー

D76A bit0,7(1:reset)ポケモン図鑑をもらう
bit5 ライバル戦@22番どうろ #ポッポL9

D76E 24ばんどうろのトレーナー
bit0 なぞのトレーナーから「きんのたま」をもらう #5人勝ち抜き
bit1 ロケット団
bit3 ボーイスカウト
bit4 ミニスカート
bit5 たんぱんこぞう
bit6 ミニスカート

D770 25ばんどうろのトレーナー
bit2 たんぱんこぞう
bit3 ボーイスカウト
bit4 ミニスカート
bit5 たんぱんこぞう
bit6 ミニスカート
bit7 やまおとこ
D771 25ばんどうろ
bit0 やまおとこ
bit1 たんぱんこぞう
マサキの家
bit3 パソコン起動
bit4 ふねのチケットもらう
bit5 マシンから出てくる
bit6 転送マシンに入る

D772 bit2-4 トキワの森のトレーナー
D774 bit1-7 おつきみやま1Fのトレーナー
D775 bit1 りかけいのおとこ #化石
bit2-5 ロケット団

D77E サントアンヌ号甲板のトレーナー

D782 サントアンヌ号船長の部屋
bit2 ひでんマシンをもらう
bit3 出航してしまう
bit4 出航するグラフィック

D786 サントアンヌ号(左の階段から下りた)B1の部屋のトレーナー
D788 サントアンヌ号(右の階段から下りた)B1の部屋のトレーナー

D794 ロケット団アジトB1のロケット団
D796 ロケット団アジトB2のロケット団
D798 ロケット団アジトB3のロケット団
D79A ロケット団アジトB4
bit2-4 ロケット団
bit5 サカキの前の扉
bit6 エレベーターのかぎ
bit7 サカキ

D7A4- シルフカンパニー本社
D7A4 2F
D7A6 3F
D7A8 4F
D7AA 5F
D7AC,D 6F
D7AE 7F
D7B0 8F
D7B2 9F
D7B4 10F
D7B6 11F
D7B7 bit5 マスターボール
bit7 サカキを倒す

サカキを倒したときに書かれるフラグ#ヤマブキシティに人が戻る
D526/bit2-6 D527/bit0-7 D528/bit0 D536/bit2-7 D537/bit0-3,7
D538/bit0-3,6-7 D539/bit0,3-6 D53A/bit3-7 D53B/bit0-2,7 D527/bit1-6


D7C6 bit1 かじばどろぼう@ポケモンやしき
D7C8 bit1 かじばどろぼう@ポケモンやしき
bit3 はぐれけんきゅういん@ポケモンやしき
D7CA bit1 かじばどろぼう@ポケモンやしき
bit3 はぐれけんきゅういん@ポケモンやしき

D7D6 bit0 ひでんマシン03をもらう@トレジャーハウス

D7FC,D イワヤマトンネル地下1Fのトレーナー

 

D525 bit5 イーブイタマムシマンション
D528 bit1 つきのいし 2ばんどうろ
bit2 マックスアップ 2ばんどうろ
bit3 わざマシン04 4ばんどうろ
bit4 わざマシン30 9ばんどうろ
bit6 わざマシン16 12ばんどうろ

D529 bit0 わざマシン20 15ばんどうろ
bit5 わざマシン45 24ばんどうろ
bit6 わざマシン19 25ばんどうろ

D52B bit3 げんきのかけら トキワジム

D52C bit1 あなぬけのひも(ポケモンタワー3F)
bit2 ピーピーエイダー(ポケモンタワー4F)
bit3 ねむけざまし(ポケモンタワー4F)
bit4 マックスアップ(ポケモンタワー4F)
bit5 きんのたま(ポケモンタワー5F)
bit6 ふしぎなあめ(ポケモンタワー6F)
bit7 ヨクアタール(ポケモンタワー6F)

D52E bit1 インドメタシンポケモンやしき)
bit2 エビワラー
bit3 サワムラー
bit4 あなぬけのひも(ポケモンやしき)

D52F bit6 インドメタシン むじんはつでんしょ
bit7 マックスアップ むじんはつでんしょ
D530 bit0 ふしぎなあめ むじんはつでんしょ
bit1 わざマシン25 むじんはつでんしょ
bit2 わざマシン33 むじんはつでんしょ
(※他のビットはビリリダマ/マルマイン)

D531 bit7 キズぐすり おつきみやま1F

D532 bit0 つきのいし おつきみやま1F
bit1 ふしぎなあめ おつきみやま1F
bit2 あなぬけのひも おつきみやま1F
bit3 キズぐすり おつきみやま1F
bit4 わざマシン12 おつきみやま1F
bit5 こうらのかせき おつきみやま1F
bit6 かいのかせき おつきみやま1F
bit7 マックスアップ おつきみやま地下2F

D533 bit0 わざマシン01 おつきみやま地下2F
bit2 わざマシン08 サントアンヌ号
bit3 ピーピーリカバー サントアンヌ号
bit4 ふしぎなあめ サントアンヌ号
bit5 ピーピーエイド サントアンヌ号
bit6 わざマシン44 サントアンヌ号
bit7 まんたんのくすり サントアンヌ号

D534 bit3 あなぬけのひも(B1)ロケット団アジト
bit4 すごいキズぐすり(B1) ロケット団アジト
bit5 つきのいし(B2) ロケット団アジト
bit6 きんのたま(B2) ロケット団アジト
bit7 わざマシン07(B2) ロケット団アジト

D535 bit0 いいキズぐすり(B2) ロケット団アジト
bit1 わざマシン10(B3) ロケット団アジト
bit2 ふしぎなあめ(B3) ロケット団アジト
bit3 シルフスコープ(B4) ロケット団アジト
bit4 マックスアップ(B4) ロケット団アジト
bit5 わざマシン02(B4) ロケット団アジト
bit7 シルフスコープ(B4) ロケット団アジト
D536 bit0 エレベーターのかぎ(B4) ロケット団アジト

D537 bit0 すごいキズぐすり シルフカンパニー3F
bit4 なんでもなおし シルフカンパニー4F
bit5 げんきのかたまり シルフカンパニー4F
bit6 あなぬけのヒモ シルフカンパニー4F
D538 bit2 カードキー シルフカンパニー5F
bit3 わざマシン09 シルフカンパニー5F
bit4 タウリン シルフカンパニー5F
D539 bit1 マックスアップ シルフカンパニー6F
bit2 ヨクアタール シルフカンパニー6F
D53A bit0 リゾチウム シルフカンパニー7F
bit1 わざマシン03 シルフカンパニー7F
D53B bit4 インドメタシン シルフカンパニー10F
bit5 ふしぎなアメ シルフカンパニー10F
bit6 わざマシン26 シルフカンパニー10F

D53C bit2 リゾチウム ポケモンやしき
bit3 ふしぎなアメ ポケモンやしき
bit4 まんたんのくすり ポケモンやしき
bit5 ブロムヘキシン ポケモンやしき
bit7 かいふくのくすり ポケモンやしき

D53D bit0 わざマシン14 ポケモンやしき
bit1 わざマシン22 ポケモンやしき
bit3 ひみつのカギ ポケモンやしき

D53D bit3 かいふくのくすり サファリゾーン
bit4 まんたんのくすり サファリゾーン
bit5 インドメタシン サファリゾーン
bit6 わざマシン37 サファリゾーン
bit7 タウリン サファリゾーン
D53E bit0 わざマシン40 サファリゾーン
bit1 まんたんのくすり サファリゾーン
bit2 わざマシン32 サファリゾーン
bit3 げんきのかたまり サファリゾーン
bit4 きんのいれば サファリゾーン
bit5 きんのたま サファリゾーン

D57D bit7 ふしぎなあめ サファリえんちょうの家

D673 bit3 キズぐすり トキワ

D66F bit5 スーパーボール サントアンヌ号

D7A5 bit7 わざマシン36 シルフカンパニー2F

ポケットモンスター青でのイベントフラグです

赤緑は8メモリ先にずれています