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

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

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

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

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

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

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

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

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

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

テーブルは正規の 1〜8 ワールドぶんしか用意されていません。9 以降はテーブルの外側、つまり 隣接する別のデータ をテーブルのつもりで読み取ります。多くは「関係ないバイト列」に化けますが、それは同時に「ROM のどこか特定のアドレスにあるバイト列」でもあって、そこにあるのが音楽データなのか、スプライト定義なのか、プログラムコードなのかによって、壊れかたに固有の個性が出ます。

言い換えると、256W はそれぞれ「ROM のどの地層を踏んでいるか」でキャラクターが違います。以下、面白かった面をいくつか。

W-1 隠れ切れない 10 コイン

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

256 面並べたときの感触

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

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

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

夢の残滓

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

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

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

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

次回

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

今回のツールで取り出した各ワールドの1面開始時の画像。
タイトルとURLをコピーしました