I can help out with any ASM stuff, and I can also help you if you haven't already figured out the zoom. ^_^
I was messing with the zoom a few months ago, and I kept getting it to work on the emulator, but on the actual game the same code would either do nothing or just freeze it. And I couldn't get a pointer because it was so hard to get a dump with it stored in two different places, it almost seemed random. But maybe I can figure it out now XD

I'm always on MSN if you need me