zx-ay-musiclisted
Install: claude install-skill dtz-labs/zx-skills
# AY music & sound effects on the ZX Spectrum
This skill is about getting *real* sound out of a Spectrum: multi-channel music
and rich effects on the **AY-3-8912** (128K family and Timex TS2068), plus what
you can wring from the **48K beeper**. It picks up where the BASIC `BEEP`/`PLAY`
primer leaves off.
**Do not duplicate the basics** — `BEEP`, the 128 `PLAY` command and first-look
AY-via-`OUT` are covered in the **`zx-spectrum-basic`** skill (`references/sound.md`).
Read that for the BASIC surface; come here for the chip itself, trackers, file
formats, and player routines you call once per frame.
## Know your target first
| Machine | AY-3-8912? | How you'll make sound |
|---------|-----------|------------------------|
| 48K | **No** | Beeper only: BASIC `BEEP`, or a 1-bit engine in asm |
| TC2048 | **No** | Beeper only |
| 128K / +2 / +3 | **Yes** (1.7734 MHz clock) | AY: `PLAY`, `OUT`, or a player routine |
| Timex TS2068 | **Yes** | AY (similar ports — verify on the machine) |
Getting this wrong is the #1 failure: AY code is *silent* on a 48K/TC2048. If you
don't know what's emulated, check with `zesarux-control` (`get_emulator_info` /
`set_machine`). Machine detail lives in `zx-spectrum-basic`'s
`references/machine-differences.md`.
## Workflow: from idea to playing tune
1. **Pick the chip & target** (table above). AY for music/harmony; beeper only if
you're locked to a 48K.
2. **Choose how to author the sound:**
- **A tracker** (recommended for music). Comp