A resumable Z-machine v3/v5 interpreter with Quetzal saves

moon run cmd/main --target js -- examples/lantern.z5north
take
south
south
quitnode tools/build-web.mjs
python -m http.server 8000 --directory distlet machine = @zvm.Machine::new(story_bytes)
let state = machine.run(budget=20000)
let text = machine.take_output()| State | Host action |
|---|---|
| budget | Schedule another slice; allow cancellation between slices |
| line | send_line(command) |
| char | send_char(zscii_code) |
| save | Persist save_data(), then call finish_save(success) |
| restore | restore_data(bytes), or cancel_restore() |
| halted | Stop execution |
moon check --target all --deny-warn
moon test --target js
moon test --target wasm-gc
moon test --target wasm
moon test --target native
moon info
moon fmt --check
python tools/conformance.py
python tools/conformance.py --praxix
node tools/build-web.mjs
node tools/verify-wasm.mjs
node tools/verify-player.mjs
# Optional independent interpreter, installed separately:
python tools/interop.py --dfrotz /path/to/dfrotzpub(all) suberror Fault {
Invalid(String)
}type MachineInstall
Download zipA resumable Z-machine v3/v5 interpreter with Quetzal saves