MSXAudio: Fix mute not setting key off correctly.
tools: Update Glass to version 0.6.
Darky: Save one byte.
Copyright 2015 Laurens Holst
Thanks go to l_oliveira, popolon(fr), Pencioner, Supersoniqs and JunSoft for support.
Plays back VGM music files on MSX with the supported sound chips.
VGMPlay can play back music for quite a number of sound chips using various common and less common sound expansions for MSX, such as the PSG, MoonSound and Yamaha SFG. A detailed list can be found below.
Both the VGM and VGZ formats are supported. The compressed VGZ format takes longer to load but also consumes less disk space. If so desired, VGZ files can be manually decompressed to VGM with gunzip for MSX or PC.
The timing resolution is 50 or 60 Hz on MSX1 machines with a TMS9918 VDP, 300 Hz on machines with a V9938 or V9958 VDP, 1130 Hz if a MoonSound or OPL3 is present, and 4000 Hz on MSX turboR.
For collections of VGM music see:
Run VGMPlay from MSX-DOS 2, specifying the VGM file to play on the command line.
vgmplay [options] <file.vgm>
The compressed VGZ format is also supported.
/l Number of playback loops. Default: 2.
Many VGM music loops once the end of the song is reached. With this setting
you can specify how many times VGMPlay should play the repeating part before
exiting. The amount is specified like
/L0 to loop
infinitely. This setting will have no effect for songs which don’t loop.
/b Enter blackout mode during playback.
This setting makes the screen go black during playback. For machines with a lot of VDP interference on the audio output, this may reduce the amount of interference.
To configure Multi Mente to play VGM files, add the following lines to MMRET.DAT:
.VGM VGMPLAY $T .VGZ VGMPLAY $T
VGMPlay is free and open source software. If you want to contribute to the project you are very welcome to. Please contact me at any one of the places mentioned in the project information section.
You are also free to re-use code for your own projects, provided you abide by the license terms.
VGMPlay depends on the library projects Neonlib and Gunzip; it is recommended to clone the project with Mercurial so they will automatically be pulled in at the correct version, otherwise you have to download them manually:
hg clone https://hg.sr.ht/~grauw/vgmplay-msx
Building the project is easy on all modern desktop platforms. On MacOS and
Linux, simply invoke
make to build the binary and symbol files into the
Windows users can open the
Makefile and build by pasting the line in the
target into the Windows command prompt.
To launch the build in openMSX after building, put a copy of
COMMAND2.COM and some VGM files to test with in the
bin directory, and then
make run command.
Note that the glass assembler which is
embedded in the project requires Java 8. To check
your Java version, invoke the
java -version command.