Under the Surface of Classic Sonic
banner
classicsoniccode.bsky.social
Under the Surface of Classic Sonic
@classicsoniccode.bsky.social
All about programming, unused content, and more in the Classic Sonic games!
Additionally, you can see the removed lines of code in the official All Stars source code!
October 15, 2025 at 11:43 PM
From @nfroggy99 on Twitter/X:

"When you look at the All-Stars source code, the equivalent subroutine to BrickShatter (BBKINT) says "Player shock jump up", so you're right that this behavior was intended. I'm glad that they accidentally screwed it up because the All-Stars behavior feels worse."
October 15, 2025 at 11:42 PM
More Mario content? Oh no! Anyways... so, you know how in Mario 1 on the NES, you bounce downwards when you destroy a brick, but hover upwards in the SNES version? Turns out the SNES behavior was possibly the intended behavior? Here's how it works.
October 15, 2025 at 7:18 PM
Another sample.
October 12, 2025 at 3:43 AM
So, because Sonic 2 changed the ground speed cap to be more lenient, but not the air speed cap, you can actually see this issue by just running down a hill at a fast speed and then jumping. No hacks needed to see it.
October 12, 2025 at 3:31 AM
This, too...
October 12, 2025 at 2:21 AM
So what happens if you remove that control lock in a faster game like Sonic 2? Yeah, not ideal...
October 12, 2025 at 2:21 AM
In the Sega CD version of Sonic CD, pressing left or right while in the air applies a speed cap, but unlike Sonic 1/2/3K, the control lock for when you jump after rolling was removed. As a result, the trajectory of a rolling jump can be affected by the speed cap.
October 12, 2025 at 2:14 AM
Actually, here's a visible example of this behavior in this set of pulley platforms in World 3-3!
September 4, 2025 at 3:18 AM
In Super Mario Bros, objects with an upwards force have a quirk with its speed cap. If their Y speed (8.8 fixed point) goes beyond max speed + 0x80, then it gets capped to max speed - 0xFF. This behavior is possibly never visible, so here's a mod to show what it looks like.
September 4, 2025 at 2:52 AM
Ever seen this weird sprite quirk with the lava and platform in Marble Zone in Sonic 1? Here's why that happens.
August 18, 2025 at 4:56 AM
As well as the code that sets the secret to be active. Note the lack of the intro Skip flag here.
July 10, 2025 at 2:07 AM
Another bug that prevents this from appearing is that the code fails to set the global variable to skip the intro to false.

Due to this, it never reaches the code to fully set up the hidden credits.

Below is a reverse-engineered estimate of the code where the game sets up the hidden credits.
July 10, 2025 at 1:59 AM
However, in the version included in Sonic Origins, the C press check is not there. Below is an image of a reverse-engineered estimate of what the code for inputs may look like in Origins currently.
July 10, 2025 at 1:59 AM
In the remake of Sonic 3 & Knuckles included with Sonic Origins, there is a hidden credits cheat code in the title screen.

However, due to a very specific change in the code that handles cheat inputs, as well as a flag not being set when activated, this is impossible to see under normal play.
July 10, 2025 at 1:59 AM
In the Nick Arcade prototype of Sonic 2, there lies leftover scraps of a build process for an even earlier build. One of the things that can be found is an earlier version of Emerald Hill's boss.

It has only 2 hit points, no hitbox for the drill, and a weird bobbing animation.
January 9, 2025 at 1:34 AM
When a flag is set, then the camera will stop following the player for its assigned axis. Instead, the left or top boundary will be treated as a target position for the camera to slowly scroll towards, hence why this might be related to auto-scrolling. [2/2]
January 2, 2025 at 1:03 AM
scrh_flag and scrv_flag do function in the Sonic 1 prototype, and may be related to a potential scrapped auto-scroll function.

Each are individually set if the stage boundaries for their respective axis are the same, and change how the camera moves. [1/2]
January 2, 2025 at 1:02 AM
There's some unused variables related to camera scrolling in Sonic 1 and Sonic CD. Here are their official names, taken from Sonic Gems Collection.
January 1, 2025 at 2:06 AM
"bitdevr", we currently don't have any 100% solid proof, but there have been symbols found that hint towards it.

A Sega CD documentation page revealed a memory address labeled "bitdevwk". This address points to the "Nemesis" code table buffer used by the Sega CD BIOS.
December 31, 2024 at 5:20 AM
(Part 2)
December 17, 2024 at 7:24 PM
A breakdown of the differences in the peelout and spindash between the original and 2011 remake.

(Part 1)
December 17, 2024 at 7:23 PM
A brief breakdown of how the peelout and spindash are charged up in the original Sega CD version of Sonic CD.
November 26, 2024 at 12:10 AM
Wacky Workbench actually uses a duplicate file for Sonic's object code, modified to handle all the stage gimmicks.

However, some of the updates they made to the main file didn't get implemented in the duplicate file, such as changing the spindash charge speed from 50 to 75.
November 17, 2024 at 5:27 AM
According to the decompilation, the mobile version actually gets around the issue by making the time it takes to time travel shorter.
November 17, 2024 at 4:30 AM