Guide 01 / 16
Install
Try it in the browser first: no FM-1 needed. Then put it on the FM-1, from Chrome or Edge or from a terminal, and back to the official firmware whenever you like.
Try it firstLink to this section
The emulator runs the same code in the browser, with sound. No FM-1 needed.
Install from the browserLink to this section
In Chrome or Edge, connect the FM-1 by USB, open the installer and press Install. The browser asks once to allow MIDI: allow it. Don’t unplug the cable while it writes.
The installer is FRASIL on The FM-1 Firmware Hub.
Install from a terminalLink to this section
Download frasil-X.Y.fwsc from the releases, then run, from a checkout of
FRASIL’s repository:
python3 base/tools/fm1_install.py frasil-X.Y.fwsc
Back to the official firmwareLink to this section
Install M-VAVE’s V15 from the installer or from The FM-1 Firmware Hub. If the FM-1 no longer starts, hold OCT− while you switch it on: it waits for an update over USB.
Where your scenes are keptLink to this section
FRASIL keeps what you save in the FM-1’s flash, outside the firmware itself, in the area the Felucca family of firmwares uses. It has no area of its own.
| What | Where |
|---|---|
| The 16 scenes | 0xDA000: two 4 KiB sectors, written in turn, each record with a CRC |
| The settings | 0xFC000, the sector pair where Felucca keeps its globals: the sound at power-on, the MIDI channels, TEMPO, LOAD, the metronome, the learned CCs |
| The panel’s calibration | 0xDC000, in Felucca’s own format, so it stays valid from one to the other |
When you switch firmwares:
- FRASIL reads only its own records. It does not read another firmware’s projects or samples. Anything else at those addresses is ignored: FRASIL then starts with its factory scenes and default settings.
- Saving can overwrite another firmware’s data: Felucca’s globals, and a part of the area where Felucca keeps its projects and samples. Back up the firmware you come from before you save in FRASIL.
- Another firmware may overwrite FRASIL’s scenes. Updating or installing FRASIL writes only the firmware’s own area: your scenes stay. What another firmware’s install does depends on its own update loader. M-VAVE’s V15 writes its whole image: assume your scenes won’t survive it.
- Back up your scenes before you switch firmwares. FRASIL 1.1 and later back up the 16 scenes and the
settings to a file over USB, and put them back: in the browser, in the River (Chrome or
Edge), or from a terminal with
base/tools/fm1_backup.py. See backing up.
VersionsLink to this section
Package identity: FM-1_47XXYYZZ, its version in it: 1.0 is FM-1_47010000, then 1.1, 1.2
… (1.0.1 for a fix). The logo screen shows the version the FM-1 runs.
From sourceLink to this section
For the curious and for forks: the host simulator, the checks, the browser emulator and the firmware all build from the repository.
git clone --recursive https://github.com/styvesgoupil/frasil
cd frasil
python3 -m venv .venv && .venv/bin/pip install Pillow fonttools mido python-rtmidi numpy scipy matplotlib
brew install libraqm # the screen's fonts (macOS)
./build.sh --host # the host simulator: app/build/host/frasil_host
app/build/host/frasil_host app/tests/basic.txt app/build/host # the checks
./build.sh --web # the browser emulator: app/build/emu/ (Emscripten)
./build.sh # the firmware: app/build/frasil-VERSION.fwsc
The firmware build needs JieLi’s Linux toolchain and the AC79 SDK, run in Docker (OrbStack on macOS). See fm1-base’s README for setup.