Les

FM-1 firmware · ghoulbox-v2.1

GHOULBOX

GHOULBOX makes the FM-1 a four-track instrument for medieval melodies, dark pads and sustained drones. Its thirteen visible engines share twelve voices; each track has a sound and up to 64 steps. The guide below describes source code, not observations from a unit. An independent checker found zero errors (round 3, 2026-10-16).

Turns it into
Four tracks for dungeon synth: medieval colours, sustained drones, patterns and songs
Best for
Dark ambient arrangements and slow, atmospheric playing
Install
GitHub release or hub

Where everything is on GHOULBOX

GHOULBOX ghoulbox-v2.1 on the M-VAVE FM-1 PLAY F#3 PLAY G#3 PLAY A#3 PLAY C#4 PLAY D#4 PLAY F#4 PLAY G#4 PLAY A#4 PLAY C#5 PLAY D#5 PLAY F#5 PLAY F3 PLAY G3 PLAY A3 PLAY B3 PLAY C4 PLAY D4 PLAY E4 PLAY F4 PLAY G4 PLAY A4 PLAY B4 PLAY C5 PLAY D5 PLAY E5 PLAY F5 PLAY G5 VOLUME TEMPO MAIN 1 LFO+TEMPORARY FX+FILTER MAIN 2 LFO+TEMPORARY FX+COLOR MAIN 3 LFO+TEMPORARY FX+SPACE MAIN 4 LFO+TEMPORARY FX+DEPTH SOUND FX+ASSIGN FX TRACK OCT - WITH OCT+ OCTAVE ZERO OCT + FX PAGES HOLDFX LAYER 2×FX LOCK SCALE PAGES ENV PAGES LFO PAGES SOUND PAGES SONG PAGE HOLDGLO LAYER 2×GLO LOCK HOME CYCLE SAVE PAGES ARP PAGES SEQ PAGES PLAY / STOP RECORD

TapSwipe across the panel, then tap any control to see what it does on GHOULBOX.

Start here

The modes

Tap a page button to recall its last page, then tap again to advance within that family. These taps act when released. SAVE enters USER when arriving from another family. The panel’s SEL is called SCL on the screen and in the guide.

ControlPages or screen
HOMEFrom another family: HOME; from HOME: MIXER → CLOCK → KEYS → HOME.
ENVENV → ENV DEST.
LFOLFO → LFO 2 → LFO DEST → MOD.
FXFX → SLICER → DLY → REVERB → CHORUS → TAPE.
SELSCL → CHORD.
EDITThe engine’s first and second pages, any engine-only pages, then VOICE → VOICE 2 → VOICE 3.
ARPARP → ARP 2.
SEQSTEP → AUTOMATION; DRUM uses a grid on STEP.
GLOSONG.
SAVEUSER → PHRASES → PROJECT → TOOLS → PRESETS.
Hold HOME >0.7 sMENU; HOME closes it again.
Hold FX, GLO, SEL, EDIT, SEQ or RECA key-and-knob shortcut map; using a key or knob opens it immediately.
Double-tap a layer buttonLocks its map open when the first tap qualifies; REC must change arming on that first tap.
Save or rename a slotNAME, followed by an OCT+ write or OCT- cancellation.

The second tap of a layer lock must begin within 300 ms of the first release. The hold delay is a CONTROL menu setting. A first EDIT tap that clears a step or renames a slot does not arm a layer lock. REC cannot seed a double-tap lock during an active or waiting song chain, or on SONG with the selected track unarmed; hold REC for its layer instead. Tap a locked layer’s button again or choose another page to leave it. Menus, dialogs, naming and sleeping input take precedence over ordinary pages.

Play, change tracks and hold a drone

Do thisWhat happens
ALGORITHMChooses track 1–4 outside menus and quick layers.
PRESETSBrowses the active sound list; steps stay in place. SAVE held can reverse the latest load.
SELECTTempo, 40–240 BPM, unless BPM LOCK or GURDY CRANK takes it.
GLO + SELECTTempo even with BPM LOCK or CRANK active.
MASTERSpeaker/headphone level; USB audio follows unless USB LEVEL is FIXED.
OCT- / OCT+Shift the keyboard within three octaves each way on ordinary pages.
Both OCT buttons brieflyReturn to octave zero on ordinary pages; release before the update hold.
KeysPlay the chosen track, following its scale, chord, octave, transpose and arp settings.
HOME > KEYS > LAYEREach key also plays the chosen second track when it differs from the selected track.
HOME > KEYS > SPLITKeys below SPLT play the second track; the key at SPLT and above play the selected track.
SEL > SCL > QNT WHITEWhite keys follow scale degrees; black keys are silent unless the engine supplies its own map.
GLO + F#4 / G#4 / A#4 / C#5Enable or disable drone latch for tracks 1 / 2 / 3 / 4.
Play with drone latch enabledAfter all keys are released, the next press stops the drone only when its first arriving note matches a latched note; otherwise it replaces the drone.
GURDY > COUP CRANK, then SELECTTurning either way drives its wheel; faster turns raise pressure and a quick flick excites the buzz.

LAYER and SPLIT leave the sequencer’s note entry and special key maps in control. The second track uses its own pitch map; its OCT offset is skipped for engines with their own keyboard map. Normal DRUM keys use percussion notes 29–55 before octave shifting, rather than the printed F3–G5 pitches. Drone latch is unavailable for DRUM, pauses while that track’s arp is on, and is not saved. A later chord tone shared with the old drone does not stop the replacement; for example, G–B–D followed by C–E–G becomes C–E–G. A sound/project change or panic can end its notes.

Record and edit a pattern

Do thisWhat happens
PLAYStart or stop the loop; on SONG, start the arrangement from its beginning.
REC outside melodic STEPToggle the selected track’s recording arm; arming while stopped starts transport.
Melodic STEP, stopped: RECArm cursor-based entry while keeping the transport stopped.
Armed, stopped melodic STEP: keysWrite the cursor step; POLY permits four notes and releasing all keys advances.
CONTROL > CHORD ENTRY ADDEach key adds or removes its notes; the cursor stays until moved by hand.
Armed while playing: keys and value knobsCapture live notes and eligible parameter moves.
Melodic STEP: KNOB 1–4Step cursor, transpose/insert a note, NOTE/TIE/REST, accent/slide flags.
STEP: PRESETSMove the cursor with wraparound inside LEN; STEP PREVIEW can audition it while stopped.
STEP: EDITEmpty the cursor step and remove its locks, then advance.
Keep step keys down; turn an eligible KNOB 1–4Attempt a lock of its remembered sound-page parameter on the held steps; blank or nonautomatable cards write no lock.
Armed, stopped melodic entry with notes held, or white drum steps held: PRESETSNudge those steps by −8 to +7 sixteenths; playback uses this with QUANTIZE off and no ratchet.
EDIT during armed, stopped melodic entry, with note keys heldRemove the open step’s locks and keep its notes.
EDIT with white drum-step keys heldRemove those steps’ locks and retain their hits.
SAVE held >0.7 sSwap the latest undo copy back; another hold swaps it forward again.

On a DRUM track, STEP is a grid. The sixteen white keys edit the visible bank’s steps. The first eight black keys select and sound lanes; C#5 holds ACC for accent edits, D#5 goes back a bank, and F#5 goes forward. A white-key press on an existing hit removes it on release, unless a turn resolves to an eligible lock parameter. Turning a blank or nonautomatable card does not cancel removal, so releasing the white key can delete the existing hit. VOICE 3’s empty cards and VOICE 2’s allocation control cannot write locks. KNOB 1–4 are cursor, lane, hit and accent. Song playback blocks sequence editing. On unarmed melodic STEP, holding note keys does not select a lock-clear target: tapping EDIT erases the cursor step and advances.

Switching from your firmware

Pick the firmware on your FM-1 now to see what installing GHOULBOX does to its data.

1 · Back up first, on Stock V15

  • Stock V15 has no way to back up your voices or patterns. The FM-1 only sends notes over MIDI, never voice data.
  • One indirect way to back up, from Baud Girl's own docs (not tested by us): installing her FM-1+VA keeps your saved stock presets and patterns, and its browser Device Manager can then save all 128 presets and 16 patterns as files. FM-1+VA is closed source; install it at your own risk.

2 · What happens to your Stock V15 data

Possibly at risk

(the layout is reported or inferred, not read in code)

  • stock settings (and possibly patterns)

(weakest evidence: reported)

Everything about leaving Stock V15

Everything else on GHOULBOX

Use quick layers

Do thisWhat happens
GLO held + F3 / G3 / A3 / B3Solo tracks 1 / 2 / 3 / 4 while those keys remain down.
GLO held + F#3 / G#3 / A#3 / C#4Toggle the four track mutes.
GLO held + C4Clear every track mute.
GLO held + F4Tap tempo; the third tap establishes it, with up to four taps averaged.
GLO held + KNOB 1–4Levels for tracks 1–4.
PLAY with GLO physically heldRestart a playing loop; external clock can block restart, and a locked map alone does not turn PLAY into restart.
SEL held + any keyChoose that note name as ROOT.
SEL held + KNOB 1–4ROOT, SCALE, CHORD TYPE, VOICING.
EDIT held + white keys, left to rightANALOG, FM6, PHASE, LOFI, SAMPLE, VOICE, TRIO, WHEEL, GRAIN, PHYS, GURDY, NOISE, DRUM; E5 asks to initialize the sound.
EDIT held + first eight black keys on DRUMToggle performance mutes for the eight lanes.
EDIT held + KNOB 1 / 2 / 3 / 4Engine / sound within engine / favourite / no action.
REC held + F3Clear this track’s sequence and automation immediately; SAVE held can undo.
REC held + G3 / A3 / B3Cycle click / count-in / click level.
REC held + KNOB 1 / 2 / 3 / 4Click / count-in / click level / no action.
OCT- in GLO, SEL, EDIT, SEQ or REC layersRestore that layer’s opening snapshot; leaving the layer normally keeps SET edits.
LFO held + an eligible value knobMake a temporary sound/effects edit; releasing LFO restores it.
OCT+ while LFO edits are pendingKeep those temporary values.

Temporary LFO edits cover eligible sound/effect values, with up to eight values remembered. They do not capture automation. Cursor, action and list controls keep their usual jobs. Most page buttons are consumed while a held quick layer owns the panel.

Perform with effects

Hold FX and use these white keys, or lock its map open. These are default assignments; every white key can be reassigned.

White keyDefault performance effect
F3REPEAT 1/8
G3REPEAT 1/16
A3REPEAT 1/32
B3REVERSE
C4LOW-PASS
D4HIGH-PASS
E4TAPE STOP
F4FREEZE
G4OCT UP
A4OCT DOWN
B4FLANGER
C5PHASER
D5NONE
E5NONE
F5NONE
G5NONE
Do thisWhat happens
First four black keys with FXPerformance mutes for tracks 1–4; the remaining black keys have no FX job.
FX > KNOB 1–4Master filter, effect color, extra space, effect depth; the harmonizer uses the fourth knob for shimmer.
MENU > FX LATCH ONKeys toggle effects and macros stay after leaving the map.
OCT- with FX LATCH map openReset all performance effects and macros.
Hold a white FX key and turn PRESETSChoose its effect, including NONE; the assignment saves when the map closes.
EDIT while that FX key is still heldRestore that key’s default assignment.

Repeat and reverse synchronize to the following sixteenth during playback, and act immediately while stopped. An effect that needs more audio history than the buffer can hold is unavailable at that tempo. The most recently pressed buffer effect wins; compatible effects can combine.

Transform a sequence

Hold SEQ for these tools. Actions work inside LEN and can be reversed with SAVE held. OCT- restores the layer’s opening state rather than only its latest tool.

Key with SEQTool action
F3Clears the track’s steps within LEN and their locks immediately, keeping ordinary automation.
G3Reverses the track’s steps within LEN with their automation and locks.
A3Rotates the sequence one step earlier within LEN with its automation and locks.
B3Rotates the sequence one step later within LEN with its automation and locks.
C4Replaces the track’s steps within LEN with a generated pattern.
D4Changes a few notes or drum hits within LEN.
E4On DRUM, replaces steps within LEN with kick every fourth step, snare on the backbeat and closed hats every second step.
G4On DRUM, removes hits of the selected lane within LEN.
A4On DRUM, reverses the selected lane’s hits within LEN.
B4On DRUM, cycles the lane through every step, every second step, every fourth step and empty.
C5On DRUM, generates hits for the selected lane within LEN.

The drum-only tools are inactive on melodic tracks. The first eight black keys select the drum lane. KNOB 1–4 set LEN, DIV, SWING and GATE. CLEAR here keeps ordinary motion while removing the cleared steps’ locks; REC-layer CLEAR clears the track’s motion too.

Edit automation and timing

Do thisWhat happens
SEQ > AUTOMATION: KNOB 1 or PRESETSChoose PLAY, QUANTIZE, a record, a timing row or + ADD.
PLAY row: KNOB 4Enable or disable the track’s recorded motion without deleting it.
PLAY row: OCT+Ask before clearing locks and recorded moves; CHANCE, RATCH and NUDGE remain.
QUANTIZE row: KNOB 4Choose strict step timing or stored nudges.
+ ADD: KNOB 2 / 3, then OCT+Choose step and parameter, then create a lock or CHANCE 50%, RATCH ×2 or NUDGE +4/16.
Record row: KNOB 2 / 3 / 4Move to a free step / change its parameter / edit the value.
Record row: OCT+Toggle a one-step LOCK and persistent AUTO event.
CHANCE, RATCH or NUDGE row: KNOB 2 / 4Move the field to a free step / change its value.
EDIT on a recordDelete it, or reset a timing field to 100%, ×1 or zero.
OCT-Return HOME.

The four tracks share 128 motion records. CHANCE ranges from 0–100%, ratchets from ×1–4, and nudges from −8 to +7 sixteenths. QUANTIZE ON suppresses audible nudges.

Arrange a song

Do thisWhat happens
Save projects 1–4Their patterns become A–D for song cells; the arrangement uses the currently loaded sounds.
GLO > SONG: KNOB 1–4Section, track cell, A–D or silence, repeat count 1–16.
A3 / B3 / C4 / D4 on SONGSet the selected cell to A / B / C / D without playing those four keys.
Set a cell on + ADDCreate a section, copying the preceding row; at most sixteen sections.
PLAY or OCT+ on SONGStart from the first section, or stop the active song.
SAVE > TOOLS > SEC or SONG, then OCT+Ask to delete a section or clear the arrangement.

The other keys still play on SONG. Edit rows while stopped; REC cannot newly arm a track on this page.

Save, load and name work

Do thisWhat happens
SAVE > USERChoose U01–U32 with KNOB 1 or PRESETS; use KNOB 2/3/4 to pick LOAD/ERASE/SAVE.
OCT+ on USERDo the chosen operation; used readable slots get an overwrite/erase question, and SAVE opens NAME.
SAVE > PHRASESChoose a phrase with KNOB 1 or PRESETS; OCT+ loads it, asking before replacing edited steps.
KNOB 2 on PHRASESNo turn action despite the LOAD card; OCT+ is already assigned to load.
SAVE > PROJECTKNOB 1 or PRESETS chooses A–D; KNOB 3 selects LOAD and KNOB 4 selects SAVE, then OCT+.
EDIT on USER or PROJECTRename a readable stored slot.
SAVE > TOOLSPick pattern clear, sound initialization, row deletion or song clear with KNOB 1–4; OCT+ asks first.
NAME: KNOB 1 / 2 / 3Cursor / character / user category or a random project name.
NAME: OCT+ / OCT-Write the name and operation / cancel without writing.

NAME accepts twelve characters. White keys type letter groups; tapping the same group within 800 ms cycles it. F# moves left, G# inserts a space, A# moves right, C# backspaces, and D# changes ABC/123, repeated in each octave. Cursor movement and backspace repeat after 450 ms at 90 ms intervals. KNOB 4 and the other encoders do nothing here. PLAY can stop a transport that began meanwhile.

White keyABC group123 symbol
F3AB1
G3CD2
A3EF3
B3GH4
C4IJK5
D4LM6
E4NO7
F4PQ8
G4RS9
A4TU0
B4VW-
C5XYZ.
D5123_
E5456/
F5789#
G50-.+

FM6 category warning. An FM6 rename or category change can detach its saved patch, even with OTHER left unchanged; a later load may use a factory or initial voice.

Named project saves and user-bank changes require a stopped transport. An incompatible slot can look empty and therefore receive no overwrite question. There is one alternating undo snapshot, not a history of every knob change.

Shape sounds and mix

Each row below lists KNOB 1–4 in order. A dash means no turn action. On value pages, PRESETS still changes the sound; on USER, PHRASES, PROJECT, SONG and AUTOMATION it follows the first knob. On TOOLS and SLICES it does nothing.

PageFour knob jobs
ENVATK: Sets the attack time.; DEC: Sets the decay time.; SUS: Sets the sustain level.; REL: Sets the release time.
ENV DESTFLT: Sets how strongly the envelope moves the filter.; PIT: Sets how strongly the envelope moves pitch.; SHP: Sets how strongly the envelope moves the engine shape.; -: Has no assigned parameter on this page.
LFORATE: Sets the free-running LFO speed.; WAVE: Chooses the LFO shape.; PHS: Sets the LFO starting phase.; FADE: Sets how long the LFO takes to fade in.
LFO 2SYNC: Chooses a tempo division or free-running rate.; TRIG: Chooses note retrigger or continuous LFO phase.; POL: Chooses bipolar or positive-only modulation.; -: Has no assigned parameter on this page.
LFO DESTPIT: Sets LFO pitch movement.; FLT: Sets LFO filter movement.; SHP: Sets LFO shape movement.; AMP: Sets LFO amplitude movement.
MODSLOT: Chooses the modulation slot.; SRC: Chooses the selected slot modulation source.; DST: Chooses the selected slot modulation destination.; AMT: Sets the selected slot modulation depth.
FXDST: Sets the track distortion amount.; CHO: Sets the track chorus send.; DLY: Sets the track delay send.; REV: Sets the track reverb send.
SLICERSLCR: Chooses gating, stutter, or no slicer.; PAT: Chooses the rhythmic pattern.; RATE: Sets the slicer division.; DEPTH: Sets the slicer strength.
DLYTIME: Sets the delay time as a tempo division.; FDBK: Sets delay feedback.; COLR: Sets the delay tone.; MIX: Sets the delay return level.
REVERBTYPE: Chooses the reverb model.; SIZE: Sets the reverb size.; DAMP: Sets reverb damping.; -: Has no assigned parameter on this page.
CHORUSCRT: Sets the chorus rate.; CDP: Sets chorus depth.; -: Has no assigned parameter on this page.; -: Has no assigned parameter on this page.
TAPETAPE: Sets cassette wear across the mix.; CRSH: Sets the mix bit and sample-rate reduction.; AMB: Sets the background wind level.; CRKL: Sets crackle within the ambience.
SCLROOT: Sets the scale root.; SCL: Chooses the track scale.; QNT: Chooses how the scale maps played or sequenced notes.; TRN: Transposes the track.
CHORDCHRD: Chooses the chord built from each key.; VOIC: Chooses the chord voicing.; TEMP: Chooses the tuning temperament.; -: Has no assigned parameter on this page.
LANESKICK: Sets the kick lane level.; SNARE: Sets the snare lane level.; CLAP: Sets the clap lane level.; HATCL: Sets the closed-hat lane level.
LANES 2HATOP: Sets the open-hat lane level.; TOM: Sets the tom lane level.; RIM: Sets the rim lane level.; BELL: Sets the bell lane level.
VOICEVCE: Chooses polyphonic, monophonic, legato, or unison voices.; GLD: Sets glide time.; GLMOD: Chooses constant-rate or constant-time glide.; PRIO: Chooses which held note has priority.
VOICE 2ALLOC: Chooses rotating or reused voices.; DTUNE: Sets unison detuning.; PAN: Sets the track stereo position.; MUTE: Mutes or unmutes the track.
VOICE 3SPRD: Sets stereo spread between the track voices.; -: Has no assigned parameter on this page.; -: Has no assigned parameter on this page.; -: Has no assigned parameter on this page.
ARPMODE: Chooses the arpeggiator pattern.; RATE: Sets the arpeggiator division.; OCT: Sets the arpeggiator octave span.; GATE: Sets arpeggiator note duration.
ARP 2SWG: Sets arpeggiator swing.; PROB: Sets the chance of arpeggiator notes.; HOLD: Keeps arpeggiator notes after key release.; ORD: Chooses pitch or played-note ordering.
MIXERLEVEL: Sets the selected track level.; PAN: Sets the selected track stereo position.; REV: Sets the selected track reverb send.; MUTE: Mutes clockwise or unmutes anticlockwise.
CLOCKBPM: Sets the internal tempo.; SWG: Sets global swing.; CLK: Chooses the clock source.; -: Has no assigned parameter on this page.
KEYSMODE: Chooses one track, layered tracks, or split keys.; TRK: Chooses the second keyboard track.; SPLT: Sets the upper keyboard part first key.; OCT: Transposes the second keyboard track.
OPERATOROP: Chooses the operator.; RATIO / FIXED: Sets coarse operator frequency.; FINE: Sets fine operator frequency.; LEVEL: Sets operator output level.
OP ENVOP: Chooses the operator.; STAGE: Chooses attack, decay, sustain, or release stage.; RATE: Sets the selected envelope stage rate.; LEVEL: Sets the selected envelope stage level.
OPERATOR 2OP: Chooses the operator.; MODE: Chooses a ratio or fixed operator frequency.; DTUN: Sets operator detuning.; VEL: Sets operator velocity sensitivity.
SLICESSLICE: Chooses the slice marker or the sample end.; POS: Moves the selected marker or trims the sample end.; SPLIT: Selects splitting the selected slice for OCT+.; JOIN: Selects joining the slice to its predecessor for OCT+.

LANES pages appear on DRUM; FM6 has its own operator pages. SLICES appears only after loading an older SLICE sound or project, since SLICE is hidden from normal engine selection. Its built-in sources are view-only; USR1–3 permit marker edits, saved after leaving the page and stopping.

HOME and engine pages

Control at HOMELabelWhat happens
Turn KNOB 1MAIN 1Sets the selected engine’s first main value shown on HOME, such as ANALOG cutoff or FM6 modulator level.
Turn KNOB 2MAIN 2Sets the selected engine’s second main value shown on HOME, such as ANALOG resonance or FM6 modulator ratio.
Turn KNOB 3MAIN 3Sets the selected engine’s third main value shown on HOME, such as ANALOG attack or FM6 modulator envelope speed.
Turn KNOB 4MAIN 4Sets the selected engine’s fourth main value shown on HOME, such as ANALOG release or FM6 patch slot.

HOME offers a short set of four controls. EDIT’s first two screens expose the full engine controls. The following table names the actual screen labels; detailed meanings, ranges and pinned sources are in the JSON.

EngineHOME: knobs 1–4First EDIT pageSecond EDIT page
ANALOGCUT, RES, ATK, RELOSC: WAVE, DTN, MIX, NOISFLT: CUT, RES, DRV, KTR
FM6MLVL, MRAT, MEG, SLOTOPS: ALG, FB, MLVL, MRATPATCH: MEG, VMOD, DTUN, SLOT
PHASEDCW, ENV, DTN, RELPHS: WAVE, WAVE2, DCW, ENVLINE: DTN, LINE, SUB, -
LOFIWAVE, DUTY, CRSH, RELCHIP: CHIP, WAVE, DUTY, CRSHMOTN: SWP, VIB, ARP, TONE
SAMPLESET, CUT, ATK, RELSET: SET, TUNE, BITS, LOOPTONE: CUT, -, DRV, -
VOICEVOWL, BUZZ, BRTH, TALKVOWL: VOWL, VOWL2, TALK, SHIFTTONE: BUZZ, BRTH, Q, RAND
TRIOCUT, RES, PW, INT2OSC: WAVE, INT2, INT3, DTNTONE: MODE, CUT, RES, PW
WHEELREG, PERC, DRV, ROTRBARS: REG, SUB, BODY, TOPTONE: PERC, CLICK, DRV, ROTR
GRAINPOS, SIZE, DENS, SPRDGRAN: SRC, POS, SIZE, DENSSPRY: PTCH, SPRD, RAND, TONE
PHYSSTRC, BRIT, DAMP, POSBODY: MODEL, STRC, BRIT, DAMPEXCT: POS, ACC, BOW, EXC
GURDYBUZZ, WHL, DLVL, RELDRONE: DRN, DLVL, 5TH, WHLWHEEL: BUZZ, COUP, BODY, WOBL
NOISEFREQ, RES, COLR, RELSRC: MODE, COLR, FREQ, RESMOVE: TRK, DENS, DRFT, CRSH
DRUMTUNE, TONE, DECY, SNAPKIT: KIT, TUNE, TONE, DECYHIT: SNAP, ACC, KICK, DRV
SLICESRC, DIV, PTCH, DCAYSLCE: SRC, DIV, START, PTCHPLAY: MODE, REV, DCAY, TONE
ConditionChanged control
ANALOG · WAVE is SYNCSYNC: Sets the synced oscillator pitch above the first oscillator.
ANALOG · WAVE is SUBSUB: Sets the lower square-wave level.
LOFI · WAVE is WRAMWAV#: Chooses the wave-RAM table.
LOFI · CHIP is STEPDCY: Chooses constant volume, a single decay, or repeating decay.
PHYS · MODEL is MEMBHARM: Changes drum-head harmonics.
PHYS · MODEL is MEMBBEND: Sets the falling pitch after the strike.
PHYS · MODEL is SYMPCHRD: Chooses the sympathetic-string tuning.
PHYS · MODEL is SYMPSYMP: Sets coupling into the sympathetic strings.
PHYS · MODEL is SYMPBUZZ: Sets the curved-bridge buzz.
NOISE · MODE is LFSRLEN: Chooses the shift-register length.
NOISE · MODE is METALEN: Chooses the short-register sequence.
NOISE · MODE is LFSR or METACLK: Sets the register clock above the played key.
GURDY · COUP is CRANKGEAR: Sets how little crank movement gives full wheel pressure.

FM6’s sound slot offers F1–F15, OWN and B1–B32 from the uploaded bank. The retired DIGITAL engine converts to FM6 in the default build; its old four-operator pages are excluded.

Settings, screen and lights

Hold HOME to open MENU. ALGORITHM moves between tabs, PRESETS moves between rows, and any KNOB 1–4 or an OCT button changes the selected value. OCT+ opens a system action; OCT- returns from INFO or ABOUT. PRESETS scrolls ABOUT. HOME closes MENU and requests a settings save.

SettingPurpose and values
DISPLAY > COLORChooses the display palette. Palette names
DISPLAY > STYLEChooses filled cards or outlined display areas. FLAT, LINE
DISPLAY > LARGESets larger parameter cards and labels. OFF, ON
DISPLAY > ANIMSets value animation and optional idle key lights. OFF, ON, IDLE
DISPLAY > LEDSChooses LED brightness behavior. OFF, DIM LO, DIM HI, INV
DISPLAY > SCREEN OFFSets the panel inactivity delay before the screen sleeps. NEVER, 5 MIN, 15 MIN, 30 MIN, 60 MIN
DISPLAY > SCOPEChooses the scope signal after or before MASTER. OUT, MIX
DISPLAY > HOMEChooses a scope or four-track overview on HOME. SCOPE, TRACKS
CONTROL > HOLDSets the quick-layer hold threshold. 0.3 s, 0.4 s, 0.5 s, 0.6 s
CONTROL > KNOB ACCELEnables faster value changes during quick turns. OFF, ON
CONTROL > FX LATCHSets whether FX-layer performance effects latch. OFF, ON
CONTROL > BPM LOCKRequires GLO with SELECT to change tempo when enabled. OFF, ON
CONTROL > SCALE LEDSEnables scale notes on the key lights. OFF, ON
CONTROL > STEP PREVIEWEnables sounding a step when its cursor is selected. OFF, ON
CONTROL > CHORD ENTRYChooses held-note entry or additive note entry. HOLD, ADD
CONTROL > NOTE NAMESSets note and chord names in the header. ON, OFF
AUDIO > SPEAKER EQChooses the shared output equalization. FLAT, LOWCUT, BASS+
AUDIO > USB LEVELChooses USB level with or without MASTER attenuation. MASTER, FIXED
AUDIO > CLICKSets metronome playback. OFF, REC, ON
AUDIO > CLICK LEVELSets metronome level. LOW, MID, HIGH
AUDIO > COUNT-INSets the recording count-in. OFF, 1 BAR, 2 BARS
AUDIO > TUNESets global tuning for the project. -50–50 cents
MIDI > MIDI INChooses incoming MIDI channel routing. CH1-4, SEL, CH5-8, CH9-12, CH13-16
SYSTEM > SCENEChooses the startup scene used without a restored session. DUNGEON, CRYPT, TAVERN, CHAPEL, BLANK
SYSTEM > USB SERIALSets the developer USB serial interface. OFF, ON
SYSTEM > RESTORE LASTEnables automatic session saving and restoration. OFF, ON
SYSTEM > CALIBRATIONOpens hardware control calibration with OCT+.
SYSTEM > INFOOpens firmware, USB, and CPU readings with OCT+.
SYSTEM > ABOUTOpens version and credits with OCT+.

Changing ANIM has an additional code side effect: OFF and IDLE select HOME TRACKS, while ON selects HOME SCOPE. The display’s header carries transport, tempo, selected track, battery and transient messages. NOTE NAMES can add played note/chord names there. SCREEN OFF affects the display, not audio or MIDI; the first panel input wakes it without performing its normal action.

Light or settingMeaning
Page-family buttonMarks the active family; HOME covers its three subpages too.
Open-layer buttonBreathes while that quick map is showing.
RECLit if any track is armed; the REC layer uses breathing instead.
PLAY greenSteady during playback and pulsing during count-in; the other PLAY lamp stays dark then.
ARPBeat pulses while an arp has held notes, with a longer first beat; on its page the pulses go dark.
FXAlso marks latched performance effects or nonzero macros outside quick layers.
OCT- / OCT+Ordinary octave direction, or available back/accept/value actions on special screens.
Key lights during playHeld keys and representable notes from MIDI, arpeggiation and the selected sequence.
Melodic STEP while stoppedNotes stored at the cursor; rests have no note lights.
DRUM gridHits or held-ACC accents, with an inverted playhead; empty beat starts get an extra glow.
Quick mapsActive choices light, available inactive choices breathe, unavailable keys stay dark.
NAMEUsable keys light, and the current letter group blinks.
LEDS DIM HI / DIM LO / OFF / INVTwo idle-glow levels / idle glow off / active and inactive states reversed; key maps retain their own picture.
SCALE LEDSScale notes glow and roots stand out outside special maps.
ANIM IDLEAfter a minute of quiet stopped inactivity, a key sweep and breathing buttons; input ends it.

Calibration and recovery

Do thisWhat happens
Hold OCT- while powering on, without OCT+USB rescue with audio off and no normal pages; connect the installer.
Two failed startsAlso enters rescue; a further failure there can fall back to the chip’s boot mode.
Both OCT buttons during power-onHardware calibration; teach every named button, then turn each requested encoder clockwise.
Any piano key during calibrationCancel and retain the preceding map; 30 seconds without input also cancels.
Both OCT buttons held >5 s during normal useUBOOT; a countdown starts after two seconds, and releasing cancels before entry.

Before you switch firmware

  • Back up first. In the GHOULBOX editor, connect the unit and use Settings > Save backup before installing. It exports current music, four stored projects, settings, two user-sound banks, their FM6 patches and USR1–3 audio. It omits the separate 32-voice FM6 bank and hand-set slice tail records beyond sample audio, so retain the original voice-bank SysEx and record custom slice boundaries separately. The installer makes no backup.
  • Back up in the firmware you are leaving first, with its own tool (above). Anything below marked at risk can be written over; whether an older saved copy survives depends on how often you saved, so do not count on it.
  • What installing GHOULBOX does to the firmware you had before. install (bundled update loader): Writes differing program sectors only, with verification; leaves the flash head untouched (successful install/update). install (update-record cleanup): Erases scanned sectors whose tails contain valid update records, while protecting 0x97000–0xDFFFF. When present, this clears the family record at 0xE4000 and the stock record at 0xE8000 (when the final part of a scanned sector passes the update-record checks). first and subsequent boot: Erases all five update-staging sectors when the first four bytes or the record at 0xE4F00 are not erased. No settings, project or autosave write solely because of boot (staging area appears used). boot: old FM6 patch migration: Converts a compatible older FM6 patch bank when its replacement is missing, writing one new copy and avoiding the newest old copy. Other data is not converted (when a readable retired FM6 patch bank remains and no valid replacement exists). boot: staged voice-bank recovery: Restores a compatible unfinished voice-bank upload, including one left by Felucca. The home sector can contain another firmware’s data (only when the saved bank is missing or older than the pending upload). update launched from GHOULBOX: Stages and verifies an incoming update loader and commits its restart record before resetting. Entering the separate chip-update screen follows a different path (when an installer starts an upgrade).
    • Stock V15: Possibly at risk (layout reported or inferred): stock settings (and possibly patterns).
    • Baud Girl FM-1+VA: Possibly at risk (layout reported or inferred): Baud Girl presets (128); Baud Girl patterns (16, with locks).
    • Felucca: At risk by itself: the autosave (the music as you left it); settings, button calibration, favourites, MIDI LEARN map (changed by itself: Import changes reserved preference bytes and may change SERIAL/RESTORE LAST in RAM; next ordinary settings write persists them; also, shared settings have different preference meanings). At risk when you act: project slot A; project slot B; project slot C; project slot D; user presets 1-16 (converted when read, written back at your next save in that bank; all bank records are rewritten after in-RAM migration; firmware-specific sounds can differ); user presets 17-32 (converted when read, written back at your next save in that bank; all bank records are rewritten after in-RAM migration; firmware-specific sounds can differ). Carried over: FM6 patches of the FM6 user presets; user sample slot USR1; user sample slot USR2; user sample slot USR3; FM6 voice bank B1-B32. After Felucca with its default CLICK LEVEL, GHOULBOX turns RESTORE LAST ON during import and autosaves by itself after edits and quiet, regardless of the earlier RESTORE LAST choice. A saved LOW click level is the exception: other saved preferences can leave autosave OFF. Check RESTORE LAST after importing LOW-click-level settings.
    • SLOOP: At risk by itself: FM6 patch bank B1-B27; settings, calibration, song order, SYN1-4 kits, MIDI LEARN, theme and favourites. At risk by itself, under a condition: the music in progress (autosave); user sample slot USR4 (header at 0xE7000). At risk when you act: song section A (a whole project); song section B (a whole project); song section C (a whole project); song section D (a whole project); user sounds U01-U16 (converted when read, written back at your next save in that bank; all bank records are rewritten after in-RAM migration; firmware-specific sounds can differ); user sounds U17-U32 (converted when read, written back at your next save in that bank; all bank records are rewritten after in-RAM migration; firmware-specific sounds can differ). Carried over: user sample slot USR1 (header at 0xA0000); user sample slot USR2 (header at 0xB4000); user sample slot USR3 (header at 0xC8000).
    • X0X: At risk by itself: the whole X0X project (settings, sound, all 32 patterns, song, knob motion). At risk when you act: X0X button calibration. Carried over: break loops slot 1; break loops slot 2; break loops slot 3.
    • JIANT: At risk by itself: the music in progress (RESTORE LAST); settings, calibration, favourites, MENU options (changed by itself: Import changes reserved preference bytes and may change SERIAL/RESTORE LAST in RAM; next ordinary settings write persists them. KNOB ACCEL is inverted: JIANT’s default ON reads as OFF in GHOULBOX. JIANT’s MIDI OUT CLOCK / ALL / OFF in byte [15][24] read as GHOULBOX SCOPE MIX / STEP PREVIEW / both. JIANT’s LOAD LITE in [15][26] reads as HOME TRACKS, and LOAD ECO reads as HOME SCOPE. JIANT’s USB STEMS [15][21], USB LEVEL [15][22] and palette marker 0x4A [15][23] overlap GHOULBOX’s FX key map [15][14..23], changing some FX key assignments. JIANT’s first start stores settings revision 2 in byte [15][25], so after JIANT, GHOULBOX’s screen sleeps after 5 minutes idle by default; also, shared settings have different preference meanings). At risk by itself, under a condition: FM6 voice bank B1-B32. At risk when you act: song 1 section A (a whole project); song 1 section B (a whole project); song 1 section C (a whole project); song 1 section D (a whole project); song 2: four sections (whole projects); song 3: four sections (whole projects); song 4: four sections (whole projects) (some of it lost); song 5: four sections (whole projects); song 6: four sections (whole projects); song 7: four sections (whole projects); song 8: four sections (whole projects); which song is current, every song's rows and scenes; user sounds U01-U16 (converted when read, written back at your next save in that bank; all bank records are rewritten after in-RAM migration; firmware-specific sounds can differ); user sounds U17-U32 (converted when read, written back at your next save in that bank; all bank records are rewritten after in-RAM migration; firmware-specific sounds can differ). Carried over: FM6 patches of the FM6 user sounds. After JIANT with its default CLICK LEVEL, GHOULBOX turns RESTORE LAST ON during import and autosaves by itself after edits and quiet, regardless of the earlier RESTORE LAST choice. A saved LOW click level is the exception: other saved preferences can leave autosave OFF. Check RESTORE LAST after importing LOW-click-level settings.
    • Melodee: At risk by itself: shared user presets U037-U054; settings, factory favourites, calibration, saved template. At risk by itself, under a condition: shared user presets U109-U126; shared user presets U055-U072. At risk when you act: shared user presets U289-U378 (some of it lost); shared user presets U379-U384; project A: patterns, song, sounds, motion, recordings; project B: patterns, song, sounds, motion, recordings; project C: patterns, song, sounds, motion, recordings; project D: patterns, song, sounds, motion, recordings; shared user presets U145-U288; shared user presets U073-U090; shared user presets U091-U108; shared user presets U001-U018; shared user presets U019-U036.
    • FoMni: At risk by itself: FoMni setup (pages, chord buttons, lights). At risk when you act: FoMni button calibration.
    • AMB-1: At risk by itself: AMB-1 pieces and setup. At risk when you act: AMB-1 panel calibration.
    • ChoralRoot: At risk by itself: options, playing setup and panel calibration. At risk by itself, under a condition: 32 imported DX7 voices. At risk when you act: CZ-1 bank A (16 tones); CZ-1 bank B (16 tones); CZ-1 bank C (16 tones); CZ-1 bank D (16 tones); CZ-1 bank E (16 tones); CZ-1 bank F (16 tones); CZ-1 bank G (16 tones); CZ-1 bank H (16 tones); last global-save session; favourite marks, chord/bass type and filter; 128 saved sounds with their complete engine patches; recorded loop 1; recorded loop 2; recorded loop 3; recorded loop 4; recorded loop 5; recorded loop 6; recorded loop 7; recorded loop 8; recorded loop 9; recorded loop 10.
    • M-VAVE FM-1 Open: At risk by itself: Open shared sample audio. At risk when you act: Open USER project 1; Open USER project 2; Open USER project 3; Open USER project 4; Open USER project 5; Open USER project 6; Open USER project 7; Open USER project 8; Open USER project 9; Open USER project 10; Open USER project 11; Open USER project 12; Open USER project 13; Open USER project 14; Open USER project 15; Open USER project 16; Open device preferences. Installing this firmware replaces Open’s sixteen USER projects, preferences and sample header before its first start, including the first 24 KiB of sample storage. This follows Open’s source-defined USER layout and the incoming program range; export projects and device samples before leaving Open.
    • FM-106: At risk by itself: octave, last selected preset and MIDI preferences. At risk when you act: older stored user bank, if present (Beta4 does not store new edits). A valid user bank stored by an earlier FM-106 build can still be present and readable in Beta4; the bank risks listed here, if any, apply if it exists. FM-106 Beta4’s new user-sound edits are only in memory: panel save, delete and librarian bank commit do not store them, even when they report success. Read the unit into the librarian and export both user banks before switching or powering off; those exports omit sequence notes, locks and extended controls.
    • Hortator: At risk by itself: settings and panel calibration (converted: After this firmware writes its newer settings format, returning to Hortator starts settings, panel calibration and the remembered Bluetooth device from defaults. It does not retry an older copy just because the newest record is too large; settings convert when read; next save writes a newer format the previous firmware cannot import). At risk when you act: project A; project B; project C; project D. Carried over: user samples USR1 (sample loop and slice behaviour follow this reader’s engines); user samples USR2 (sample loop and slice behaviour follow this reader’s engines); user samples USR3 (sample loop and slice behaviour follow this reader’s engines).
    • OberVave: At risk by itself: saved programs and global settings; pattern 1 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 2 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 3 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 4 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 5 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 6 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 7 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 8 (its B-track sound can change if it uses a saved program; its pattern notes remain).
    • Polly: At risk by itself: Optional QY70 style bank; Polly setup and channel sounds. At risk by itself, under a condition: Polly shared memory 4. At risk when you act: All four Polly songs; Polly shared memory 1; Polly shared memory 2; Polly shared memory 3; Polly shared memory 5; Polly shared memory 6; Polly shared memory 7; Polly shared memory 8; Polly shared memory 9; Polly shared memory 10; Polly shared memory 11; Polly shared memory 12; Polly shared memory 13; Polly shared memory 14; Polly shared memory 15; Polly shared memory 16; Polly button and encoder calibration. With no readable older Felucca-family settings copy left, GHOULBOX starts with RESTORE LAST ON and autosaves by itself after edits and quiet.
    • Skiff: At risk by itself: last session; settings, calibration and favourites (changed by itself: Imports the shared 572-byte PER4 settings and panel calibration. Skiff stores CLOCK, MIDI IN and TUNE in preference bytes 18–20, PRESETS LIST in 21, HINTS OFF in 22, settings revision in 23, its scene-freed marker in 24, PERFORM KEYS in 25, LAUNCH in 26, SCREEN OFF in 27 and CLICK/FEEL in 28. GHOULBOX reads bytes 18–23 as FX key assignments and byte 24 as SCOPE MIX, STEP PREVIEW, CHORD ENTRY and NOTE NAMES choices. PERFORM KEYS becomes SCREEN OFF: Skiff’s SCENE choice gives a 15-minute idle timeout. LAUNCH becomes HOME: Skiff’s BAR choice gives TRACKS. SCREEN OFF becomes SCENE, while byte 12 supplies CLICK preferences. Byte 28 holds GHOULBOX import marks; with Skiff’s default CLICK LEVEL, its one-time migration turns RESTORE LAST ON. The shared record does not give matching preference meanings; also, shared settings bytes select different preferences). At risk by itself, under a condition: project A; project B; project C; project D; shared 64-pattern pool (some or all of it lost). Carried over: user sounds’ own FM6 patches (each patch must still match its FM6 user record); user sample USR1 (sample loop and slice behaviour follow this reader’s engines); user sample USR2 (sample loop and slice behaviour follow this reader’s engines); user sample USR3 (sample loop and slice behaviour follow this reader’s engines); user sound bank 1 (DRUM-X sounds are empty or a different engine; shared names do not guarantee shared sound); user sound bank 2 (DRUM-X sounds are empty or a different engine; shared names do not guarantee shared sound). With Skiff’s default CLICK LEVEL, GHOULBOX’s import migrations force RESTORE LAST ON and autosave writes by itself after edits and quiet. A saved LOW click level can suppress that migration and leave autosave OFF; check RESTORE LAST after import.
  • What the next firmware does to GHOULBOX's data.
    • Stock V15: Possibly at risk (layout reported or inferred): project A; project B; project C; project D; FM6 patches for user sounds; user sample slot USR1; user sample slot USR2; user sample slot USR3; user sounds 1–16; user sounds 17–32; music in progress (RESTORE LAST); FM6 voice bank B1–B32.
    • Baud Girl FM-1+VA: Possibly at risk (layout reported or inferred): project A; project B; project C; project D; FM6 patches for user sounds; user sample slot USR1; user sample slot USR2; user sample slot USR3; user sounds 1–16; user sounds 17–32; music in progress (RESTORE LAST); FM6 voice bank B1–B32.
    • Felucca: At risk by itself: settings and panel calibration (changed by itself: Normalizes GHOULBOX’s migration markers as CLICK preferences in RAM; the next settings save persists them, and a later return to GHOULBOX can turn RESTORE LAST OFF; CLICK REC can add an unselected CUSTOM colour choice; SCENE becomes SCREEN OFF and SCREEN OFF becomes the LED-invert level; also, different shared preference meanings; a settings round trip can turn GHOULBOX RESTORE LAST OFF; CLICK REC can add CUSTOM under COLOR without selecting it, and scene/screen settings are reused). At risk by itself, under a condition: music in progress (RESTORE LAST). At risk when you act: project A; project B; project C; project D; user sounds 1–16 (converted when read, written back at your next save in that bank; GURDY records show unused; shared bank writes retain their bytes until overwritten); user sounds 17–32 (converted when read, written back at your next save in that bank; GURDY records show unused; shared bank writes retain their bytes until overwritten). Carried over: FM6 patches for user sounds; user sample slot USR1; user sample slot USR2; user sample slot USR3; FM6 voice bank B1–B32. GHOULBOX’s default RESTORE LAST ON leaves Felucca’s autosave ON; a saved OFF choice leaves it OFF.
    • SLOOP: At risk by itself: FM6 patches for user sounds; settings and panel calibration. At risk when you act: project A; project B; project C; project D; music in progress (RESTORE LAST); FM6 voice bank B1–B32. Carried over: user sample slot USR1; user sample slot USR2; user sample slot USR3. Kept but not shown: user sounds 1–16 (new GHOULBOX presets show unused; saving into that slot replaces them without an overwrite question); user sounds 17–32 (new GHOULBOX presets show unused; saving into that slot replaces them without an overwrite question).
    • X0X: At risk by itself: project A; project B; project C; project D; user sounds 17–32; settings and panel calibration. At risk when you act: user sounds 1–16. Carried over: user sample slot USR1; user sample slot USR2; user sample slot USR3.
    • JIANT: At risk by itself: user sample slot USR3; settings and panel calibration (changed by itself: Reuses FX key-map preferences for USB stems, USB level and the palette marker; may clear CHORD ENTRY ADD; HOME becomes LOAD. On first-start revision update, saves revision 2, which GHOULBOX later reads as SCREEN OFF code 2. The shared RESTORE LAST choice has the opposite meaning; a settings round trip can also turn GHOULBOX autosave OFF; SCOPE MIX/STEP PREVIEW can select MIDI OUT CLOCK/ALL/OFF, or be cleared with CHORD ENTRY ADD; KNOB ACCEL is inverted; SCENE becomes SCREEN OFF; first-start revision update also turns FX LATCH OFF; also, shared bytes change USB, palette, chord-entry, HOME and screen preferences; RESTORE LAST has the opposite meaning and a round trip can turn GHOULBOX autosave OFF; SCOPE MIX/STEP PREVIEW become MIDI OUT or are cleared, KNOB ACCEL is inverted, SCENE becomes SCREEN OFF and first-start revision update turns FX LATCH OFF). At risk by itself, under a condition: music in progress (RESTORE LAST); FM6 voice bank B1–B32. At risk when you act: project A; project B; project C; project D; user sample slot USR1; user sample slot USR2; user sounds 1–16 (converted when read, written back at your next save in that bank; whole-bank conversion changes FM6 fingerprints and can detach GHOULBOX patches; GURDY slots look empty in JIANT and a save replaces them without asking); user sounds 17–32 (converted when read, written back at your next save in that bank; whole-bank conversion changes FM6 fingerprints and can detach GHOULBOX patches; GURDY slots look empty in JIANT and a save replaces them without asking). Carried over: FM6 patches for user sounds. GHOULBOX’s default RESTORE LAST ON leaves JIANT’s autosave OFF; a saved OFF choice turns it ON.
    • Melodee: At risk by itself: FM6 patches for user sounds; user sounds 1–16; user sounds 17–32; settings and panel calibration. At risk by itself, under a condition: project A; project B; project C; project D; user sample slot USR3; music in progress (RESTORE LAST); FM6 voice bank B1–B32. At risk when you act: user sample slot USR1; user sample slot USR2.
    • FoMni: At risk by itself: settings and panel calibration. At risk when you act: user sounds 1–16.
    • AMB-1: At risk by itself: settings and panel calibration. At risk when you act: user sounds 1–16.
    • ChoralRoot: At risk by itself: user sample slot USR2; user sample slot USR3; settings and panel calibration (converted: After ChoralRoot saves its newer settings format, returning to GHOULBOX starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off). At risk when you act: project A; project B; project C; project D; FM6 patches for user sounds; user sample slot USR1; user sounds 1–16; user sounds 17–32.
    • M-VAVE FM-1 Open: At risk by itself: project A; project B; project C; project D; FM6 patches for user sounds. At risk when you act: user sample slot USR1; user sample slot USR2; user sample slot USR3; user sounds 1–16; user sounds 17–32; music in progress (RESTORE LAST); FM6 voice bank B1–B32; settings and panel calibration. The factory-sample write runs by itself right after the Workbench installs Open, before any project save. The source-built V12 bank erases 0x8D000–0x9FFFF without another sample question. The shipped Workbench asset was not compared with the source.
    • FM-106: At risk by itself: settings and panel calibration.
    • Hortator: At risk by itself: settings and panel calibration. At risk when you act: project A; project B; project C; project D. Carried over: user sample slot USR1 (Sample bytes remain on the unit; playback follows Hortator’s one-shot engines, so loop and slice behaviour can differ. Valid header and zone bounds are required; no unit switch was tested); user sample slot USR2 (Sample bytes remain on the unit; playback follows Hortator’s one-shot engines, so loop and slice behaviour can differ. Valid header and zone bounds are required; no unit switch was tested); user sample slot USR3 (Sample bytes remain on the unit; playback follows Hortator’s one-shot engines, so loop and slice behaviour can differ. Valid header and zone bounds are required; no unit switch was tested).
    • OberVave: At risk by itself: settings and panel calibration.
    • Polly: At risk by itself: project A; project B; project C; project D; FM6 patches for user sounds; user sample slot USR1; user sample slot USR2; settings and panel calibration. At risk when you act: user sample slot USR3; user sounds 1–16; user sounds 17–32; music in progress (RESTORE LAST); FM6 voice bank B1–B32.
    • Skiff: At risk by itself: music in progress (RESTORE LAST); FM6 voice bank B1–B32; settings and panel calibration (changed by itself: On a clean start without its scene-freed marker, Skiff clears GURDY stars, click preferences, the preset category and part of the FX key map, changes secondary MENU choices, then saves without asking. A prior Skiff marker and revision can survive a GHOULBOX round trip, so this write remains conditional. One newest modified copy is enough to change settings on return; revision writes can replace both copies. BLANK becomes DUNGEON on return after Skiff next saves settings. Out-of-range clock, MIDI-input or tuning bytes can also be adjusted and saved after one second, once stopped, changing more FX assignments even when revision migration is skipped; also, Skiff retains calibration but can replace preferences without a save command or question; a partial import does not preserve the whole settings record). At risk by itself, under a condition: project A; project B; project C; project D. Carried over: FM6 patches for user sounds (an FM6 patch must still match its user record); user sample slot USR1 (sample playback and loop behaviour follow the reader’s engines); user sample slot USR2 (sample playback and loop behaviour follow the reader’s engines); user sample slot USR3 (sample playback and loop behaviour follow the reader’s engines); user sounds 1–16 (GURDY records become DRUM-X; a matching name does not prove the same sound); user sounds 17–32 (GURDY records become DRUM-X; a matching name does not prove the same sound). Imports GHOULBOX’s saved RESTORE LAST state (ON by default).
  • Who reads whose data.
    Show the detail

    Other firmwares reading GHOULBOX's data: ChoralRoot takes over GHOULBOX's settings and panel calibration, converting them (on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off); ChoralRoot lists GHOULBOX's user sounds 1–16; user sounds 17–32, but plays them differently (legacy records may be copied, but retired/renumbered engines and foreign deep patches change their sound; confirmed Flash Data still erases the sources); Felucca reads and uses GHOULBOX's settings and panel calibration; user sounds 1–16; user sounds 17–32; FM6 patches for user sounds; FM6 voice bank B1–B32; user sample slot USR1; user sample slot USR2; user sample slot USR3 (different shared preference meanings; a settings round trip can turn GHOULBOX RESTORE LAST OFF; CLICK REC can add CUSTOM under COLOR without selecting it, and scene/screen settings are reused; GURDY records show unused; shared bank writes retain their bytes until overwritten); SLOOP reads and uses GHOULBOX's user sample slot USR1; user sample slot USR2; user sample slot USR3; X0X reads and uses GHOULBOX's user sample slot USR1; user sample slot USR2; user sample slot USR3; JIANT reads and uses GHOULBOX's settings and panel calibration; FM6 patches for user sounds (shared bytes change USB, palette, chord-entry, HOME and screen preferences; RESTORE LAST has the opposite meaning and a round trip can turn GHOULBOX autosave OFF; SCOPE MIX/STEP PREVIEW become MIDI OUT or are cleared, KNOB ACCEL is inverted, SCENE becomes SCREEN OFF and first-start revision update turns FX LATCH OFF); JIANT lists GHOULBOX's user sounds 1–16; user sounds 17–32, but plays them differently (whole-bank conversion changes FM6 fingerprints and can detach GHOULBOX patches; GURDY slots look empty in JIANT and a save replaces them without asking); Hortator reads and uses GHOULBOX's user sample slot USR1; user sample slot USR2; user sample slot USR3 (Sample bytes remain on the unit; playback follows Hortator’s one-shot engines, so loop and slice behaviour can differ. Valid header and zone bounds are required; no unit switch was tested); Skiff lists GHOULBOX's user sounds 1–16; user sounds 17–32, but plays them differently (GURDY records become DRUM-X; a matching name does not prove the same sound); Skiff reads and uses GHOULBOX's FM6 patches for user sounds; user sample slot USR1; user sample slot USR2; user sample slot USR3 (an FM6 patch must still match its user record; sample playback and loop behaviour follow the reader’s engines); Skiff imports part of GHOULBOX’s settings and calibration, but can clear GURDY stars, click preferences and other settings and save without asking. What GHOULBOX reads of other firmwares' data: GHOULBOX reads and uses Felucca's settings, button calibration, favourites, MIDI LEARN map; project slot A; project slot B; project slot C; project slot D; user presets 1-16; user presets 17-32; FM6 patches of the FM6 user presets; autosave (the music as you left it); FM6 voice bank B1-B32; user sample slot USR1; user sample slot USR2; user sample slot USR3 (shared settings have different preference meanings; saving or autosaving converts to np112, unreadable by current Felucca; all bank records are rewritten after in-RAM migration; firmware-specific sounds can differ); GHOULBOX reads and uses JIANT's settings, calibration, favourites, MENU options; FM6 patches of the FM6 user sounds (shared settings have different preference meanings); GHOULBOX lists SLOOP's user sounds U01-U16; user sounds U17-U32, but plays them differently (all bank records are rewritten after in-RAM migration; firmware-specific sounds can differ); GHOULBOX lists JIANT's user sounds U01-U16; user sounds U17-U32, but plays them differently (all bank records are rewritten after in-RAM migration; firmware-specific sounds can differ); GHOULBOX reads and uses SLOOP's user sample slot USR1 (header at 0xA0000); user sample slot USR2 (header at 0xB4000); user sample slot USR3 (header at 0xC8000); GHOULBOX reads and uses X0X's break loops slot 1; break loops slot 2; break loops slot 3; GHOULBOX takes over Hortator's settings and panel calibration, converting them (settings convert when read; next save writes a newer format the previous firmware cannot import); GHOULBOX reads and uses Hortator's user samples USR1; user samples USR2; user samples USR3 (sample loop and slice behaviour follow this reader’s engines); GHOULBOX reads and uses Skiff's settings, calibration and favourites; user sounds’ own FM6 patches; user sample USR1; user sample USR2; user sample USR3 (shared settings bytes select different preferences; each patch must still match its FM6 user record; sample loop and slice behaviour follow this reader’s engines); GHOULBOX lists Skiff's user sound bank 1; user sound bank 2, but plays them differently (DRUM-X sounds are empty or a different engine; shared names do not guarantee shared sound). Everything else of another firmware's looks empty or foreign to the reader.

  • Every way each write can happen, for all mapped firmwares: the flash atlas's table. Read in each firmware's source (closed ones: their docs or third-party reports); nothing was tested on a unit.

Saved on the unit. Four named projects, 32 user sounds, their FM6 patches, three sample slots, settings and an optional last-session autosave live in flash; a separate 32-voice FM6 bank uses its own record. RESTORE LAST defaults to ON in a fresh 2.1 setup; its one-time import migration can be affected by preference bytes inherited from Felucca. See the flash atlas for cross-firmware consequences.

Returning to an older version. Undo, live performance mutes, drone-latch state and sounding notes are not a durable backup. New projects use FUNA with parameter count 112; a loader whose parameter limit is below 112 rejects them. The older GHOULBOX release loaders were not read for this map, so compatibility with a particular earlier version is unverified. Keep the earlier backup and use that version’s editor when going back; see the flash atlas for switching to another firmware.

Flash writes. Settings use 0xFC000/0xFD000 when the menu closes, a first quick-layer flag is stored, a favourite/list changes, REC/FX-map options are kept, calibration completes or the editor requests a write. Four project pairs occupy 0x97000–0x9EFFF and write deliberately. User banks use 0xDC000–0xDFFFF, their FM6 patch pair 0x9F000/0xFE000, sample slots 0xA0000–0xDBFFF, and the voice bank 0xE7000 with staging at 0xE5000/0xE6000. RESTORE LAST autosaves to that staging pair only after a session change and quiet stopped operation, subject to the startup guard. Install writes program sectors and update records; ordinary boot cleans update staging and may recover or migrate compatible FM6 records. See the flash atlas for each write trigger and cross-firmware consequences.

FM6 category warning. An FM6 rename or category change can detach its saved patch, even with OTHER left unchanged; a later load may use a factory or initial voice.

Melodee storage comparison. The storage comparison uses Melodee’s current UPB2/CMP2 layout: GHOULBOX does not decode it, and its first write can erase a newest Melodee copy because it checks payload at +256 rather than +32; project D also overlaps Melodee U379–U384 at 0x9D000/0x9E000.

Power-off timing. Switching off does not perform a save; RESTORE LAST must be on, the changed session must be stopped and quiet for ten seconds, and a previous write must be at least sixty seconds old. Explicitly save a project when unsure.

A compatible staged FM6 bank can be recovered into its home sector during boot. The installer does not create a backup for you. The flash atlas owns the cross-firmware overwrite matrix. Storage addresses, record validation and every write trigger were read in the source and checked.

Where the docs and the firmware disagree

  • STEP requires REC. Melodic STEP writes only with the selected track armed and transport stopped; otherwise keys play without editing the cursor step.
  • REC starts live playback. Arming REC while stopped starts transport immediately outside melodic STEP; a subsequent PLAY press can stop it.
  • ALGORITHM and PRESETS have exceptions. MENU uses them for tabs and rows; PRESETS moves cursors on STEP, AUTOMATION, USER, PHRASES, PROJECT and SONG and does nothing on TOOLS or SLICES.
  • ANIM also changes HOME. Changing ANIM to OFF or IDLE also selects HOME TRACKS, while ANIM ON selects HOME SCOPE, through a switch fallthrough.
  • Backup coverage. The archive omits the independent FM6 voice bank, the standalone autosave record and hand-set slice tail records beyond exported sample audio.
  • Autosave wait. A changed session must stay quiet for ten seconds and writes are at least sixty seconds apart, so a short pause may not save the latest edit; the guide’s later saving section specifies ten seconds but omits the write interval.

Not in the main guide table

  • VOICE 3, DRUM LANES and LANES 2, and FM6 OPERATOR, OP ENV and OPERATOR 2 are reachable but absent from the guide’s page table.
  • SLICE stays compiled for stored projects and user sounds, including SLICES editing, although it is removed from engine selection and the guide reference.
  • The LOAD card is drawn but turning KNOB 2 does nothing; OCT+ always acts on the selected phrase.

Limits of this guide

  • No hardware was exercised; encoder response, physical button calibration and audio behavior are established only by source reading.
  • An exact downgrade to each older GHOULBOX release is not established from the 2.1 tree; the np=112 loader compatibility condition is recorded instead.
  • The hosted editor and installer are outside this source snapshot; browser confirmation wording and actual hosted behavior are not verified.
  • Factory diagnostics and developer console commands are outside the owner control map; calibration, rescue and update entry are mapped.

Mapped from jasonpersinger/ghoulbox-fm1-dungeon-synth at ghoulbox-v2.1 (eaf04bd), 2026-10-16. The code and release guide supplied the facts; every mapped action has pinned references in ghoulbox.json. Evidence is read-in-source; nothing was tested on hardware. The storage comparison with other firmware is an inference from their recorded layouts. Jason Persinger’s GHOULBOX changes use GPL-3.0-only; its Felucca foundation credits Leo Kuroshita and Hügelton Instruments. This guide uses Les’s own wording and is independent of those projects and M-VAVE. FM-1 and other names belong to their respective owners.

Les is in closed beta

Ask about your own setup

Say what you're after and what else is on your desk. Les takes you there one step at a time, on your gear, and shows you why each step works.

Get an invite to the open beta.

We add the gear people name here first.

We'll email you when the open beta opens, plus an occasional note on what's new in Les. Unsubscribe anytime. Privacy

Les is independent and not affiliated with M-VAVE or the firmware authors. M-VAVE and FM-1 are trademarks of their owners.