Sonic the Hedgehog (Genesis)
|Sonic the Hedgehog|
Also known as: Baramdori Sonic (KR)
This game has unused code.
This game has a bugs page
This game has a prerelease article
Sonic the Hedgehog is more or less the definitive game of the Genesis in the early 1990s and introduced the world to Sega's new mascot.
- 1 Level Select
- 2 Debug Mode
- 3 Unused Sprites
- 4 Unused Warping Effect
- 5 Invisible Credits
- 6 Misplaced Objects
- 7 Unused Level Chunks
- 8 Unused 2x2 Tiles
- 9 Exception Handler
- 10 Unused Sounds
- 11 Unused Code
- 12 Revisional Differences
One of the most well-known codes in gaming history: press Up, Down, Left, Right on the title screen (three Downs if playing the JP version on a Japanese console), then hold A and press Start. In the original revision, the level order is different from the order in normal gameplay: Labyrinth and Marble's positions are swapped. In the Sonic Jam Official Guide, programmer Yuji Naka explained that this is because Labyrinth was supposed to be the second level, but was considered too much of a difficulty spike.
|Green Hill Zone||Green Hill Zone|
|Labyrinth Zone||Marble Zone|
|Marble Zone||Spring Yard Zone|
|Star Light Zone||Labyrinth Zone|
|Spring Yard Zone||Star Light Zone|
|Scrap Brain Zone||Scrap Brain Zone|
|Final Zone||Final Zone|
Again, codes for the debug mode vary based on console or game region.
International Version; & Japanese Version on International Hardware
Another well-known code. While Up, C, Down, C, Left, C, Right, C is the most common version, a shorter version is C, C, Up, Down, Left, Right. The main requirement for the code is pressing C twice before the final input of Right. After entering the code, press Start while holding A and continue holding A until Sonic appears in the level. The "Pause Options" (see below) are enabled even if A hasn't been hold.
To activate Level Select and Debug Mode, simply enter the Level Select code, push any direction on the D-Pad after the ring sound, then enter the Debug Mode code.
From here, you have access to a variety of things:
- Infinite Time
- Debug Coordinates (in place of score)
- Sprite Counter (in place of time)
- Placement Mode: Press B during gameplay. From there,
- Press A to move forward one object.
- Hold A and press C to move backward one object.
- Press C to place the object.
- Pause Options: press A to go back to the title screen, hold B to enable slow motion, or press C to enable frame advance.
Japanese Version on a Japanese system
Here, there are separate codes for the pause options and the rest of the debug features. As usual, they are entered on the title screen and can be combined by interpolating a D-Pad direction between them.
- C, C, Up, Down, Down, Down, Left, Right
- C, C, C, C, Up, Down, Down, Down, Left, Right, hold A and press Start
Once enabled, they behave in the same manner as they do when running on non-Japanese systems.
|Sonic gulping air. Likely used for the air bubbles found in Labyrinth Zone, as well as Scrap Brain Zone Act 3. An edited version of this sprite found use as Ray's look up sprite in Sonic Mania Plus.|
|Sonic holding his breath. Possibly used for when the player was close to drowning. The face of this sprite would later be used in Sonic Mania, as Sonic is inhaling an air bubble.|
|Seen in earlier development pictures. Apparently, a victory animation used after passing the goal. Slightly modified versions of these sprites would finally see the light of day in Sonic Mania, keeping their original purpose.|
|A sliding sprite, similar to those used in Sonic CD. Modified versions of these sprites would later appear in the official "Hedgehog Day Dance Party" video, but not in Sonic Mania itself.|
|Spin Dash-like sprites. There's a routine which would change Sonic's sprite to one of these, but it's unused. However, a similar animation was made for Mighty's "Hammer Drop" ability in Sonic Mania Plus.|
|Shrinking, maybe falling, sprites for Sonic.|
|A black-and-white death sprite, whose purpose is unknown. Possibly would have been used when falling into lava, like in Marble Zone. This is also present, still unused, in Sonic the Hedgehog 2 and the v0.02 prototype of Sonic CD. Sonic the Hedgehog 3 and Sonic & Knuckles have similar unused sprites. Notice the lack of shoe stripes.|
These are visible if you fly over the goal in debug mode, as the end-of-level art loading routine isn't executed and the goal art is written over the top of the art for the monitors.
|A Robotnik monitor. Possibly would have hurt Sonic, like in Sonic 2 , Sonic 3 & Knuckles, and Sonic Mania.|
|An image of Sonic's unused goggles, leading some to believe it was originally a power-up. These become placeable objects in the 2013 remake's debug mode, and are also worn by Sonic during Tails', Mighty's, and Ray's Tornado plane segments in Sonic Mania.|
|A static monitor, used as a default for invalid object IDs. Scrap Brain Zone contains a number of these (apparently a victim of changing object allocations - the subtypes work perfectly if these are changed to solidity objects) which emit various glitched tiles when broken. They can be placed in Debug Mode, but don't do anything when broken.|
|A monitor with an "S" on it. This monitor appears in Prototype 510 of Sonic CD, essentially giving the player a speed boost and invincibility. In other games it appears in, including this game's 2013 remake, it grants Super/Hyper forms.|
Green Hill Zone
|This checkered ball, seen in early screenshots, and part of the Green Hill Zone boss in the final. It would have originally been its own object and would have chased Sonic and crashed through walls that he couldn't break through. The checker ball can still be viewed via debug mode, but cannot be placed.
It was restored in the 2013 remake, however, it’s pushed by Sonic there instead of chasing him. It is also now in Sonic Mania's debug mode, though only in Green Hill's acts. May also go with the "Wrecking Ball" object below.
|Two faces, possibly from an earlier point in development. Their true palette isn't in the game anymore. They are simply earlier versions of the Green Hill Zone decorations. They can be also seen in the Nick Arcade prototype of Sonic 2 in Green Hill Zone, on the glitched Crabmeats and the Act 3 boss. They are loaded naturally into the RAM addresses FFBAC8 and FFBAD0 and appear a layer in front of the sprites, can be added on Green Hill Zone with these codes, FF5970:0159 happy face, FF5972:015A sad face.|
|Unused tiles from the Green Hill Zone. Interestingly, these tiles were used for the Underground segment of Green Hill's second act in the 8-bit version. It is possible that an Underground section was once planned for the 16-bit version as well at some point in development. These tiles would later appear in Sonic Mania.|
|The swinging platforms of Green Hill Zone instead carry a wrecking ball when the highest bit of their subtype value is set. The object is fully functional and can hurt Sonic. Technically, the swinging platforms of Marble Zone, Star Light Zone, and the swinging spike ball of Scrap Brain Zone are capable of doing this, too, but the wrecking ball graphics are not loaded, suggesting this feature was only intended for Green Hill Zone. You can see this using PAR codes FFFE06:6B00 + FFD004:1500 during debug mode.|
|A horizontally-oriented spiked chandelier thingy. A fully functional but completely unused object exists for these. Can be added using patch code FFD004:4500 with debug mode active in Marble Zone.|
Spring Yard Zone
|An unused sign present in Spring Yard's tileset, seen only in Concept art.|
|A Burrobot facing downwards. Purpose unknown.|
Star Light Zone
|Unused lights from Star Light Zone.|
|Unused pieces of a capsule. They are loaded into the data of Robotnik's capsule, and concept art shows extra gadgets attached to the capsule.|
|The sprite on the left shows the back parts of the legs of Robotnik's vehicle, which are impossible to see in-game.|
|A rosebud with an incorrect palette, which functions like a bumper. This is because both the ending and Special Stage use the same debug item list, resulting in a strange-looking bumper due to different art being used.|
These can be seen in normal gameplay by falling out of a Special Stage using debug mode.
|Labelled as Zones 1-6, possibly used to mark which Special Stage you were in.|
|A 1-up icon. This is mentioned and shown in the game's manual but doesn't appear in-game outside of the aforementioned out-of-bounds area. It is actually fully coded and functional, and collecting it will grant you an extra life. The icon disappears like a ring when touched.|
|A W block. It's unknown what this would have done. However, a common Japanese pun is used with the letter W, where it would mean “double.”|
|Press Start Button||This text was meant to appear on the title screen, but was disabled due to a programming error. Interestingly, it will appear on Japanese systems after viewing the invisible credits. It can be reactivated by using the code FFD11A:0100.|
|Splats the Bunny||An unused badnik that seems to have been cut relatively late in development, as both a trading card and a figurine for it were released. Many years later, it went on to be used in Sonic Mania as one of the enemies in Press Garden Zone, as well as seen broken in scrap piles in Flying Battery Zone, and in debug mode's object list in Green Hill Zone, much like the 2013 remake. It was meant to appear in Scrap Brain Zone, according to concept art and source code remnants from the Sonic 2 "Nick Arcade" prototype. Its original id was $4F, and its code was eventually reused for the "Ball" badnik, in the Sonic 2 Alpha prototype. Its VRAM position and most of its data was discovered in the Sonic 2 "Nick Arcade" prototype from leftover source code remnants.|
|Goggles||Unused sprites for goggles, which would have been placed over Sonic. It was most likely supposed to come from opening the respective Goggles Monitor. These were later used in Sonic Mania for when Sonic is piloting the Tornado when playing as Tails, Mighty, or Ray.|
|Robotnik Explodes||These sprites could have been used in the ending, since they show Robotnik struggling to stay in the air (and then exploding), presumably only if you attacked Robotnik's craft when he tries to escape in Final Zone.|
|Unused Explosion||An unused and quite different explosion, found along with the badnik art. Interestingly, this art seems to have been used for the unused Buzz Bomber missile explosion, matching its unique mappings.|
|Unknown Grass||A chunk of grass which has no known purpose. Early concept art shows a mechanic where grass would be differently colored to show the location of hidden spike traps. Interestingly, it doesn't seem to match with any palette in the game.|
|Unused Switch||An unused frame of the switch sprite. When bit 5 of a switch's subtype is set, it makes the object flash, using this sprite. In Labyrinth Zone, this sprite's data is partially overwritten by the cork sprite in VRAM. Marble Zone's switch has no equivalent sprite.|
Unused Warping Effect
Possibly an earlier method of accessing the Special Stage, this warp effect activates when Sonic runs into the area in which the object is placed. Sonic disappears as he runs into it, and a warping noise plays. Sonic then reappears a few seconds later, likely as a method of testing the object.
Credits that are hidden on the Sonic Team Presents screen, and completely unseen in every region outside of Japan. If you play the Japanese version and have a Japanese Mega Drive, or switch the region to Japanese, you can use the code C, C, C, C, C, C, Up, Down, Down, Down, Left, Right, which should make a ring noise, then when the demo starts, hold Down + A + B + C to turn the screen's background to white, making the text visible after the Sega splash screen. This code does not work in the Sonic Classics version.
You can also activate this code for the International version if running on Japanese hardware, then it's C, C, C, C, C, C, Up, Down, Left, Right.
If you can't do the above codes, use the Pro Action Replay codes FFFFE3:0001 and FFF604:0072.
The credits translate to:
|Sound Produce||Nakamura Masato|
|Sound Program||Kubota Hiroshi|
In Green Hill Zone Act 1, a Motobug is suspended above an abyss near the first group of spikes. It is quickly erased from memory because there is no collision area for it to spawn on.
Green Hill Zone Act 2 has multiple misplaced enemies, such as this Crabmeat at coordinates 10D0,0370, under the section with the moving pillars and spikes just before the checkpoint. They cannot be seen in gameplay, as they're always placed such that they instantly fall into the abyss and unload. The Crabmeat is particularly amusing in that it's already below the level of the screen.
A stone can be found below the boundaries of the map in Green Hill Zone Act 3, near the boss fight. It is impossible to reach it without the use of debug mode. You can also find a Buzz Bomber that is impossible to reach at coordinates 21B0,0000.
In Labyrinth Zone Act 1, there is a group of spikes buried in 12D3,0675. It is impossible to see them because they are out of bounds and the foreground tiles are in a layer above the sprites.
Unused Level Chunks
Identify whether there are differences or whether they are just unused copies.
Star Light Zone:
Note: Several unused chunks of Star Light Zone still retain the art style used in several pre-release screenshots and because there are several unused chunks, it's possible this level has had many changes throughout its development.
Scrap Brain Zone:
Unused 2x2 Tiles
All tiles loaded into VRAM are organized by spreadsheet at the RAM address FFB000, where IDs are created for each line representing 2x2 chunks of VRAM graphics. Address FF0000 is in charge of adding mirroring and collision to these tiles, creating 16x16 chunks.
In all, there are 255 chunks created from FF0000. To add these chunks, add the IDs below in the format (0x xx) after FF0000 and search for the chunk ID 01 in the level data. Through this method, it's possible to see some of the unused graphics referenced above.
|Green Hill Zone||006, 187, 199, 19A, 00C, 00E, 017, 018, 022, 028, 02B, 02C, 044, 048, 049, 055|
057, 058, 059, 05C, 05E, 086, 087, 0BD, 0BE, 0F4, 0F5, 0F7, 146, 159, 15A, 161
|Marble Zone||058, 059, 05A, 05B, 065, 069, 06A, 06B, 06C, 08A, 08C, 094|
095, 096, 097, 09A, 09B, 09D, 09E, 0A3, 0A4, 0B7, 0B8, 0B9, 0BA, 0BB, 0BC, 0C8
|Spring Yard Zone||01C, 01D, 02B, 06A, 06B, 072, 08B, 08D, 0AC, 0BA, 0BB, 0D2, 0DD, 0F6, 0FB, 104|
10C, 10D, 16F, 171, 191, 192, 197, 1A5, 1A6, 1A9
|Labyrinth Zone||03C, 03D, 04F|
|Star Light Zone||
018, 019, 01A, 01B, 01C, 01D, 01E, 01F, 021, 022, 023, 024, 025, 026, 027, 028
|Scrap Brain Zone||01A, 01B, 01C, 01D, 029, 02A, 034, 03E, 047, 048, 06A, 074, 07B, 085, 086, 0C0|
0D2, 0DC, 0EA, 128, 132, 13F, 141, 16C, 172, 173, 17C, 182, 188, 189, 223, 224,
The game contains a very basic error handler. In the event a 68000 exception occurs (e.g. a bug causes the game to crash), the game will stop and print some basic information to the screen. This can be triggered in the first two acts of Labyrinth Zone. If the camera is panned down at the moment the results screen is about to appear at the end of the first two Acts, the game may crash with an illegal instruction exception.
These are best performed on an actual console, as the error handler does not work properly in some emulators.
While the error handler has text for most of the defined 68000 exceptions, very few of them are likely to show up during normal gameplay, as many of them are assigned as placeholders.
A way to get out of error messages is by pushing C, but sometimes it won't work properly and will either show another error message, or lead to the game freezing entirely.
A complete list of the game's error messages (which are shown below) can be found at hex value 000004E0. (Note that the @ in the divide zero error represents a Z in-game.)
ERROR EXCEPTION BUS ERROR ADDRESS ERROR ILLEGAL INSTRUCTION @ERO DIVIDE CHK INSTRUCTION TRAPV INSTRUCTION PRIVILEGE VIOLATION TRACE LINE 1010 EMULATOR LINE 1111 EMULATOR
Check for any more unused sounds
Meant to be played when a Buzz Bomber's missile explodes, although it doesn't really sound like an explosion. Due to the fact that this behavior is unused, it's possible that the sound IDs were changed at some point during development, and this sound was meant to be something else entirely.
Three sounds similar to the spike sound effect used in the final
Sonic 1 has quite a bit of unused code, most of which were meant for a much older version of the game:
- An unused routine to squish Sonic, which played the unused "warping" animations shown above.
- Sonic in the Special Stages has some leftover code that would've limited his jump height, just like the Sonic in normal stages.
- There's a third music queue that's never called for. Even if it was, a bug in the sound driver prevents it from working.
- Code to record the demo inputs, which was obviously used a lot during development.
- A weird routine that logs the collision, suggesting it was meant for a much older version of the game. Interestingly, this was altered in the Sonic 2 Nick Arcade Prototype so it would convert Green Hill's collision to work with the new collision table, though it doesn't work. This is actually called for, but is stopped by a return command before it starts.
- Some random code near the code to calculate sines.
A revision (commonly known as REV01) was silently released, which is more common in the Asian market. Most compilations and re-releases include this altered version. Below are the changes:
- The game's background deformation and screen drawing routines were given significant overhauls. As a result, the clouds in Green Hill Zone and on the title screen now scroll from right to left (common in most depictions of Green Hill in the series), backgrounds that previously did not have multiple layers of scrolling now do, and the water in Labyrinth Zone/Scrap Brain Zone Act 3 has been given a ripple effect, similar to that of Sonic CD.
- The level select was rearranged. In the initial release, the Zones were listed in a pre-release order that doesn't represent the final game.
- There are more changes if the game detects whether it is being played on a Japanese console. Previously, it disabled the Debug Mode but enabled the hidden developer credits - the revision provides new Level Select and Debug Mode codes as well.
- The "TM" symbols in both the SEGA & title screen now disappear.
- The points system was slightly altered: extra lives are now gained every 50,000 points (if it's played on a Japanese console), and the final boss now awards 1,000 points in defeat. Previously, extra lives were not acquired upon reaching any particular point total (which it's still the case on US/PAL systems) and the final boss awarded no points at all.
- Minor programming changes of certain properties such as Caterkiller's nuances, lamppost/game over and drowning music exist.
- Generally, the game code is tighter, more efficient, and removed unnecessary remnants like certain unused sprites and unused code.
- Holding buttons during the attract mode and ending demo sequences will not cause Sonic to miss jumps.
Object Layout Differences
- One block was deleted in Spring Yard Zone Act 3, this is because it doesn't even load.
- There is one extra ring in Labyrinth Zone Act 1 of Revision 01. After the player presses a button near the two rising platforms, a platform spawns above, something few people know about. It's possible to reach this platform with a well-timed jump, and if the player rides on it, it'll take them to an alternate path which may have an extra ring. With said ring, it is possible to collect 50 rings (and so access the Special Stage) while taking this shortcut.
- One area in Labyrinth Act 3 was made slightly easier by removing dangerous obstacles.
- Some invisible blocks in Scrap Brain Act 1 were moved up slightly, possibly to avoid level-wraps.
Ports and Compilations
Note: The Wii Virtual Console version of the game uses the REV00 ROM.
This version of the game was ported from console to arcade. The following differences are:
- The "Rings" and "Time" counter in the HUD were switched around.
- The player is now given a set amount of time to finish a stage.
- Extra lives are disabled, whether it's from striking 1-Up monitors or collecting 100 rings.
- Marble Zone, Labyrinth Zone, Scrap Brain Zone Act 3, and Special Stages have all been removed.
- As a result of the latter being removed, getting the "Good" ending is impossible.
- The credits and "Try Again" screens were also removed.
- A rankings screen has been added, which uses the Special Stage theme song.
- As a result of the latter being removed, getting the "Good" ending is impossible.
The version of the game included in Sonic Jam has its fair share of differences, including:
- The option to enable the Spin Dash ability from Sonic 2.
- Turning on the above option also changes the behavior of spikes: Previously, spikes would damage Sonic even if he's in the flashing invulnerability state from being hit earlier. This meant, if he landed on a bed of spikes, they would repeatedly damage him until he dies, never giving the player any chance to get away. Now, they follow the behaviour of later games, and respect Sonic's invulnerability state.
- Easy and Normal modes, which reduce the difficulty of the game by different measures.
- While skidding after changing direction while running, Sonic leaves small dust clouds behind him, much like in the other Sonic games.
- This version uses CD audio (like Sonic CD), avoiding issues from the original game, like parts of the music being muted by sound effects. However, this also has downsides, such as songs having large pauses before they play (CD seeking times), and Power Sneakers causing the music to restart instead of speeding up from where it already was.
This version of the game is also based on REV01, and unlike many other re-releases, is an actual port.
Sonic Mega Collection (and Sonic Mega Collection Plus) include both the REV00 and REV01 versions, as well as a new revision, REVXB, which features the same spike behavior change as Sonic Jam.
3D Sonic the Hedgehog
This version of Sonic 1 was released on the Nintendo 3DS in 2013, as part of the 3D Classics line of rereleases. It runs on the "Giga Drive", a special Genesis emulator that allows games to take advantage of the 3DS hardware. Changes include:
- Stereoscopic 3D graphics that take advantage of the 3DS's hardware.
- REV00 (labeled as "International") and REV01 (labeled as "Japanese") are both selectable.
- Customizable controls.
- A CRT-style screen filter.
- The Spin Dash.
- The Level Select being unlocked by default.
Sega Ages Sonic the Hedgehog
A version of Sonic 1 was released for the Nintendo Switch under the Sega Ages banner in 2018. This version is a port of the 3DS rerelease, and as such retains all the changes in that version sans the 3D effects. Additions include:
- The inclusion of the Drop Dash from Sonic Mania. Like the Spin Dash, it can be toggled on and off.
- The addition of "Ring Keeper" mode, a feature from the 3D Classics version of Sonic the Hedgehog 2. This allows players to start each Act with 10 rings, and lose only half of their rings when hit.
- In addition to REV00 and REV01, the Mega Play version of the game is available, marking the first time it has been rereleased.
- A Challenge Mode, in which the player competes for high scores, their best being uploaded to an online leaderboard. There are two modes: Time Attack (in which the player attempts to complete Green Hill Zone Act 1 in the fastest time possible) and Score Attack (in which the player attempts to get the highest score possible in the Mega Play version with only one life).