Seedbox v0.1 + firmware, generic kit/synth, ROOT/SCALE pages
Some checks failed
check / check (push) Has been cancelled

First commit of the repo. Contents beyond the v0.1 simulator and layout:

- Full Pico 2 W firmware (firmware/app, drivers, engine port, host test).
- BANK page and 404 mode A/B removed; learned pads play exactly what was learned.
- 404/MiniFreak renamed to KIT/SYNTH throughout (jacks, code, sim, docs,
  layout labels; wiring rebuilt).
- ROLL returns to page select after a re-roll; a freshly learned track turns on.
- LCD contrast 66.
- ROOT and SCALE pages: 21 scales, AUTO = the seed picks; global and sticky.

Intended music change: the scale table grew from 8 to 21 and AUTO picks from
all of them, so every seed's scale changed. Vectors regenerated with
npm run vectors, plus new key-override cases. Flash record is now version 2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-11 20:39:36 +03:00
commit 2196633ed5
77 changed files with 52207 additions and 0 deletions

63
docs/controls.md Normal file
View File

@@ -0,0 +1,63 @@
# Controls
```
┌──────────────────────────────────────────────────────────────┐
│ [ 5110 screen ] (ENERGY) [KICK][KICK2][SNR] RUN/STOP
│ (DRIFT) [HAT ][HAT16][PRC][GHST]
│ (ENC) [ SEED ] [BASS][MEL A][MLB][PAD ]
└──────────────────────────────────────────────────────────────┘
back wall: USB · MIDI IN · OUT KIT · OUT SYNTH
```
To-scale layout and drill list: [hardware/panel.md](hardware/panel.md).
## Buttons and knobs
| Control | Does |
|---|---|
| **SEED** | A new random seed. The old one goes into the history (last 16). |
| **RUN** toggle | Start / stop. Stop sends note-offs, All Sound Off (CC 120) on the learned kit channels, and CC 120 and 123 on the synth channel. |
| **ENERGY** | Density. See [concept](concept.md#energy). |
| **DRIFT** | How loose and changeable. See [concept](concept.md#drift). |
| **Track button**, tap | Track on / off. |
| **Track button**, hold (> 250 ms) | Flips the track only while held: a quick drop-out or punch-in. |
| **Encoder**, turn | Choose the page. |
| **Encoder**, push | Edit the page (the value line inverts). Turn to change, push again to leave. |
Option (bench setting in the simulator): track changes wait for the next bar line.
## Screen
The Nokia 5110 has 84 × 48 pixels:
- **Top line**: the page name.
- **Second line**: its value, inverted while you edit it.
- **Below**: a 4 × 3 map that mirrors the buttons. The top-right cell is RUN: filled while playing.
- filled = on
- outline = off
- flash = hit
- dot = a kit track not learned yet
- blinking = a change waiting for the bar line
## Pages
| Page | Edit with the encoder | Push |
|---|---|---|
| **SEED** | scroll back through the last 16 seeds (`-1`, `-2` …; `*` = re-rolled) | load the shown seed |
| **GEN** | EUCLID, SKELETON, SUBDIV, AUTOMATA, AMENIZER | done |
| **ROOT** | AUTO, C … B. AUTO shows the seed's pick | done |
| **SCALE** | AUTO, then the 21 scales (see [Concept](concept.md#scales)). AUTO shows the seed's pick | done |
| **BPM** | tempo | done |
| **SLOT** | 8 slots for seed + salts + generator (not root or scale) | push = load, long push = save |
| **ROLL** | KIT or LINE | push re-rolls just that half (a new drum part over the same tune, or the other way round), then goes back to page select |
| **LEARN** | — | push, press a kit track button, hit the pad on the sampler or drum machine. Push again to cancel. |
## Simulator keys
| Key | Does |
|---|---|
| 1 … 0, - | track buttons KICK … PAD |
| Space | SEED |
| ← → | encoder turn |
| Enter / Shift+Enter | encoder push / long push |
| R | run / stop |