This page details bugs of Sonic the Hedgehog (Genesis).
General Bugs#
Off-Center Title Logo#
Incorrect |
Correct |
|---|---|
All objects on the title screen (including the trademark, and the PRESS START BUTTON text when that is re-enabled; see following section) are misaligned; instead of being dead-center, they are moved 8 pixels to the left of where they should be.
Wrong Text Colors in Hidden Credits#
Incorrect |
Correct |
|---|---|
The hidden credits are meant to be displayed in a cyan color; however, the developers incorrectly made the text use palette line 1 (Sonic's palette) instead of palette line 3, causing the credits to display in black instead.
(Source: Sonic Retro Forums)
PRESS START BUTTON Text#
In prerelease screenshots and the prototype, some flashing text saying "PRESS START BUTTON" was displayed below the giant emblem on the title screen. However, due to a programming error, the text no longer displays in the final release. The routine for loading the main title screen into memory doesn't fully clear out the memory used for the "SONIC TEAM PRESENTS" text, which prevents the PSB object from appearing. In the Japanese version, enabling the Hidden Credits, which override the "SONIC TEAM PRESENTS" screen, re-enables the text.
To fix this issue, open the ROM in a hex editor and at 0x311D (0x30F9 in the Japanese version), replace the 0x07 with 0x0F.
Interestingly, this error was fixed in the Brazil-exclusive Mega Games 10 version, but not in any other release of the original game. The 2013 remake also fully restores the function, though the text is modified to read "TOUCH TO START". In the first version of the remake, it only displayed the prior mentioned text. However, when playing a later update (either the paid version or Sega Forever) in the "standard" device type or playing the version included in Sonic Origins, it reads "PRESS BUTTON".
No Jumping During Demos#
The demos during the title screen and credits essentially use a table on whether a button should be pressed or held... in theory; however, the original release of Sonic 1 uses the wrong RAM value, which allows the player to disrupt the demos by holding A+B+C. Doing this prevents Sonic from jumping, which can lead to some funny results.
As all of the recorded demos in the final game only use C to jump, just holding C will be sufficient to prevent Sonic from jumping in the demos. If the game is hacked to include the A or B button in demo inputs, holding the corresponding input (or A+B+C which will cover all possible jump inputs) rather than just C would be required.
Although the demo disruption issue was fixed in the Japanese version and Sonic 2, the method they used to fix it ends up making the press/hold detection useless by clearing the input every frame.
Hidden Points#
At the end of a level, there are hidden point bonuses around the signpost. Although the 10,000 and 1,000 point bonuses work correctly, the 100 point bonus only gifts 10 points due to a missing zero in the points array (which multiplies the entries by 10).
This bug can be seen in the screenshot to the right. Although all bonuses have been obtained (one 10,000, one 1,000, and three 100 bonuses), the score only adds up to 11,030, even though it should be 11,300.
HUD Flashing Bug#
Both the time and ring counters can flash red; the former when 9 minutes have passed, and the latter when no rings have been collected. However, a bug in the HUD code will prevent the time counter from flashing to red if the player has at least one ring.
Level Wrapping#
A rather infamous bug, which made its way into both Sonic 2 and Sonic 3. It's possible for Sonic to get stuck in a wall, by debug mode or being pushed by other objects. When that happens, pressing either Left or Right on the D-Pad will force Sonic a distance away from the wall, in an attempt to get him unstuck. This can be used to skip certain parts of a level or, in certain cases, can send Sonic to the very end of a stage. When that happens, there's a chance of random objects and tiles appearing, and the signpost ending up using the sprites used for monitor contents, due to the signpost sprites not loading.
Jump Walking#
If Sonic is colliding with objects in certain zones (Most noticeable in Marble and Labyrinth, though it can be triggered as early as Green Hill Zone Act 2, through the Rock object with yellow spring on top) and starts jumping, the animation shown will be of him walking instead of his usual rolling/jumping one. This also makes him unable to kill things while it's happening.
Title Screen Background Bug#
Watch on YouTubeWhen you drown in a water level and get a game over, the title screen's background will stop moving.
Spike Bug#
Watch on YouTubePerhaps the most infamous (and infuriating) bug in the game. While Sonic is usually invulnerable for a brief moment upon being injured (indicated by his sprite flashing), if he lands on spikes, he will be harmed regardless of whether he is flashing or not. This essentially guarantees the player's death if they land on a row of spikes, even if equipped with a shield. According to Yuji Naka, the team did not notice the bug until well after the game had shipped. It persisted throughout most of Sonic 2's development and wasn't addressed until Beta 5, and most Sonic 1 rereleases since Sonic Jam have patched the behavior.
Watch on YouTubeThe spike bug occurs because spikes use a unique collision routine, since they're one of the few objects Sonic can stand on but also get damaged by, and said routine fails to check for Sonic's temporary invincibility timer. The unique routine led to debate as to whether the behavior was a bug or intentional, but in a 2012 interview, Naka admitted it was an oversight and apologized to players who came across it. In the prototype, spikes damage the player even if they have an active invincibility power-up, further evidence that the custom collision routine is to blame.
Technical Bugs#
Displaying Before Initializing#
The way Sonic 1 handles initialization of non-dynamic objects in object RAM is dangerous; essentially, the game loads an object in a slot before the previous one is cleared, and then deleted on the same frame; this, as a result, makes an object display invalid mappings and can cause a crash under very specific circumstances. The developers also knew about this bug as while the common routine to delete an object off-screen is fixed, object-specific variations aren't, and even in the Japanese version some changes were made to start fixing the issue, although it wouldn't be fully eradicated until Sonic 2.
Zone-Specific Bugs#
Green Hill#
Camera Scrolling Death#
Due to the way the camera is set up in Sonic 1, and the general area of where the bug is located, it's possible to kill Sonic in a certain area of Green Hill Zone Act 1. By jumping straight down while on a loop and then rolling, Sonic will gain enough speed to outrun the camera, resulting in the loss of a life.
Spring Yard#
Roller Art Bug#
In the level art lists for Spring Yard Zone - which load object sprites into the game's memory - is an unused entry for the Caterkiller enemy, which starts at $9FE0. But due to its closeness to the entry for the Roller enemy (starting at $9700), the two sprites clash each other during gameplay, noticeable during the Roller's rolling animation.
Labyrinth#
Crash#
Watch on YouTubeThe routine that runs pattern load cues in Sonic 1 (and Sonic 2, technically) has an error in it, where an instruction is placed a few lines earlier than it should be. Although normally unnoticeable, it is possible to crash the game with it by rolling at the end of Labyrinth Zone Acts 1 and 2.
Unloading the Signpost#
At the end of Labyrinth Zone Act 2, the signpost can be unloaded from memory by heading to the area where the camera locks horizontally, and running all the way to the left. There is no way to exit this screen without resetting or turning off the console; jumping into a Giant Ring will not transport Sonic to a Special Stage, and the timer, when it runs out, will not kill off Sonic.
Lives Underflow#
It's possible, through careful timing in Labyrinth Zone Act 3, to change Sonic's lives from 1 to 255 in the section with the current and breakable poles. By positioning Sonic in front of some spikes, and letting his drown countdown run out, Sonic will drown and suddenly fly right into the spikes, causing him to lose two lives at once. This will roll his lives counter back to (a glitchy) 255.
Star Light#
Orbinaut Death#
If you jump into a Orbinaut at around three quarters into Act 1 on the upper path, Sonic will die when he hits the top of the screen.
Scrap Brain#
Disappearing Platform#
Towards the end of the shortcut in Act 3, there is a platform similar to the secret platform found in Labyrinth Act 1 that is intended to carry the player across the second-to-last gap in the shortcut route. However, at the start of the level, the player is forced to walk far enough from the platform that it unloads itself, but the platform refuses to load itself back in, causing it to not be seen under normal circumstances. The platform can be found by enabling Debug Mode, entering Placement Mode, and going underneath the starting area.
Interestingly, this platform is not present at all in the mobile remake and Sonic Origins, even if the player uses Placement Mode to go directly under the starting area.
(Source: redhotsonic)
Final#
Near-Invincible Final Boss#
Watch on YouTubeVery similar in outcome to the Lives Underflow glitch. During the fight with Robotnik in Final Zone, his 'death' animation shows his exploding crusher sinking into the ground, slowly. It's possible, with quick timing on the eighth and final hit, to hit Robotnik a second time, rolling his health over to 255. This makes it impossible to defeat Robotnik within the 10-minute time limit, and the only way to turn his health back to normal is to lose a life.
Fall off Level at Final Boss#
If the player carefully times a jump after the final boss, it's possible to fall into the pit. This can only be done if you hit Robotnik's ship, since there is a invisible wall if you don't.
Sound Bugs#
Missing Drums#
If the game is paused while the music fades back in, the percussion track (DAC) will not play.
Special Stage Music#
Obtaining a 1UP in the Special Stages (normally only done by collecting 100 rings) will cause the sixth audio channel to go silent; this is because the developers never made a check on whether the song uses a DAC channel or FM6 channel; since the fade in always defaults to the DAC channel, the FM6 channel is ignored by the sound engine.
Extra PSG2 Notes#
Watch on YouTubeThere's supposed to be a additional melody in the Credits' code. For whatever reason, due to a stray sound command this never plays in-game. On the right is a mockup showing the notes re-synced and audible.