I've been a keen chess player since I bought a Spears' Games plastic set in the early 1980's. (I still have it!) But the world of computer chess has always been beyond my abilities. After all, so many better chess players than I have written engines that even I can beat. So what chance would I have?
Nil!
So I took a different approach - what if you could play ZX 1K chess for the ZX81... without a ZX81!?!?
For this I took a JavaScript emulator running the original game, and re-wrote parts of the original Z80 assembler code, so that I could inject the current game state, and parse out the new game state. It was time-consuming, but not something the average Jo gets to work on!
Then, I hooked this code into the API provided by lichess so that it could become an online chess bot, and play against humans. (And potentially other computer chess programs.)
Of course, the ZX-Chess bot has all the original limitations (such as the lack of en passant, castling, and promitions) and the original bugs. But it's an amusing proof of concept if nothing else!
There's far to many to go into here. If enough emails me wanting to know (i.e. if anyone emails me!) then I'll write up the process.
Essentially it's:
I also convert the Lozza chess engine to work under lichess.org - it was much easier!
lichess.org
ZX-Chess, the bot profile
About the original 1K Chess
Subvert Ltd, owners of the IP
Lozza bot, my first non-trivial bot
The original lozza code
My lichess bot engine, and re-vamped lozza code