ファミリーベーシックでスーパーマリオの9-1を任意で出現させてみた

マリオに9-1が存在する?

今や”世界一の人気者のゲームキャラ”と言っても過言ではない、マリオ。このマリオが大ヒットするきっかけとなったのがご存じ”スーパーマリオ”です。その人気たるや当時を知るファミコン世代の人なら必ず印象に残っているでしょう。

さて、このスーパーマリオですが、ワールドは8つ、その各ワールドは4ステージという8-4までの全32面構成であったため、本来それ以上の面はプログラム的には存在していません。

ところが、当時の子供達の”もっとマリオを遊びたい”という強い欲求からなのか、ある時期から各地で9-1を発見したという噂が飛び交ったり、証拠の写真が各種雑誌に掲載される等して、かなりセンセーショナルな話題となりました。

結論的にはこの9-1の存在はプログラムのバグ面だったのですが、後に特定の方法でこの9-1を任意的に発生させる方法が、あるムック本で公開され当時の子供たちは度肝を抜かれたものです。(それによるとワールド256まで存在するらしいです。)

ただ、後述しますがこの9-1を出現させる方法はファミコン本体の故障を招く恐れがあり、これまた当時各地でファミコンが壊れたという話も聞いたので、注意が必要です。ただ、そのリスクを負ってでも、その9-1を遊びたいというチャレンジャーな小学生が多かったのは、それ程スーパーマリオが人気ゲームであったという意味でも印象的でした。

以下に9-1を出す方法を検証していきますが、ファミコン本体にダメージを与える可能性があるので、マネをされる方は自己責任でお願いします。

”テニス”を使う方法

ではスーパーマリオの9-1を検証してみましょう。まずは一般的に良く知られている方法。この方法ではスーパーマリオのソフトとは別に”テニス”のソフトが必要です。

まず普通にスーパーマリオのソフトを起動します。

その状態で、電源を入れたままスーパーマリオのソフトを抜きます。画面がこのようにバグると思います。

次にテニスのカセットに差し替えます。

リセットボタンを押して、普通にテニスのゲームをスタートさせてしばらく遊びます。

(後述しますが、ここでゲーム中にサーブした後上キーを押した回数が9-1を出現させるカギになります。)

その後、また電源を入れたままテニスを抜きます。

ここで再びスーパーマリオのソフトを挿し込み、リセットボタンを押します。

普通にスーパーマリオのタイトル画面が出てきます。

ここでAボタンを押しながらスタートボタンを押します。(通常のプレイ時のゲームオーバー時に続きを遊ぶコンテニュー操作と同じ。)

すると、本来存在しないワールドからコンテニュー出来ます。ちなみに今回は”L-1”でした。失敗です。(8-1と同じマップ?)

created by Rinker
任天堂
¥13,800 (2024/12/07 02:14:21時点 Amazon調べ-詳細)

バグワールドが決定する仕組み

・・・って事で残念ながら初回の検証では9-1にはならずに失敗しました。今回は”テニス”を使う方法でしたが、実はこの方法はテニスのキャラクターがトスを上げた後、上ボタンを押してキャラクターが歩いた歩数がワールドをセレクトする際のカギとなっています。具体的に言うとテニスで”上方向を押した数+1”がスーパーマリオ上でのワールド数になるとの事です。

つまり、ワールド9にしたければテニスできっちり8回上を押せばOKなのですが、何気にこのボタン押下判定が微妙で任意のワールド数にするのは結構難しいのです。

一応この原理をプログラム的に解説すると、ファミコンのスーパーマリオのコンテニュー面を決定するメモリ空間のアドレスの位置が、テニスのキャラクターの上方向をカウントするメモリ空間のアドレス位置と同じで電源を入れたままソフトを入れ替える事により、その値がスーパーマリオのメモリ空間に本来ありえない数値をそこに上書きする事によってバグを誘発させるという仕組みの様です。

偶然なのかどうかは分かりませんが、テニスのソフトとの組み合わせでこの方法が起こる事を発見した人は本当にすごいと思いますねぇ。

created by Rinker
ノーブランド品
¥4,280 (2024/12/06 20:25:47時点 Amazon調べ-詳細)

”ファミリーベーシック”を使う

さて、今回の目玉。今回はこのファミリーベーシックを使って9-1を目指しましょう。過去にもこのブログ上でファミリーベーシックの話題は何度か取り上げているので、今回はファミリーベーシックの詳細な解説は割愛しますが、要はファミコン上でBASICプログラミングが行える周辺機器です。

ファミリーベーシックをファミコンに繋げて起動します。

メニューからBASICを起動します。

BASIC上で上記のプログラムを入力します。(10~30行までの間のプログラム文を入力)

プログラム最後の数値がスーパーマリオ上でのワールド数になります。今回はワールド9を出現させたいので8を入力しています。(入力出来る数値は0~255まで。それ以上の数値はプログラム実行時エラーが出ます。)ちなみにPOKE命令は特定のアドレスに数値を書き込む命令との事です。

↓なお、上記のプログラムは”でざいあー様”の以下のサイト様を参考にさせて頂いています。

256Wの出し方

http://smb.lsi.harisen.jp/howtoplay.html

 

プログラム入力後、プログラムをRUNします。F8キーを押しても良いです。

”OK”と表示されたら、

電源を入れたままファミリーベーシックのソフトを引き抜きます。

そして、テニスの方法と同様にスーパーマリオのソフトに差し替えた後リセットボタンを押し、その後Aボタンを押しながらゲームをスタートすると、

念願の9-1が一発で出現されましたー。文句なく成功です!

9-1で遊んでみる

折角、9-1を出現させたのでしばらく遊んでみましょう。

うーん、子供の頃にも遊んだことはあったのですが、久々に遊ぶとなかなか感慨深いものがあります。

何より、このビビッドなネオンカラーの配色は当時新鮮で美しくインパクトがありました。地上面のレイアウトなのに水中面というのも不思議な感覚になります。まさに例えるならこれぞ竜宮城といったところでしょうか。

残念ながらゲームの方は所詮バグ面なので不安定感は否めず、ステージ途中で急にリセットがかかったりしてまともに遊べない事が多いですが、これはこれで面白いです。

ファミコン本体やROMカセットの故障を招く可能性がある裏技なので決しておススメは出来ませんが、古き良き昭和の思い出に浸りたいと思う方は自己責任で試してみても良いかも知れません。

今回はここまで。では、また。

Author: Naokit

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください