ゲームキューブのどうぶつの森+にはファミコンのエミュレーター機能が隠されていた
2001年にニンテンドー ゲームキューブ向けに発売された「どうぶつの森+」は、任天堂の人気ゲームシリーズのひとつである「どうぶつの森」のシリーズ2作目です。どうぶつの森ではさまざまな家具を収集して家を飾ることができますが、その中にはさまざまなゲームソフトが挿さったファミコン家具もあり、これは実際にゲーム内でゲームをプレイすることを可能にしてくれます。それだけだと考えられていたファミコン家具ですが、セキュリティ研究者のJames Chambersさんがどうぶつの森+のゲームコードを解析したところ、ゲームキューブのメモリーカードにファミコンのROMデータを保存しておけば、ファミコン家具を本物のエミュレーターとして機能させあらゆるゲームがプレイ可能になることが判明しています。
https://jamchamb.github.io/2018/07/11/animal-crossing-nes-emulator-hacks.html
Nintendo hid a load-your-own NES emulator inside a GameCube classic | Ars Technica
https://arstechnica.com/gaming/2018/07/nintendo-hid-a-load-your-own-nes-emulator-inside-a-gamecube-classic/
日本の「どうぶつの森+」ではファミコン家具として登場するこのアイテムですが、海外版では見た目がNESに変化しています。ゲーム機の上にはソフトが置かれており、以下の場合は左が「エキサイトバイク」で右が「ゴルフ」。どうぶつの森+ではこのゲームソフトが置かれた家具を使って、実際にゲームの中で別のゲームをプレイすることができました。
そして、中にはゲームソフトが付いていないただのNES家具もありました。
これを使っても「ソフトを持っていないからプレイできない」と表示されるのですが、実際にはゲームキューブのメモリーカードにNESのROMデータを保存しておけば、これをゲームがスキャンして「ほとんどのNESゲームがプレイ可能になる」とChambersさんは記しています。
Chambersさんはどうぶつの森+のゲームコード内に隠された開発者メニューにアクセスする中で、ゲーム内に登場する「ソフトが付属していないただのNES家具」は、プレイヤーのメモリーカードからNESのROMデータを探し、ゲームをプレイできるようにする汎用エミュレーターとしての機能を有していることに気づきます。Chambersさんがエミュレーターでデバッグし、どうぶつの森+がメモリーカード内のNES ROMファイルを認識するのに必要なファイル形式を解読しています。
そして、どうぶつの森+のNES家具では登場しない「ロックマン」のROMデータをメモリーカードに保存してプレイ。
Booting Mega Man ROM from the memory card works! Just have to try this on a real GameCube... pic.twitter.com/ADJ4MlxZcB— James Chambers (@jamchamb_) 2018年6月26日
ゲーム内でも登場する「ピンボール」を、メモリーカードに保存されたROMデータから実行することにも成功。
Figured out the format some more and got Pinball to boot from memory card. This was just a copy of the ROM that was already in the game in famicom.arc. Works on Dolphin stable version but crashed in a newer build... thing is the NES graphics are messed up in stable. pic.twitter.com/N01fJkdRLM— James Chambers (@jamchamb_) 2018年6月26日
さらに、グラフィックに不具合があったものの「バトルトード」もプレイ可能であることを確かめています。
It looks like the emulator is fairly complete. Getting some games to work just requires tweaking settings in the metadata. Got Battletoads to get through the intro sequence and actually become playable, although there are graphical glitches... pic.twitter.com/KCMKIvxYuz— James Chambers (@jamchamb_) 2018年6月29日
他にも、Chambersさんは自作のNES ROMファイルを読み込ませることにも成功しており、ほぼすべてのNES ROMデータが読み込み可能であることを示しています。
The NES ROM/ZIP polyglot by @ViGreyTech in PoC||GTFO 18 also runs in the Animal Crossing NES emulator pic.twitter.com/REFPUlkIqb— James Chambers (@jamchamb_) 2018年6月26日
海外メディアのArs Technicaは、ゲームキューブに汎用のNESエミュレーターが実装されていたことは興味深いことで、何よりも十数年も前に任天堂の手によってどうぶつの森+に実装されていたという点が驚きとしています。Ars Technicaは、任天堂がNESファイルをメモリーカード経由でどうぶつの森+上でプレイすることを計画していたのではないかと予想しており、その証拠に「任天堂は特別なゲーム内アイテムが保存されたメモリーカードを販売していた」と指摘。または、ディスクライターのような機器を用いてメモリーカードにNESゲームを書き込む方法を模索していたのかもしれないとも記しています。
なお、どうぶつの森+でNESエミュレーターを利用してみたいという人に向けて、ChambersさんはNES ROMファイルを生成するためのソースコードをGitHub上で公開しています。
Releases · Cuyler36/ACNESCreator · GitHub
https://github.com/Cuyler36/ACNESCreator/releases