moondaw-fm1, image 1 from its README
1/7
Firmware

moondaw-fm1

Peaking97/100

A tracker for you and your LLM — firmware for the M-VAVE FM-1

moondaw-fm1 is custom firmware for the M-VAVE FM-1, by @jaeggerr. Open source under GPL-3.0, 1 star on GitHub.

forM-VAVE FM-1·by@jaeggerr

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

Downloads
0
Star
1
Fork
1
Commits
298
Last commit
Download v0.3

Betamoondaw-0.3.fwsc· 596 KB· +1 file

GPL-3.0· jaeggerr/moondaw-fm1·downloads come from the creator’s GitHub releases

247
Commits
5
Releases
247 commits and 5 releases in the last year
Activity · last 12 months
5 releases
  1. v0.3MOONDAW 0.3 — the beta, playedBeta2 files

    MOONDAW 0.3. A beta's worth of playing, and the five things that playing turned up: a metronome, a listening speed, keys that sound like the track they are played on, a song that comes out as WAV, and a handful of gestures that read wrong under the hand.

    0.2 had every feature of the beta in it. This is the first release written while the machine was being played rather than built, and almost all of it answers something the hand complained about.

    What changes

    • A metronome, on REC under the shift. EDIT held and REC flips the click on. It beats the song's tempo, four steps a beat, the first beat of the bar higher. The machine had one click and one place to hear it — REC's count-in — and nothing to play against once those bars were over. It is not kept when the machine is switched off: a metronome is flipped while one plays, not remembered.
    • A listening speed, 25 % to 100 %. EDIT held and SELECT turned slows down what you hear while you work a loop. The song's own tempo does not move: nothing is written, nothing enters UNDO. What plays turns amber to say the speed is off the tempo. The swing follows it, so a slowed song is the same song.
    • A key is heard in the mix of the track it is played on. Piano on a cell or a step came out dry. It now carries that track's VOL, PAN, REV and ECH, as MIXER shows them. On a step that carries FX, the key plays with them too — the ones that describe a sound (VOL VEL PAN REV ECH FLT RES CRS RAT DUT WAV SMP ARP VIB TRM), not the ones that only mean something over a step's length: CUT or RET would kill a held key mid-note and read as a broken sound.
    • The song comes out, one WAV a track, from a page on the site rather than from the FM-1. The machine gives up the .trk — a few kilobytes of text — and the browser renders it with the same engine, compiled to wasm. Three choices, never two at once: the tracks as they sound, the tracks dry, or the mixdown. Rendering eight WAVs on the device would mean holding megabytes in 512 KB and pushing them through a link that carries 120 bytes an answer.
    • SELECT only moves now, in SONG, PATTERN and MIXER. It used to bring the cursor to the row's number as well; beside KNOB 1, which leaves the column alone, the column vanishing out from under one knob and not the other read as a lurch. The number is still one detent to the left, on KNOB 2.
    • PATTERN plays from the step under the cursor, as SONG plays from the phrase under it, and STOP leaves the cursor where it was instead of dropping it wherever the playhead stopped.
    • The view follows the playhead from the first step. The autoscroll waited for the hand to be still for a second and a half, and the press on PLAY counted as the hand touching something — so starting on step 06 of a long block, the grid went from 06..0D straight to 14..1B and six steps were never shown. Fixed in PATTERN, PHRASE and SONG.

    Everything above was judged on a real FM-1 on a build of this code, except the export page, which was measured instead: it renders a song both in the browser and natively and asks for the two sample for sample.

    FM-1_9330003        0.3
    sha256  47b9e58ac3a6b3b4796c9aa3fffecd1b3375cb5c53ceebc119ffc1d34c55cc13
    size    610257 B
    

    Install it

    [!WARNING] Installing firmware on an FM-1 is at your own risk and can leave it unable to start. Back up the stock flash first, and have FM-1-transporter ready to restore it.

    Show all 2 files
  2. v0.2.2MOONDAW 0.2.2 — a full flash says soBeta2 files

    MOONDAW 0.2.2. A save that fails because the flash is full now says so, in large, and gives a way out that keeps your changes.

    A save writes the new file beside the old one and only then switches over, so a battery that dies mid-save never breaks a song. That means a song can stop fitting beside itself: with 19 KB left, a 23 KB song cannot be saved. This is not new. What was wrong is what the machine did about it: a small NOT SAVED in the corner with no reason, and, on the way back to HOME, a question that SAVE seemed not to answer, with no way to make room except losing the changes. Miss the corner, switch off, and the work was gone.

    What changes

    • FLASH FULL is a window, on every SAVE that fails for lack of room, whichever screen it was pressed on.
    • SEL lists the other projects with the size of each. SEL on one asks if you are sure, and SEL again deletes it. HOME is a step back at each stage.
    • As soon as the song fits, it saves by itself: you had already asked. HOME from the window leaves the song in memory, unsaved, where it was.
    • The open project is not offered, because deleting its old file first would give up the protection against a power cut. The sample bank is not offered either.

    The window, the list and the question were tried on a real FM-1 on a build of the same code. The last stretch, a real deletion followed by the automatic save, was run by the test suite only.

    FM-1_9330002        0.2.2        (patch releases keep 0.2's identity)
    sha256  fbdd8b89ff6d302b7004fcb3333e5adf216240fb488f22e90ee793340f6faa4c
    size    610257 B
    

    Install it

    [!WARNING] Installing firmware on an FM-1 is at your own risk and can leave it unable to start. Back up the stock flash first, and have FM-1-transporter ready to restore it.

    The package attached here and the one behind the install page are the same bytes, built from this tag. Known gaps are unchanged from 0.1: the battery figure is a gauge rather than an instrument, charging is not detected, and a cold ./build.sh can die on a crash of the emulated toolchain (run it again).

    GPL-3.0-only, built on Felucca.

    Show all 2 files
  3. v0.2.1MOONDAW 0.2.1 — the chords of the keyBeta2 files

    MOONDAW 0.2.1. The song now has a key, and the ARP button offers the chords that go with it.

    What is new

    • KEY in PROJECT (GLO from SONG): C MAJOR to B MINOR, written key A minor in the file and left out at C major. No note plays differently for it.
    • ARP on PATTERN's notes opens the chords of that key: 34 per mode, in five sections, the likeliest first: triads, sevenths, sus and add, borrowed, secondary dominants. Not on a kit.
    • PLAY arms the list: it opens silent, then whatever the hand reaches sounds, without another press. PLAY again stops listening.
    • The keys play it by position, whatever the key. The first white key is degree I of the section and the seventh is VII, then the same an octave up, so a progression learned once works everywhere. OP1 to OP5 choose the section, the one in force lit. A key sounds while held, armed or not.
    • KNOB 3 picks the inversion, KNOB 4 the arpeggio. The arpeggio is heard as you set it, and SEL writes the chord on the step with its ARP. A step with no free effect slot says FX FULL; nothing is overwritten.

    Also: the small text on the right of CHOOSE PATTERN and its neighbours is centred on its row.

    Two notes on the list: the names are spelled in sharps, as on the grid, so the bVII of C major reads A#. And four of the sus4 chords on the keys hold a note outside the key: IV and vii in major, ii and VI in minor.

    FM-1_9330002        0.2.1        (patch releases keep 0.2's identity)
    sha256  0d5fb4d10a8e9d77f66f48f3e326a4f6d495cd1265f951cef2e812a6484368be
    size    610257 B
    

    Install it

    [!WARNING] Installing firmware on an FM-1 is at your own risk and can leave it unable to start. Back up the stock flash first, and have FM-1-transporter ready to restore it.

    The package attached here and the one behind the install page are the same bytes, built from this tag. The chords screen was tried on a real FM-1 on a build of the same code. Known gaps are unchanged from 0.1: the battery figure is a gauge rather than an instrument, charging is not detected, and a cold ./build.sh can die on a crash of the emulated toolchain (run it again).

    GPL-3.0-only, built on Felucca.

    Show all 2 files
  4. v0.2MOONDAW 0.2 — its own identityBeta2 files

    MOONDAW 0.2. Same tracker as 0.1; what changes is the number the machine answers with.

    0.1 shipped as FM-1_900, which is Felucca's development number and the one two dozen firmwares on the Firmware Hub also carry — nothing reading it could say which firmware was on the device. From 0.2, MOONDAW answers with its own prefix and its version:

    FM-1_9330002        0.2          (1.0 will be FM-1_9330100)
    sha256  ab11fd1c81ef3ef840f0bfc9319209a449526d647c1fd6b6a3bbb51d634fea3d
    size    610257 B
    

    Patch releases keep the identity: 0.2.1 would still answer FM-1_9330002.

    Installing 0.2 over 0.1 works and was done on a real FM-1 — the songs and the sample bank stay where they are. The web installer recognises both numbers, so a device still on 0.1 is still named correctly.

    Install it

    [!WARNING] Installing firmware on an FM-1 is at your own risk and can leave it unable to start. Back up the stock flash first, and have FM-1-transporter ready to restore it. docs/ARRIVEE.md walks through the first install, the backup and a rescue path that needs no extra hardware.

    The package attached here and the one behind the install page are the same bytes, built from this tag. Known gaps are unchanged from 0.1: the battery figure is a gauge rather than an instrument, charging is not detected, and a cold ./build.sh can die on a crash of the emulated toolchain (run it again).

    GPL-3.0-only, built on Felucca.

    Show all 2 files
  5. v0.1MOONDAW 0.1 — public betaBeta1 file

    MOONDAW 0.1 — the first public beta. A tracker firmware for the M-VAVE FM-1: eight tracks, instruments you build yourself, three effects a step, and songs that are plain-text .trk files an LLM can write.

    Try it first in a browser — the same C compiled to wasm, no FM-1 needed: https://moondaw.com/app/. The manual is at https://moondaw.com/manual.html.

    Install it

    [!WARNING] Installing firmware on an FM-1 is at your own risk and can leave it unable to start. Back up the stock flash first, and have FM-1-transporter ready to restore it. docs/ARRIVEE.md walks through the first install, the backup and a rescue path that needs no extra hardware.

    • In a browser, nothing to install: https://moondaw.com/install/ — Chrome or Edge, over WebMIDI. It carries this same package and checks it against its own manifest before writing anything.
    • From a terminal: download moondaw-0.1.fwsc below, then python3 tools/fm1_install.py moondaw-0.1.fwsc (Python 3 and python-rtmidi).

    The package attached here and the one behind the install page are the same bytes, built once from this tag:

    sha256  973067fd896b9cb3dc13e50601d8ef1166431cbc5c561fe581b3d6c8c4678b83
    size    610257 B    identity FM-1_900
    

    What a first run looks like

    On an FM-1 whose flash holds no MOONDAW songs, the firmware opens a built-in demo song, and instrument slots 0–9 come with sounds already in them (BASS SUB LEAD KEYS HARP PAD ORGAN BELL VOICE KIT), each auditioned on its own phrase in CHOOSE INSTRUMENT. You should hear something within a few seconds of the first PLAY, without building a sound first.

    Known gaps in this beta

    • The battery figure on HOME is a gauge, not an instrument. Its full-scale constant is inferred, not measured on the cell, so the percentage can be off by some points near the flat part of the curve. A cell that is charging looks like a cell that is full: no VBUS sense reaches the firmware.
    • It has not been through many hands. It is built and tried on a real FM-1 every day, but nobody has lived with it for long. Bug reports are very welcome — issues.
    • Building it from source needs the JieLi toolchain (and Docker off Linux); see BUILDING.md. A cold ./build.sh can die on a crash of the emulated toolchain — run it again, the incremental build goes through.

    GPL-3.0-only. MOONDAW stands on Felucca by Leo Kuroshita (Hügelton Instruments); UPSTREAM.md lists every file taken and what was changed. "M-VAVE" and "FM-1" are trademarks of their respective owners; MOONDAW is an independent firmware, not affiliated with or endorsed by them.