Purple Monkey, image 1 from its README
Firmware

Purple Monkey

Hype48/100

Simple firmware designed for children.

forM-VAVE FM-1·by@Quixotic7

Unclaimed. Is this yours? Sign in with GitHub as @Quixotic7 to claim it.

Downloads
0
Stars
6
Fork
1
Commits
11
Last commit
Download v0.11

Betapurplemonkey-0.11.fwsc· 596 KB· +5 files

GPL-3.0· Quixotic7/PurpleMonkeyFM1·downloads come from the creator’s GitHub releases

11
Commits
2
Releases
11 commits and 2 releases in the last year
Activity · last 12 months

PurpleMonkey FM-1

A firmware for the M-VAVE FM-1 for a small child: press any key and something nice happens. Six-operator FM notes on a pentatonic scale, synthesised drums, a backing beat, four animal friends (Monkey, Cat, Dog, Llama) on a screen that moves with the music. No menus, nothing to save, nothing to break.

Status: a first public beta. It has been installed and runs on the owner's FM-1 (2026-10-09); most of what is checked was checked on the emulator. Before installing, read docs/PURPLEMONKEY.md, "Install, rollback". Installing firmware is at your own risk. Update mode is OCT- + OCT+ + HOME held 5 s.

screens

Try it in the browser

https://quixotic7.github.io/PurpleMonkeyFM1/ (the site, once a release is published): the same firmware compiled to WebAssembly under "Try it first", the browser installer, the manual. Releases, and how one is made: BUILDING.md, "Releasing"; the notes are in docs/releases/.

Try it (Mac, no FM-1 needed)

pip3 install Pillow fonttools
brew install libraqm sdl2
sh tools/emu/build_pm.sh
build/host/pm_emu --front
Computer keyFM-1PurpleMonkey
A S D F G H J K L ; ' ] and W E T Y U O P, 2 3 4 5, F1..F4, Tabthe note keysplay
F5FXDRUMS
F6SELSYNTH
-PLAYBEAT on / off
7HOMEknobs back to normal
Page Up / Page Down, then Up / Downselect a knob of SELECT, KNOB 1..4; turn itPET, SPEED, BUSY, BOUNCE, SQUISH
mouse wheel over a knobany knob, PRESETS and ALGORITHM tooSOUND, WORLD

Every key and button can also be clicked. build/host/pm_emu --help has the full map and options (tools/emu/README.md describes the emulator; it is ChoralRoot's, with PurpleMonkey's firmware in it).

What is here

PathWhat
docs/PURPLEMONKEY.mdwhat it does, how it is built, where it differs from the brief, what was verified, budgets, open questions
docs/UPSTREAM.mdthe exact upstream revisions and every change made to imported files
CLAUDE_HANDOFF.mdthe brief
firmware/src/pm_*.c, purplemonkey.cPurpleMonkey's code; the rest of firmware/ is ChoralRoot's (Felucca's platform)
tools/gen_pm_*.py, tools/emu/pm_*, tests/pm_*, tests/run_pm_tests.shits generators, emulator side and tests
assets/purplemonkey/the approved concept art the sprites are cut from
docs/ (other files), docs/upstream/, web/, firmware/src/cr_*.cChoralRoot's, kept as reference and as the baseline build

Build and test

See BUILDING.md.

sh tests/run_pm_tests.sh     # the engine's unit tests, then the emulator's acceptance scripts
./build.sh                   # the device image and package (needs Docker and the JieLi toolchain); installs nothing

Licence

GPL-3.0-only (LICENSE), as its sources: built on ChoralRoot FM-1, which is built on Felucca by Leo Kuroshita (Hügelton Instruments) with the FM6 engine of Melodee by Kerem Kilic; the drum synthesis is from SLOOP. LICENSING.md has the whole list. Independent of and unaffiliated with M-VAVE; M-VAVE and FM-1 are trademarks of their owners. Installing firmware is at your own risk.