Intro and Background
Credits
What works
What Doesn't Work
Usage Notes
Usage Instructions


INTRO AND BACKGROUND

This is an incomplete Proof-of-concept made by myself in late 2009 and early 2010 in response to leaked news that Sega would be publishing a "Sonic Classic Collection" for Nintendo's DS and DSi. I had planned to submit this to Sega in an attempt to convince them to allow me to work on this collection, given that I feared for its quality after having seen the previous Sonic 1 re-release, "Sonic Genesis" for Gameboy Advance. In part, this is a natural evolution of an earlier POC I had created to demonstrate that Sonic 1 could in-fact be reproduced faithfuly on the Gameboy Advance, in response to claims that it could not

I had originally attempted to contact someone who was, at the time, listed as a "Producer" at Sega America, but for reasons I may never know, I was never sent a response. This may have been at least partially due to bad timing, as I attempted this very near Christmas, when Sega employees would be taking off for the holidays, and their EMail boxes would likely be filled, and shortly thereafter, the same site on which I had previously seen this person listed as a "Producer" had changed his position to some other thing I can't seem to recall. I had no other channel by which to pursue this particular idea, and with the increasing likelihood that this wouldn't be accepted so late in "Sonic Classic Collection"'s development, I had to drop the project to focus on other things

With Sonic Classic Collection having been released, the original Nintendo DS and the DSi giving way to the more powerful 3DS, and Sega having recently licensed Christian Whitehead's "Retro Engine" with his reproduction of Sonic CD, this particular project was no longer of any commercial use, and therefore was cancelled permanently

After the initial attempt to contact Sega, which included the 2009 portfolio video I've already published, demonstrating some of my work up to and including the Sonic 1 portion of this project that was ported over from my earlier GBA version, I continued to work on various aspects of Sonic 2 and Sonic 3 in preparation for the possibility that I would be contacted. Most of the work went toward things that I viewed as potentially giving me the most trouble, with heavy focus on making sure I could implement the Special Stages

One thing I wanted to highlight regarding this project was extra content. Tails, Knuckles, and the elemental shields can be accessed from within any of the three games and remain fully functional, and the Sonic 3 Special Stage has a map and a layout editing mode that includes two entirely new sphere types

At some point during development, I had decided to attempt to make this port multiplatform. For this reason, I also created a GBA/DS video hardware simulator and made other efforts to ensure that each version would compile from the same code with minimum changes. I had accomplished this, but due mostly to the processing expense of the video hardware simulation, I only really met with success on PC, with Windows being the only supported OS. For audio, this version uses a slightly modified, earlier form of the sound mixer and XM audio player I wrote for E02

Later in the life of this project, I had decided to attempt contact with Sega again during the first Sonic Boom event, and to pitch another project, Sonic Megamix. In preparation, not only was Sonic Megamix itself updated to leave important parts in a more presentable shape, but I also modified this project to include its first zone and some of its features, as demonstration that I was prepared to re-create the project for multiple platforms. I was unable to actually meet with anyone regarding this, and have since had experiences which have made it clear to me that Sega taking on this project is very unlikely for a multitude of reasons, not the least of which being that licensing with all contributors will would be very difficult, and that given its feature-richness, it would be extremely time-consuming and costly to perform adequate QA. In short, it's too much of a risk from the standpoint of a major business

The project has since collected dust, and is now being presented as-is for the sake of novelty. It can not and will not be continued. Most errors are known and reports are not desired; there will be no updates


CREDITS

Sonic Team/Sega are responsible for the original Sonic the Hedgehog games reproduced here
The majority of the work that went into this project was performed by me (Stealth - www.headcannon.com)
Various members of Team Megamix (www.teammegamix.com) are responsible for some of the content in the "Megamix" portion of this project
This project uses MaxMod (www.maxmod.org) for audio (DS version only)
The module music used in this project is from "Sonic Project" (http://sphere.chronosempire.org.uk/~HEx/sonic/)
Steve Snake, who is, among other things, the author of Kega Fusion, provided some helpful tips in dealing with graphic emulation for the multiplatform version


WHAT WORKS-

 General -
   -Sonic
   -Tails
   -Knuckles
   -Invincibility, Sneaker, and regular shield powerups
   -Elemental shields with special abilities, including ring attraction
   -Level End Sequence
   -Animated Tiles

 Sonic 1 - 
   -Title Screen
   -Title Card
   -Green Hill Zone acts 1-3 with all objects and boss
   -Labyrinth Zone act 1 without most objects
   -Special Stage with entry from big ring (appears at level end when you have 50+ rings)

 Sonic 2 -
   -Emerald Hill Zone act 1 without most objects
   -Corkscrew object without proper animation
   -Special Stage with entry from starpost (touch while carrying 50+ rings)

 Sonic 3 -
   -Angel Island Zone acts 1-2 without most objects
   -AIZ1 tree (sometimes)
   -Miniboss fire cutscene
   -Miniboss
   -Level chaining
   -Bombing cutscene
   -Zone Boss cutscene
   -Zone Boss
   -Bonus Stage entry from starpost (touch while carrying 20+ rings)
   -Special stage with entry from big rings placed throughout levels
   -"Blue Spheres" stages (manual or randomized "magic number" selection)

 Megamix -
   -Sunny Shores Zone acts 1-3 (v4.0b)
   -Both old and new SSZ bosses
   -Homing Attack (mostly)
   -Light Speed Dash (mostly)
   -Special Stages


WHAT DOESN'T WORK-

   -Drowning
   -Emerald Hill Zone background and animated palette
   -Angel Island Zone Background and animated palette
   -AIZ1 tree (sometimes)
   -Sonic 3 Bonus Stage gameplay
   -Some sounds are incorrect (Didn't rip them all)
   -Some music is incorrect (Mostly substitutions due to lack of existing modules. Planned to replace them with better SMPS2XM exports than the one I created for Sonic 3's Special Stage)
   -Some graphics are garbled
   -Basically anything that wasn't listed in "WHAT WORKS"


USAGE NOTES

   Hardware
     - Copy the main "Sonic1" folder (which contains "Sonic1", "Sonic2", etc.. subfolders) to the ROOT of the SD card. It will not work from any other location
     - Place SonicDS.nds anywhere on the card
     - Run SonicDS.nds

   No$GBA (Recommended for emulation)
     - Run SonicDSFull.NDS

   DeSmuME (Not recommended)
     - In the "Emulation" menu, select "GBA Slot", and from the dropdown menu that appears, select "MPCF Flash Card Device", and then click "Use path of the loaded ROM"
     - Ensure that SonicDS.nds is in the same folder as the main "Sonic1" folder. Do not put it inside the "Sonic1" folder
     - Run SonicDS.nds
     - This emulator exhibits a noticeable delay before the initial disclaimer screen appears
     - This emulator exhibits a noticeable stall when the music changes
     - This emulator exhibits a noticeable stall when the level changes
     - This emulator exhibits a noticeable stall when switching games (after having pressed down to move back to the normal menu)
     - There are additional level graphics errors (mostly many missing tiles) in Angel Island Zone when played in this emulator

   Windows
     - Ensure that sonicwin.exe, inst.bin, samp.bin, wavs.bin, and xm.bin are in the same folder as the main "Sonic1" folder. Do not put them inside the "Sonic1" folder
     - Set desktop color depth to 16bit color. The renderer does not support 32bit desktop color
     - Run sonicwin.exe
     - There are a few graphic, sound, and logic anomalies not present in the DS version due to incomplete implementation
     - There is no second graphic screen, and therefore, no map or editor for the Sonic 3 Special Stage
     - The main menu is handled by a Windows "Static" object in a secondary window


USAGE INSTRUCTIONS

   Main Menu

     Navigate through options using up/down on the D-Pad
     Change most options by navigating to that option and using left/right on the D-Pad
     Change the selected game by navigating up beyond the "Title" option and using left/right on the D-Pad
     Selecting the game "Sonic Megamix" will set all games to "Megamix Mode", in which Sonic will use his Homing Attack and Light Dash instead of shield actions. This can only be disabled by quitting the program
     Change Zone and Act by using A/B and X/Y
     Select an option by pressing Start
     Change the "Magic Number" for "Blue Spheres" by navigating to the "Blue Spheres" option and using left/right, A/B, X/Y, and L/R to modify each component
     "Randomize" will choose a random "Magic Number" for the "Blue Spheres" game

  Gameplay

     Use the D-Pad to move, and A/B to jump
     Use R trigger to toggle Debug Mode. While in Debug Mode, A and B become object cycle and placement
     Touch the options on the second screen to enable powerups-
       0 - No Shield
       1 - Sonic 1 Blue Shield
       2 - Sonic 2 Blue Shield (Not implemented)
       F - Fire Shield
       L - Lightning Shield
       B - Bubble Shield
       I - Invincibility
       S - Speed
     Hold Select and press Start to return to the Main Menu

  Sonic 3 Special Stage / "Blue Spheres" Editor Mode

     Press R Trigger to enter/exit editor mode
     Hold Select and press L Trigger to clear the level
     Use left/right on the D-Pad to select an object to place, or tap the object in the row at the bottom of the screen
     Use up/down on the D-Pad to pan the map up or down. The map wraps around, but scrolling in either direction is restricted by the player's position
     Touch the screen to place the selected object at that location in the stage

     Green Sphere - This sphere effectively takes two hits. One hit will turn it into a normal blue sphere, that must be hit again to turn it red. Green spheres will not turn into rings when surrounded by red spheres
     Purple Sphere - Touching this sphere will teleport you to another purple sphere placed somewhere in the level at random. There will be a brief pause after teleport to allow you to get your bearings
