A chess program for the ZX81/TS1000, written in machine code. It asks whether you would like a game, offers six levels of difficulty, lets you play White or Black, and lets you set up the board yourself before play. It handles castling (O-O and O-O-O) and en passant, rejects illegal moves with INVALID MOVE, and announces checkmate. The catalogue entry for the product says it runs in the ZX81’s FAST mode, needs 16K, and starts by itself: you start the tape, and when the board appears the game begins.
It was published by Artic Computing.
Program Analysis
The BASIC part is a five-line driver. Line 1 is the SAVE, line 2 calls the machine code at 24692 to set up the game, and lines 3–5 loop: INPUT A$(1 TO 9) reads your entry and LET T=USR 20224 passes it to the move routine. The rest of the 8K file is machine code and data.
Notable Techniques
- The program checks itself after loading and prints LOAD CHECK PASSED, or FAILED, RELOAD.
- Moves are typed into a nine-character slice,
A$(1 TO 9), of a string that must already exist, so it appears to be saved with the program’s variables.
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.
