Mornington Crescent Interactive Debugger
Watch the execution of Mornington Crescent programs as they traverse the London Tube network, pause and step through syntax-highlighted code.
This was originally written in 2016, and has been patched to get it running again in 2026 for its migration to Codeberg.
The project contains two main components:
- The Mornington Crescent interpreter and debugging renderer;
- A module for directly interacting with the Tube map SVG, as provided by Transport for London.
Requirements
This project is written in vanilla ES2015 with no external dependencies, and has been tested as running directly in Chromium 51 and Firefox 48; other browsers may have issues interpreting the syntax.
(Update for 2026: This has now been tested working in Chrome 154.)
LLM Contribution Policy
Known Issues
- Hammersmith has two station codes, so any data written to Hammersmith (via Bank/Monument) will appear twice in the memory dumper.
- The included module for handling the Tube map has the data to create routes across Tube lines (through interchanges), but this functionality does not yet exist.
- Breakpoints cannot be set: an MCresc script will run to completion unless paused manually.
- The debugger is currently hardcoded to load a Hello World script.
- Live editing of the source code is not currently supported.

