-
Notifications
You must be signed in to change notification settings - Fork 0
Home
MUCOM88 for MSX — composing guide
The repository manuals tell you how to drive the tools: which key compiles, what an error code means, how a session works. This wiki is about writing the music — MML technique, and how to bring FM voices and PCM banks made on a PC over to the MSX.
MUCOMSX plays music. It does not create sound assets.
There is no FM voice editor and no PCM sample converter on the MSX side — and there was never meant to be. A YM2608 voice is 25 bytes of operator parameters that you want to hear while you tweak them, and an ADPCM bank starts life as a 16-bit WAV file. Neither job fits comfortably in 24 KiB of MSX text buffer.
So the work splits in two:
| Where | What you do there |
|---|---|
| PC (Windows) | Design FM voices, build the PCM bank, audition ideas quickly |
| MSX | Write and edit MML, compile, play on real YM2608 hardware, export .MUB / .VGM
|
The assets cross once, as plain files. After that the MSX side is self-sufficient.
flowchart LR
subgraph PC["PC / Windows"]
T["FmToneEditor"]
W["WAV samples"]
end
subgraph MSX["MSX"]
S["SONG.MUC"]
O["SONG.MUB"]
S -- "compile — MUCPLAY / MUC2MUB" --> O
end
T -- "VOICE.DAT" --> S
W -- "MUCOMPCM.BIN" --> S
See Workflow for the whole path, step by step.
| Page | What it covers |
|---|---|
| Workflow | The full PC → MSX path, file naming, what to copy and when |
| Tools and Links | MUCOM88 Windows, converters, upstream documentation |
Not published yet — the titles below are the plan, so they are deliberately not links.
| Page | What it will cover |
|---|---|
| MML Basics | File structure, header tags, channels A–K, notes, lengths, octaves, tempo |
| MML Reference | Expression commands, repeats, macros, portamento, the advanced table |
| FM Voices | Designing voices on a PC, the @ formats, libraries vs. inline definitions |
| PCM and ADPCM | Building a bank from WAV files, the K channel, how PCM ends up inside a .MUB
|
| Rhythm | The G channel, its seven-value volume form, writing patterns |
| Limits and Specs | Every size limit in one table, and which one you actually hit |
| Troubleshooting | Symptom → cause, for silent channels, wrong voices, missing PCM |
Until those land, the MUCEdit manual documents the MML syntax and every compile error code, and the upstream onitama/mucom88 wiki is the canonical MUCOM88 reference.
You need a working MSX side first. The repository README covers the requirements — MSX2 or later, MSX-DOS2 or Nextor, 512 KB mapper recommended, and a MAKOTO (YM2608) cartridge for playback.
On the PC side you want MUCOM88 Windows from ONION software. It runs standalone and is where the voice editor and the PCM bank builder live.
A note on syntax. MUCOMSX targets the MUCOM88 v1.7 family and outputs the MUB8 format. Most MML you find written for MUCOM88 will compile, but MUCOMSX is not a bit-for-bit clone of every MUCOM88 derivative. Where this wiki states a limit or a behaviour, it describes MUCOMSX. For the upstream project's own reference, see onitama/mucom88 wiki.
Corrections and additions are welcome. If something here is wrong, or a technique is missing, open an issue on the issue tracker — Korean, Japanese and English are all fine.