初代ポケモンのセレクトバグの仕組みを図解で解説|レベル100になる原理

初代ポケモンのセレクトバグの仕組みを図解で解説|レベル100になる原理

今回は初代ポケモンのバグの仕組みについて解説。初代ポケモンっていろいろなバグ技がありますよね。

レベル100にしたり
ミュウを出現させたり
この世の終わりのようなカオス状態になったり…

実は、これらのバグは全て同じ仕組みをもとに発生しています。それは、セレクトフラグが消えないというバグ。セレクトバグとも呼ばれていますね。

  • 「なぜこんなことができるんだろう?」
  • 「バグってなぜ起こるの?仕組みを知りたい!」
  • 「バグを利用して究極のポケモンを作りたい!」

と、気になった方も多いはず。今回は『レベル100にするバグ技』を例にして、バグの仕組みを解説したいと思います。

バグの仕組みが理解できるようになれば、

  • ありえない技構成
  • ありえないステータス

などなど、究極ポケモンを誕生させることも可能になります。

先に結論をひとことで言うと、セレクトバグの正体は「どうぐ画面で押したセレクトの『入れ替え予約』が、画面を閉じても消えずに残ってしまう」というもの。残った予約が戦闘中の技の入れ替えに使われることで、本来さわれないはずのデータが書き換わります。

ここから、図を使って順番に見ていきましょう。

目次

セレクトバグとは?「入れ替え予約」が消えないバグ

仕組みの前に、そもそもセレクトボタンが本来どういう役割なのかを確認しておきます。

初代ポケモンのセレクトボタンは、「並べ替え」のためのボタンです。

  • どうぐ画面:1つ目のどうぐでセレクト → 2つ目のどうぐでセレクト、で2つの位置が入れ替わる
  • 戦闘中の「たたかう」画面:1つ目の技でセレクト → 2つ目の技でセレクト、で技の並び順が入れ替わる

どちらも「1回目のセレクトで入れ替え元を予約して、2回目のセレクトで入れ替えを実行する」という2段階の操作ですね。この記事では、1回目のセレクトで立つ予約のことを「フラグ」と呼びます。

問題は、どうぐ画面のフラグと、技の画面のフラグが、ゲームの内部で同じ1つの場所に記録されていること。そしてそのフラグが、画面を閉じても消えないことです。

その結果、「どうぐ画面で立てた予約」を「技の画面」が自分あての予約だと勘違いして、入れ替えを実行してしまいます。これがセレクトバグの出発点です。

ちなみに、こうした想定外の動作を利用するのが「バグ技」で、開発者がわざと仕込んだ「裏技」とは別物です。

裏技とバグ技の違いとは?具体例・改造との違い・注意点をサクッと解説

レベル100バグ技の手順【まずはおさらい】

まずはレベル100バグ技の手順をおさらいしておきます。

レベル100バグ技の手順
①「どうぐ」を開き、七番目のどうぐのところでセレクトボタン押下
②Bボタンを2回押下して戻る
③野生のポケモンに出会い、戦闘モードに入る
④「たたかう」を選択し、4番目の技のところでセレクトボタン押下
⑤通常通り敵ポケモンを倒す

事前準備やうまくいかないときの確認ポイントは上の記事に詳しく書いているので、この記事では「なぜこの手順でレベル100になるのか」に絞って解説します。

初代ポケモンのセレクトバグの仕組み

さて。それでは、レベル100バグ技をもとにセレクトバグの仕組みについて解説していきます。

バグの仕組みを理解するにあたって、まずは初代ポケモンのメモリの使われ方(記憶のされ方)を把握する必要があります

<メモリ内部のイメージ>

初代ポケモンバグの仕組み_図解1

※ちなみに・・IDは2バイト、経験値は3バイト分の領域が使用されており各値の組み合わせにより構成されています。

メモリというのは、ゲームがデータを覚えておくための「番号つきの箱」がずらっと並んだものだと思ってください。手持ちの先頭にいるポケモンのデータは、上の図のように「技1・技2・技3・技4・ID・経験値…」という順番で、となり合った箱に入っています。

ここで大事なのは、技の箱のすぐ後ろに、IDや経験値の箱が続いているという点です。

例えば、戦闘中にわざの3番目でセレクトを押すと「3番目と入れ替えるよ~」というフラグが立ちます。

初代ポケモンバグの仕組み_図解2

次にわざの1番目でセレクトを押すと、フラグがたっていた3番目と値が交換されてわざが入れ替わります。

初代ポケモンバグの仕組み_図解3

ここまでは、ゲームが想定しているふつうの使い方です。技は4つしかないので、フラグが立つ位置も1〜4番目のどれかにしかなりません。

それでは、上記を踏まえてレベル100バグ技の手順を見てみましょう。

  • 道具の7番目でセレクトを押す
    →上記解説と同様に「7番目と入れ替える」というフラグが立つ。
  • Bボタンを2回押して道具の画面を閉じる
    →画面を閉じても「7番目と入れ替える」というフラグが立ったままになっている。

※ここがバグの原因!
「画面を閉じたらフラグもキャンセルする」という処理が施されていればバグは起きなかったはず!

  • 戦闘画面で「たたかう」を開き、4番目の技の所でセレクトを押す
    →セレクトした位置(4番目)とフラグが立っている位置の値が交換される
初代ポケモンバグの仕組み_図解4

技は4つしかないのに、フラグは「7番目」を指しています。ゲームは「技の7番目なんて存在しない」というチェックをしていないので、技1の箱から数えて7つ目の箱、つまり経験値の一番上のケタが入っている箱を「技の7番目」として扱い、技4と入れ替えてしまうのです。

経験値の上桁に技4の値が入りこむ為、例えばコラッタの場合は値が16以上の技と入れ替えると経験値が100万を超えてレベル100に到達します。

手順の最後に「敵ポケモンを倒す」が入っているのは、戦闘に勝って経験値をもらったタイミングで、ゲームが「今の経験値だと何レベルか」を計算し直すからです。そこで書き換わった経験値が反映されて、一気にレベル100まで上がります。

以上が、バグが起こる仕組みです。バグ技はこういったプログラム上の不備を突いて、ありえない数値を実現させているんですね。

バグの仕組み詳細&注意点

ここからは少しシステムちっくな話になります。

バグの仕組み詳細

メモリの仕組みは下記のようなイメージ(ややこしいですが)

  • 1バイト(8ビット)で表現できるパターンは256種類
    (2進数だと8桁、16進数だと2桁で表現される)
  • IDの場合、2バイトぶん確保されているため256×256で65536パターンある(00000~65535までのIDが割り振られる)
  • 経験値も同様に、下の2バイトだけだと表現できるのは65535まで。
  • そこで3バイト目(上桁)を使う。上桁の箱の「1」は、下2バイトがあふれた回数、つまり65536を意味する
  • 前述した「値が16の技」を16進数に変換すると「10」になる。
  • 上桁に16が入ると、経験値は 16×65536=1,048,576。これに下2バイトの分が足されて、経験値100万以上となる

式にまとめると、経験値は次のように計算されます。

  • 経験値 = 上桁 × 65536 + 中桁 × 256 + 下桁

ふつうに育てている途中のポケモンは、上桁が0〜数個ぐらいの小さな数字です。そこへ技の番号という「関係ない数字」が丸ごと入ってくるので、経験値が一気に跳ね上がるわけですね。上桁が1増えるだけで経験値が65536増えるので、効果は絶大です。

具体例で見てみましょう。経験値5000のコラッタがいて、一番下の技が「でんこうせっか」(技コード98)だったとします。

  • バグ技の前:上桁0・中桁19・下桁136 → 0×65536+19×256+136=5,000
  • バグ技の後:上桁98・中桁19・下桁136 → 98×65536+19×256+136=6,427,528

コラッタがレベル100になるのに必要な経験値は100万なので、余裕で突破です。かわりに、技4の箱にはもともと上桁に入っていた「0」が移動するので、でんこうせっかは消えてしまいます。

レベル100にならない場合も

ここまでの仕組みを踏まえた上で、いくつか注意点があります。一つ目の注意点は、このバグ技でレベル100に届かないことがあるということ。

下記のわざは、コードの値が16(16進数でいうところの「10」)に満たないため経験値100万までは届きません(括弧内は技コード)。

  • はたく(01)
  • からてチョップ(02)
  • おうふくビンタ(03)
  • れんぞくパンチ(04)
  • メガトンパンチ(05)
  • ネコにこばん(06)
  • ほのおのパンチ(07)
  • れいとうパンチ(08)
  • かみなりパンチ(09)
  • ひっかく(0A)
  • はさむ(0B)
  • ハサミギロチン(0C)
  • かまいたち(0D)
  • つるぎのまい(0E)
  • いあいぎり(0F)

経験値100万に満たないので、ポケモンによってはレベル100に届かないこともあります。

「ポケモンによっては」と書いたのは、レベル100に必要な経験値がポケモンの種類によって違うからです。必要な経験値ごとに、上桁に入れるべき技コードの目安をまとめました。

レベル100に必要な経験値ポケモンの例必要な技コード計算
80万ピッピ、プリン、ラッキーなど13以上13×65536=851,968
100万コラッタ、ピカチュウ、イーブイなど16以上16×65536=1,048,576
105万9860フシギダネ・ヒトカゲ・ゼニガメの系統、ミュウなど17以上17×65536=1,114,112
125万ギャラドス、カビゴン、ミュウツーなど20以上20×65536=1,310,720

技コード20は「しめつける」です。しめつける以降の技(技コード20以上)を一番下に置いてセレクトすれば、どのポケモンでもレベル100に届きます。

逆に、かぜおこし(16)・つばさでうつ(17)・ふきとばし(18)・そらをとぶ(19)は、ポケモンによって届いたり届かなかったりする微妙なラインです。

なお、表の数字は「中桁・下桁が0だった場合」の最低ラインです。もともと持っていた経験値の下2バイト分(最大65535)が上乗せされるので、目安より1つ小さい技コードでも、たまたま届くことはあります。確実にいくなら目安どおりの技を選んでください。

覚えている技も変化

レベル100バグ技を実行する際、技を入れ替えた直後に別の技に変化します(技コードが入れ替わるため)。ただし、戦闘時の技コードと通常時の技コードは別のメモリ番地に格納されており、管理のされ方が異なります。

そのため、戦闘が終了して再度わざを確認すると、入れ替えた直後と違った技に変化することも。存在しない技コードが入り込んでしまった場合、セレクトした部分は「技を覚えていない」状態になります。

仕組みから考えると当然で、技4の箱には「経験値の上桁に入っていた数字」が代わりに入ります。育成途中のポケモンなら、その数字は0や1、2といった小さな値。0なら「技なし」、1なら「はたく」、2なら「からてチョップ」という具合に、数字に対応した技に変わるわけです。

一番下の技が消えたり変わったりするのはこのためなので、いらない技を一番下に置いてから実行するのがおすすめです。

HP表示がバグることも

残りHPについても、戦闘時と通常時で管理方法が異なるためHP表示がバグって突き抜けてしまう場合があります。HP表示がバグってしまったら、ポケモンセンターで回復させるかパソコンにポケモンを預ければOK。
※預けた際に、正しい「最大HP」の値が「残りHP」の番地に再入力されるため治るのだと思われます。

補足すると、技の入れ替えでは技コードだけでなく「残りPP」も一緒に入れ替わるといわれています。PPの箱は技の箱とは別の場所にあるので、そちらでも「7番目」にあたる箱との入れ替えが起き、それがHPまわりのデータに当たっている、という説明もあります。いずれにしても、回復するか預ければ直るので心配はいりません。

セレクトする位置を変えると何が起きる?位置とデータの対応

ここまで読んで、「じゃあ7番目以外でセレクトしたらどうなるの?」と思った方は鋭いです。

図解1のとおり、どうぐの○番目は、技1から数えて○番目の箱に対応しています。手持ち先頭のポケモンのデータは、経験値の後ろにもまだまだ続いているので、セレクトする位置を変えれば別のデータを書き換えられます。

どうぐの位置対応するデータ書き換えるとどうなるか
1〜4番目技1〜技4ふつうの技の入れ替え
5〜6番目IDおやのID番号が変わる
7〜9番目経験値(上桁・中桁・下桁)7番目でレベル100。8・9番目は経験値が少しだけ増減する(レベルが下がることもある)
10〜19番目努力値(HP・こうげき・ぼうぎょ・すばやさ・とくしゅ、各2バイト)努力値をMAXにできる
20〜21番目個体値個体値をMAXにできる

手持ちのどうぐは20個までなので、21番目より後ろを狙うときは、ポケモンセンターのパソコン(どうぐを預ける・引き出す画面)でセレクトを押します。

さらに後ろには、技のPP、現在のレベル、最大HP・こうげき・ぼうぎょ・すばやさ・とくしゅといったステータスの数値そのものが並んでいます。ここまで手を出すと、いよいよ「ありえないステータス」の領域です。

バグの仕組みは応用できる

勘の良い方は気付いたかもしれないですが、セレクトバグの仕組みを応用すれば、ポケモンに好きな技を覚えさせることが出来ちゃいます。

具体的にはなみのりピカチュウやそらとぶカビゴンなどです。
→初代ポケモンの技変更バグ手順|好きな技を覚えさせる方法と鬼畜コンボ

さらに、努力値や個体値をMAXにすることも可能です(計算など少し手間はかかりますが)。
→【初代ポケモン】個体値と努力値をMAXにするバグ手順|仕組みと注意点

初代ポケモンマニアとしては夢が広がりますね。

さらにバグ技を極めると、めちゃつよなポケモンも作成可能。
→初代ポケモンのバグ技でステータスALL999は可能!仕組みと注意点

ミュウが出るバグ技も同じ仕組み

冒頭で「これらのバグは全て同じ仕組み」と書きました。ミュウを出すバグ技は、どうぐの14番目でセレクトしたあと、戦闘中に「たたかう」ではなく「ポケモン」を開いて手持ちのポケモンを選びます。

手持ちの並べ替えも、セレクトと同じフラグを使っています。手持ちは6匹までしかいないのに「14番目のポケモンと入れ替える」という予約が残っているので、ゲームは6匹分のデータを飛び越えた先にある別のデータを、ポケモンだと思い込んで入れ替えてしまうのです。

入れ替える対象が「技」から「ポケモン」に変わっただけで、「消えなかったフラグが、存在しない○番目を指している」という原理はレベル100のときとまったく同じ。どうぐの表示がバグったり、マップがおかしくなったりするカオスな現象も、同じ原理で関係ないデータが書き換わった結果です。

同じくデータの想定外を突いて出てくる存在として、バグポケモンの「けつばん」も有名ですね。

けつばんとは?初代ポケモンの幻のバグポケモンの正体・強さ・出現の仕組み

セレクトバグができるバージョン

セレクトバグはVC版にも対応

今回紹介したセレクトバグは、初代(赤緑青)とVC版で再現可能です。ピカチュウバージョンや金銀バージョン以降からは使えません。

ソフトセレクトバグ補足
赤・緑・青(ゲームボーイ)できるフラグが消えない不具合が残っている
赤・緑・青(3DSのVC版)できるゲームボーイ版の動作がそのまま再現されている
ピカチュウバージョンできない不具合が修正されている
金・銀以降できないプログラムが別物
ファイアレッド・リーフグリーン(GBA版・Switch版)できない赤・緑のリメイクだがプログラムは別物

VC版(3DSのバーチャルコンソール版)は、3DSのニンテンドーeショップが2023年3月28日にソフトの販売を終了したため、今から新しく買うことはできません。すでに購入している人だけが遊べます(2026年10月時点)。

2026年2月27日にNintendo Switchで配信された『ファイアレッド・リーフグリーン』は赤・緑のリメイクですが、中身は別のプログラムです。この記事の仕組みは当てはまりません。

ゲームボーイのカセットで試す場合は、内蔵電池が切れているとレポートが残らないことがあります。先にふつうにレポートを書いて電源を入れ直し、データが残るか確認しておくと安心です。

ピカチュウバージョンで修正されているので、開発側もこの不具合を把握していたのでしょう。赤・緑・青は、セレクトバグが残った貴重なバージョンといえますね。

仕組みが分かったうえで気をつけたいこと

仕組みを理解すると、セレクトバグがなぜ危ないのかも見えてきます。フラグが残っているあいだは、セレクトやAボタンを押した場所によって、関係ないデータが書き換わる状態だからです。

  • 実行前に必ずレポートを書く:おかしくなっても、レポートを書かずに電源を切れば元に戻せる
  • どうぐ画面を閉じたあとは、手順にない操作をしない:フラグが残ったまま別の画面でセレクトやAボタンを押すと、想定外のデータが入れ替わる
  • 大事なポケモンはボックスに預けておく:書き換わるのは基本的に手持ちのデータ。預けておけば巻き込まれにくい
  • 結果を確認してからレポートを書く:表示やデータに異常がないことを見てから保存する

とくに、フラグの位置が大きい数字になるほど、手持ちポケモンのデータを通り越して、まったく別のデータ(持ち物や現在地など)に届くようになります。この記事で紹介した範囲を超えて実験するときは、消えても困らないデータで試してください。あくまで自己責任で。

セレクトバグの仕組みでよくある質問

なぜ「7番目」のどうぐなの?

技1の箱から数えて7つ目の箱が、ちょうど経験値の一番上のケタだからです。技が4バイト、IDが2バイトで合計6バイト。その次の7バイト目から経験値が始まります。

どうぐの中身は何でもかまいません。大事なのは「7番目」という位置だけで、そこに何のどうぐが入っているかは関係ないのです。ただし、どうぐを7種類以上持っていないと7番目にカーソルを合わせられないので、数だけはそろえておく必要があります。

なぜ手持ちの先頭のポケモンだけがレベル100になるの?

入れ替えの対象になるのは、そのとき戦闘に出ているポケモンのデータだからです。手順では戦闘が始まってすぐにセレクトを押すので、対象は最初に出てくる手持ち先頭のポケモンになります。

レベル100にしたいポケモンを先頭に置いておくのは、このためですね。

8番目や9番目でセレクトするとどうなる?

8番目は経験値の中桁、9番目は下桁にあたります。中桁は1増えるごとに経験値が256、下桁は1増えるごとに経験値が1変わるので、7番目ほど派手な変化にはなりません。

逆にいえば、経験値を細かく調整したいときに使える位置です。技の番号によっては今より小さい数字が入って、経験値が減ることもあります。

バグ技を使うとカセットが壊れる?

セレクトバグで書き換わるのはセーブデータの中身で、カセットそのものが物理的に壊れるわけではありません。ただし、おかしな状態のままレポートを書くと、そのセーブデータが正常に遊べなくなる可能性はあります。

「レポートを書く前なら電源を切れば戻せる」「書いてしまったら戻せない」。この2つだけは覚えておいてください。

まとめ【バグ技の仕組みを図解で解説(初代ポケモン)】

さて。初代ポケモンにおけるバグ技の仕組みはこんな感じです。

正体は「セレクトフラグが消えないバグを利用してメモリの中身を操作する」というものだったんですね。

  • どうぐ画面のセレクトで立ったフラグが、画面を閉じても消えない
  • 残ったフラグが戦闘中の技の入れ替えに使われ、技4と「7番目の箱」が入れ替わる
  • 7番目の箱は経験値の上桁。技コードが入ることで経験値が100万を超える
  • 技コード20(しめつける)以降の技なら、どのポケモンでもレベル100に届く
  • セレクトする位置を変えれば、努力値・個体値・ステータスも書き換えられる

初代ポケモンの通常プレイに飽きた方は実践してみて下さい~。

ようこそバグの世界へ。

初代ポケモンあるある7選|ガチ勢がどハマりした当時の遊び方と真相
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次