Tool to package audio files for Maxmod.
  • C++ 73.8%
  • C 17.2%
  • Makefile 3%
  • Logos 2.9%
  • Linker Script 1.8%
  • Other 1.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-05 02:28:31 +00:00
data gba: nds: Refresh GBA and NDS test ROMs 2026-11-05 02:28:31 +00:00
gba_demo_rom gba: nds: demo: Show sample/module names in the demo ROMs 2026-09-28 21:32:02 +01:00
nds_demo_rom gba: nds: demo: Show sample/module names in the demo ROMs 2026-09-28 21:32:02 +01:00
source main: docs: Document CLI option '-z' 2026-11-04 01:55:16 +00:00
.gitignore nds: Refactor generation of NDS demo ROM 2026-04-09 23:28:32 +01:00
COPYING license: Update and uniformize copyright notices 2026-10-07 18:00:27 +01:00
Makefile nds: Refactor generation of NDS demo ROM 2026-04-09 23:28:32 +01:00
readme.md main: docs: Document CLI option '-z' 2026-11-04 01:55:16 +00:00

Maxmod Utility

Introduction

This is a packer of songs and audio effects to be used by Maxmod.

Please, report issues here.

Usage

mmutil [options] input files ...

Input files may be MOD, S3M, XM, IT, and/or WAV.

Option Description
-o [output] Set output file (.mas, .bin, .gba, .nds).
-h [header] Set header output file (.h).
-D Add list of sample and module names to soundbank.
-m Output MAS file rather than soundbank.
-d Use for NDS projects.
-b Create test ROM. (use -d for .nds, otherwise .gba)
-i Ignore sample name flags (NDS mode only).
-v Enable verbose output (-v -v for extra verbose).
-p [0...255] Set initial panning separation for MOD/S3M.
-z Convert WAV file to raw ADPCM file (for testing).
-y Assume 'yes' in confirmation prompts.
-V Print version string and exit.

Sample flags

Sample flags are strings added to a sample name to modify the sample during conversion.

  • %o: NDS hardware mixer mode only. Used to support the Sample Offset effects when using the DS hardware channels for playback. You can use a sample offset command to start playing beyond the loop start, and then when the sample hits the loop end it'll still correctly loop back to the start.
  • %c: NDS hardware mixer mode only. Compress the sample using IMA-ADPCM.
  • #: Normally, samples of a module file don't get their own definitions in the header file generated by mmutil. If the name of a sample starts with #, a definition is generated, and its name will be added to the samples dictionary.

Examples

  • Create DS soundbank file (soundbank.bin) from input1.xm and input2.it. Also, output header file (soundbank.h)

    mmutil -d input1.xm input2.it -o soundbank.bin -h soundbank.h
    
  • Create test GBA ROM from two inputs.

    mmutil -b input1.mod input2.s3m -o TEST.gba
    
  • Create test NDS ROM from three inputs.

    mmutil -d -b input1.xm input2.s3m testsound.wav -o TEST.nds