Repository navigation
ORBIT 0.5.0
ORBIT 0.5.0
This release brings the SLOOP v2.5 features into ORBIT while keeping ORBIT's existing engines, Event Tape, controls and storage contract. The comparison runs from v2.4.1 a1c5d68767ae10fafb6821dc63b9b1fc490342d2 to v2.5 fa9ce5742f4aea9484e7c129dd81079d07e7321f.
Changes
- Added the PHYS and NOISE engines and 77 new factory sounds. The default bank now holds 165 sounds, and the existing ORBIT engine IDs 0-12 and first 12 sounds are unchanged.
- Added SYN1-SYN4 user synth drum kits with sound editing, audition, storage and backup/restore. The metronome/count-in now works independently of drum kit, mute and solo, and there's a drum delay send and MIDI CC control.
- USB audio supports 44.1/48 kHz host streams. The synth engine stays at 44.1 kHz, and the 48 kHz stream uses a fixed FIR table.
- FIR reads stay within each channel's history array. Restored SYN values are sanitized in staging before the live bank is published with interrupts briefly masked.
- The web Sequencer gained LEN 1-64, a piano roll and MIDI file import/export, plus Song arrangement editing and batch bank storage of up to 27 DX7 cartridge voices.
- STEP now records the real CHORD/CHORD+/VLEAD result. Swing shows 0-100, and the old SCL button and page are labeled SEL. The scale parameter is still named SCL.
- A shared engine arena, a small pitch LUT and generated GM cymbal tails reclaim flash. No full framebuffer, PCM tape or Bluetooth was added.
- Fixed
--slice 0/1passthrough in the Windows build. GPL, asset, Apache and DaisySP/Rings MIT notices are kept.
Installation and compatibility
Download the attached orbit.fwsc and SHA256SUMS, then check the checksum.
shasum -a 256 -c SHA256SUMS
python3 tools/fm1_install.py orbit.fwscThe package is 610,019 B. The install identity is still FM-1_900, and the firmware reports FELUCCA ORBIT 0.5.0 in INFO.
SHA-256: 11d52a4adbe312af0eded335483628f72072cb5699ffadced56219e6d1eba3cf.
FUN5 stays at 3,840 B and keeps earlier ORBIT projects, settings and engine IDs. The file globals array has 32 entries and the runtime has 33; drum delay is stored in a reserved byte. The editor protocol is v10, and SYN backup is object 9. The web editor checks the capabilities of v9 devices and limits features they don't support. Raw SLOOP projects/backups use a different engine registry, so don't assume they work with ORBIT. Back up before going down to ORBIT 0.3 or SLOOP 2.3, since neither can read FUN5.
Validation
- The final package was installed on a real FM-1: the write reached 100%, it rebooted on its own, USB reconnected and INFO/PING worked, reporting protocol 10, engines 15 and globals 33. All 14 backup objects, including SYN, were bit-identical before and after the final install; all 13 original objects from 0.4.1 also remain unchanged. The user confirmed normal operation after the initial 0.5.0 install. Personal backup files aren't published.
- pi32v2 image 571,856/581,564 B, RAM 85,892/98,304 B and pool 333,948/344,064 B are all within limits. The 31 static target CPU items pass with the existing baselines and tolerances.
- Passed 21 host checks, web, native C preview, real package format and installer checks, the full Linux host runner, ASan/UBSan and the default stress/soak. The strict macOS instruction-counted regression covers 194 renders with zero health, voice, CPU or crash failures.
- The 12 existing ORBIT sounds are bit-identical to the pre-integration binary. Only the intended GM KIT tail change and the new sound and mix entries were reviewed into the baselines, and no existing CPU baseline was raised.
Still unverified on hardware: audio quality, real USB 48 kHz transfer, underruns, ISR cycles, long-term stability, flash power loss and recovery, and power-cycling after persistent SYN storage. Real Windows/WSL runs and optional SLICE target resources are also unverified. Host and static cost checks aren't a guarantee of hardware timing.
The separate web emulator is deployed from its own repository and isn't updated automatically by this firmware release. Native preview saving is a non-persistent host double and doesn't support sample upload. Event Tape edits sequencer events and isn't audio recording.