FM1 Betis Mode
Unofficial Betis-themed firmware for M-VAVE FM1, built from the official FM1 Open V13 source + binary SDK.
- Custom firmware
- Beta
- Medium brick risk
This project hasn't been claimed by its maintainer yet, so its details come from the community. Is it yours? Claim it
Before you start
- How hard is it?
- EasyCopy a file or use a web page. No extra software.
- What you need
- Comfort with the command line
- A computer
- Can it break my device?
- Small chance of trouble, with a way to recover.
- Can I undo it?
- The project doesn't say. Assume you can't.
Did it work for you?
Did FM1 Betis Mode work on your M-VAVE FM-1?
No reports yet.
One-tap reports from owners. Bricked reports are checked before they count.
Compatibility
Devices: M-VAVE FM-1.
No compatibility information yet.
Getting started
From the project's README ("Reproduce the build (Windows x64)"):
Requires PowerShell 5.1+, Git, curl.exe, and tar.exe; no system-wide compiler installation or administrator rights are needed:
git clone https://github.com/cotrino/fm1-betis-mode.git Set-Location fm1-betis-mode powershell -NoProfile -ExecutionPolicy Bypass -File .\Build.ps1 powershell -NoProfile -ExecutionPolicy Bypass -File .\tools\Verify.ps1
The bootstrap downloads and checksum-verifies JieLi 2.5.2 and WASI SDK 27 into .tools/. JieLi 2.5.3 does not match this SDK's compiler hashes. Existing compatible installations can be reused with FM1PI32TOOLCHAIN and FM1WASISDK. The vendor SDK itself is not modified; its integrity checks, linker/ABI/SRAM checks and source packager all run normally.
Outputs in docs/:
- FM1BETISMODE.fwsc: flashable package.
- index.html: self-contained emulator, updater and stock V15 recovery UI.
- simulator.wasm: independently testable browser module.
- source.zip: exact corresponding sources, SDK and build/install scripts.
- reports, notices and SHA256SUMS.txt.
The upstream commit and changed vendor files are recorded in upstream.json. The generated workbench adds branding/navigation to the upstream HTML; the packaged firmware and Wasm payloads remain unchanged and are checked against the downloadable files.
Risk and recovery
- Brick risk
- Medium
- Requires opening the device
- No
From the project's README ("Browser verification"):
Serve the repository locally:
python -m http.server 8080 --bind 127.0.0.1
Open http://localhost:8080/docs/ for the workbench or http://localhost:8080/tests/verify-emulator.html for executable acceptance tests. Tests boot the real Wasm application and check tuning, TFT pixels, BPM bounds, ARP, finite bounded FM audio, independent note release, silence after release, project/tuning round-trips, and sequenced percussion.
Click the workbench's audio control before playing. Web MIDI requires a compatible browser on HTTPS or localhost and explicit permission. Device firmware updates are a separate explicit action in the workbench: none are performed during builds or emulator tests. Keep the device powered throughout an update; use the included original V15 recovery option if needed, following the official recovery instructions.
GitHub Pages serves the committed docs/ directory from main. The Windows CI workflow rebuilds and verifies packages and uploads them as an artifact; publishing a changed build requires committing its refreshed docs/.