================================================================
VGM Player for DOS
=========================================== […]
Show full quote
================================================================
VGM Player for DOS
================================================================
Player of .VGM files (Video Game Music) for PC under DOS.
----------------------------------------------------------------
1. CHIPS EMULATED BY SOFTWARE
----------------------------------------------------------------
These ones are calculated sample by sample, in real time, in the
CPU itself. You dont need nothing weird of hardware, only a card
that can put out PCM (a Sound Blaster or compatible, or the
parallel port with a Covox):
- PSG (SN76489) -- Master System, Game Gear, BBC Micro,
and a lot of 8 bit computers. With
support for "dual chip" (two PSG at
same time, thing of some arcade
boards).
- AY-3-8910/8912 -- MSX, ZX Spectrum 128, Amstrad CPC,
Atari ST.
- SCC (Konami) -- MSX cartridges with the Konami
SCC/SCC+ sound expansion.
- NES APU -- NES/Famicom (2 pulse, triangle,
noise and DPCM).
- FDS -- Famicom Disk System expansion, one
extra wave channel with phase
modulation.
- Game Boy / GBC APU -- 2 pulse (one with sweep), one wave
channel of 32 samples and noise.
- WonderSwan -- APU of WonderSwan / WonderSwan Color.
- PC Engine / TurboGrafx-16 -- 6 wave channels, noise, and
frequency modulation between pairs
of channels.
- YM2203 (OPN) -- PC-88, PC-98 and other japanese
computers (the PSG part of the chip;
the FM part goes through real
OPL2/OPL3, see section 2).
----------------------------------------------------------------
2. CHIPS THAT NEED REAL OPL HARDWARE
----------------------------------------------------------------
These ones are not emulated no more, they get translated: the
program grabs their registers from the VGM and resend them as is,
like OPL2/OPL3 commands, straight to the Yamaha chip of your card.
- YM3812 (OPL2) -- AdLib, Sound Blaster (Pro/16/AWE).
- YM3526 (OPL) -- the ancestor of OPL2.
- Y8950 (MSX-AUDIO) -- FM expansion for MSX.
- YMF262 (OPL3) -- Sound Blaster Pro 2/16/AWE, with its
secondary bank of 4 operators.
- YM2413 (OPLL) -- this one we dont really emulate it,
we approximate it reprogramming a
normal OPL2/OPL3 so it sound similar.
The real OPLL as itself is not
supported.
- FM part of YM2203 -- same trick like the YM2413.
----------------------------------------------------------------
3. AUDIO OUTPUT
----------------------------------------------------------------
a) Sound Blaster (by default, or if you put OUTPUT=SB). The
program find out what card you have reading the environment
variable BLASTER, that must be in your AUTOEXEC.BAT, like
this:
SET BLASTER=A220 I5 D1 H5 P330 T6
Plays through hardware DMA.
b) Parallel port, with a Covox or Disney Sound Source
(OUTPUT=LPT1, LPT2, LPT3 or LPT4). Here the PCM is already
mixed by the program in software and gets sent to a
homemade DAC plugged in the parallel port. Only sounds what
is synthesized by software.
----------------------------------------------------------------
5. CONFIGURATION FILE (vgmdos.ini)
----------------------------------------------------------------
PATH=<path> Where it looks for your VGM when it starts.
QUALITY=<n> Sample rate. Accepts 8, 11, 16, 22 or 44 as
shortcut (thousands of Hz), or any number
between 4000 and 44100 if you wanna fine
tune more.
286=1 The "SLOW286" mode. Several emulators (NES,
GB, WonderSwan, SCC, FDS...) lower a bit
their internal time resolution -- things
like Zero-Order Hold in the noise or
subsampling in the FDS -- for not drowning
the CPU in slow machines. You lose some
fidelity, but normally its not too much
noticeable. If you got something more
powerful (386/486 and up), put 286=0 or just
remove the line, better fidelity.
OUTPUT=<mode> SB for Sound Blaster (its what it does
anyway if you dont put this line), or
LPT1/LPT2/LPT3/LPT4 if you output through
parallel port with a Covox.
PGUS_TNDY=1 If you have a Tandy board (Picogus!) it
sends the PSG straight to the real chip
(port 0xC0 by default) instead of emulating
it by software. If yours is in other port,
PGUS_TNDY=<port in hex>.
NOSHORT=1 Shows the full name of the song (the one
that comes in the GD3 tag of the VGM) in
the browser, instead of the short name of
the file.
----------------------------------------------------------------
6. FILES.LST (song names without reading every .vgm)
----------------------------------------------------------------
From the browser, key S makes a FILES.LST in the current folder:
one line per .vgm, format "name.vgm=Song Title", taken from the
GD3 tag of each file. Once it exist, the program reads the title
from there instead of opening every single .vgm -- faster when
you enter a folder with lots of files, specially with NOSHORT=1.
If you delete or move some .vgm, just press S again to remake it.
TheElf 2026
Made in free time, for pure love of my 286