>It's not like me to ask for help but now I'm desperate.
Well.. it's very likely that routines such as Putsprite does not preserve
the registers. So.. I recommend using push/pop of bc to preserve its value.
There may be other problems, although I do not notice them at this moment.
Also, some of your comments make the code harder to read.
Later,
Matt