Repository navigation
Releases: malandante/golem-next
Releases · malandante/golem-next
Release list
golem-next 1.0.0
1.0.0 — 8 October 2026
First public release.
Contents of the SD package
| File | Goes to | What it is |
|---|---|---|
nextzxos/GOLEM.DRV |
c:/nextzxos/ |
NextZXOS driver: sends MIDI to the Golem and reads its replies (ABI 0.2). |
dot/GOLEM |
c:/dot/ |
Plays MIDI files (SMF 0/1, up to 24 tracks and 1 MB) and test notes; sets the Golem engine, ROM set and SoundFont; status asks the Golem for its state. |
dot/MT32, dot/GM |
c:/dot/ |
The same command; play and note first switch the Golem to MT-32 or to General MIDI. Without a Golem answer they play anyway, for an external synth. |
dot/GSQ |
c:/dot/ |
Plays GSEQ files (P pauses, SPACE stops). |
lib/GSEQ*.BIN, lib/gseq.bas, lib/gseq.s |
your program | GSEQ music library: one 8K bank per slot address, a ZX Basic binding and the assembler source. |
tools/gseq.py |
your PC | MIDI to GSEQ converter (Python 3). |
docs/ |
— | User guide (English and Spanish), GSEQ format and API, driver API, Golem protocol. |
SHA256SUMS |
— | Hashes of every file in the package. |
The package is built by tools/release/build_release.py from the tagged
sources. The CI release build uses sjasmplus 1.24.0; SNasm gives the same
binaries (--assembler snasm), which can be checked against SHA256SUMS.
Tested on hardware
- Setup: ZX Spectrum Next, core 3.02.01, HDMI, with a Raspberry Pi 3
running the Golem firmware (mt32-pi 0.13.1 plus the Golem control protocol),
over UART and I²S. - Synthesis and control: MT-32 and General MIDI playback; engine, ROM set and
SoundFont changes;.golem status. - Game music: the GSEQ library playing the music of a full game in
development, with pause, song changes and sound effects. - Analyser captures of the Next UART output (LA1010, through the joystick
port,tests/hardware/results/2026-10-08-joystick/):- Byte-exact output for notes, test songs and SysEx, at 31250 baud.
- Event timing at 50 and 60 Hz: intervals exact to 0.05 ms and run-to-run
jitter under 0.15 ms.
Known limitations
- The driver ID
$2Dis still experimental; an official ID is being requested
from the NextZXOS maintainers. Programs should keep calling the driver through
the constants inlib/mt32_api.inc. - The Golem side (its UART replies and the I²S audio) has been tested by ear
and by protocol behaviour, not yet captured with the analyser. Tests so far
used a Raspberry Pi 3; a Pi 4 is expected to behave the same but has not been
measured. - MIDI out through the joystick port works at the signal level
(REG 11,161, 3.3 V) but needs a cable that does not exist yet; it is not
supported in this release. - A note held by the Golem when the Next is switched off mid-song can sound
again later; no MIDI message clears it, only restarting the Pi.
Licences
golem-next is MIT licensed. The Golem firmware is a separate program under
GPL-3.0; its source is at https://github.com/malandante/mt32-pi. No Roland ROMs,
SoundFonts or commercial music are included.
SHA256SUMS
09ec0818dfc2fcf60fbd792460b70c84e69f86f9ffbb0ee5d7ba5cb8b2dfc55d LICENSE
68ed9d11c2c8a9340202202e7e82d25a77baa0aecbf47de5a3a19df93a54060f README.txt
a5ea5385402394af97a6e0d713ace21e119f28380b80998c34638a6d22e3052c RELEASE_NOTES.md
2d3ff5959c448b8ae7d926ce52ce621c2f2962af361a6cd9f6e7c7c6634e2cc0 docs/driver-api.md
4d2c1bea2171fecbf4cb30528d271ae2b7581ccba14c541afdf90b3207e17b58 docs/golem-protocol.md
178bbf92a27d52b1e18733f4ef123b70a79e370f42196e7ba2024ba73cf858d0 docs/gseq.md
652719b73bc09d1d3e51c8e11869cf804143b8a74d4f2cb53cc3930b0a976a43 docs/guia.md
b4903f911a1645d1a98d2a477ddbf36eae6eb218b70e45520d7081d49eb8e190 docs/guide.md
71c1705ee743e121df4f2760fe7b0535f476f8fc7435145f5df9f5b162559875 dot/GM
cbea7d4a8f905ef5723ba3c328ebb325be0dc1c2776943d8256fd59a4a56eee8 dot/GOLEM
6fc22c1d43293e8c39b51fe6a804703dce006681d0f4f5a403bf37e072cba9ab dot/GSQ
edfd3b45277ea9103a55e5c9b51f71c91198ef070a3db6cb641e5e4ec7d85670 dot/MT32
ac6cbaaa5b6d11b1651b46709dfce3fb9e79938128de25bb435b02942d302ec1 lib/GSEQ4000.BIN
4a450b187ef39b4370a7dd740c779bf5490e5b953dd2ac452cdbda6adae12d3b lib/GSEQ6000.BIN
6816c53988a03b093361412da27db6d1f79706603b98f1292cfa3cf9646bb01b lib/GSEQ8000.BIN
029ad7a8654940d0d8040c16a563ea7b96e21ddca0cf7c6bd07d11efb696bf0a lib/GSEQA000.BIN
6f7ce04a77ff5fe0419a6c99806bd440647d2488f9ca1a47bee472537c1cee96 lib/GSEQC000.BIN
5e5cb8e895a9caf70cbbb15095e4d2c373e1c641d622349073b260dbc8008c48 lib/GSEQE000.BIN
5e59ca0999f52bc91191cdf71a109b28734160736f4ef955cce1a368709e9d11 lib/golem_api.inc
600c2f48baa957401e66b6b841266e4aca5fe3936a3842df287c324fc617d5fa lib/gseq.bas
c51942dd4dccb989404e4a6acfd617b856c226b21c927af39b0ad1247a2ee6a3 lib/gseq.s
19ddec6dc1cf85edf3ad20e48dd22d288c06cada805d00d647b583c51e155f9f lib/mt32_api.inc
50992b044695e0667b07e006f2bbe7bff1bb01533d74873b68c7f3f75d2ca040 nextzxos/GOLEM.DRV
2b143fafb3e211f95cd5492da57946bea63c1ec62addfe7285ee19cdff128adb tools/gseq.py
17214c1953ee23a41b04d50fce14c92afff496429666c22e6115b6cedfe99419 golem-next-1.0.0.zip