vgmplay(1)

NAME
vgmplay - the official and always up-to-date player for all VGM files

SYNOPSIS
vgmplay file

KEYS
Cursor Left/Right - Seek 5 seconds backward/forward

Ctrl + Cursor Left/Right - Seek 1 minute backward/forward

Space - Pause

ESC/Q - Quit the program

F - Fade out

R - Restart current Track

PageUp/B - Previous Track

PageDown/N - Next Track

SUPPORTED FILETYPES
Video Game Music Files (.vgm, .vgz)

Creative Music Files (.cmf)

DosBox RAW OPL Log Files (.dro)

Playlist files (.m3u)

SUPPORTED CHIPS

SN76496 (2) (Sega PSG) and T6W28 (2) (NeoGeo Pocket custom)

YM2413 (1) (OPLL)

YM2612 (OPN2)

YM2151 (OPM)

SegaPCM

RF5C68

YM2203 (OPN)

YM2608 (OPNA)

YM2610/B (OPNB)

YM3812 (1) (OPL2)

YM3526 (1) (OPL)

Y8950 (1) (MSX AUDIO)

YMF262 (1) (OP3)

YMF278B (3) (OPL4)

YMF271 (OPLX)

YMZ280B

RF5C164 (Sega MegaCD PCM)

PWM (from Sega 32x)

AY8910 (MSX PSG)

GameBoy DMG

NES APU (incl. FDS)

MultiPCM

UPD7759

OKI6258 (Sharp X68000 ADPCM)

OKI6295

K051649

K054539

HuC6280 (PC Engine)

C140

K053260

Pokey (Atari)

QSound

SCSP (Saturn Custom Sound Processor, YMF292-F)

(1) This chip can be emulated via OPL Hardware (like Soundblaster sound cards).

(2) OPL hardware emulation is available, but software emulation is prefered. Hardware emulation is used if another chip activates HW emulation or FMForce is True. (3) You need a sample ROM, called yrw801.rom, to make playback work. Place it in the directory where vgmplay lies or in /usr/local/share/vgmplay/.

OPL hardware emulation can be enabled by setting the "FMPort"-entry in the ini-file. Under Linux the program must be run as root to use hardware FM.

It's possible to write Wave files by editing the "LogSound"-line in the ini-file. Batch conversions are possible by opening a playlist. FM hardware cannot be logged to Wave files.

CONFIGURATION
vgmplay is configured in the file VGMPlay.ini, which should be located in $XDG_CONFIG_HOME/vgmplay (thus, by default ~/.config/vgmplay/VGMPlay.ini). A sample configuration /usr/share/vgmplay/VGMPlay.ini is available for copying and general reference.

BUGS
PauseEmulation is disabled under Linux if no FM Hardware is used.

You have to double-tap ESC to quit the program.

Sometimes MAME's sound cores tend to sound strange.

COMMENTS
The T6W28 doesn't use MAME's T6W28 core. Instead the SN76496 core is modified to emulate the T6W28 with 2 SN76496 chips. The SN76496 OPL emulation is okay, but it's impossible to get the noise sound right.

EMU2413 Emulator was added, because sometimes the one of MAME sounds strange. The Gens YM2612 core was added for the same reason before MAME's YM2612 core was fixed.

AUTHORS
This program was written by Valley Bell.

Almost all software emulators are from MAME (http://mamedev.org)

EMU2413 and Gens YM2612 were ported from Maxim's in_vgm

The YMF278B core was ported from openMSX

zlib compression by Jean-loup Gailly and Mark Adler is used

All custom OPL Mappers were written using MAME software emulators and the OPL2/3 programming guides by Jeffrey S. Lee and Vladimir Arnost

one YM2413 OPL Mapper was ported from MEKA.

The RF5C164 and PWM cores were ported from Gens/GS

The MAME YM2612 core was fixed with the help of Blargg's MAME YM2612 fix and Genesis Plus GX' YM2612 core

AdLibEmu (OPL2 and OPL3 core) was ported from DOSBox

The default HuC6280 core is from Ootake.

EMU2149, the alternative NES APU core and the NES FDS core were ported from rainwarrior's NSFPlay.