ファミコンのバグ技「カセット斜め差し」はなぜ可能だった? 画面が化けてもゲームが動いたワケ
ファミコン独特の構造が「バグ技」を可能に?

ファミコンは、プログラムの処理とグラフィック(キャラクター)を処理する演算装置が独立した構造で(CPUとPPU)、アーケード基板の構造に似ていました。当時の他社製ゲーム機はCPUだけで全て処理するものが多く、任天堂がファミコン以前にアーケードゲームを開発していたことが影響していると思われます。
ゲームカセットを分解すると、左右にROMがふたつ並んでいるのが基本です。向かって左にプログラムROM、右にキャラクターROMです。ファミコン本体では、CPUがプログラムROM、PPUがキャラクターROMの読み出し・処理を担当していたので、プログラムROMから正常に読み込めればゲームは原則動きます。「斜め差し」の基本は、この性質を利用し意図的にキャラクターROMからの読み込みに問題を起こすことです。そのため斜めに差すときは、右側を少し浮かせるのがコツということになります。
当時は「ハックROM」と言って、一部の悪い業者がキャラクターROMの中身を書き換えたものを密かに売っていたようです。イメージ的に言えば「スーパーマリオブラザーズ」の全ての絵を、別のマンガやアニメの絵に書き換えてしまうようなものですが、そういうことができたのはこの独立構造のおかげでしょう。改造の難易度が低かったということですね。
ただ、独立と言ってもプログラムを処理するCPUの動作は極めて複雑です。PPUの処理に一切影響しないということはありません。また、ゲームカセットから顔を覗かせている端子部分は、固くて曲がることはありません。それを斜めに差しているわけですから、キャラクターROMとの接触端子だけを上手く浮かせたつもりでも、プログラムROMの接触も悪くなっているということはあり得ます。「斜め差し」で単に絵が変わるだけでなく、ゲーム内容に影響が出てしまうゲームがあるのは、これらの理由によるものだと思われます。
なお、スーパーファミコンも構造上はファミコンと似たようなものでしたが、斜め差し(接触不良)の対策が取られたため、ファミコンのような裏技的な現象は見られなくなりました。そして前述の通り、現代で同様の構造を持つゲーム機はほぼありません。ファミコンならではの懐かしい(しかし危険が伴う)遊びだったということですね。
(タシロハヤト)





