hgm wrote: ↑Wed Dec 11, 2019 8:40 am
My first chess program (for the 6800 micro-processor) also accepted illegal moves. The advantage of that was that it would allow you to castle and perform e.p. capture although it did not know those concepts, by entering those as multiple moves: Kef1-Kg1-Rf1 for O-O, or e5xd5-e5-d6 for e5xd6. It would only move itself when you typed 'enter' (stateless protocol! ).
Interesting idea, although I suppose it still didn't work for promotions.
Do you happen to know the size of the compiled code?
You mean of that 6800 Chess program? It was not compiled, but hand-assembled (poking the machine code as hex numbers into the 2KB RAM of the machine). The code ran from hex address 100 to 5c4, and there were initialized tables from 600 to 707. So that makes it about 1.5KB.
hgm wrote: ↑Wed Dec 11, 2019 9:17 am
You mean of that 6800 Chess program? It was not compiled, but hand-assembled (poking the machine code as hex numbers into the 2KB RAM of the machine).
Now that's what I call old-school!
However, you got me thinking. If I apply the same trick to my program, it would make it full chess while only adding a few bytes...
hgm wrote:
So that makes it about 1.5KB.
So LeanChess would still be considerable smaller (while still playing awfully, obviously).
Now, I'm assuming the 6800 program you're referring to is Usurpator. I'm considering naming mine LeanChess Usurper Edition so that everybody (in the know) understands where the inspiration comes from.
Yes, this was Usurpator I, and I wrote it on the computer of a friend which was staying at my place for repairs. Later (when I owned a computer myself) I wrote a somewhat larger program Usurpator II for 6502.