This fish moves casually in a zig-zag manner in a set pattern (big horizontal step with some upward speed, big upward step with some horizontal speed, big horizontal step with some downward speed, big downward step with some horizontal speed).
There was a bug where disabling !Pass doesn't disable ground interaction. I've fixed it. Be carefull next time!
I also noticed a little bit on insufficient coding in GFX routine - you clear $02 but never use it. You can also put Tilemaptail,y right before PLY, instead of storing it to $0C, since Y isn't changed after this point. Lastly I noticed that tail tile sometimes can change when freeze flag is set.
This is... an interesting sprite. Defenitely should be used with something with simple pattern, like cheep-cheeps or blurps. I find it kinda weird that it doesn't immediately change it's direction when it touches ground/ceiling, instead hugging it. For suggestions make extra bit make it start moving down on spawn.