A MML parser and GBDK sound driver for the Nintendo Game Boy.
Please refer to the MMLGB Wiki for additional information regarding usage.
-
gbdk/binshould also be added to PATH/Environment Variables.
-
- Required to build the cross-platform C# parser (
MMLGB.dll). - You must have the
dotnetCLI available in your terminal (dotnet --versionto check).
- Required to build the cross-platform C# parser (
-
- Required to run
compile.pyandscripts/dist.py.
- Required to run
- Create or place your .mml file directly in the
music/directory.- Feel free to check out the included examples for studying purposes!)
- Run
python compile.py your_file.mmlin Terminal/Command Prompt to compilerom.gb. This works identically on Windows, macOS, and Linux.- Add
--launchto automatically openrom.gbin an emulator once compiled:
- Add
- Run
python scripts/dist.py <platform> [<platform> ...]orpython scripts/dist.py all.- Supported platforms:
win-x64,win-x86,linux-x64,osx-x64,osx-arm64. - Each platform produces its own self-contained distribution. End users don't need the .NET runtime installed.
- This can be run from any OS (Windows, macOS, or Linux) as long as GBDK and the .NET SDK are installed: It cross-compiles the parser for whichever platform(s) you request.
- Supported platforms:
- The distributable file(s) will be in the
distdirectory, one timestamped .zip per platform (e.g.mmlgb-osx-arm64-2026-07-23-101500.zip).
- @SimonLarsen, Original developer - mmlgb v1.0
- @jimmy-dsi, Programming assistance - GitHub
- @untoxa, Adapting the code for GBDK-2020 v4.x + Clean refactor - GitHub
mmlgb Source Code - MIT
All demo songs & art - CC BY-NC 4.0