Liliam 🏳️‍⚧️
banner
liliambean.bsky.social
Liliam 🏳️‍⚧️
@liliambean.bsky.social
90 followers 94 following 57 posts
programmer • retro game nerd • lgbtqia+ activist author of sonic 3 unlocked (they/them) github.com/liliambean/s3unlocked
Posts Media Videos Starter Packs
Oh lord this is a deep cut hahaha
I wonder who signed off on the S&K cartridge. From the nonstandard hinged shell (and cardboard box!) to the passthrough port, must have been some wild times at SEGA
then the fake Super Sonic object queues up one last art change, Sonic's DPLC routine sees you're no longer Super and returns normal Sonic's running tiles, but the object keeps using Super Sonic's mappings, ending in a single frame of mojibake.

I swear this must be the section Iizuka programmed.
The result is that depending on how many video frames have elapsed at the moment the level starts, the animation will have one of four patterns: AABB, ABBA, BBAA or BAAB. If the switch from A to B or B to A happens on the same frame that Knuckles punches off your super flag,
🥺

I took a quick look and I think it's not a version difference, it just has a 50% chance of happening.

They did the totally normal thing of changing Super Sonic's current sprite based on the *vertical interrupt count* rather than a local SST variable, or you know the normal player anim functions.
oh nice I didn't know this was a version difference!
Yeah, that's the most likely explanation for the weird color order, but it's wild that they didn't just throw in a replacement Nemesis blob for the bird. It would've only taken up a couple hundred bytes.

It's *not* for the title card as one might guess, code was added that picks green specifically.
I recall reading an analysis somewhere that the reason why they put the green in the middle of the red shades is *because* of the flickies (it causes the least "glitching" in that position), so yes that one was definitely intentional.
Lmao I just noticed I completely misplaced the wasp enemy's flame. I couldn't use the mapping files because the Sonic 1 and 2 disassemblies are zinky zoogle bogos binted
I dunno, maybe it could have happened? Had they not been strapped for time. Sonic 3 famously missed its street date and was split in two, and it's honestly a miracle that everything lined up in a way that made Knuckles in Sonic 2 possible.

The colors are definitely a concern in both games though!
The most successful approach is probably still Stealth's 2005 hack: it coerces Knuckles' sprites into the Sonic 1 palette, which unlike later games has three shades of red available.

If you paste in Knuckles' reds, it starts looking pretty good! Robotnik starts becoming a bit festive though. 11/12
Some might not even be possible — you could make all the pinball plungers in Spring Yard Zone purple, but the jewel blocks in the special stage all use the same art, switching between VDP palette lines to display in blue, yellow, pink and green. S&K wisely cut those down to just three colors. 10/12
Because of that, if you try to shove Knuckles' colors into the Sonic 1 palette, you'll suddenly need to replace a *lot* of graphics. 9/12
And therein lies the rub: the vast majority of sprites in Sonic 2 already avoid the blue gradient, since those colors change when playing as Super Sonic. In Sonic 1, a game without Super Sonic, the blue gradient is as safe as any other color in the palette, so level sprites make good use of it! 8/12
They missed a few spots, though. Flickies and the Aquatic Ruin Zone waterline become red with green spots when playing as Knuckles. Flickies seem intentional, as they also turn red in S&K, but the water seems to have been an oversight even in vanilla S2 - it becomes yellow when Sonic is Super. 7/12
Extra graphics still need to be shipped, though. Sonic 2's palette has four shades of blue, but Knuckles needs three shades of red + green for his socks. This disturbs any graphics with blue gradients, so replacements are provided in the S&K ROM, colored gray presumably for aesthetic reasons. 6/12
This comes at a performance cost, since writing to the RAM buffer is done byte-per-byte on the 68k CPU. But it saves *tremendously* on ROM space, since you can read Knuckles' sprites from the S&K ROM and the level sprites from the S2 ROM, without having to ship pre-converted versions of either. 5/12
They solved this by altering the routine that queues a DMA transfer of Sonic's sprites from ROM to VRAM. It now "pre-scrambles" the pixels of Knuckles' sprites into a RAM buffer, then queues a DMA transfer from RAM to VRAM. If you apply the Sonic 2 palette, the colors are suddenly unscrambled. 4/12
This created a problem for the Knuckles in Sonic 2 project: if you use the Sonic 2 version of the palette, all the level objects will look correct but Knuckles gets scrambled. If you use the Sonic 3 version of the palette, Knuckles looks correct, but *everything else* gets scrambled. 3/12
The global palette used for the player sprites, as well as several level objects, is quite similar between Sonic 1 and 2, but was significantly rearranged in Sonic 3. The motivation behind this is unclear, but it almost certainly predated the idea of Sonic & Knuckles or Lock-on Technology. 2/12
"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!"

Let's examine that claim, shall we? 1/12
Before I keep forgetting www.plutiedev.com/blog/20251028

Turns out there's a very good reason why Sonic & Knuckles doesn't attempt to put Knuckles in Sonic 1 (and all things considered they lucked out with Sonic 2).
Why there's no Knuckles in Sonic 1
www.plutiedev.com
I swear that last sentence is just of in cold food of out hot eat the food updated for a modern audience
Oh man, Wind Waker is a good one. Every time you flick the control stick to reverse your swimming direction, it flips your movement vector *and* adds a little boost... so if you can do it at near 15 Hz, you can build up infinite inertia which sends you flying back when you stop youtu.be/1KpRtemdGq8
TWWSD: Unbuffered Manual Super Swim with Handcam [Definitive Edition]
YouTube video by iwabi74 Docs
www.youtube.com
Reposted by Liliam 🏳️‍⚧️