セガの人気アクションゲーム「ソニック・ザ・ヘッジホッグ」シリーズのタイトルで、1994年10月にメガドライブ向けに発売された「ソニック&ナックルズ」は、カートリッジに同シリーズの別タイトルのカートリッジを接続することで、別バージョンのゲームを遊べる「ロックオンシステム」を採用していました。開発者フォーラムのStack Exchangeでこのロックオンシステムが解説されています。

gaming - How exactly does Sonic & Knuckles' 'Lock-On Technology' work? - Retrocomputing Stack Exchange

https://retrocomputing.stackexchange.com/questions/1514/how-exactly-does-sonic-knuckles-lock-on-technology-work

メガドライブはカートリッジを差し込んで遊ぶセガの家庭用ゲームハードです。メガドライブのカートリッジの種類はゲームの容量によって2メガビット〜40メガビットまで存在し、大容量のカートリッジはサイズが大きくなり価格も高騰しました。1991年にメガドライブで発売した第1作「ソニック・ザ・ヘッジホッグ」のカートリッジは4メガビットロムカセットで、以下のような形状をしています。

[セガハード大百科] メガドライブ専用カートリッジ

https://www.sega.jp/fb/segahard/md/cartridge.html



そして、1994年に発売された「ソニック&ナックルズ」のカートリッジは18メガビットロムカセットでした。どんな形状をしているのかは、当時放映されていたテレビコマーシャルの映像を見るとよくわかります。

Japanese Sonic & Knuckles TV Commercial - YouTube

カートリッジは、4メガビットロムカセットと比べると上部が少し大きめの形状になっています。



この上部は接続端子になっており、以下のようにフタを開けると、カートリッジを差すことができるようになっています。



「ソニック&ナックルズ」のカートリッジに「ソニック・ザ・ヘッジホッグ2」のカートリッジを接続するとこんな感じ。この別カートリッジを接続するシステムを、セガは「ロックオンシステム」と呼んでいました。



「ソニック&ナックルズ」はテレビコマーシャルでも告知されている通り、全世界同時に発売されました。アメリカでは「Genesis(ジェネシス)」という名前でメガドライブが展開されており、「ソニック&ナックルズ」もジェネシス向けに販売されました。ジェネシス版「ソニック&ナックルズ」のカートリッジが以下の画像。



「ソニック&ナックルズ」のカートリッジがこのような形になったのは、3作目である「ソニック・ザ・ヘッジホッグ3」が開発期間の都合で予定していたボリュームの半分を削らざるを得なくなったという事情があります。「ソニック&ナックルズ」は「ソニック・ザ・ヘッジホッグ3」の続編となっており、「ソニック・ザ・ヘッジホッグ3」のカートリッジと組み合わせることで「ソニック・ザ・ヘッジホッグ3の完全版」として遊べるというわけです。

具体的には、ゾーン1〜6の「ソニック・ザ・ヘッジホッグ3」とゾーン7以降の「ソニック&ナックルズ」を途切れることなく続けてプレイできます。加えて、「ソニック・ザ・ヘッジホッグ3」を接続することでデータセーブが可能になります。また、2作目の「ソニック・ザ・ヘッジホッグ2」のカートリッジを差すと、「ソニック・ザ・ヘッジホッグ2」をソニックではなくナックルでプレイすることができました。



さらに、「ソニック&ナックルズ」に「ソニック・ザ・ヘッジホッグ」や他のメガドライブ用カートリッジを差すことで、隠しステージをプレイできました。ただし、「ソニック・ザ・ヘッジホッグ」や他のメガドライブ用カートリッジを差した場合はあくまでも隠し要素で、説明書には記載されていません。

以下の写真は、ジェネシス版「ソニック&ナックルズ」カートリッジの基板です。上部がロックオンシステム用の接続端子。中央にある2つの大きなチップはゲームデータが収録されているROMで、左側が512KB、右側が2MBの容量となっています。また、基板に乗っているチップ「74AC08 Quad 2-input AND Gate」「74AC139 1-of-4 decoder/demultiplexer」「74HC74 Dual D-type Flip-Flop」は接続されたカートリッジの検出、そしてメガドライブのCPUであるMC68000の24ビットアドレス空間へのマッピングを行います。



例えば、「ソニック・ザ・ヘッジホッグ3」を「ソニック&ナックルズ」に接続した場合、「ソニック&ナックルズ」はもともと「ソニック・ザ・ヘッジホッグ3」と連動するようにプログラムされているため、接続された「ソニック・ザ・ヘッジホッグ3」のコードをそのまま実行します。ただし、後半のステージデータやナックルのデータなどは「ソニック&ナックルズ」のROMから読み出します。



また、初代「ソニック・ザ・ヘッジホッグ」を接続した場合は、「ソニック&ナックルズ」のカートリッジに収録されているボーナスゲームのデータをすべて読み込むようにプログラムされています。また、「ソニック・ザ・ヘッジホッグ」とは関係ない他のカートリッジを差した場合は、無数に遊べるボーナスゲームのステージデータを1つだけ読み込むことが可能。

そして、「ソニック・ザ・ヘッジホッグ2」を接続した場合は「ソニック・ザ・ヘッジホッグ2」をナックルでプレイできる「ナックル版ソニック・ザ・ヘッジホッグ2」を遊べます。実は「ソニック&ナックルズ」のカートリッジに搭載されてている2つのROMのうち、512KBの方にはなんと「ナックル版ソニック・ザ・ヘッジホッグ2」のコードがまるまる収録されています。基本的には「ソニック&ナックルズ」に収録されている「ナックル版ソニック・ザ・ヘッジホッグ2」のコードを実行します。ただし、ゲームデータについては接続した「ソニック・ザ・ヘッジホッグ2」のカートリッジから読み込んで再利用する形です。結果として接続されたカートリッジから実行されるコードは、サウンドドライバーだけとなります。



もちろん「ソニック・ザ・ヘッジホッグ2」のカートリッジにもゲームの完全なコードが収録されていますが、「ソニック&ナックルズ」の方はナックル版用に速さやジャンプの高さ、壁上りなどの変数データ、グラフィックデータや新しいマップデータを調整したコードが収録されています。このことは、Wiiバーチャルコンソールへの移植作業で「ソニック・ザ・ヘッジホッグ2」を解析したエムツーの堀井直樹氏も証言しています。