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

View File

@@ -0,0 +1,506 @@
{
"note": "mix(a,b) hash, xorshift32 Rng (next, below(n), chance(p)) and genome(seed). genome keys are the JS field names.",
"mix": [
{
"a": "0x00000000",
"b": 0,
"out": "0x6D2B79F5"
},
{
"a": "0x00000001",
"b": 0,
"out": "0x514E28B7"
},
{
"a": "0x00000000",
"b": 1,
"out": "0x11FD02EB"
},
{
"a": "0x5EEDB0C5",
"b": 4606284,
"out": "0x5E77CB5F"
},
{
"a": "0xFFFFFFFF",
"b": -1,
"out": "0xB19FEA7C"
},
{
"a": "0xDEADBEEF",
"b": -1,
"out": "0x95CB1F45"
},
{
"a": "0x00003039",
"b": 20060,
"out": "0x34949A58"
}
],
"rng": [
{
"seed": "0x00000000",
"next": [
"0x40AEC71F",
"0x91E00C19",
"0x9C0FE128",
"0x6570F69D",
"0x0FCE02CC",
"0x3D6B45E7",
"0xEF266E8C",
"0x7C080117",
"0xF9713F42",
"0x0DBB11CE",
"0x9FDE27EF",
"0x3F5EA5BE",
"0x96CB190A",
"0x48AE5C1F",
"0xE6924CA9",
"0x4FE05E6A"
],
"below_1_to_16": [
0,
1,
1,
1,
0,
1,
6,
3,
8,
0,
6,
2,
7,
3,
13,
4
],
"chance_i_times_4096": [
0,
0,
0,
0,
1,
1,
0,
0,
0,
1,
1,
1,
1,
1,
0,
1
]
},
{
"seed": "0x00000001",
"next": [
"0x00042021",
"0x04080601",
"0x9DCCA8C5",
"0x1255994F",
"0x8EF917D1",
"0x2C6F5BD0",
"0x25B2331A",
"0x19F91CB2",
"0x77877125",
"0xADD02374",
"0x9E6002CB",
"0x591C9737",
"0xB4B84B8A",
"0x04E3F8AE",
"0x0536AFF5",
"0xC9C495B1"
],
"below_1_to_16": [
0,
0,
1,
0,
2,
1,
1,
0,
4,
6,
6,
4,
9,
0,
0,
12
],
"chance_i_times_4096": [
0,
1,
0,
1,
0,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
1
]
},
{
"seed": "0x5EEDB0C5",
"next": [
"0xF659F35F",
"0xCE7C9F86",
"0xEC025940",
"0x426B5075",
"0x24D96CA7",
"0x20FC8821",
"0x8EE6EB7D",
"0x22A53599",
"0x06DCA5D2",
"0xDEB330C1",
"0xADC2DE14",
"0x36048794",
"0x783CC90F",
"0xC2B669A1",
"0xFFCB8260",
"0x7F7F71C3"
],
"below_1_to_16": [
0,
1,
2,
1,
0,
0,
3,
1,
0,
8,
7,
2,
6,
10,
14,
7
],
"chance_i_times_4096": [
0,
0,
0,
0,
1,
1,
0,
1,
1,
0,
0,
1,
1,
1,
0,
1
]
},
{
"seed": "0xDEADBEEF",
"next": [
"0x477D20B7",
"0x8E1D9142",
"0xBA8C2458",
"0xFEE0503B",
"0x680E0348",
"0xA48DB81B",
"0x6254EA5C",
"0x1CFDAFB3",
"0x8878FDF6",
"0x6F08B4B5",
"0x4A5B273A",
"0xF9327CE4",
"0x637A51D3",
"0x01448B13",
"0x94F2C300",
"0x5EC60C69"
],
"below_1_to_16": [
0,
1,
2,
3,
2,
3,
2,
0,
4,
4,
3,
11,
5,
0,
8,
5
],
"chance_i_times_4096": [
0,
0,
0,
0,
0,
0,
0,
1,
0,
1,
1,
0,
1,
1,
1,
1
]
}
],
"genomes": [
{
"seed": "0x5EEDB0C5",
"genome": {
"steps": 14,
"form": [
0,
1,
0,
1
],
"formName": "ABAB",
"scale": 18,
"root": 6,
"dens": [
81,
37
],
"fillP": 47,
"monoLen": 1,
"monoRange": 2,
"rot": 0,
"hocket": 85,
"bassDeg": 2,
"prog": [
0,
3,
0,
4
],
"swing": 35,
"arc": 1,
"motifLen": 5,
"accentCycle": 3,
"layback": 0,
"frame": 2,
"freeK": 3,
"freeRot": 5
}
},
{
"seed": "0x00000001",
"genome": {
"steps": 16,
"form": [
0,
0,
1,
0
],
"formName": "AABA",
"scale": 16,
"root": 2,
"dens": [
80,
95
],
"fillP": 110,
"monoLen": 1,
"monoRange": 2,
"rot": 0,
"hocket": 90,
"bassDeg": 3,
"prog": [
0,
5,
0,
5
],
"swing": 21,
"arc": 1,
"motifLen": 3,
"accentCycle": 3,
"layback": 0,
"frame": 0,
"freeK": 2,
"freeRot": 1
}
},
{
"seed": "0xDEADBEEF",
"genome": {
"steps": 12,
"form": [
0,
0,
0,
0
],
"formName": "AAAA",
"scale": 10,
"root": 0,
"dens": [
91,
66
],
"fillP": 40,
"monoLen": 0,
"monoRange": 2,
"rot": 1,
"hocket": 170,
"bassDeg": 4,
"prog": [
0,
1,
0,
6
],
"swing": 50,
"arc": 2,
"motifLen": 4,
"accentCycle": 5,
"layback": 0,
"frame": 7,
"freeK": 4,
"freeRot": 3
}
},
{
"seed": "0x12345678",
"genome": {
"steps": 16,
"form": [
0,
1,
0,
1
],
"formName": "ABAB",
"scale": 0,
"root": 5,
"dens": [
50,
83
],
"fillP": 111,
"monoLen": 1,
"monoRange": 1,
"rot": 2,
"hocket": 170,
"bassDeg": 3,
"prog": [
0,
0,
5,
4
],
"swing": 0,
"arc": 1,
"motifLen": 5,
"accentCycle": 3,
"layback": 0,
"frame": 1,
"freeK": 3,
"freeRot": 9
}
},
{
"seed": "0xC0FFEE00",
"genome": {
"steps": 16,
"form": [
0,
0,
1,
0
],
"formName": "AABA",
"scale": 19,
"root": 0,
"dens": [
42,
74
],
"fillP": 78,
"monoLen": 1,
"monoRange": 2,
"rot": 2,
"hocket": 210,
"bassDeg": 2,
"prog": [
0,
0,
3,
3
],
"swing": 21,
"arc": 1,
"motifLen": 3,
"accentCycle": 5,
"layback": 0,
"frame": 3,
"freeK": 3,
"freeRot": 12
}
},
{
"seed": "0x0BADF00D",
"genome": {
"steps": 16,
"form": [
0,
0,
1,
0
],
"formName": "AABA",
"scale": 9,
"root": 6,
"dens": [
46,
85
],
"fillP": 92,
"monoLen": 1,
"monoRange": 1,
"rot": 1,
"hocket": 90,
"bassDeg": 2,
"prog": [
0,
3,
0,
4
],
"swing": 35,
"arc": 2,
"motifLen": 3,
"accentCycle": 3,
"layback": 0,
"frame": 3,
"freeK": 2,
"freeRot": 9
}
}
]
}