Repository navigation
Conversation
…ong the known PROTECT machines) The boot's battery restore validates the battery-backed Part copies before the saved set reinstalls the modules; a WAVE track's SRC SETUP values lie outside FLEX's ranges, so without WV in known[] the whole bank was refused. known[] gains WV 1-3 (the model is the version byte); the test now asks for the PROTECT ports plus the native PROTECT modules named in it. The beta base is regenerated (npm run octatrack:base -- --beta --write). Not yet: the base-bound packages for the new identity, which need main's standalone recipes re-pinned (PR repeat98#943 does it). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nown-wave (generated base files from main, regenerated next) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… (npm run octatrack:base -- --beta --write) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nown-wave (generated base files from main, regenerated next) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… on main 4690b6e (npm run octatrack:base -- --beta --write) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…own (npm run octatrack:module-packages) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Hi, thanks, and thanks for the run on your MKII with the flashed base. The change itself is small and correct. My problem is the order. WAVE is still a draft (#1028, under
Also see Zac's note on #1028 about the name: Octabam already has an Octatrack synth called Wave. It's worth picking a name now, before it's in the catalogue. I'll leave this open for now. Tell me if you'd rather close it and carry the commit yourself. |
|
Closing this one, as agreed on #1028: the |
The boot's battery restore keeps a SYNTIZ track's twelve bytes while the module is not yet reinstalled (beta finding 24). Folded in from the closed repeat98#1031, with its comment corrected (it said WV 1-3). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Improvement: Octatrack base keeps a WAVE track's bytes at boot
0x40025770) validates the battery-backed Partcopies seconds before the saved module set reinstalls the machines, and refuses the whole restore at the
first value it has to fix (beta finding 24). The base shields the tracks of Analog BD and FM Synth through
known[]inmachine_registry.c, a list that held only the ported PROTECT machines. WAVE, a nativemachine module (draft in the WAVE PR,
sdk/drafts/wave), keeps FINE, OCT, DRIV, RTRG and twomodel controls in FLEX's SRC SETUP bytes, outside FLEX's ranges: a bank with a WAVE track would come
back empty and silent at power-on.
known[]gainsWV1-15 (WAVE's model is its signature's version byte: six modelstoday, the rest leave room so a new model needs no base change). Native
machine modules are listed by name, never by a pattern: a FLEX track whose NEIGHBOR bytes merely looked
like a signature would render silent.
test_machine_events.pynow requires the PROTECT ports plus thenative PROTECT modules it names. The beta base is regenerated (
npm run octatrack:base -- --beta --write), andnpm run octatrack:module-packagesbinds the five base-bound packages (Sidechain Compressor, Output Matrix,CC Map, Recorder Loop Fix, Analog BD) to its new identity; their bytes are unchanged.
Changelog:
changelog/2026-10-28-octatrack-base-known-wave.md.mechanism is your call; so is the chooser's room of four contributed machines, which POLY8, Analog BD,
VECTOR and FM Synth already fill.
PYTHONPATH=sdk/tests python3 -m unittest sdk/tests/test_machine_events.py sdk/tests/test_base_bound.py: 12 tests pass;npm run octatrack:module-packages -- --check: every packageidentical (playmodes keeps its declared lag). The base build's proofs pass (no stock run, bootloader copy identical, every change inside a
declared site). On the author's MKII, 28 October 2026: a private RAM-booted base with this change
(plus Fix: Octatrack base, SRC SETUP's encoder E and the double-tap window for module machines (SETUP_ALL, LIST flags) #943, in
mainsince Octatrack beta base: more DSP room (receiver in the shared window), FX2 swaps keep their block, with the fix/base-oct28 bundle and the Python firmware codec #1017) ran WAVE beside FM Synth over USB. Then the same change withWV1-15, flashed (private test baseb30d9b09): a project saved with TABLE, MORPH and CHOIR tracks came back whole after a power cycle, thekept WAVE reloading from the card (reported by the author;
missing: nothing).🤖 Generated with Claude Code