Write firmware for a small line controller until every byte on the line matches the specification: frames, checksums, retries, and timing, checked tick by tick in a 1996 DOS program.
Cignal Dial is a programming puzzle game about serial protocols. Each puzzle is a ticket: a specification for the firmware of a line card, the small controller that sits between a piece of equipment and a serial line. You write the firmware in LC-1, an assembly language with 25 instructions, run it against the ticket's tests, and read the line trace until every byte is right.
The tests are deterministic: the same firmware gives the same trace and the same result on every machine. The line trace reads like a protocol analyzer, with every byte in hex at the tick it moved and the bytes the specification expects on the rows beside it. When a test fails, the verifier gives the tick, the byte, and its place in the frame, and points the editor at the line responsible. Any firmware that passes every test closes the ticket. Ticks and lines are scored against a reference solution, separately from passing, for players who want to optimize.
The game is drawn as a DOS program from 1996 in VGA text mode: one font on a character grid, box-drawn windows, a menu bar, and function keys on the status line. While a test runs, each byte on the line plays as a short pair of tones. The soundtrack is eight songs in the style of 1990s tracker music, synthesized while you play.
The first two shifts of Cignal Dial: twelve tickets on sending and receiving bytes, framing, sum checks, and parity. About ninety minutes of play.
Demo progress is saved separately from the full game. The full game has 42 tickets in seven shifts, through CRCs, retries, timeouts, flow control, Modbus, and XMODEM.
| OS | Windows 10 or Windows 11, 64-bit (x64) |
|---|---|
| Processor | Dual core, 2 GHz |
| Memory | 2 GB RAM |
| Graphics | Direct3D 12 at feature level 12_0, such as NVIDIA GeForce GTX 950, AMD Radeon RX 460, or Intel HD Graphics 520 |
| Storage | 50 MB available space |
No installer: unzip the archive anywhere and run CignalDial.exe.