Repository navigation
ORBIT 0.6.0
ORBIT 0.6.0
This release adds CLUSTER with 16 original factory presets and signed16 editor transport,
and replaces FLUTE/SCRCH with small synthesized waveforms.
The package was installed on a physical FM-1; data preservation and a short
48 kHz stereo USB output recording were verified.
Changes
- CLUSTER connects a verified C translation of the official original OP-1 #246
cluster oscillator. It is not a renamed SWARM/PULSE/FM4 engine.
It is appended as ID 15, preserving existing engine IDs 0..14.
The default build has 16 engines and 181 factory sounds. - Added 16 presets preserving their original names and eight signed16 raw knobs:
bass face,caterpillar,cstrings,dissolver,dub bass,grit drive,
kids show,love chords,mr legato,newday,serious bass,so lonely,
sqeek bend,streengs,trans4m,xyz files. - A per-voice cache connects the original 128-sample kernel to ORBIT's 32-sample control blocks.
It uses the existing shared engine arena and flash const tables.
Pitch, ADSR, velocity and FX remain ORBIT's, so this is not a complete reproduction
of the original OP-1 patches. Some presets with identical raw values can sound the same
under the common ORBIT envelope. - Editor protocol v11 / WIDE command 77 transfers signed16 values.
Parameters, descriptors, user presets, tracks, locks, WATCH and web library files
preserve raw values; legacy v14 commands are retained. - LOFI FLUTE, SCRATCH and FLUTE DUST use synthesized replacement waveforms.
FLUTE provides fundamental/weak-harmonic loops; SCRCH provides deterministic noise
and a bidirectional frequency-sweep one-shot.
They are synthesized at build time, stored as ADPCM and played by the existing
SAMPLE/GRAIN engines, not moved to a new real-time synth engine. - Replacing 54,284 B of recordings with 9,244 B of replacement data reclaims 45,040 B.
Original set/zone/preset/USR IDs, roots, key zones and all other sample data are preserved. - Original provenance, addresses, hashes and rights are documented.
Extracted Teenage Engineering waveform/table/factory data is not relicensed as CC0
or as new GPL assets. New code and existing license notices are preserved.
Installation and compatibility
Download the attached orbit.fwsc and SHA256SUMS into the same directory and verify them.
shasum -a 256 -c SHA256SUMS
python3 tools/fm1_install.py orbit.fwscThe package is 610,019 B, with install identity FM-1_900.
The device reports FELUCCA ORBIT 0.6.0 in INFO.
SHA256: 460042548a8b915ee11063c9f0df67d9c6c1a79a73c48b6cefac1eb91180b11e.
FUN5 stays at 3,840 B, preserving existing projects, settings, user data and engine IDs.
Legacy editor commands work, but v14 alone cannot preserve CLUSTER's full raw range.
Use this release's web/editor.html to edit CLUSTER.
Older firmware has no CLUSTER engine, so do not assume projects using it will retain
their sound after a downgrade.
Raw SLOOP projects/backups use a different engine registry, and ORBIT 0.3/SLOOP 2.3
cannot read FUN5. Back up before downgrading.
Validation
- Hardware transfer reached 100%, followed by automatic reboot and working USB INFO/PING.
Protocol 11, 16 engines and 33 globals were confirmed.
All 14/14 backup objects were bit-identical before installation, after installation
and after the sound checks. - The actual device's 16 CLUSTER names and eight raw values per preset matched the factory JSON.
19 MIDI phrases were sent to the 16 CLUSTER presets and three sample replacements,
with a working PING after each phrase. Original track engine/preset/parameters and selection were restored. - QuickTime was explicitly set to Felucca USB to record 38.164 seconds of 48 kHz stereo output.
Decoded PCM contains 1,831,872 frames, left/right peaks 2,574 / 2,574
and 0 full-scale clipped samples. Personal backups and recordings are not published. - pi32v2 image 548,960/581,564 B, RAM 85,908/98,304 B,
pool 333,948/344,064 B. All 33 static cost checks passed, retaining existing baselines and tolerances. - Strict macOS regression: 210 renders, 0 changed/missing references, health failures,
voice/routing failures, CPU overruns or crashes.
Only the three intentionally replaced sounds had their existing hashes updated; new CLUSTER entries were added. - Linux amd64 host checks passed 24/24, along with web, native C preview and package installer checks.
The macOS IRQ test retains its existing Mach-O/MMIO platform limitation.
The full Linux runner and core oracle/UBSan passed during integration; the
validation record distinguishes them from checks rerun after the version bump. - The product core matched the strict oracle over 729 cases / 5,103 blocks / 653,184 samples:
PCM, state, return values and tables were byte-for-byte identical.
Still unverified: subjective listening, headphone/line output, actual ISR timing,
worst-case audio underruns, long-term stability, power-cycling, flash power loss and recovery.
The short USB recording and host/static cost checks do not establish those properties.
Optional SLICE target resources and real Windows/WSL installation are also unverified.
The separate web emulator is not updated automatically
by this firmware release. Native preview saving is nonpersistent and does not support sample uploads.
Event Tape is a sequencer event view/edit layer, not audio recording.