superctr / QuattroPlay

Implementation of the Quattro sound driver used in 90s Namco arcade games
GNU General Public License v2.0
26 stars 8 forks source link
emulator game sound

QuattroPlay

About

This program implements the sound drivers used by Namco arcade games from the mid 80s to the late 90s. It can play music and sound effects from over 140 games, with a tracker-style pattern visualization, channel muting and more.

QuattroPlay is free software licensed under the GPL version 2.

Supported Sound Drivers

Build instructions

The only dependency is SDL2 (sudo apt-get install libsdl2-dev). Ver 2.0.8 or above is required, 2.0.9 is recommended especially on Linux.

The makefile is tested on Arch Linux, Linux Mint, Ubuntu and Windows (using MSYS2).

The program works on macOS, but you might have to do modifications to the makefile. I can't help you there.

Usage

Currently zipped MAME ROMs are not supported, you will have to store them in a subdirectory under /roms.

Then run it from command line/terminal:

bin/QuattroPlay.exe <gamename>

or

./bin/QuattroPlay <gamename>

Running without the argument will allow you to select a game from a menu. It is also possible to load .ini files with associated data and wave files by drag and drop while the program is running.

GUI usage

The current user interface is a bit complicated... Currently it only uses the keyboard.

Use the arrow keys to move the selection and press Enter once to edit the value. Use the arrow keys to set the value and press Enter again to set it.

There are three groups of values. The first are Track slots. By entering a value here you can play music or sound effects. The second group control Registers. These are used to control various parameters of the song. The third group is not editable but used to display information on the 32 Voices (sound channels).

To simply play sounds, simply move the selection to the top left value (Track 0), and press I or D to modify the value. Press S to stop a sound or R to restart.

By highlighting one of the values in the last group you can mute or solo channels by highlighting them and pressing M or S.

Command line usage

./bin/QuattroPlay [options] <gamename> [<song ID>]

If Song ID is specified, the song will automatically start. If enabled with the -w or -v parameters, the filenames will also contain the game name and song ID.

Key bindings (a mess)

This might not be complete yet.

Global

Playlist screen

Main screen

if Track selected

if Track or Register selected

if Voice selected

Notes

Copyright

© 2016-2017 Ian Karlsson

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.