ArchiLudo v1.0.0 is out: a native WIMP port of Ludo (the Dutch "Mens Erger Je Niet" house-rule variant) for the Acorn Archimedes, running on genuine 26-bit RISC OS 3.10. Confirmed working both in Arculator and on my own upgraded A305 (ARM3, 4MB) over a PiEconetBridge.
A thirty-year detour
This game started in 1992, written in Commodore BASIC 7.0 for the Commodore 128, under the "XAMA Software" name I used at the time. It has since been ported several times: the Oric Atmos, the TI-99/4a, a second C128 build, and a GEOS edition sharing one executable across the Commodore 64, 128 and Plus/4 -- see the original release post for that first round. ArchiLudo is the latest stop, and the first on genuine 32-bit-CPU, 26-bit-mode RISC OS hardware.
The Archimedes version is not a line-for-line port of the 1992 BASIC listing. That original uses single- and double-letter variable names with no surviving documentation of what most of them mean, which makes faithfully copying its exact internal encoding both unverifiable and a poor basis for a maintainable, testable module. Instead, ArchiLudo's rules engine is a from-scratch reimplementation, built directly from the plain-English rules text kept alongside the game's other ports, then checked against a full host-side automated test suite.
A native WIMP application
ArchiLudo is built with ArchieSDK, an ARM2-targeting GCC 8.5.0 cross-compiler with a bundled port of OSLib, targeting real 26-bit RISC OS 3.10. The game window, dialogues and menus are built directly as OSLib structures in C -- no Wimp template file, no Toolbox, since RISC OS 3.10 does not ship it and it is not worth the RAM on a stock 1MB machine.

The rules engine and board-layout code have no OSLib/WIMP dependency at all, and compile unmodified under both the ARM cross-compiler and the host's own native compiler -- which is what makes an automated test suite possible without an emulator or real hardware in the loop.
Architecture and a from-scratch tool belt
Three layers stay strictly separated: game_logic.c (the rules engine), board_layout.c (board geometry, mapping rules-engine state onto grid cells), and the WIMP shell itself (task lifecycle, the game window, redraw and click handling via a raw Wimp_Poll event loop). The first two have no OSLib/WIMP dependency at all, which is what makes them host-testable.
The whole build chain is a single Makefile, run entirely on Linux: one command cross-compiles the ARM binary, builds the application directory, generates a versioned release zip with RISC OS filetypes preserved, and writes an ADFS disc image, alongside separate deploy targets for Arculator's hostfs and a real PiEconetBridge over SSH. Getting there needed a handful of custom tools written alongside the game itself: a from-scratch ADFS "D"-format disc-image writer (checked against DiscImageManager's own source, with its own independent structural and payload verification), a deploy stager that converts the emulator's own ,xxx filetype-suffix convention into the sidecar .inf files a real PiFS fileserver expects, and a PNG-to-RISC-OS-Sprite converter for the pawn and icon artwork. The illustrated PDF manual is generated from the same README that ships in the zip, via pandoc -- which needed two LaTeX-rendering fixes of its own once it started carrying real screenshots: long unbreakable tokens (a git-clone command, a Windows path) were overflowing table cells instead of wrapping, and screenshots were free to float away from the paragraph describing them.
Rule variants and AI
ArchiLudo ships three rule presets -- Mens Erger Je Niet, standard Ludo, and a curated Pachisi-style variant -- built from eight independently toggleable house rules. A variant is only ever a starting point: every toggle can be adjusted individually afterwards.
AI opponents run at three difficulty levels. Low takes only the objectively decisive moves -- a win, a finish, a free capture -- with no awareness of danger or positioning. Medium adds a fuller heuristic: danger avoidance, entry-square awareness, blockade formation. High adds a genuine one-ply lookahead, simulating the next opponent's most likely response across all six possible rolls before committing to a move.
Sound on real RISC OS hardware
Background music and sound effects run through QTM, a RISC OS module that plays a MOD file's own channels for the song while leaving spare channels free for one-shot samples embedded directly in that MOD's own instrument table. Getting a capture sound to actually be audible against the music took more than routing it to a free channel: two candidate sounds had soft enough attacks, once quantized into an 8-bit MOD sample, to be effectively inaudible under mixing -- found by comparing the raw sample's attack ramp and byte density against the effects that were already working.
Verified on real hardware
ArchiLudo has been confirmed on my own upgraded Acorn A305 (ARM3, 4MB) via a PiEconetBridge, not only in the Arculator emulator. That path surfaced two hardware-specific issues an emulator alone would not have: a 10-character filename limit on classic-Econet fileservers that silently truncates a longer name into something unreadable, and a line-ending mismatch in the bundled plain-text README. The release disc image itself is written by a from-scratch ADFS "D"-format tool, checked against DiscImageManager's own source and independently verified.

v1.0.0 is available now
v1.0.0 is the first formal release, available as a filetype-preserving zip (bundling an illustrated PDF manual and a plain-text README alongside the application), an ADFS "D"-format (800KB) disc image, and full source code. It requires a real or emulated Acorn Archimedes running RISC OS 3.10 or later, ARM2 or ARM3. See the repository's README for full installation instructions and an illustrated interface manual with screenshots taken on the real A305. Licensed under the GNU GPLv3.