ファミコン『スーパーマリオ』は元々「256ワールド」あった? 禁断の裏技の真相
危険を冒すことで何が起きるのか?

ファミコンは本体のRAM(ラム)と呼ばれる一時記憶領域にゲーム情報の一部を読み込み、必要に応じてここから情報を呼び出してゲームを実行します。この情報は電源を切るまで消えません。ですから電源が入ったままゲームを入れ替えると、前のゲームの情報がRAMに残った状態で次のゲームが始まります。
『テニス』を使ったバグ技は、『スーパーマリオ』のデータをRAMに残したまま、『テニス』のデータでその一部を書き換え『スーパーマリオ』に戻すことによって、256ワールド中の「どれか」が始まるというものでした。
さて『スーパーマリオ』のカセットにはワールドのデータが書き込まれていますが、これは決まった順番で連続になっています。例えば「ワールド番号」「最初のカードNo」「次のカードNo」……「そのワールドの最後のカードNo」「次のワールド番号」……といった具合です。
通常では当然「ワールド番号」~「そのワールドの最後のカードNo」までを1セットとして読み込みますが、RAMの内容がおかしな状態ではこれがズレることがあるのです。仮に読み込む数字の先頭が1つ右にズレたとすれば、「最初のカードNo」~「次のワールド番号」までを1セットとして扱うことになり、「最初のカードNo」をワールド番号として画面に表示してしまいます。この記事の例では「最初のカードNo」を「95」と書きましたから、ワールド「9-5」が始まるといった具合です。
これが予期しないワールドが始まってしまう原理ですが、RAMの内容はゲームカセットの入れ替えだけではなく、電気ノイズによっても書き換わってしまいます。現実にはそれが大多数でしょう。そのため、バグ技など使った憶えがないのに変なステージが始まったという人は数多くいましたし、プロデューサーの宮本茂氏も電気ノイズが原因だと述べています。
なお余談ですが、この電気ノイズが引き起こす有名なトラブルが、バッテリーバックアップのデータが消える現象です。
ただゲームカセットの挿し換えや電気ノイズに頼ったやり方では、256面中どれが遊べるかわかりません。しかし『ファミリーベーシック』でプログラムを組み、好きな値をRAMに書き込む手法が発見されると、自由にワールドを読み出すことができるようになりました。こうした研究の進歩によって、今では「256ワールド」の全容が明らかになっているのです。
(タシロハヤト)