If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
This article has a talk page!

Proto:Sonic the Hedgehog (Genesis)

From The Cutting Room Floor
Jump to navigation Jump to search
This page contains changes which are not marked for translation.
Other languages:
English • ‎polski

This page details one or more prototype versions of Sonic the Hedgehog (Genesis).

Hiddenpalace.org logo.png  This prototype is documented on Hidden Palace.

Sonic1proto titlescreen.png

A prototype of Sonic the Hedgehog was released by Hidden Palace at Midnight (GMT) on January 1, 2021. It depicts the game midway through development. Many stages cannot be completed due to the lack of signposts and bosses; some (like Clock Work Zone Act 3 and Final Zone) haven't been started at all, or are obvious placeholder designs (like the Special Stage).

This build reveals a game that was originally tuned more for traditional platforming and exploration rather than for speed, which would eventually become the hallmark of the Sonic series. It also features a plethora of interesting content that was previously only seen in grainy magazine screenshots and raw gameplay footage, like the rolling checkered boulder in Green Hill Zone, the UFOs in Marble Zone, and Spring Yard Zone when it was still called "Sparkling Zone". Also, Splats the Bunny!

Long considered a holy grail by the Sonic community, a Sonic 1 prototype was sought after for around two decades. During the time before this build surfaced, prototypes of all the other 16-bit Sonic games were discovered, dumped, and shared with the public. Along the way, there were also a few ROM hacks created as attempted guesses to what such a prototype would look and play like (including Sonic 1 Beta Hoax, and Sonic 1 Beta Remake).

It wasn't until late 2020 that an individual by the name of Buckaroo found a cartridge containing this prototype, and released its contents through Hidden Palace (on New Year's Day) for gamers to enjoy. According to drx, this build was originally sent to an unspecified UK video game magazine in early 1991 for their pre-release coverage.

Download.png Download Sonic the Hedgehog (Genesis Prototype)
File: Sonic_the_Hedgehog_(16-bit)_(Prototype).bin (512 KB) (info)


Hmmm...
To do:
Stuff to add that's not accessible in the base ROM without patches. Some of this might be in patches that are available on release:
  • Changed chunks
  • There's a lot of minor changes that one normally wouldn't notice (e.g. Sonic has no ceiling collision when hurt). There's also unused content from earlier builds that hasn't been removed yet.
  • There's some unused HBlank code that when added back in will reveal a very early water test.
  • Replace all of the choppy GIFs with videos.
  • theres something missing, check the Sonic wiki and poke around in the rom.

Zone Differences

Normally, only eight stages are playable without the Level Select. In order: Green Hill Acts 1-3, Marble Acts 1-3, Sparkling Act 1, and Star Light Act 1. This disproves the long-held theory, based on the level select of the original "REV00" US release (which also happens to match this build, different Zone names notwithstanding), that the level order was rearranged late in development.

Final Zone isn't available in the Level Select, and levels use their early names. Every Zone contains many differences in the layouts themselves.

Zone ID 06, which is used in the final game for the ending, hasn't been implemented yet. Trying to access it by modifying the current Zone/Act address will lead to "ZONE ACT. 1" briefly appearing onscreen, followed by the game softlocking because no level data exists for this level slot.

However, the "Act 4" stage ID (03) is also functioning, to varying degrees. Most other levels either contain nothing or an object layout from the first Act of that stage. Notably, Green Hill's "Act 4" slot contains a complete duplicate of Act 3, heavily implying it was once considered for the ending cutscene before being moved to its own level slot.


Sonic1ProtoGHZThumbnail.png
Green Hill Zone
You can't stop the Rock.
Sonic1ProtoMZThumbnail.gif
Marble Zone
The truth really was out there.
Sonic1ProtoSZThumbnail.png
Sparkling Zone
Good luck.
Sonic1ProtoLZThumbnail.png
Labyrinth Zone
Thankfully, there's no water here.
Sonic1ProtoSLZThumbnail.gif
Star Light Zone
Under heavy construction.
Sonic1ProtoCWZThumbnail.png
Clock Work Zone
Before the big Scrap.

Special Stage

Map In-Game
S1ProtoSS Full.gif Sonic1ProtoSSTransition.gif

There's only one Special Stage in this build, with a very simple and unexciting layout, implying that it was only a temporary design.

  • Only C can be used to jump. A and B respectively speed up/slow down the stage's rotation counterclockwise and clockwise, and pausing the game will reset the rotation speed. There's no upper cap on the rotation speed, meaning it's possible to hold A or B for long enough to overflow it and have the stage start rotating in the other direction. It's stored as two bytes in address F782 in 68K RAM.
  • Only two bumpers are in the entire stage.
  • A few clusters of rings are present near the start point, but that's all until the player gets to the "Emerald".
  • Instead of a Chaos Emerald to collect, an ordinary green block is used as a placeholder, which does nothing when touched.
  • Goal tiles are split in two: the blue ones (with "GOAL" on them) don't animate or function, but their second frame (red tiles) will spin the stage around rapidly like normal before pausing for a moment, then resetting the stage.
  • The player cannot enter object placement mode, despite debug mode being enabled by default in this build, and thus cannot move freely around or place objects of any kind.
  • The UP and DOWN tiles - just one of each present in the whole stage - don't animate either, and seem to function like Reverse blocks instead of adjusting the rotation speed.
  • Collision detection seems to be less refined, with Sonic being able to stick to tiles much easier than in the final game.
  • No score summary is displayed upon exiting the stage.
  • The screen doesn't fade to white when entering or exiting the Special Stage.

If the Special Stage layout is edited to remove objects, the player can go out of bounds. Notably, the out-of-bounds garbage data differs from not only the final's out-of-bounds area but also this prerelease screenshot that also looks very much out-of-bounds. It is also extremely prone to crashing often.

  • Only the colored blocks, bumpers, and Goal spheres can be seen in the garbage data.
  • Attempting to go further down into the garbage data will cause the graphics to deform and the collision to become glitchy to the point where Sonic can't go further down.
  • Going left or right will also cause the graphics to deform, but the player can continue going left or right until the strip of garbage data loops.

General Differences

ROM Header

The prototype doesn't yet have its own ROM header and instead contains basic template information, with no game name and having a date stamp of 1989.JAN, implying that this build was somehow compiled before development had even begun. A reasonable estimation, based on visual cross-checking against UK prerelease coverage of Sonic, places this prototype around February/March 1991.

Pre-Game Content

Proto Final
Just your typical average Sega logo, nothing too special here. SEGA!

Instead of the well-known Sega logo and iconic "SEGA!" chant, this prototype uses the standard (and silent) palette-cycling Sega logo which opens most other Genesis/Mega Drive games. Unlike in the final game, the logo can be skipped at any point with Start.

The title screen immediately follows; there is no "Sonic Team Presents" card. (At the time, Sega did not normally credit their internal development teams within games.) Unfortunately, adding this screen also created a minor bug. More on that below.

Proto Final
"PRESS START BUTTON" What button starts the game?

The prototype's title screen lacks the ™ symbol (not unlike the Japanese release), and features a flashing "Press Start Button" graphic that's absent from the final. It's still present in the game, but due to a buggy implementation of the "Sonic Team Presents" card, it never appears onscreen.

During attract mode, BGM doesn't immediately stop when the Sega logo is displayed; the music fades out slowly instead.

Early Demos

Hmmm...
To do:
  • Add restored demos, they were in earlier revisions of the article as Youtube imbeds, but aren't here anymore.
  • Fix inconsistent filenames
Green Hill Zone Marble Zone Sparkling Zone
Special Stage Star Light Zone (Unused)

While the demo cycle only shows Acts 1 of Green Hill Zone, Marble Zone, and Sparkling Zone, a demo of Star Light Zone Act 1 is present. It's not normally seen due to the demo cycle having a total of 12 entries, but the demo player code forcing a loop after the sixth. The Special Stage demo also plays in between every stage, rather than being played only at the end of the demo order in the final release. There are no demos present for Labyrinth Zone nor Clock Work Zone.

At first glance, the demos would appear to be broken, as Sonic dies almost immediately by running into enemies or falling off the level. This is because the demo recordings are not only misreferenced, but belong to an earlier compile of the game.

Used Unused
Green Hill 1 Star Light 1
Special Stage Special Stage
Marble 1 Marble 1
Special Stage Special Stage
Sparkling 1 Sparkling 1
Special Stage Special Stage

Level Select/Debug Mode

Level Select and Debug Mode are enabled automatically in this build for testing and preview purposes.

  • In debug, holding A and pressing C won't yet go backward in the object list, and instead places the highlighted object regardless.
  • The game acknowledges B as a jump input before activating debug mode with the same button. This causes Sonic to jump on the frame before entering debug mode and performing said jump after exiting debug mode. This was fixed for the final version.
  • Spring Yard and Scrap Brain were called Sparkling and Clock Work in this build.
  • The level select contains Xs next to Star Light Acts 1-3 and Clock Work Act 3. These were likely used for when a stage hasn't been implemented yet (though in this build it's a bit outdated, since Star Light has been implemented).
    • Clock Work Act 3 cannot be selected.
  • Pressing B on the Level Select will load up Act "4" of Green Hill (displayed on the title card by a copy of the blue oval graphic replacing the Act number), which suggests that it might have been used to test the ending sequence stage. In the final game, the ending stage instead uses a separate Zone altogether (06).
Proto Final
Uh-uh Finally no Xs

Level Transitions

  • Completing Act 1 or 2 of Star Light will send the player to Act 2 or 3 respectively, but clearing Act 3 takes the player to Marble Act 1.
  • Beating Clock Work Act 2 will bring the player to Act 3 (which later became Final Zone), and beating Act 3 will bring the player to the Sega screen.

Gameplay

HUD Differences

Proto Final
S1ProtoHUD.png
S1FinalHUD.png
  • As seen in countless prerelease screenshots, the HUD says "Ring" instead of "Rings". The change was made circa the build seen in Shinsaku Soft Video, rather close to the end of development.
    • "Ring" does not flash red when the player has 0 rings, nor does "Time" flash when the clock reaches 9:00.
    • A "Time Over" does not occur when the timer reaches ten minutes. The timer instead loops back to 9:00 indefinitely.
    • The time bonus works differently.
    • During a Game Over, the timer will continue counting up. The final game stops the timer.

Sonic

  • Sonic's jump height is lower. On flat ground, the apex of his jump is 6 pixels lower than in the final.
    • The cause is in the global subroutine ObjectFall: In this prototype, gravity takes effect instantly. In the final game, the code was modified to take 1 frame for gravity updates to apply.
  • Sonic's collision height doesn't change when crouching.
  • Sonic's deceleration speed is slower, being $40 in the prototype and $80 in the final. The Power Sneakers' deceleration speed is $80 in both this build and the final game, indicating that it was never adjusted to account for the regular deceleration speed's change, resulting in the Power Sneakers deceleration speed and regular deceleration speed being identical in the final.
  • Walking/jumping onto objects such as platforms and bridges causes Sonic to lose some of his speed.
  • When hurt, Sonic has no collision with ceilings.
  • Sonic doesn't automatically run off the screen after touching the end-of-level signpost and destroying the post-boss Animal Capsule, nor is the player capable of doing so yet. Jumping during the ensuing end-of-level bonus tally causes Sonic to enter the "victory fist pump" pose seen in many prerelease screenshots.

Objects

Hmmm...
To do:
Perhaps a comparison video between the proto and final Special Stage ring animations should be added.
Sonic1ProtoInvincibilityBug.gif
  • The hidden end-of-Act bonus point markers haven't been implemented yet.
  • Special Stage rings haven't been added to the end of Acts 1 and 2 yet. The ring object does exist with full graphics and coding, though it works completely differently from the final game:
    • When Sonic touches the giant ring, instead of instantly disappearing like in the retail version, he instead momentarily gains a "sparkle" effect, after which he then "warps" off of the screen (similarly to the way time travel works in Sonic CD). However, there doesn't seem to be any further coding for it beyond this point in development, as Sonic simply reappears a short distance ahead of the point where he vanished a brief moment after he disappears.
    • Given this behavior, it's probable that the Special Stage rings were originally intended to be placed at ground level just past the signpost instead of up in the air, to give the illusion of Sonic running through the ring and then warping away to the Special Stage. Why this was altered is unknown, but given that remnants of this functionality still exist in the final ROM, it's likely that it was changed fairly late in development.
  • Checkpoints are completely absent. In fact, they haven't been coded into the game at all at this point.
  • Spikes damage Sonic during all forms of invincibility, including from monitors.

Screens

  • The Continue screen hasn't been implemented yet, likely because there's no normal way to earn Continues in this build.
  • The ending cutscenes and credits are completely absent.

Scrolling System

Sonic1ProtoSlowVerticalSpeedBug.gif

Vertical positioning is somewhat buggy:

  • The camera is much slower when moving vertically, making it easier to outrun the camera (and, in some rare cases, die when doing so) when falling or traveling at high speeds.
  • The top and bottom of the stage wrap in every level, even in stages that don't normally utilize vertical wrapping. In stages with lethal pits, this results in the player dying if they travel above the upper stage limit (since Sonic wraps from the top to the bottom of the stage, where the game then thinks he's fallen into a pit).

Debug Mode

Proto Final
Sonic1ProtoCamBounds.png Sonic1FinalCamBounds.png
  • Object placement mode ignores camera boundaries. Camera movement also works differently, meaning going to the same coordinates in the same way won't always result in the camera being positioned the same way.

Misc.

Proto Final
Sonic1ProtoMZ3Transition.PNG Sonic1FinalMZ3Transition.PNG
  • When a Zone is completed, graphics for the next Zone start decompressing during the fade-out, before the Act transition completes.
  • Collision is noticeably glitchy, especially when rounding a small incline.
  • There is no combo bonus for destroying multiple Badniks in a row yet, meaning you will always get a flat rate of 100 points from doing so.
  • Onscreen enemies are not cleared after finishing an Act, and can still harm Sonic while the player's score is being tallied. (This can be easily observed in GHZ Act 1.)
  • Extra lives are earned at 50 and 100 rings. The ring requirement for extra lives was later doubled to 100 and 200 in the final release.
    • "Ring memory" doesn't exist yet, meaning it's possible to earn two 1-Ups by collecting 100 rings, take damage, and then earn another two 1-Ups by collecting 100 more rings. In the final release, each ring threshold only grants one 1-Up per life, per level.
  • BGM and sounds continue while the game is paused.

Graphical Differences

Proto Final
GREEN HILL ZONE ACT. 1 GREEN HILL ZONE ACT 1
  • Title cards have an additional period after "ACT", possibly implying that "ACT" was originally an abbreviation of another, longer word, like "action". This was removed from the final, although the period remains in the data.
  • Sonic's sprites are almost identical to the final game, but he lacks his updated "breathing" animation and his extra hurt sprite (used for slides).

Unused Content

Unused Sprites

Sprite Offset Notes
Sonic 1 Prototype Font.png
018000 Three copies of an 8x8 font in different colors. The palette used in this image is a mockup.
Proto Sonic The Hedgehog Genesis smoke puff.png
02656E Some dust or puffs of smoke. These are also unused in the final game, but are noteworthy in this prototype for being loaded in VRAM where the checkpoint graphics are in the final version.
Sonic 1 Prototype Water Splash.png
026672 The Labyrinth Zone water splash, not used in this prototype as there is no water. It has simpler shading and seems to be intended to use Sonic's palette, unlike the final game which uses Labyrinth's cycling palette. It should be noted that these sprites do appear to be re-used in Sonic CD.
Sonic 1 Prototype Sparkle.png
0267D4 Some sparkles.
Sonic1Proto MD Sprite UnusedFlame.png
026BF6 Some fireballs, possibly for use in Marble Zone.
Proto Sonic The Hedgehog Genesis early Ballhog.png
02A386 Ball Hog is completely programmed in the prototype, but its movement, sprites, and attack are different from the final version: It walks from side to side and drops bombs down vertically. This seems to match the version seen in early prerelease footage, rather than the version seen in leaked Digitizer artwork from the game's development.
Sonic1Gen BetaExplosion.png
02ADFE An explosion meant for the previously mentioned Ball Hog. When the Ball Hog would drop the ball, it would explode and use these sprites. These are also unused in the first revision of the game, but are deleted in the second revision.
Sonic1ProtoMDBallHogBall.png
02BBC2 The Ball Hog's ball is also programmed in the prototype, meant to explode when it first hits the ground, unlike the final which bounces for a bit and then explodes.
Sonic 1 prototype Boss Spring.png
060864

A spring included in the boss attachments art file. The base of the spring was recycled for the Marble Zone boss' fire disposer.

Given that the boss attachments tend to follow the gimmicks of their Zone, this was probably intended for the Sparkling/Spring Yard Zone boss.

Sonic 1 Prototype Unused 6th UFO.png Sonic 1 Prototype Unused 6th UFO anim.gif 06C8A0 A 6th frame for the animated UFOs in Marble Zone. To properly restore it in the animation script, use PAR code 011430:0006

Special Stage

Given their incompleteness, unsurprisingly, the Special Stage has graphics for a few unused blocks. Only their graphics exist though, as there's no code for them anywhere.

Sprite Offset Notes
Proto Sonic The Hedgehog Genesis R icon.png 06505E An R Block, whose intended use was probably the same as final, although no code for it appears anywhere.

This graphic doesn't load in the Special Stage's VRAM.

Proto Sonic The Hedgehog Genesis Skull icon.png 06512E A skull, use unknown, though it probably had something to do with either death or losing.
Proto Sonic The Hedgehog Genesis U icon.png 0651FE What appears to be a magnet icon. While it's unknown what the purpose of it is, it's suggested that it could be used for two possibilities: it could be an item to allow Sonic to pull any rings towards him whenever he nearly reaches them, or an object to either pull Sonic in or push him away.
Sonic 1 Prototype Chaos Emerald.png 065B76 The graphics for the blue Chaos Emerald are present in the prototype, despite being absent from the Special Stages proper.

The presence of only the blue Chaos Emerald without all the others may imply that the Emeralds were planned to all be blue at this point in development, akin to how they are in the 8-bit version.

Unused Objects

The list of objects by offset can be found at ROM address 8580. There are only 94 objects in this build, well below the final's 140.

Hmmm...
To do:
Generally, the images on the left/center should show the objects by themselves, not gameplay. Any gameplay should be shown as a video on the right, not as a choppy animated GIF.

Object 02 & 03 (Development Tests)

In-Game Footage
Proto Sonic The Hedgehog Genesis early objects anim.gif

These objects date back to the game's earliest development stages. They both share the same sprite mappings and tile ID base, and have similar code.

  • Object 02 uses frames 1 and 2 of the mappings data, being a 32x32 block that displays a set of tiles one after the other. It has a priority value of 3
  • Object 03 uses frame 3 of the mappings data, being a large 32x256 vertical rectangle, built from 8 individual 32x32 blocks. It has a priority value of 5

Both set their collision properties to 1, and set bit 3 of their render flags. Object 02 has a simple timer built into it to alternate between sprites every 16 frames. They also expect tile information from VRAM at 0x9E00, which is the exact same location that the unused debug HUD digits are loaded. They do not interact with the player object in any way, and likely never served a purpose in actual gameplay.

These same objects can be seen in on-site SEGA R&D footage uploaded to Youtube by Yuji Naka, dating all the way back to February of 1990.

Object 04 (Development Test)

Proto Sonic The Hedgehog Genesis obj 04.png
An object similar to ID 03, but animated. It can be placed anywhere on the X axis, but its Y axis is fixed.

Object 05 & 06 (Debug Numbers)

Objects that make up each individual digit of the unused debug HUDs. Both objects share the same mappings and nearly identical code.

Object 05 is loaded into object RAM in both debug setup routines, while 06 is unused anywhere and seems to have been used for an even earlier implementation of the debug routines, as it sets a screen position Y value of 160 pixels, unlike 05 which expects onscreen positions to be supplied when loaded.

Sonic 1 Prototype Objects 05 06 sprites.png
Object 05 expects the art for the digits to be at 0x9E00 in VRAM, while 06 expects them to appear at 0x8E00.

Object 10 (Animation Test)

Proto Sonic The Hedgehog Genesis obj 10.gif

An object that tests all of Sonic's animations. It jumps to the next animation/sprite when Sonic jumps.

Object 1B (Unknown Platform Object)

Proto Sonic The Hedgehog Genesis obj 1B.png
An object that has collision seemingly based on its subtype argument. If no subtype is supplied, the object simply displays and performs no collision calculation.

It appears to have been a child-object for another, likely removed object, as it has an unused sprite and calls routines typically used for objects with multiple moving parts, like the bridge and swinging platforms. It doesn't fit any art, but appears to have used a zone's tileset for its sprite graphics, as it sets the mappings base to 0 and the palette flag to the third palette line.

Object 1D & 2A (GHZ Hidden Button and Door)

Proto Sonic The Hedgehog Genesis GHZ Door.gif

A button, disguised as grass, and the door it would have opened respectively.

Proto Sonic The Hedgehog Genesis Object 1D Sprites Raw.png
If the door is placed in-game, it does not display properly as their graphics were seemingly offset from an earlier version of the tileset. However, by shifting the sprite mappings base location backwards, they display as intended, using some unused tiles in Green Hill's tileset.

For the button, if their mappings base is also shifted backwards by 9 tiles, they will display as the grass that's used throughout the level.

The grass fits perfectly with the switch, as it only activates if the top of the sprite is walked through. The door's code also includes a subtype that would have acted as a sprite mask for where the door would have retracted back into.

Object 1E (Ball Hog)

Proto Sonic The Hedgehog Genesis early Ballhog anim.gif

Ball Hog's behavior, as previously mentioned, is different from the final version. It moves around horizontally instead of staying in one spot, faces the screen, and drops a singular bomb instead of multiple bombs.

Object 20 (Ball Hog Bomb)

A sub-object of Ball Hog, its bombs. It simply drops to the ground, and creates a miniature explosion on impact. The explosion sprites still exist in the final, though unused.

Object 2C (Jaws)

Proto Sonic The Hedgehog Genesis early Jaws anim.gif

Used in the final, but not in the proto.

In this build it uses Sonic's palette and can only swim to the left, never to return. Its sprite is loaded in Labyrinth Zone, but is allocated to the wrong VRAM address.

Object 2D (Burrobot)

Proto Sonic The Hedgehog Genesis early Burroboy anim.gif

Used in the final, but not in the proto.

In this build, Burrobot uses the second palette line instead of Sonic's. It also does not start buried in the ground. Strangely, this badnik's appearances in future games (along with some of its official artwork for this game) appear to use a combination of both palettes, with yellow helmets and shoulders but blue faces and torsos.

Object 43 (Roller)

Sonic 1 Prototype Roller.gif

Can be accessed via debug mode in Sparkling Zone. Also appears in the unused object layout for Sparkling Zone Act 1. It has different behavior compared to the final version:

  • Uses the second palette line instead of Sonic's.
  • Instead of making its entry by rolling on screen, it stands stationary until the player approaches it, to which it then takes off.
  • Doesn't uncurl when it gets close to the player.
  • Is completely invulnerable.
  • Moves at a slower speed.
  • In the final game, Caterkiller's art is loaded over part of Roller's art, which causes one of the ball animation frames to appear glitched. As Caterkiller doesn't even exist in the prototype, this bug obviously doesn't happen.

Object 4A (Special Stage Entry)

This sub-object uses a special effect that was discarded from the final version. It allowed Sonic to enter a Special Stage after touching a giant ring.

Object 4B (Giant Ring)

Does not take you to Special Stages.

Object 4F (Splats)

Sonic 1 Prototype Splats.gif

A scrapped badnik accessible via Debug Mode in Marble Zone.

Object 5E (SLZ Seesaw)

Sonic 1 Prototype Seesaw.gif

Only accessible through Debug Mode. Unlike the final version, this object is missing the spiky ball that gives Sonic a boost to reach high places.

Unused Object Layout

Hmmm...
To do:
Add in the object layout map, and perhaps attempt at recreating the full chunk layout with what screenshots we have about Sparkling Zone's layout from CES builds. You can find the file for the layout File:UnusedObjectPositions 0x70040-0x72D00.bin here.

Located at 0x729CA is an unreferenced object position list that is presumably used for Sparkling Zone Act 1. Loading it in-game shows a number of differences, including Crabmeats near the entrance which are spawned on top of each other. To load, open the ROM in a hex editor and at 0x70040, replace 2460 with 29CA. You'll then be able to see the changes in SZ1. Interestingly, the object positions seem to match up with an early Sparkling Zone layout seen in screenshots of the pre-WCES and WCES-like builds.

Unused Level

The last level, level ID 06 act ID 00, reserved for the ending cutscene in the final version, has a map of chunks at $6E348 that don't fit any zone very well, nor does it align with any existing stage layout in this build. The game softlocks when accessing it directly, but it can be restored by hacking the layout into a working stage. Interestingly, this map holds 128 chunks and appears to be a normal level. Based on the overall structure, it seems this originally started as an early stage layout, probably dating back to the CES build; however, all level chunks besides 00 (empty space) or 01 (solid wall) appear to have been overwritten at some point, evidenced by the remaining chunks progressing in perfect sequential order going left to right, top to bottom. Whether this was deliberate (i.e. converting the old layout into some kind of test map) or an unintended side effect of other data being written to the ROM is unknown.

Proto Sonic The Hedgehog Genesis unused map 06.png

Unused Palette

S1ProtoNightPalette.png
Located after Labyrinth Zone's palette is this unused 4-line palette. It seems to've been intended for the Green Hill Zone tileset, as it fits extraordinarily well, with only minor palette errors around rocks and such. The palette is nearly identical to the results screen in the Mega Play version of Sonic 1, which - coupled with this prototype's unused font (which bears similarities to the Mega Play font) - seems to suggest that leaderboard had been intended for the Genesis version as well.

The palette also seems to have been made early on, as the cycling palette's first color is dark blue, which was changed to a grayish blue after the WCES builds. This may also explain why the top of the mountains in the background are pink.

S1ProtoNightPalette Screenshot.png

(Source: Sonic Retro)

Unused Code

Plenty of unused code is hidden within this prototype. This includes:

  • Alternate code for the invincibility stars trailing behind, making them trail behind a bit less. This is also left over in the final release.
  • Code that calculates square roots, which is also left over in the final release.
  • Code that doesn't seem to do anything at first, but commenting out a part of it lets Sonic respawn immediately after dying.
  • An oddity that makes the Special Stage's goal orbs flash blue and yellow.

Unused Debug HUDs

There are two unused debugging HUDs in the game's data, both rely on a set of dummied out routines in Sonic's object code to function correctly.

SonicTheHedgehogPrototype CESDebugHUD.png
  • The first routine is located in ROM at 0x2ED0-0x2F23. It spawns 4 individual objects in reserved object RAM starting at 0xFFD400 for each digit in each line, and sets them up with a list of screen positions, totaling 12 entries for 12 objects.
    The topmost line reports Sonic's current velocity, and the bottom two lines report his X and Y positions respectively.
SonicTheHedgehogPrototype ExtendedDebugHUD.png
  • The second routine comes right after the first one, at 0x2F24-0x3017. It is set up like the first one, spawning 4 objects for each line, starting in reserved object RAM at 0xFFD280. It proceeds to try and set up 13 lines, spawning a total of 52 individual objects.
    This overflows into dynamic object RAM and causes many object slots to immediately be partially overwritten with bad data, causing visual issues and crashes. If it does load normally, this causes intense lag.
    None of the routines to make this variant function are present, and the routine intended for the first variant is unfortunately incompatible.

Unused Water Tests

Hmmm...
To do:
Get good recordings of these.

There exists three unused routines for testing water functionality. They are all extremely early, and lack the associated code for handling Sonic underwater.

  • The first routine is actually pointed to from the vector table. It sets up a Color RAM DMA from RAM where the palette buffer for fading is located. It is incredibly hard to tell the difference immediately, since all this does is overwrite the main palette in CRAM with a static one, meaning that palette cycling information is simply paused. It can be controlled on-screen by holding up or down on the joypad. Enabling horizontal interrupts is all that is needed for this routine to work, as the code that actually handles the water level on-screen always executes from the main level loop.
  • The second routine comes directly after where the first one ends. This one is set up very differently from the final game, as it swaps the VRAM nametable address for the background with the position of the window plane nametable. Art is usually loaded into VRAM at this location, meaning the background will change to garbage halfway up the screen. It is possible that this was used to change the background entirely behind the water, or that an overlay was going to be put over the screen, like a dithered effect or wave pattern.

Unused Lives Counter

In a set of functions used by the level initialization code, at 0x485C-0x48B9, there is an unused function that appears to would have set up an early lives counter on-screen. It writes tile IDs to an area of VRAM that contains art for the shield and invincibility graphics data normally, but would have corresponded to the VDP window plane nametable's location that is setup upon initialization. By clearing this area and setting the window plane size to an appropriate size, it will display a set of 16x16 blocks for each spare life the player has. It displays 4 at maximum with no representation for any lives acquired past that, and it shows nothing when 1 life remains. It may have been used with an earlier version of the lives system that capped at 5 lives.

Audio

Original TR-626 Sample Proto Final

The snare drum and timpani samples used across all tracks are pitched lower than the final release, as the final game had its DAC driver code rewritten to accommodate the "SEGA!" chant, which resulted in all samples being played at a higher pitch. Curiously, the kick drum had its pitch manually lowered in each track in the final game to compensate for the driver change.

Additionally, the extra life theme seems to cause various minor issues with the sound driver for a brief moment after it finishes playing.

Music

ID Title Proto Final Notes
$85 Sparkling Zone
The track has a single note difference in the bassline.

The final version simply reuses a section that's present earlier in the track, probably to further optimize the song.
The original bassline note still exists in the final game's credits medley.
A note was also played for a shorter amount of time in the final version.

$8B Ending
Slightly slower than the final track, and the high pitched lead synth lacks a decay.

Goes unused in this build.

$8D Final Zone
Goes unused in this build.
$90 Continue Screen
Goes unused in this build.
$91 Credits Medley
Much of the instrumentation is either slightly different or missing.
$92 Drowning Crashes the game as it uses invalid pointers.
$93 Got Chaos Emerald Completely missing; selecting this sound ID does nothing.

Sound Effects

There are many unused sounds unique to this prototype, which would go on to be replaced by different sound effects in the final.

ID Sound Notes
$A1
Similar to the sound played when touching Goal blocks in the Special Stage. Replaced by the checkpoint sound in the final release.
$A8
A noise sound effect that then decreases in pitch. Replaced by the aforementioned Goal block sound effect. This sound is used with the unused warping object.
$A9
A longer, higher-pitched version of the rolling sound. Replaced by the sound used for touching speed/Reverse blocks in the Special Stage.
$AD
A duplicate of the "badnik destroyed" sound effect, which lacks noise PSG. Replaced by the air bubble sound, but later used in Sonic CD, Sonic 3, and Knuckles' Chaotix.
$B0
A low-pitched siren sound. Replaced by the buzzsaw sound effect.
$B1
A faster, higher-pitched siren which sounds like it was taken straight out of Pac-Man. Replaced by the sound effect used for Scrap Brain's electricity balls.
$B2
Sounds like a buzzer of some sort. Replaced by the drowning sound effect. From 0x7D3EE - 0x7D415. This same sound (albeit with a one-byte difference) can be found in Michael Jackson's Moonwalker starting at 0x68502.
$B3
A rough, low-pitched sound that quickly rises and falls in pitch. Replaced by the sound used by the falling fireballs in the Marble Zone boss fight.
$BA
Resembles the sound used by the color-changing bars in Casino Night Zone from Sonic 2. May have been an early version of the sound used by the color-changing blocks in the Special Stage, which ultimately ended up replacing this sound.
$BF
Two quick, harsh-sounding noises that loop indefinitely. Replaced by the Continue sound effect.
$C2
An alternate version of the "Badnik destroyed" sound effect, with one of the sound channels being a bit harsher. Replaced by the underwater timer "ding" sound effect.
$C3
A deeper version of the bomb explosion sound (which, incidentally, occupies the next sound slot). Replaced by the sound effect used when entering a giant ring.
$C9
A harsh, vibrating noise. Replaced by the noise used when touching end-of-stage point markers.
$CA
Sounds like footsteps walking away; could have possibly been used as an "exit" sound effect for something at some point. Replaced by the Special Stage warp noise.
$D1
A louder version of the waterfall found in Green Hill Zone. This and the next one were completely deleted in the final game. From 0x7DA92 - 0x7DABD. This same sound can be found in Michael Jackson's Moonwalker, starting at 0x6869C.
$D2
A strange rhythmic pounding sound. This, and the previous sound, won't end when they are played in-game. From 0x7DABE - 0x7DB09. This same sound can also be found in Michael Jackson's Moonwalker, starting at 0x686C8.