Let's define all the image objects we will be swapping around. Well, what can I say, I'm impressed. I'm presently writing a chess program myself which has to fit into 32K but just the move generation alone takes more than that at the moment. I tried to advance a pawn to the end and turn it to a queen. Oh my gosh.
Lets just qualify some things here.
I made this chess game, programmed the whole thing myself. To which, he seemed quite delighted. So i wrote ALL the code. He'll start playing really hard, and take all your pieces and just put you in check, but then he'll ease off, and not finish you off, just to give you a chance. It's for your enjoyment, so enjoy it.