Ok, well even with the do while kept in i have knocked 4bytes off. That colour trick works for me when combined with the other stuff, must be something to do with the way its compressed.
In the calculating of the score i changed: 10*p++ to (p+=10)
Thats knocked 2 bytes off. So i guess the lowest version now is 818b, which aint bad.
