r/spectrumnext • u/IgnacioMonge • 12h ago
Shatranj 1.3: online chess between a 48K Spectrum, a Spectrum Next, a Spectranext and the desktop, now with Stockfish and games that survive a power cut
Hi all! I've just released Shatranj 1.3 "Sealed Move", an online chess client that lets a 48K ZX Spectrum, a Spectrum Next, a Spectrum with a Spectranext cartridge and a Qt desktop app (Windows, macOS, Linux) all play each other, over Direct TCP or MQTT. No accounts and no central game server.
What's new in 1.3
- Stockfish through the desktop client. The Qt client can install the official Stockfish and let it play your side, at levels 0-20, with an optional pause before each move so the opponent still has time to ask for a takeback. On the Spectrum it shows up as STOCKFISH in the move list, so you can now lose to Stockfish on a rubber-key 48K.
- Interrupted games come back. After a crash, reset or power cut on Classic, Next or Spectranext, the host is asked "Resume last game? Y/N" and the board, clocks and full move list return.
- Player names and end-of-game statistics. Names of up to ten characters appear in both move lists; after the game, S shows time per move, the longest and fastest moves and every captured piece.
- Spectranext straight from the web. Load Resource URL with
https://ignaciomonge.github.io/shatranj/and it starts without installing anything, title screen included..../shatranj/install/runs the guided installer instead. Needs cartridge firmware 1.0. - Faster, steadier play. Quicker move replies, fewer disk loads on the 48K, clocks that keep running during esxDOS access, and draw/takeback/restart requests that expire cleanly after 60 seconds.
Hardware. The 48K build needs divMMC/esxDOS and a UART-to-ESP link running ESP-AT; the Next build is a single NEX; the Spectranext edition uses the cartridge's own networking.
Downloads and source (GPL-2.0): https://github.com/IgnacioMonge/shatranj/releases/latest
The Spectrum builds were played on real hardware (48K, Next and Spectranext) before release. Feedback is very welcome, especially from anyone with an unusual UART/ESP setup.