Skip to content

Releases: alffcpu/eighty-three

eighty-three 1.1

Choose a tag to compare

@alffcpu alffcpu released this 03 Aug 11:24

The MCP server has 66 tools instead of 59. The emulator itself is unchanged: if
you do not drive it from an agent, there is nothing here for you.

Measuring works while a program runs

Coverage, tracing and profiling only worked while single-stepping. A real program
runs frame by frame, and there they reported nothing. They work in both cases now.

Drawing the picture is no longer counted as executing code. On a ZX81 the CPU
walks through memory to put the display on screen, and those bytes never run as
instructions. The profiler separates the two, so what the program itself costs is
visible.

New tools

  • load_labels and resolve_symbol - load a pasmo symbol file and use names
    instead of addresses everywhere.
  • screen_digest - hash the screen to check whether the picture changed.
  • audio_capture and ay_writes - measure the sound, save it as a .wav, and
    list the AY register writes.
  • record_video - record the screen to an animated GIF.
  • release_keys - release every key at once.

coverage takes a range and points at the longest stretches that never ran.
profile reports calls and time per call. frame_timing reports how much time is
left for the program.

Fixes

  • An address that could not be read became address 0, so a typo returned ROM bytes
    as if they were right. Bad numbers are an error now.
  • Starting the server with a path without a trailing slash gave a machine with no
    ROM, and it still said it was ready. It refuses to start now.
  • Profiler counters overflowed after about a minute of emulated time.
  • A loaded label could be substituted into a hex number and break it.
  • A GIF of a blank screen came out white on white.
  • ay_writes could report an older capture as the current one.
  • Map files were read in the wrong number base, so half the labels were dropped.
  • A typo in an action argument, or an assemble call with nothing to assemble,
    reported success instead of refusing.

eighty-three 1.0

Choose a tag to compare

@alffcpu alffcpu released this 29 Jul 12:24

First public release.

eighty-three is a cross-platform ZX81 emulator for macOS, Linux and Windows,
with ZXpand+ support, a built-in debugger and an MCP server that lets an AI agent
drive the machine.

What is in it

  • Cycle-driven ZX81 video (SLOW/FAST, WRX hi-res), beeper and AY-3-8910 sound.
  • The full ZX81 keyboard mapped by physical key position, so any OS layout works
    without switching; an on-screen remap window reads its legends from the ROM.
  • ZXpand+ with the SD card as a folder on your disk, and the ZXpand Commander
    shell.
  • Loads .P, .P81, .Z81, .O, .80, .81; saves .P, .P81, .T81 and
    .Z81 snapshots. .P files load through a real ROM LOAD, so demos auto-start.
  • Debugger: disassembly, register/memory/stack editing, breakpoints - execution,
    conditional, and watchpoints on memory or ports - an inline assembler and a
    BASIC listing view.
  • MCP server with 59 tools (registers, memory, stepping, breakpoints,
    screen-as-text, assembling, loading).
  • Settings window, light/dark themes following the OS, interface scaling, and the
    user guide readable inside the emulator (Info > Help).