Skip to content

Installation

Julien Clauzel edited this page Jul 3, 2026 · 19 revisions

On Windows the easiest is to grab the latest ZX-Next-Unite-v8.x executable (and sync4 command if you want to use NextSync from your Next) executable from the Github release.

Otherwise for Windows and all other platforms (Linux, MacOS) clone the repository, install a recent Python interpreter, install PySide6, pygame-ce, itch-dl using pip Python libraries and you're good to go. Note: for CSpect you will also need to $sudo apt install mono-complete

You will find bellow additional detailed setup information for manual installs.

Optional but recommended

  • CSpect emulator by Mike Dailly installed from within the application using your Itch.io API keys. Or an extraction in the local directory or that can be found using your Operating system PATH variable. Please download from https://mdf200.itch.io/cspect , http://www.cspect.org, let's support Mike's effort by contributing on his itch.io page. feel free to support his development efforts & patreon https://www.patreon.com/mikedailly

    • Make sure Spectrum Next roms installed are installed in local directory (they should be provided in the CSpect zip package by default). These two files namely: enNextZX.rom and enNxtMMC.rom -MUST- be placed in the root folder of your #CSpect.

    -> If you have purchased CSpect from Itch.io then login in the app using your itch.io API keys, click on CSpect and hit install. Since CSpect comes with hdfmonkey for all platforms, it will be fully setup and ready after that (no manual hdfmonkey install required).

    For sound and music playback on Windows install: CSpect: https://openal.org/

    Note: for CSpect Linux and MacOS you will also need to: $sudo apt install mono-complete

  • Mame emulator can be installed following this documentation: https://wiki.specnext.dev/MAME:Installing

  • You will need Spectrum Next images files that you can download from https://zxspectrumnext.online/cspect/ such as https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip

  • hdfmonkey (if you have not installed CSpect using your itch.io API/Keys as CSpect comes with precompiled binaries for all key platforms) install hdfmonkey by Matt Westcott https://github.com/gasman/hdfmonkey , on Windows either compile the source manually or download a pre-compiled version at: https://uto.speccy.org/downloads/hdfmonkey_windows.zip

  • On Mac/Linux you will need to install mono-complete using: $sudo apt install mono-complete

Steps for a manual python installation

  • Install Python from: https://www.python.org/downloads/ (the latest version is recommended)

  • Install pyside6, pygame-ce, itch-dl this is required for the UI to render the different controls being used. To install pyside6 and pygame-ce open an elevated command shell and run:

    python -m pip install pyside6 pygame-ce itch-dl

    Note: On a regular basis you may want to update the pyside6 library running: pip install --upgrade PySide6 pygame-ce itch-dl

  • If you didn't purchase CSpect from Itch.io then copy Cspect (with the Spectrum Next roms) and hdfmonkey in the same directory (see above).

start using it by running: python ZX-Next-Unite.py

Linux (Debian) / MacOS Install

Install hdfmonkey (if you are not installing CSpect using itch.io) from: https://github.com/gasman/hdfmonkey

Install ZX-Next-Unite using Git:

git clone https://github.com/jclauzel/ZX-Next-Unite

python3 -m venv ./ZX-Next-Unite

source ZX-Next-Unite/bin/activate

pip install -r REQUIREMENTS.txt

or

pip install PySide6 pygame-ce itch-dl

cd ZX-Next-Unite

python3 zx-next-unite.py

CSpect

For ZX-Next-Unite to detect CSpect automatically (including hdfmonkey) install it via the Itch.io tab using your API keys, otherwise you should add it to your OS PATH environment variable.

CSpect emulator by Mike Dailly installed in local directory please download from http://www.cspect.org feel free to support his development efforts & patreon https://www.patreon.com/mikedailly

Other Mike CSpect sites and links: https://mdf200.itch.io/cspect https://dailly.blogspot.com/

OpenAL sound library for CSpect: https://openal.org/

MAME

For ZX-Next-Unite to detected it you should add a PATH environement variable to it.

Documentation on how to install and configure can be found here: https://wiki.specnext.dev/MAME:Installing

HDF Monkey

If you are running the app on Windows and hdfmonkey in not present in the same directory, you will see an error message in the main log Windows as it is missing. If that is the case you will see a 'Download and Install button' bottom right, once clicked it will try to fetch from https://uto.speccy.org/downloads/hdfmonkey_windows.zip and unzip hdfmonkey executable in the same directory. If the above automated install is successful, you should then be able to select an image and navigate it.

On Mac/Linux you will need to install hdfmonkey manually based on the instructions for your platform that can be found at: https://github.com/gasman/hdfmonkey

NextSync

ZX Next Unite implements the side code and protocol of NextSync by Jari Komppa.

NextSync V4 (new Sync4 protocol) now supports from Next to pc using .sync4 -send FileOrDirectory NextSync ZX-Next-Unite/nextsync4.py Sync3 protocol backward compatibility (so older version of .sync command will work but without sending indeed) NextSync unique dot command .sync4 -send FileOrDirector supports speed arguments -slow -default -fast (no need for syncfast or syncslow commands) Example: .sync4 -send myFile.nex -fast nextsync4.py command line utility under \nextsync\sync\server updated to support -send and CRTL-C

Grab .sync4 dot command from Release from https://github.com/jclauzel/ZX-Next-Unite/releases

Initial release on specnext: https://www.specnext.com/forum/viewtopic.php?f=17&t=1715&fbclid=IwAR1njrmr-wEU0DndAxBjO64K_NwY0E2zbqJVaVfiytHE2-A0eL8HWYeDKf8

As a result you will need to run the dot same .sync4 command on your Next as with the console version and the same network protocol.

This version comes with a new version 4.1 of the .command that you grab from the Github release. The initial v1.2 .sync command can be found here https://github.com/Threetwosevensixseven/specnext/releases/tag/nextsync_v1.2 .

You may follow the same instructions as the provided in the readme.txt of that release. On your Spectrum Next, clone or image copy the SYNC command that is located in the above release zip file into your next dot folder. Navigate to NextSync tab, select the root folder to sync on the left. Once you have selected the folder hit the 'prepare sync' button, check the Next Sync log Window on the right. First time you will run .sync on your will be prompter to select the IP address, this machine running NextSync. From the log window pick the IP address from this machine you want to use and type it on your next. Then start the sync server on this maching using the Yes, start sync button and then run the .sync command on your Next. At this point your Spectrum Next will connect to your machine using a network socket and the files will be sent to your next. As it is your Next that will connect to this machine check your firewall alows inbound calls to this machine on port: 2048 by default." ),

The same syncignore.txt and syncpoint.dat file logic applies and alows you to control the sync (please check Jari documentation).

The new .sync4 command source code can be found under nextsync\sync in the repository and requires SDCC 4.5.0 and the original NextSync source code can be found here: https://github.com/jarikomppa/specnext/tree/master/sync.

To compile use the build.ps1 script on Windows.

If you run in any type of issue using the NextSync integration please run first the Jari command line version to see if it works as expected.

  • On Mac/Linux: you will also need to install manually mono-complete package for example using: $sudo apt-get install mono-complete

  • Start ZX-Next-Unite.py

Mono (on Linux & MacOS Only)

Since CSpect is written in .NET you will also need to install manually mono-complete package for example using: $sudo apt-get install mono-complete

Clone this wiki locally