An FM-1 song in the browser: its instruments, tables, patterns and orderlists, a preview played
by SIDOU's own player, and the song saved back to the FM-1. The editing is SIDOU's own song code,
the C the FM-1 runs, compiled to WebAssembly: an edit the FM-1 would refuse is refused here with its
words (SONG FULL, INVALID EDIT), parameter locks move with their rows, and
a song that fits here fits on the FM-1.
This browser cannot reach the FM-1. That needs Web MIDI with SysEx (Chrome or Edge). You can
still open a .sng file, edit it, preview it and download it.
1. Open a song
Or from the FM-1 (running SIDOU): press Connect and allow MIDI with SysEx. Nothing is sent before Connect, and then only to the pair selected.
Not connected.
As INSTR shows it: each byte in hex. The table pointers count rows from 01 (00: none). The keys below play the instrument shown here.
| Row | Left | Right | What it does |
|---|
As TABLE shows it: the left and right byte of each row, and in words what the row does (TABLE's footer).
| Row | Note | Ins | Cmd | Par | Locks |
|---|
Notes as C-4, C#4; --- none, ===
key off, +++ key on. With a note cell selected the computer keyboard plays as a
piano (Z to M and Q to U) and writes the note with the instrument shown on Instruments;
Delete or Backspace clears it, = is key off. A row with parameter locks (set on the
FM-1's STEP view) shows them; they move with their row.
Entries as ORDER shows them: 04 pattern 04, R3 repeat the
next pattern 3 times (R0 16), +2 or -3 transpose; the last
row is where each voice restarts. Edit an entry in place, or insert and delete at a position.
Preview
SIDOU's own player and SID in the browser, with the song's chip setup (its profile, the character's controls, the envelope mode) and its effect slots. Not heard here: the thump's output stage, the second chip and CHIP SPREAD, MASTER, and the character's glide (a character lock changes it at once). Playing the song uses it as it is when you press Play.
Save
Save to the FM-1 stores the song under the name above (a song of that name is replaced only after you confirm); load it there from SONG, LOAD. Load now sends it to the FM-1 as its current song at once, in place of the one it has loaded. The FM-1 refuses that while its own song has changes it has not saved, and while its current song is one that came from a computer and has no name yet: its screen then says SAVE AS FIRST. Save it there with SAVE AS (or load another song), then press Load now again.
