Modules/trilo/trilo scc player

From MSX Game Library

< Modules


Code: trilo/trilo_scc_player.h

Category: Audio

Dependencies: None


The trilo_scc_player module lets you play music (using both PSG and SCC) and sound effects in Trilo Tracker format.


To use this module, include "trilo/trilo_scc_player.h" in your source code, and add "trilo/trilo_scc_player" to the modules list (LibModules) in your project's configuration file (project_config.js).


Original TriloTracker music are in TMU format and have to be converted to ASM format first. Use tools/audio/trilo/tmucompile.bat script to generate the assembler file (the script convert TMU to ASM, then convert ASM to be supported by SDCC assembler, sdasz80).

The music have then to be add to program to be compiled together (music data format include global address, not relative ones). You can either include the ASM file music in an assembler segment, or you can use the INCLUDE_ASM() macro to include it into a C source.


The current version of the module only support program on a SCC cartridge (mapped-ROM using ROM_KONAMI_SCC mapper).

SCC sound chip is visible to CPU through bank #2 (address 8000h to 9FFFh). As player have to switch this bank to SCC during playback, both the TriloTracker player and the music data must be in another bank.

Adding trilo_scc_player module in front of the modules list allow to put it in bank #0. Then, I advise you to put your music in the bank #3 (a classical bank to switch mapped-ROM segment).


See module use cases in the sample programs:


Library configuration (msxgl_config.h):

// TriloTracker options
#define TRILO_USE_SFXPLAY	TRUE	// Add SFX playback through Trilo SCC player (ayFX + SCC format)
#define TRILO_USE_TREMOLO	TRUE	// Add support for tremolo effect (little bit expensive)
#define TRILO_USE_TAIL		FALSE	// Add tail to prevent volume to fall to zero


Dependency on other modules: None