Firmware Hero
0

Doom for the M-VAVE FM-1

The first level of Doom, running as firmware on an M-VAVE FM-1 pocket synthesizer: its own 240×240 screen, its own keys and knobs, its own speaker.

  • Custom firmware
  • Alpha
  • Medium brick risk
  • Reversible

Source code

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
  • A USB or MIDI cable
  • 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?
Yes. You can go back to the official software.
Get itOpens github.com

Did it work for you?

Did Doom for the M-VAVE FM-1 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 ("Doom for the M-VAVE FM-1"):

The first level of Doom, running as firmware on an M-VAVE FM-1 pocket synthesizer: its own 240×240 screen, its own keys and knobs, its own speaker. The chip has 1 MB of flash and 512 KB of RAM, so this is one level (E1M1) with the title screen, sound and music, on the engine of rp2040-doom and the hardware layer and update loader of Felucca.

Experimental. It has been installed and played on one FM-1. It replaces the synth firmware (which can be put back). Use it at your own risk.

Install it from the browser: (Chrome or Edge, USB).

What is here

PathWhat
firmware/The device firmware: doomdev.c (recovery-first start-up, USB update, screen, sound, input on Felucca's HAL), the build and packaging scripts, host tests.
engine/The game engine's source: a patch series on upstream rp2040-doom, and a script that fetches and applies it.
web/The install logic as plain JavaScript modules (cut a WAD, convert it, pack it, the update protocol), a single-file installer page, and the browser build of the game used for development.
site/The public installer site (Vite + React) and its AWS set-up (CDK). See site/README.md.
tools/Mac-side tools: cutting the game data, and boot-mode backup / restore of the FM-1's flash.
NOTES.mdThe running log: every measurement, decision, build and device result, in order. Start here for detail.

No game data is in this repository, and none may be added: no WAD, nothing cut or converted from one. …

Read the full instructions

Risk and recovery

Brick risk
Medium
Reversible
Yes
Requires opening the device
No

From the project's README ("Safety"):

The firmware is built to stay recoverable: it never writes the boot code, it accepts a new firmware over USB in every state (hold HOME while switching on for a screen that only waits for one), and a start that fails drops back to that screen by itself. tools/fm1boot.py and tools/fm1restore.py can read and restore the whole flash through the chip's built-in USB boot mode. A firmware that fails before any of that runs can only be recovered with extra hardware (see NOTES.md, "Recovery").

Read the full instructions

Credits, license and support

License
GPL-3.0