It would be easy to use a PICaxe with lots of data and code memory. This would have no problem holding a copy of the board and calculating one chess move, but a better challenge would be to use an 08 variant, after all, we don't need many pins.
It's probably too much for an 08M to calculate a chess move, so maybe draughts is a better choice to start with. It has some big advantages.
For a start, we are only interested in 32 squares on the board, as no piece is ever on a white square. So we only need enough memory to hold the state of half the squares on the board.
The board could be represented in 16 bytes, with 4 bits for each square. 0000=empty,0001=white,0010=black,0011=white king,0100=black king.
( Other more compact storage methods will use 12 or 10 bytes, but need more complex decoding. We have not much code space in 08's, so we keep the data structures simple.)
The second benefit of Draughts is that there are usually only two possible moves, and each of these is only 1-step long.
We can use a subroutine to evaluate these 2 possible moves. We will need to look ahead for threats or possible capture oportunities. We do this by calling the same subroutine, but base it around the square we are currently evaluating. This two-level evaluation won't play a very strong game, so we could call the subroutine again and again for more levels, but we need memory to keep track of where we are and what we found, so we'll add this later if space is available.
The above is the game code. We also need the comms and addressing code.
Addressing is the trickiest, but one method would be to use 3 analogue inputs hardwired with resistors to give different combinations of 0%,25%, 50%, and 100%. Decoding these would give each PICaxe a unique address.
Comms is simple. We receive when we see a header containing our unique address, or a 'broadcast' flag. Reception consists of populating our board, and starting our evaluation code. We transmit when polled by the master, and send back either a 'busy' signal, or our move with a value saying how 'good' it is.
The Master, either a bigger PICaxe or a PC, polls each slave until it gets a result from each. It then decides which is the 'best' move, makes it, waits for the human to move, then sends the new board to the slaves.
Phew !. That was quite a lot off the top of my head. I'm sure it needs a bit more thought, but the basics are there.
As I have said before, I'm sure a PICaxe based Chess machine is possible, and maybe parallel-processing is a route to explore.
Cheers,
Buzby