
To mark the occasion, I figured it might be relevant to discuss what happens when Sonic & Knuckles boots up without a second game locked on to the cartridge.
First, how does it detect a cartridge in the lock-on slot? The game's startup routine checks for the presence of a lock-on cartridge's ROM header by comparing the longword at address $200100 with the string "SEGA". If this check fails, then the lock-on slot does not contain a valid cartridge, and control jumps to SonicAndKnucklesStartup, which handles the boot sequence both for Sonic 3 & Knuckles as well as for standalone Sonic & Knuckles:
moveq #-1,d1
move.l (SegaHeadersText).l,d0 ; test to see if SEGA is at the locked on ROM's $100
cmp.l (LockonHeader).l,d0
bne.w SonicAndKnucklesStartup
Over at SonicAndKnucklesStartup, the value in the d1 register is written to RAM address $FFAE otherwise known as the SK_alone_flag. This flag is clear when the Sonic 3 cartridge is locked on, and set when the lock-on slot is empty:SonicAndKnucklesStartup:
bsr.s Test_Checksum
move.w d1,(SK_alone_flag).w
...
So, what does the flag do? Well, perhaps rather obviously, the first thing the flag is responsible for is whether to display the Sonic & Knuckles title screen, or the Sonic 3 & Knuckles one. It also defines the game title used in stage title cards, and which logo appears at the end of the credits sequence.

Recall how I mentioned that Sonic 3 & Knuckles is just a special mode of Sonic & Knuckles that is allowed to reference content from the Sonic 3 cartridge? That is the mode in which the SK_alone_flag is clear. Conversely, when the flag is set, the game cannot be granted access the Sonic 3 cartridge, because it isn't there!
As a result, setting the flag causes a whole bunch of stuff to get skipped:
- All save functionality is disabled. The battery backup is on the Sonic 3 cartridge, so there would be no point in running the code.
- Only Sonic & Knuckles stages appear in the demo reel, and in his demos, Sonic isn't accompanied by Tails.
- Tails also does not appear in Sonic's continue screen.
- Star posts will only take you to the slot machine and rolling jump bonus stages.
- The starting positions for Mushroom Hill Zone 1 are adjusted to skip over the first special stage ring.
- There's only a single set of special stages, since the other one is on the Sonic 3 cartridge. As such, special stage rings will never take you to Hidden Palace, and thus the Super Emeralds are inaccessible.
Interestingly, the scenes added to the ending sequence when you clear the game with all Super Emeralds do not check the flag at all. This includes the scene where Knuckles sees Sonic and Tails off, which is set in Angel Island Zone!


Beyond that, there is a surprising amount of work to prevent you from accessing Sonic 3 content using the level select:
- If either the Tails alone or the Sonic and Tails player option is chosen, the player mode is set to Sonic alone.
- If a Sonic 3 level is selected, the current level is forced to Mushroom Hill Zone 1.
- Even if the first level you select is a special stage, the saved current level is also forced to Mushroom Hill 1, to prevent you from getting sent to Angel Island Zone afterwards.
- Finally, there's no debug cheat, which prevents you from using an obscure feature that allows the player to select which special stage to play by setting the Sound Test option to the intended stage number, and then holding down the A button during the fade-in.
However, my favorite feature definitely has to be Knuckles' intro sequence, which is a perfect tie-in with Sonic and Tails' post-credits scene when the game is cleared with all Chaos Emeralds. It explains the motivation behind Knuckles' story and makes it abundantly clear that it takes place after Sonic's.


So, next time you feel like playing Sonic 3 & Knuckles, consider playing Sonic 3 and Sonic & Knuckles separately, and keep an eye out for some of these features.
That's it for my series on Lock-on Technology! I have no clue what I'm gonna write about tomorrow.















































