APSG
APSG is a command-line DOS program for playing VGM files containing
SN76489 on the Apricot PC/Xi
computers.
You can find the source over on
Github. You can download the latest
version here:
- APSG.EXE.xz - MS-DOS Executable, XZ compressed, 10K
- apsg.img.xz - 720K disk image with executable and test
songs, XZ compressed, 54K
XZ?
XZ is a file compression format, much like
gzip or BZip2. Most archiving tools should support it. If you just want
to decompress on the command line, do:
xz -d file.foo.xz
And you should get file.foo.
How do I use it?
Run it with a VGM file like so:
apsg file.vgm
It does require that the VGM files are uncompressed. A lot of VGM files
are actually gzip compressed, so you will have to decompress them first
with something like:
zcat original.vgm > uncompressed.vgm
If the SN76489 frequency is not 2MHz (and it probably won't be - pretty
much every other system used a color clock signal), APSG will re-tune
the notes based on the difference. If you don't want it to do that, you
can use the /n switch before the filename.
On Unix, it will just print out a list of I/O writes and delays. This is
just for validating the logic without having to mess with emulators or
real hardware.
How do I build it?
APSG compiles on Unix-like systems (tested on Linux and FreeBSD) and
Borland Turbo C 2.0/Borland Turbo Assembler 2.0.
To build on Unix, make sure you have a compiler available as cc, and
type:
make apsg
To build on DOS, make sure you have Borland Turbo C and Borland Turbo
Assembler installed, and both directories are in your path. Then type:
make apsg.exe
Yes. It's the same Makefile for GNU make, BSD make, and Borland make.
Make is very old.
What if I need help?
You're on your own, buddy! I don't plan to improve this or maintain it,
so if it breaks, you get to keep both pieces. Good luck!