Skip to main content

GUI toolbox for the ZX Spectrum Next: SD-card/HDF image explorer, NextSync Wi-Fi file sync + Remote Explorer & HTTP bridge, and built-in software browsing via GetIt, ZXDB and zxArt

Project description

ZX-Next-Unite

Cross-platform (Windows, Linux, macOS) desktop app for ZX Spectrum Next users. It unites two great tools — Hdfm-Gooey and NextSync — in a single GUI, and adds a built-in browser to discover ZX Spectrum / Spectrum Next software across GetIt, ZXDB/ZXInfo, zxArt and itch.io.

By Julien Clauzel, based on HDFM-GOOEY by em00k and NextSync by Jari Komppa (with the Sync4 extensions by Julien Clauzel).

Co-developed with the assistance of Claude (Anthropic's AI).

A tour of the ZX-Next-Unite tabs

The main tabs, in Retro mode: SD Card Utility · NextSync (classic sync, then the Remote Explorer) · GetIt · ZXArt.ee · ZXDB/ZXInfo.dk · Unite! · Alien Floyd's. Every tab is documented in the User Manual.

Features

  • SD Card tab — mount an HDF image, copy files in/out with a built-in explorer, then launch CSpect or MAME directly. No emulator command lines to remember.
  • NextSync tab — push files over Wi-Fi from your PC to a real Spectrum Next (KS1/KS2 or clones with an ESP module) using the .sync5 dot command.
  • Remote Explorer — a two-pane file manager for your Next's real filesystem over Wi-Fi: browse, drag & drop, upload/download and manage files (new folder, delete) directly — no SD-card swapping. Run .sync5 -listen on the Next to connect, and launch the app with the -start-remote-explorer-listener switch to have the listen server running from startup with no clicks. See the Wiki.
  • HTTP bridge — remote access to a Next's file system over plain HTTP: a built-in web server (Flask) republishes the Remote Explorer's -listen session as HTTP routes, so you can browse, download, upload and manage the Next's SD card from a browser, curl — or from another Next using the built-in .http dot command. Enable it in the Settings tab (the port — 80 by default — is set in the box next to the toggle). See the HTTP bridge documentation.
  • Online libraries — search and download from GetIt, ZXDB/ZXInfo, zxArt and (optionally) itch.io.

Quick start

Windows: download the latest zx-next-unite-v9.x.x.exe from the Releases page — no Python needed.

Linux (x86_64): download zx-next-unite-v9.x.x-linux-x86_64.tar.gz from the same page, extract it and run the binary inside.

macOS (Apple Silicon): download zx-next-unite-v9.x.x-macos-arm64.zip, extract it and start the app. The app is not code-signed, so the first launch needs right-click → Open (or xattr -cr on the .app) to get past Gatekeeper.

All three packages are built by CI from the tagged source (release workflow), and the app's built-in update check offers the right package for your platform when a newer release is published.

Via pipx (any platform, from PyPI):

pipx install "zx-next-unite[full]"

installs the zx-next-unite command (plus the nextsync5 command-line sync server) in its own isolated environment — one line, no repo checkout. Drop [full] to skip the optional extras (retro pygame views, itch.io tab, Recycle-Bin deletes, HTTP bridge).

From source (any platform):

git clone https://github.com/jclauzel/ZX-Next-Unite
cd ZX-Next-Unite
python -m pip install -r REQUIREMENTS.txt
python zx-next-unite.py

Requires Python 3.10 or newer (the stock Python of Ubuntu 22.04 / Debian 12 and later works out of the box; CI runs the test suite on 3.10 and 3.13). Use python3 on Linux/macOS. Only PySide6 is required; pygame-ce, itch-dl and flask are optional (flask powers the NextSync HTTP bridge — the web server that lets a Next drive another Next's SD card via the .http dot command; without it the Settings toggle is simply greyed out).

Documentation

Full setup, emulator / hdfmonkey / Mono configuration and troubleshooting are in the Wiki:

License

Released under the MIT license (see LICENSE). Built on PySide6 (Qt for Python, LGPL v3) and optionally pygame-ce (LGPL v2.1), itch-dl by Dragoon Aethis (MIT), Flask by the Pallets team (BSD-3-Clause), the web server that powers the NextSync HTTP bridge, and Send2Trash by Andrew Senetar and contributors (BSD-3-Clause), which sends locally-deleted files to the system Recycle Bin / Trash.

Provenance and license details for every third-party component — including NextSync (Jari Komppa, Unlicense), HDFM-Gooey (em00k), hdfmonkey (GPL v3), CSpect and MAME — are in THIRD-PARTY-NOTICES.md.

Legal disclaimer — third-party content

The author of ZX-Next-Unite does NOT distribute any files, ROMs, games, demos, graphics, music, or any other content obtained through the GetIt, ZXDB, or zxArt integrations.

All content is served exclusively by the respective third-party services listed above. ZX-Next-Unite acts solely as a frontend client that queries their public APIs and downloads files directly from the URLs those APIs return.

It is the sole responsibility of the end user to ensure that any content they download or use through this application complies with the applicable copyright, licensing, and legal requirements in their jurisdiction.

If in doubt, consult the terms of service of the relevant platform and seek appropriate legal advice before downloading or using any content.

The first time you open the GetIt, ZXDB, or zxArt pane, the application will display this disclaimer and ask you to acknowledge it. You can dismiss the dialog to continue using the pane; the dialog will reappear on the next visit until you check "I agree and understand. Do not show this message again", at which point your acknowledgement is saved to hdfg.cfg and the dialog will not be shown again.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zx_next_unite-9.2.0.tar.gz (38.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zx_next_unite-9.2.0-py3-none-any.whl (40.0 MB view details)

Uploaded Python 3

File details

Details for the file zx_next_unite-9.2.0.tar.gz.

File metadata

  • Download URL: zx_next_unite-9.2.0.tar.gz
  • Upload date:
  • Size: 38.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for zx_next_unite-9.2.0.tar.gz
Algorithm Hash digest
SHA256 9dcc7ad8b8b8746dc0e16c4ba4845fbb47f8287233c1f761108cd27f2b7670ab
MD5 0d39214c98f3c7451c60ccae832b5121
BLAKE2b-256 c9b25e4284bf92b409abce609edac616fe174d1a892b8226b7d38e9d7111311c

See more details on using hashes here.

Provenance

The following attestation bundles were made for zx_next_unite-9.2.0.tar.gz:

Publisher: publish.yml on jclauzel/ZX-Next-Unite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zx_next_unite-9.2.0-py3-none-any.whl.

File metadata

  • Download URL: zx_next_unite-9.2.0-py3-none-any.whl
  • Upload date:
  • Size: 40.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for zx_next_unite-9.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6481b8251b37e1f4a29504852ec5c9236cadbbc1b716ef4a7cd8e6f71b6cf8e3
MD5 4c36aa3eed7be99ac65f69c3c808bcac
BLAKE2b-256 0802341caf379ead8f620e159f709f04a3a5f78bf17e22c97cd8d9f651ef8230

See more details on using hashes here.

Provenance

The following attestation bundles were made for zx_next_unite-9.2.0-py3-none-any.whl:

Publisher: publish.yml on jclauzel/ZX-Next-Unite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page