Why there's no Knuckles in Sonic 1
Published on 2025-oct-28
There have been a lot of theories about why you can't play as Knuckles in Sonic 1 while locked onto Sonic & Knuckles (like you can do with Sonic 2), including a lot of weird ones like the colors didn't work or that it crashed when gliding into conveyor belts or whatever. Obviously none of those are the real reason.
The actual reason
The most likely reason has to do with the way Sonic 1 and 2 are built:
- Sonic 1 is a monolithic blob where everything is placed tight with no gaps between them.
- Sonic 2 is split into coarse blocks (e.g. code, graphics, etc.) which are allocated certain address spaces, leaving some gaps in the unused space between them.
The problem is that both Sonic 1 and 2 had two revisions on cartridge:
- With Sonic 1, this meant that the addresses of just about everything changed in each revision.
- But for Sonic 2 it was largely the initial code block that was affected (and most thing remained in the same place).
The way Knuckles in Sonic 2 works is that the entire code is replaced with a rebuilt one in a separate 256KB ROM, while reusing the rest of the data from the Sonic 2 cartridge (aside from object layouts which are in the main Sonic & Knuckles ROM).
But with Sonic 1 this would require checking which address to use for each revision, wasting a lot of extra code and time and also being extremely error prone. In other words, it just wasn't practical (besides, Sonic 1 would need its own extra patch which would have increased the cost of the cartridge even more).
Busting myths
Since we're at it:
- The colors are not a problem. In fact, Knuckles in Sonic 2 takes the original Sonic & Knuckles sprites and passes them through a table to rearrange the colors to the ones Sonic 2 uses, so they could have easily used the same approach for Sonic 1!
- Knuckles doesn't crash when gliding into a conveyor belt in Sonic 2 (not even the Wing Fortress one if you fix it), so I doubt that would have ever been an issue in Sonic 1 either.