A Cheep-Cheep that swims in the air. Actually it doesn't care whether it's air or water, it'll swim either way.
Includes a horizontal and vertical version.
Sorry, but there's a main reason for removing this: code optimization.
- You see, your code can be greatly reduced. Say, you could use $14 instead of using two misc. tables in order to animate your sprite.
- Another thing: It's a simple 16x16 sprite. So why all the workaround to save the tile in a scratch ROM if you could easily write it directly to $0302,y? The same with properties; you had to use the scratch ROM, sure, but again the store to $0303,y could be more direct.
- Another example: your TurnAround routine. Why not setting $15AC before checking sprite direction? You could avoid code repetition.
- Last but not least: your sprite doen't work with SA-1 for the sole reason you did forget to convert your custom SUB_HORZ_POS routine.
Overall, while I think this is sprite is somewhat too simple, you need to pay attention of the details mentioned first. I recommend you to try to merge your sprite with the cheep cheep siassembly, found here, in order to make it more versatile.