Sound in MegaZeux/Sound Engines
ModObj
Mark J. Cox's ModObj was the sound engine used in MegaZeux releases prior to 2.50.
Supported Formats
Bells, Whistles, and Sound Boards
Bells, Whistles, and Sound Boards (BWSB) is a DOS-based sound library that was popular throughout the demoscene in the mid-1990s. It was programmed by Zilym Limms and supports a small variety of sound cards such as Sound Blaster and Gravis UltraSound.
BWSB was the sound library used for MegaZeux for all DOS releases from 2.50 onward (replacing ModObj). It was dropped in favor of ModPlug and MikMod (and eventually libxmp) for the SDL port.
Supported Formats
- MOD (Protracker and some variants, via a MOD to GDM converter built into MegaZeux)
- GDM (2GDM, a utility for converting MOD, S3M, 669, FAR, MED, MTM, STM, ULT to GDMs, was provided)
- SAM (sound effects only)
ModPlug
libmodplug was the primary sound engine used in all port releases between 2.80 and 2.90, when it was replaced by libxmp as the default engine. It is still supported, but must be enabled with a compile-time option.
Supported Formats
The MegaZeux fork of libmodplug disables or ignores any formats not featured in this list.
- MOD (Protracker and variants; Soundtracker 15-inst)
- S3M
- XM
- IT
- GDM
- 669
- AMF (ASYLUM)
- AMF (DSMI)
- DSM
- FAR
- MED (very limited, faulty)
- MTM
- OKT
- STM (faulty?)
- ULT
MegaZeux builds with libmodplug originally supported GDM through conversion to S3M. This was eventually replaced by adding a proper GDM loader to libmodplug.
MikMod
mikmod is an alternate sound engine available in port versions, and was the default sound engine for the GP2X port.
Supported Formats
MegaZeux support for MikMod ignores any formats not featured in this list.
- MOD (Protracker and variants; Soundtracker 15-inst)
- S3M
- XM
- IT
- GDM
- 669
- AMF (ASYLUM)
- AMF (DSMI)
- DSM
- FAR
- MED (MMD0 and MMD1, no synths)
- MTM
- OKT
- STM
- ULT
libxmp
libxmp is the current primary sound engine since MegaZeux 2.90b. It features wider format support than any other supported mod engine, though many loaders for extra formats and all of the depackers have been removed from MegaZeux's libxmp fork for consistency with the other engines (and to reduce the executable size).
Supported Formats
The MegaZeux fork of libxmp disables and/or ignores many format loaders not included in this list.
- MOD (Protracker and variants; Soundtracker 15-inst; Soundtracker 2.6; His Master's Noise)
- S3M
- XM
- IT
- GDM
- 669
- AMF (ASLYUM)
- AMF (DSMI)
- FAR
- MED (all variants, supports synths)
- MTM
- OKT
- STM
- ULT
libxmp currently has no support for DSM.
libopenmpt
MegaZeux has also optionally supported libopenmpt since 2.90b, though it has never been enabled by default and has not been forked into the MegaZeux project.