zx-spectrum-basiclisted
Install: claude install-skill dtz-labs/zx-skills
# ZX Spectrum & Timex BASIC programming (via ZEsarUX MCP)
This skill helps you write correct, idiomatic Sinclair BASIC and get it running
inside a **ZEsarUX** emulator that you control through an **MCP server**. It
covers the full loop: pick the target machine → write the program → put it into
the emulator → run it → read the screen back and fix problems.
The reference files hold the depth. **Read the relevant reference before writing
non-trivial code** — Sinclair BASIC has many traps that look like ordinary BASIC
but behave differently (the keyword editor, bottom-up Y axis, 8×8 colour cells,
two-word `GO TO`). Guessing produces listings that won't enter or won't run.
## Workflow
1. **Establish the target machine.** 48K, 128K, TC2048 or TS2068? It changes the
available commands (`PLAY` and AY sound are 128K-only; Timex has extra video
modes via port 255). If the user hasn't said, ask or check what ZEsarUX is
currently emulating. See `references/machine-differences.md`.
2. **Drive the emulator with the `zesarux-control` skill.** Operating ZEsarUX
itself — `launch_emulator`, `set_machine`, `load_file`, `get_screen`, memory and
Z80 debugging — lives in the separate `zesarux-control` skill. Use it for every
hands-on emulator step below; this skill stays focused on the BASIC.
3. **Write the program.** Keep listings clean and idiomatic (see
`references/basic-language.md`). Use real line numbers (usually 10, 20, 30…),
one logical step per line where it