FRASIL, home

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.

Play in the browser

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.

WhatWhere
The 16 scenes0xDA000: two 4 KiB sectors, written in turn, each record with a CRC
The settings0xFC000, 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 calibration0xDC000, 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.