This release brings a major rework of the virtual keyboard, significant improvements to the screenshot system, extensive joystick configuration enhancements, and a broad sweep of UX modernisation across dialogs, the debugger, and Windows theming support.
It is a free upgrade for existing users with a valid license for version 9.0. Grab it from the downloads page as usual and install over the top of any existing installation.
Virtual Keyboard
- Completely redesigned virtual keyboard using high-resolution PNG artwork for the 48K, 128K/+, keyboard layouts, replacing the previous low resolution BMP images.
- Fixed an issue where the virtual keyboard was not visible.
- Virtual keyboard key states are now reset when the computer is reset.
Screenshots
- Screenshots can now be saved or copied to the clipboard at various sizes, with configurable
scale factor and optional border, all driven from the Advanced preferences page. - Added support for PNG screenshots, which is now the default format; BMP is still supported
for compatibility with older applications. - Added a Save Screenshot (F4) to the File menu that saves a screenshot directly to disk
using the configured size and border settings. Repeated captures for the same program
title produce an auto-incrementing sequence number. - Screenshots are now generated directly from the Spectrum’s framebuffer rather than by capturing the Direct3D back buffer. Alt+PrtScn can still be used to capture the entire emulator window, including any visual filters.
- Fixed a stale-frame bug when resizing the window while emulation is paused; this also affected clipboard copy, which could previously produce images of the wrong dimensions.
Joysticks & Controllers
- Fixed a buffer overflow caused when certain controllers (flight sticks) report more than the hard limit of 32 buttons; unusable axes are now hidden and unmappable buttons are marked N/A.
- Added named button labels for The Quickshot II, and X52 H.O.T.A.S., replacing generic
button numbers. - Removed legacy UV-axis support that predated USB joystick POV hat support.
- Removed the default Up/Down/Left/Right mappings from the Right Stick, which conflicted with the X52 2nd Stage Trigger; analogue thresholds have been tuned.
BackspaceandDeletekeys now clear a button mapping from within the joystick button mappings UI.
Debugger
- Added Fill Memory — fill any block of memory with a specified value.
- Added Export Memory — export a region of memory to a file.
- Added Edit → Paste File Contents to import binary data directly into memory.
- Added Undo support to the Memory Inspector.
- Memory Inspector now remembers its last-viewed address across restarts.
- Added a recent files list to the debugger for debugger projects.
DELkey now deletes selected items in the Breakpoints and Watches inspectors.- Reworked the unsaved-changes prompt for improved UX.
- Fixed the Memory Inspector not posting
ZXNC_MEMORY_CHANGEDnotifications; fixed the
Graphics Inspector not registering for the same notification. All inspectors now update correctly when
memory changes, regardless of the source of the change. - Added Edit → Export to the debugger’s main file menu.
Dialogs and UX
- Menus and menu items are now drawn with the correct theme colours on modern versions of Windows.
- Zoom calculations now correctly account for DPI settings.
- Fixed clipped text in the Switch Model dialog at 125% DPI.
- Increased the width of File New dialog to avoid the need for vertical scrolling.
- Removed the prompt to switch to +3 mode when loading +3 content.
- In full-screen mode, the menu bar is now only shown when the mouse cursor approaches it.
- Lots more refactoring to improve support on high-DPI displays.
- Fixed scrolling issues in the Advanced preferences page during in-place editing.
- Removed the obsolete Use default refresh rate (LCD panels) option.
- Removed the Scaling Mode option as it was never implemented in the Direct3D renderer.
File Handling
- File → Save As now remembers the last used file type for the duration of the session,
resetting when Spectaculator is restarted. - Files that cannot be opened (e.g.
.bmpand.pngfiles) are no longer added to the
recent files list. - You are no longer prompted to overwrite an existing file if that file is already open.
- Prompting for missing tape files when loading a snapshot is now optional, with a Don’t show this again option in the warning dialog.
- Ejecting media now correctly clears the active document for +3 disks, TR-DOS disks, Microdrive cartridges, Plus 3 disk images, and Plus D disk images.
Tape & Media
- Hardened
TAPfile parsing against malformed input. - Fixed a crash when loading malformed
TAPfiles containing 1-byte or 0-byte blocks. - Fixed the Cassette Recorder holding a stale value for the
RZXrecording state. This fixes
the issue where flash loading became disabled after recording anRZX.
Sound
- Refactored the GS128, Covox, Plus D, SpecDrum, uSpeech, and Interface 1 plugins to use
the platform-agnostic sound manager, replacing direct DirectSound usage. - Fixed crash when no sound card is present on the host machine and the Interface 1 is enabled.
Miscellaneous
- Miscellaneous
- The
uSpeech ROMis now mirrored at0x0800. - A custom ROM can now be loaded for the Scorpion ZS-256.
… and finally
My thanks as always to everyone who took the time to report bugs, share feedback, and support the project.
Jonathan Needle, May 2026.