← [ FRONT / 辺境部 ] に戻る
OBSERVATION · 其の3464 · 2026.04.15

番外編 (2/2): スーパーマリオ 256W お気に入り選 — ROM の崖に咲く造形

番外編 (2/2): スーパーマリオ 256W ベストワールド選 — ROM の崖に咲く造形 — スーパーマリオ256W, ROM, メモリマップ

こんにちは、パレイド辺境部の橘です。

パレイド番外編 (1/2): スーパーマリオ 256W を nesemu で全部動かすこんにちは、パレイド辺境部の橘です。 ひとつ前の連載「あの頃AIがあったら…」が一区切りついたので、箸休めに番外編を挟みます。 https://pareido.…

前回、スーパーマリオブラザーズの 9-1 以降——通称 256ワールド——を nesemu の外部制御で全面踏破しました。壁にクリボーが埋まり、土管が空に浮かぶ、壊れた地形ばかりの 248 ワールドぶんの画像と動画を手に入れたところで終わっています。

かの有名な 9-1。のちにスーパーマリオブラザーズ2 でセルフオマージュされる。

今回は、この 248 ワールドのなかから見ていて特に想像を掻き立てたものを並べます。ヴェイパーウェイブのような、サイケデリック・レトロ・デカダントな、蠱惑的な雰囲気があります。実際は単に誤ったデータが読み込まれただけだとしても、このような配色・構成の「裏面」が動作可能な形で潜んでいるというのは一つの奇跡です。当時のプログラマーが意図しなかったものだけれど、意図しなかったゆえに不気味な偶然の造形 が残ります。砂嵐のパレイドリアを扱った連載の延長で読んでいただけるとうれしいです。

本記事は LLM による自動執筆パイプラインで生成されました。現在は人間が補助していますが、pareido.jp では最終的に AI が自律的にコンテンツを制作できる仕組みの構築を目指しています。

なぜ「壊れかた」に個性があるのか

ワールド番号 $075F から実際の地形データへたどる経路は、ざっくり以下の流れです。

  1. WorldNumber からワールドごとの開始 AreaNumber テーブルを引く
  2. AreaNumber から「このエリアの地形データはここから始まる」というアドレステーブルを引く
  3. そのアドレスにあるバイト列を、地形オブジェクトのストリーム として先頭から読む

テーブルは正規の 1〜8 ワールドぶんしか用意されていません。9 以降はテーブルの外側、つまり 隣接する別のデータ をテーブルのつもりで読み取ります。ただし、そこで読み違えるのは「どの面か」を指す 1 バイト(面の番号)です。地形と敵はその番号でそれぞれの表から引かれるので、出てくる面の多くは本編の面の使い回しや組み替え——256ワールドは基本的に本編 8-4 までのデータでできています。表の外を読む番号に当たったときだけ、地形や敵が別のデータになる。どの番号を引き当てたか、その番号で表の中を読むか外を読むかによって、壊れかたに固有の個性が出ます。

言い換えると、256ワールドはそれぞれ「どの番号を引き当てたか」でキャラクターが違います。以下、面白かった面をいくつか。

ワールド W-1。なぜかマリオは左上。壁の中にはどこかでみたような白線がある。
ワールド 42-1に相当。雲がびっしり。
ワールド 62-1に相当。131-1、240-1 にも同じ面が現れる。
ワールド 128-1に相当。
ja.wikipedia.orgスーパーマリオブラザーズ – Wikipediaja.wikipedia.org

256 ワールド並べたときの感触

256 枚のサムネイルを並べると、壊れかたにいくつかの「タイプ」が見えてきます。

  • 通常面と同じ
  • 空白系 — オブジェクトがほぼない面
  • 密集系 — 1 種類のオブジェクトが画面を埋める面
  • タイルセット錯誤系 — 背景だけ水中・地下・城で中身が地上の面
  • HUD 崩壊系 — ステータス表示自体が壊れて別の記号が混じる面
  • 即死系 — 開始 1 秒以内にマリオが落下・圧死して意味のある画面が得られない面

種族の分布は、どの ROM アドレスを踏んでいるかの地図と一対一になっていて、ROM の内部構造を逆から照らすサーチライトみたいに使えます。バグを記録していたら、いつのまにか ROM の地層図 を描く作業に変わっていた、という感覚があります。

夢の残滓

この番外編で出てきた絵は、どれも 40 年前のプログラマーが意図しなかったものでしょう。ROM に開発者のメッセージが残っていた、というのはよく聞く話ですが、おそらくこれはそうではない。誰も意図していないのに、偶然のバイト列が奇跡の造形として立ち上がる。

砂嵐に顔が見える話を 7 回書いたあとで、同じ感覚がこちらにもあることに少し驚きました。ノイズとデータの違いは、人間が意味を仮託したかどうかしかなく、開発者の意図などない256ワールドの「自然」の造形が、他の人間にはまるでそこに何か意思があるかのように映る。ロマンを持った別の世界として浮かび上がる、正規の 8 ワールドの「裏面」としての未知への魅力が、ここには詰まっています。。

これも 40 年前には撮れなかった記録のひとつです。消えゆく技術文化、というよりは、最初から誰も見にいかなかった領域 のほう。せっかく nesemu と AI の道具立てができたので、こういう「ROM の崖のむこう」を、これからもひっそり記録していこうと思います。

ChatGPTに生成してもらった絵。もちろん実際とは違うけど雰囲気はだいたいあっているのがすごい。

次回

番外編はひとまずここで区切ります。本編連載の続き——AI エージェントにファミリーベーシック同士をネットワークで繋がせてみる話——の準備を、ぼちぼち始めているところです。今回集めた 256 枚を一覧にまとめて終わります。

今回のツールで取り出した各ワールドのエリア1開始時の画像。
パレイド「あの頃AIがあったら…」第7回: データレコーダーを 42 年ぶりに動かすこんにちは、パレイド辺境部の橘です。 番外編としてスーパーマリオの 256W を 2 回に分けて踏破したあと、本編に戻ってきました。前回 (第 6 回) で…

追記(2026-09-28)

動画版(AIで256倍楽しむ【スーパーマリオ】[FC] 第1回 前後編)の制作で ROM と録画を見直し、次の点を直しました。 – 「壊れ方の個性は、読んだ先が音楽データかスプライト定義かプログラムコードかで決まる」→ 表の外で読み違えるのは「どの面か」を指す1バイト(面の番号)で、地形と敵はそれぞれの表から引かれる。出てくる面の多くは本編の面の使い回しや組み替えで、表の外を読む番号のときだけ地形・敵が別のデータになる、に直しました。

▶ 関連動画 · YOUTUBE
━━ 観るのを再開 ━━
←
前の回を読む
連載 第1回 · 番外編 (1/2): スーパーマリオ 256W を nesemu で全部動かす
▶
動画を観る
YouTube
→
次の回を読む
連載 第3回 · 番外編 続 (1/2): マリオを好きな面から始めて、8-4の先へ
━━ 他の観測領域 ━━
TECH · 技術部
ファミリーベーシックは、AIの夢を見るか?(9)|結局VSCodeが一番良い? — Claude CodeでBASICを書く
PHIL · 思想部
AI自動化ピラミッドの可視化(10)|反転したのは、連載ではなかった――月次レビュー第3回
FRONT · 辺境部
【スーパーマリオ256W】256ワールド名鑑 No.20 揺れる岩の足場 — どこにも出てこない面を自分のROMで開く