Firmware Hero
0

Deal or No Deal — 16-bit edition for the M-VAVE FM-1

Custom firmware that turns the M-VAVE FM-1 into a Sega Genesis–style Deal or No Deal game: 26 cases on the keys, a pixel-art host, an FM/PSG chiptune soundtrack and a robot voice that reads out the banker's offers.

  • Custom firmware
  • Beta
  • 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 Deal or No Deal — 16-bit edition 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 ("Install on the FM-1"):

You need a Mac/PC with Python 3, a USB cable, and a built package (build/dealornodeal-preview.fwsc, see Building).

  1. Close anything that uses MIDI (DAWs, browser tabs with Web MIDI).

  2. Set up the installer (once):

    python3 -m venv .venv . .venv/bin/activate python -m pip install -r requirements-install.txt

  3. Plug in the FM-1, switch it on, and check it's found:

    python tools/fm1install.py --info

    This should print a line like FM-1... [running] port: .... If it finds nothing, replug the cable and close other MIDI apps.

  4. Install:

    python tools/fm1install.py build/dealornodeal-preview.fwsc

    Check the listed port, then type y. Keep the cable connected until the installer says done: the FM-1 runs FM-1710. The FM-1 restarts into the title screen.

If an install is interrupted, run the same command again. Never pass --force. If the installer refuses a device or package, stop and find out why.

Recovery

SituationWhat to do
Game is running, you want to reinstall or go back to other firmwareHold OCT− + OCT+ for 5 seconds → update mode, then run fm1install.py with any package
Firmware crashes on boot twiceFM-1 shows SAFE MODE (USB still works): reinstall
Four failed bootsChip enters UBOOT: use tools/fm1rescue.py with M-VAVE's stock FM-1 V15 FM-1.fwsc (see the script header; dry run first)

⚠️ Do not hold OCT− + OCT+ while switching on: that opens panel calibration, which overwrites the user-preset area. …

Read the full instructions

Risk and recovery

Brick risk
Medium
Reversible
Yes
Requires opening the device
No

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

SituationWhat to do
Game is running, you want to reinstall or go back to other firmwareHold OCT− + OCT+ for 5 seconds → update mode, then run fm1install.py with any package
Firmware crashes on boot twiceFM-1 shows SAFE MODE (USB still works): reinstall
Four failed bootsChip enters UBOOT: use tools/fm1rescue.py with M-VAVE's stock FM-1 V15 FM-1.fwsc (see the script header; dry run first)

⚠️ Do not hold OCT− + OCT+ while switching on: that opens panel calibration, which overwrites the user-preset area.

It's worth keeping a copy of M-VAVE's stock V15 FM-1.fwsc (from m-vave.com) for the UBOOT rescue.

Read the full instructions

Credits, license and support

License
GPL-3.0