I've never done grayscale, but there's a first time for everything.
By the way, I'm planning to do this in an app. Seems like I'm gonna need those 16KB. (I'm at 4KB now, nostub, and although the movement code will shrink when I rewrite it to center the player, it's still big). What do you guys think?