Appearance
First Build
Validate the fresh project before changing it:
bash
npm run doctor
npm run build
npm test
npm run verifyIf you installed zxs globally, the direct program form also works:
bash
zxs doctor
zxs build
zxs verifyThe Feedback Loop
zx-vibes is built around a short loop:
- Edit Z80 assembly.
- Build the binary.
- Run it in a ZX Spectrum 48K emulator.
- Inspect the screen, machine state, and run report.
- Add or update tests.
- Verify the whole project.
The generated scripts wrap the common path:
bash
npm run doctor
npm run build
npm run run
npm run screen
npm test
npm run verifyThe lower-level commands are useful when you need more control:
bash
zxs build
zxs run --bin build/main.bin --org 0x8000 --frames 300 --json
zxs run --bin build/main.bin --org 0x8000 --frames 300 --screenshot screen.png
zxs screen --text --png screen.png
zxs verifyIf you did not install zxs globally, keep using the scripts for the common path. For one-off advanced commands, use npm run zxs -- <command>.
Read the Run JSON
For normal frame-synced game loops, the important fields are:
statusshould beok.loop.haltSyncedshould usually betrue.audio.beeperEdgesshould increase when sound is expected.- Hang reports should be treated as real bugs, not ignored.
Do not stop at successful assembly. A Spectrum program can assemble cleanly and still draw garbage, hang in ROM, miss keyboard input, corrupt the stack, or run too fast.