Tip: You can use Lunar Magic's Overworld Layer 3 Editing system to edit or create your own layer 3 images (castle bricks, fish, rocks) and apply unique effects per level via the Layer 3 Bypass in the main editor.
Only one inaccuracy: Original sprite bounces upward slightly when colliding with ground, but this disassembly doesn't do that. Still, a good attempt. Did one minor optimization and approved.
E: I forgot to mention it IS SA-1 compatible. Someone forgot the tag, so I've added it.