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!
I think what's interesting about the "Player shock jump up" line is the fact they deliberately used the unsigned byte representation of -2 (0xFE) when setting Mario's Y speed...
October 15, 2025 at 11:51 PM
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
It should be noted that the temporary invisible solid block is what keeps the gap solid while the block bouncing animation plays, and is also what actually kills the enemies when you hit a block from under them.
October 15, 2025 at 10:50 PM
It's also possible that they simply just forgot.
October 13, 2025 at 10:16 PM
This was fixed in Sonic 3 by also applying the modified ground speed cap logic to the air physics.
October 12, 2025 at 4:01 AM
Reposted by Under the Surface of Classic Sonic
Another sample.
October 12, 2025 at 3:43 AM
Another sample.
October 12, 2025 at 3:43 AM
This, too...
October 12, 2025 at 2:21 AM
This isn't so noticeable in Sonic CD due to the different nature of its level design compared to the other games, but the beginning of Tidal Tempest Act 1 is probably where it's most noticeable.
October 12, 2025 at 2:14 AM
From what I can see from the code, it appears that only pulley platforms, vertically oscillating platforms, and Koopa Paratroopas make use of this functionality.
September 4, 2025 at 3:01 AM
🤫
September 4, 2025 at 2:53 AM
The reason the cap ended up that way is because the integer portion is set to -max speed, while the fractional portion is set to 0xFF for some reason, which results in that stuttery motion.
September 4, 2025 at 2:53 AM
Correction: the bit about the platform not being drawn yet while sprites are being processed being the cause is incorrect. It's more likely that it's because sprites at the top of the table in VRAM will just automatically take priority over sprites after it, regardless of setting
August 18, 2025 at 6:51 AM
If anyone had caught onto the inputs needed to trigger this secret, it's the same input required to activate the hidden Japanese credits in Sonic 1, on REV01!
July 10, 2025 at 2:27 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