Great reproduction
There are a few minor things that could use fixing:
1. Sonic (and all the other characters, for that matter) is supposed to have a few seconds of invulnerability after he's been hit. This is to prevent cheesy things, like the player being hit by an enemy directly into spikes and dying, from happening.
2. The game is pretty strict about use of the spin dash; it tends to make you jump unless you're standing *perfectly* still when you press down to use it. It's a minor nuisance.
Other than that, great work!