Skip to content

morse-runner

CW contest simulator, the native Lazarus port of VE3NEA's Morse Runner

What it does

Simulates the operator's side of a CW contest pile-up. Stations call you in Morse at the speed you set, with QRM, QRN, QSB, flutter and the occasional lid, and you work them with the function keys -- F1 for CQ, F2 for the exchange, F3 for thanks -- while the program scores what you copied against what was sent. Pile-Up, Single Calls, WPX Competition and HST Competition modes, a recorded score and an optional WAV of the session.

Why you would want it

Nothing else in this catalog trains contest copying. qrq, xcwcp, ebook2cwgui and wordsworth teach and drill Morse; this is the step after them, copying callsigns out of a crowd at speed. Under AHRL it was a Windows binary under Wine on x86_64 only. This is the same program compiled natively, so there is no Wine.

Before it will work

A desktop session and working audio. No radio: it generates every signal itself. Set your own callsign in the Station panel first; the default is VE3NEA, the author's.

How it installs

  • git (make) — https://github.com/zmetzing/MorseRunner at 29590a6719c725bc95730e72213a00ef92cfa489 — on debian, parrot, ubuntu, linuxmint, pop; arch x86_64
  • build dependencies: build-essential, fpc, lcl-utils, lcl-units, lcl-gtk2, libsdl1.2-dev
  • the project's build system has no install rule; the binaries listed below are copied into the prefix instead
  • Built on 2026-09-30 in a debian:13 rootless Podman container the way this block runs it -- make -j 2 in the checkout, as an unprivileged user, with exactly the build_depends above -- exit 0, about 10 s and 284 MB peak for lazbuild; the executable is 29.7 MB with debug information and links GTK2 and libSDL-1.2. The build dependencies came to 368 packages and 1.8 GB on a bare debian:13 image, which is why the morse profile names this unit rather than including it. The engine's dry run plans it; it has not been installed through the engine on any target, and not built on Parrot, Ubuntu, Mint or arm64.

What it changes on your machine

  • installed tree — /usr/local/share/hammunition/morse-runner is created and handed to the operator who ran the install by an explicit chown step in the plan (D-043): the software keeps settings, logs or data beside its executable, so the tree has to be writable by whoever runs it. On a shared machine that means anyone who can act as that user can change what the launcher runs.
  • /usr/local/share/hammunition stays root-owned; the tree itself is replaced whole on every install, so anything the software wrote inside it is lost then
  • undo: hammunition uninstall morse-runner removes the tree

Known problems

This is Morse Runner 1.68 (2006), not the Community Edition. CE's contests -- CWT, ARRL DX, Field Day, Sweepstakes, CQ WW, NAQP, IARU, the JARL contests, SST -- are in a Windows-only Delphi tree that does not build here (measured 2026-09-30); this port has the original's WPX-style exchange and HST. Settings are saved beside the executable, so the installed tree is handed to the operator (D-043) and one account's settings are the machine's. It prints a debug line for every audio buffer ("BufferDone ...") to standard output, which a desktop session sends to its log; in the container's unpaced null sink that was hundreds of thousands of lines in a few seconds, and the rate against a real sound card is unmeasured. Audio goes through SDL 1.2, which Debian 13 provides as sdl12-compat over SDL2; playback through PipeWire or a real sound card has not been heard. After a run started under Xvfb the bottom of the window was not redrawn in the screenshot, which may be the virtual display and may not. Not on Kali (no GTK2 LCL in its archive) and not yet on arm64.

Keeping it current

  • probe: none
  • strategy: rebuild
  • The port's last commit is 2022-05-23 and nothing has been tagged. The yearly pin review is for noticing two things: a commit here, or a Linux build in the Community Edition (w7sst/MorseRunner), whose README lists "integrate a recent Linux port" as a goal. The day CE builds natively it supersedes this unit.

Where to get help with the software itself

Zach Metzinger's port, issues at the URL above; the port's last commit is 2022-05-23, so expect none. The program is Alex Shovkoplyas's (VE3NEA). Licence: the source files carry Mozilla Public License 2.0 headers; the port's tree has no LICENSE file and its Readme still says "freeware" from the 2006 original (read 2026-09-30). The Community Edition, which shares the code, ships MPL-2.0 as LICENSE.md. For contest-simulation questions the Community Edition's project (github.com/w7sst/MorseRunner) is where the Morse Runner community is.

Source: catalog/packages/morse-runner.yaml