Just as a heads-up, I have a mostly working hitbox viewer set up for this game. I'm still chasing down a few things, but I'll release it after I've reduced the number of false positives and checked on a few inconsistencies.
EDIT: Script available at
http://pastebin.com/YpRe4iER . It's not very pretty and still has a few bugs, but for the most part it's good. Most of the commented blocks are for debugging purposes and I'm too lazy to remove them. Created on/for BizHawk, but it should be pretty simple to convert.
Notes:
-Some enemies have scripted attacks that produce a disjointed hitbox. These hitboxes are generated by hardcoded values in each enemy's subroutines; I'm not going to dig through to find all of the offsets. It should be fairly obvious where these hitboxes are though.
-There are still some anomalies for some of your attacks. For example, the trailing effects on many of the charge attacks don't actually do damage. I could not find a way to differentiate them however. I removed the few consistent ones that don't do damage based on ID.
-Enemies occasionally have the wrong HP, in particular the slimes. I don't know why this is, but it's uncommon enough that I'm not going to investigate for the time being.
-Hitboxes for stage hazards (spikes, lava, etc) are currently not tracked.
-The Giant Worm miniboss takes 1 point of damage from any attack and can only be damaged once per cycle. The HP is stored in an unusual place, but he has 5 HP total. I can dig up that address from my notes if it helps.
If you notice anything else please let me know.
EDIT2: Unrelated to the above, but I noticed that you can "time over" down to 0 HP before a screen transition and you'll appear on the next screen with 0 HP but still alive. May be useful somehow, but just an oddity for now. By "screen transition" I specifically have done this on the spider miniboss. Just kill him with only a few seconds left and you'll transition before the time over animation plays all the way out.