Sign in

Under the Surface of Classic Sonic

@classicsoniccode.bsky.social
365 followers 0 following 147 posts

All about programming, unused content, and more in the Classic Sonic games!

PostsRepliesMedia
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 16h
A technical dive (😉) into Sonic 3's water palette swapping!
7865290
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 22/08/2026
Due to the demo programs in the Japanese and PAL versions (not USA) of Sonic CD being built off of a prototype, they retain the logic for enabling debug mode by pressing start on player 2's controller. You can do this so that you don't need to enter the code in the sound test.
1257
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 16/04/2026
There exists a collision bug where the check used to prevent Sonic from clipping on top of a surface he's too far below from isn't done if he's moving horizontally in the air. This can easily be seen if you put a solid object on a top solid surface and hit it from the bottom.
2184
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 02/03/2026
Here's a silly difference between the 510 and 0.28A (512) prototypes of Sonic CD. Special stage rings always appear in 510, but never in 0.28A. 0.28A added a ring count check, but only checked the top byte. As a result, they can only appear if the player has at least 12800 rings.
150
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 27/02/2026
Loops were planned on being implemented in Chaotix, even being present in prototypes... yeah, I can see why they were removed (footage provided by @mdtravis.bsky.social)
1285
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 24/02/2026
There's a hidden tunnel that can be found right towards the end of the 3D loop section at the beginning of Palmtree Panic act 1 that I'm not sure is even accessible via normal means. Anyone have any ideas?
2143
Reposted by Under the Surface of Classic Sonic
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 20/02/2026
The Metallic Madness act 2 demo was, indeed, rerecorded as well. The USA demo struggles while the Japanese demo gets quite a bit further ahead. Left: Japan/Europe, Right: USA
082
Reposted by Under the Surface of Classic Sonic
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 20/02/2026
The Tidal Tempest act 3 demo was also rerecorded. What I find peculiar is how whoever recorded the USA demo slowly walked to the boss while the Japanese demo caught up. Were they trying to eyeball the Japanese demo? I dunno... Left: Japan/Europe, Right: USA
182
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 20/02/2026
In the PAL version of Sonic CD, the physics of Sonic were modified to more closely resemble the NTSC physics while at a lower frame rate. As such, separate demo controller data had to be recorded for the special stage demos. Special Stage 1 Left: NTSC, Right: PAL
150
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 20/02/2026
For some reason, the demo for Palmtree Panic act 1 was rerecorded for the USA release of Sonic CD. Here's a comparison showing the differences. Left: Japan/Europe, Right: USA
1100
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 18/02/2026
Thanks for the 200 followers :) Sorry that I've not been posting as much here. I admittedly don't really use Bluesky and I keep forgetting about this account. I should find the time to bring this account up to date.
040
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 18/02/2026
A few ways to play and see it: 1. Modify the disc image to set the byte at 0x2A75353 from 1 to 0 (712 prototype only) 2. Modify RAM in an emulator to set address 0xFF1581 to 0 (works in final) 3. Use PAR code FF1581:00 or Game Genie code AAL9-8AEB in an emulator (works in final)
1197
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 18/02/2026
Additional fun fact: the sprite here was repurposed for the Backup RAM manager.
0105
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 18/02/2026
Thanks to c4/seafour4 on the Hidden Palace Discord server, a new prototype signpost sprite was discovered in the Palmtree Panic act 1 demo (DEMO11A.MMD) in the 712 prototype of Sonic CD, which was previously only seen in a magazine.
33117
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 15/10/2025
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.
13412
Reposted by Under the Surface of Classic Sonic
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 12/10/2025
Another sample.
131
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 12/10/2025
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.
151
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 12/10/2025
So what happens if you remove that control lock in a faster game like Sonic 2? Yeah, not ideal...
150
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 12/10/2025
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.
170
Reposted by Under the Surface of Classic Sonic
VAdaPEGA(E)(M3)[!].7z - MAIM ACOUNT @vadepega.bsky.social · 19/09/2025
Sprite order is what determines who's in front of what, regardless of priority. All one needs to do is ensure the high priority sprite is bellow the low priority sprite while in front of a high priority tile layer. Footage from "I made you a Salad" (SHC 2019)
0408
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 04/09/2025
Actually, here's a visible example of this behavior in this set of pulley platforms in World 3-3!
071
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 04/09/2025
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.
2163
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 18/08/2025
Ever seen this weird sprite quirk with the lava and platform in Marble Zone in Sonic 1? Here's why that happens.
16726
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 10/07/2025
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.
13115
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 09/01/2025
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.
191
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 02/01/2025
In the vertical scrolling code, it follows the top boundary + 32. I assume that this might be related to old HUD code that displayed on the top 32 pixels of the screen? There is unused code that draws a chain of life icons, but that's on the bottom... www.youtube.com/watch?v=zkLf...
youtube.com
Sonic the Hedgehog (Prototype) - Unused Early HUD Remnants
YouTube video by KatKuriN
052
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 02/01/2025
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]
151
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 01/01/2025
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.
130
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 31/12/2024
Leftover symbol data included a lot of internal names for various things. Sonic was "play00", "play01", or "play02", depending on the game mode. Tails was "fox" in Sonic 2, but was changed to "miles" in Sonic 3. Knuckles was either "knuckles" or "nuckle". Amy was "emie".
120
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 31/12/2024
Sega did have their own formats. The 2 most well known ones are "Nemesis" and "Enigma". "Nemesis" was used for tile graphics and "Enigma" was used for tilemaps. Symbol data revealed "Nemesis" to potentially be called "bitdevr", and "Enigma" to actually be called "mapdevr".
120
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 31/12/2024
There is a compression format used in various Sega Genesis games known as "Kosinski". It is an LZSS based format used for various kinds of data in games. Recently, it was found out that "Kosinski" was LZEXE this entire time. 🧵 bellard.org/lzexe.html
bellard.org
LZEXE Home Page
130
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 17/12/2024
A breakdown of the differences in the peelout and spindash between the original and 2011 remake. (Part 1)
150
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 29/11/2024
100 followers! Thanks 😊
130
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 26/11/2024
A brief breakdown of how the peelout and spindash are charged up in the original Sega CD version of Sonic CD.
282
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 17/11/2024
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.
2110
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 17/11/2024
So, in the 2011 remake, the time it takes to start time traveling appears to be longer than the original. However, this is false. As it turns out, in the original, the time warp timer ticks every frame, regardless of lag. The original can get laggy. For example, this section.
192
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 17/11/2024
When you turn in Sonic CD's special stages, Sonic's sprite tilts towards the direction he's turning, and it's gradual. Well, the developers intended to make the untilting gradual as well, but a couple of bad branches make it so that he snaps back to the normal sprite instantly.
150
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 17/11/2024
The time warp cutscene is not actually really much of a loading screen at all. Nothing loads in the background while it's running. It only actually starts loading the next time zone file after it ends and fades to white.
1144
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 17/11/2024
Fun fact: the Sub CPU program file for Sonic CD's good ending is called "BADEND.BIN" (loads "GOODEND.STM") and the bad ending Sub CPU program file is called "GOODEND.BIN" (loads "BADEND.STM"). They got the file names mixed up.
010
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 17/11/2024
The special stages in Sonic CD were intended to have 1024px wide backgrounds instead of 512px wide backgrounds. There exist unused chunks that would've been placed after or inbetween the used ones. For example, here's special stage 1's background and what it looks like extended.
140
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 16/11/2024
The 2011 remake is missing the layer with the small buildings in special stage 7's background.
091
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 16/11/2024
You may notice that in Wacky Workbench, the background changes from turquoise to green after the electrical beams flash. This is due to an oversight. 🧵
130
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 16/11/2024
There exists concept art for the special stage where Sonic would fall through something while shrugging. This was actually partially implemented, but ultimately went unused. 🧵
1132
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 16/11/2024
There is evidence that suggests that this unused blue ring monitor was intended to be the Combine Ring powerup from Knuckles Chaotix. 🧵
160
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 16/11/2024
If the leftover code for sneezing were to be activated properly, it would have looked something like this.
0156
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 16/11/2024
There is an unused animation of Sonic sneezing, which is well documented already. Did you know that there was actually some code that was implemented for it that never got used? 🧵
140
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 16/11/2024
Unused special stage animations for Sonic in Sonic CD 🧵 0x07
172
Under the Surface of Classic Sonic @classicsoniccode.bsky.social · 16/11/2024
Test, 1, 2.... Seeega!
1100