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.2.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.2-py3-none-any.whl (39.9 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: zx_next_unite-9.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 9136dfe8cb59d758aa70f651f07e07c83ffed61bccd9a3ba50c4bd70f0884ab5
MD5 0d20f50f55dd2f6645cf74c3c8351434
BLAKE2b-256 35a510350203ea68e60ff7eea7ba724b3e8f7ef245d938e83ed71d260bfca602

See more details on using hashes here.

Provenance

The following attestation bundles were made for zx_next_unite-9.2.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: zx_next_unite-9.2.2-py3-none-any.whl
  • Upload date:
  • Size: 39.9 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2c9c0ea71618b3f422fbf537abb04294f385a0a080d1623751a9e2b84a36ae1e
MD5 ae1aecb2a0df5690015425b53e3d921d
BLAKE2b-256 822a007276bbbecbbe4e699aacbce006e11eb7ca79c4a9c9d03408bf43853133

See more details on using hashes here.

Provenance

The following attestation bundles were made for zx_next_unite-9.2.2-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