Changelog

[0.9.4-beta4] - 2026-07-23

Added

  • Save State / Load State — the File menu now saves the full machine state to a file and restores it later (the --savestate/--loadstate capability, now available interactively).
  • Re-runnable setupHelp ▸ Run Setup… (re-)downloads or locates the ROMs and Next SD card at any time, not just on first launch.

Changed

  • The executable is now named bizmuth (was azimuth), matching the app name — so the Linux command and the application-menu title read “Bizmuth” consistently.
  • The Z80/Z80N CPU core now ships as a separate, replaceable library installed alongside Bizmuth (z80_ffi.dll on Windows, libz80_ffi.so on Linux, libz80_ffi.dylib on macOS) instead of being compiled in — so the open-source (LGPL) CPU core can be swapped for your own build. If that library is missing from the install, Bizmuth will not start.
  • Faster interrupt-heavy programs — the IM2 daisy-chain interrupt controller no longer re-evaluates every peripheral on every bus cycle, giving roughly a 20% speed-up on interrupt-driven programs such as NXModPlayer and TX-1696 (output is byte-identical).
  • Calmer idle screen — the no-machine screen is now a softer “No Input” backdrop with a bottom-left caption (was a bright “No ROMs!” test pattern), shown from launch until a machine boots so the window is never a plain black rectangle.

Fixed

  • No more silent black screen when a Next can’t boot — a Next needs a bootable SD card in slot 0; if it’s missing or misconfigured (or ROMs are absent), Bizmuth now shows a clear dialog with Download / Preferences… / Quit and boots in place once you fix it, instead of a blank or near-blank screen. Config paths (ROM folder, SD images) are now stored and resolved as absolute, so launching from Finder or a different folder no longer fails to find them. A missing or unreadable boot ROM surfaces an error rather than a black screen.
  • Menu tick marks stay correct — the Disk Write-Protect, Sprite RAM, Capture Mouse and SD Read-Only menu items now keep their check marks in sync with the actual state (previously only some menus reconciled, so these could show the wrong state after a change made outside the menu).
  • Save-state restore fidelity — restoring a state while a program was running no longer leaves the machine slow or flickery: the CPU-speed, memory-wait and IM2-daisy settings, and any in-flight DMA→DAC audio stream, are now carried across the load. (The save-state format is now v2; states written by earlier builds can no longer be loaded.)
  • Audio on high-rate USB DACs — the audio buffer is now sized by time rather than a fixed sample count, so it no longer under-runs (crackle/dropouts under load) on output devices running at high sample rates (96/192/384 kHz).
  • Windows: no longer opens a console window on launch (runs as a GUI app); logs still print when started from a terminal.

[0.9.3-beta3] - 2026-07-20

Added

  • In-app update check — on startup Bizmuth checks for a newer release and shows a notification (with a Preferences toggle to turn it off). The About box and --version now report the exact build version, date and commit.
  • ADP debugger: page-qualified breakpoints (page:off) for debugging banked memory, plus a headless server mode and a pause stop-event.

Changed

  • Reworked the About box into a custom dialog (logo, tagline, version, and a Check-for-updates link).

[0.9.1-beta2] - 2026-07-17

Added

  • Emulates the 16K Spectrum (Machine menu / --machine 16k).
  • ADP debugger: asynchronous *stopped events (breakpoint hits reported without polling), mem write (poke), and step-over (next); command paths are now quote-aware.

Changed

  • Every distribution now bundles a THIRD-PARTY-LICENSES file.

[0.9.0-beta1] - 2026-07-15

First public beta — a cycle-accurate ZX Spectrum Next emulator built for developers.

Added

  • Emulates the 48K, 128K, +2A and +3 Spectrums, and the full ZX Spectrum Next core (Z80N, Layer 2, sprites, tilemap, copper, DMA, CTC, audio) — verified against the FPGA.
  • Source-level debugging: the ADP protocol (TCP :11001), DZRP for DeZog, a GUI debugger window, conditional breakpoints, memory watchpoints and Rhai event scripting.
  • Loads .nex, .sna/.snx/.z80 snapshots, .tap/.tzx tapes and .dsk disks; NextZXOS SD-card images; full save-states; headless capture and scripting.
  • First-run setup assistant (fetches the ROM pack + SD image); keyboard, Kempston mouse and gamepad input.
  • macOS (signed + notarised .dmg), Windows (installer + portable zip) and Linux (AppImage / .deb / Arch package).