Skip to content

QuattroPlay

Last release 2017-12-30 / Plays music and sound effects from over 75 Namco games...

Technical discussion which is not directly related to VGM files. Talk about Hardware and Software.

Moderator: Staff

  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

QuattroPlay

Post by ctr »

It's finally released! Sorry for hoarding it for an entire summer...

Image

Based on reverse engineering of the original "Quattro" sound driver, this program lets you play music and sound effects from over 75 Namco games, including "Ridge Racer", "Tekken", "SoulCalibur" and so on...
It also supports channel muting, WAV and VGM logging, and a tracker-style pattern visualization (which looks really neat).
Please see the readme included for instructions on how to use.

Enjoy!

Bitbucket repository
Github repository
Windows binary

Also, this program has been featured on Pixelated Audio if you're interested in what it can do...
  • User avatar
  • bmos Offline
  • Posts: 92
  • Joined: 2014-07-14, 22:54:26

macOS binary

Post by bmos »

here's the macOS build based off the latest commit (3f3486d)

You must first install SDL2 from homebrew. Either visit http://brew.sh OR launch terminal and type:

Code: Select all

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
hit return to install the package manager then run:

Code: Select all

brew install sdl2
then run from the command line :)
Attachments
quattroplay_macos-v1.0.zip
(83.2 KiB) Downloaded 586 times
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

Here's an "alpha" release of version 1.1, featuring:

- improved mulaw algorithm
- improved UI performance on mac/linux
- playlist support
- game selection when running without arguments
- minor fixes

This release is not 100% tested and I don't have playlists for all games yet...

github (direct)
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

Second "alpha" release of version 1.1 (maybe it should be a Beta release but who cares). Enjoy!

very basic changelog:
  • More playlists added and existing ones revised
  • UI improvement
  • Keyboard display mode in playlist screen (press L)
  • Window can now be resized
  • minor fixes and changes...
Get it here and/or watch the preview video, with audio lag courtesy of OBS.
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

Alpha release of version 2.0, as I skipped v1.1 and everything else in between, because this is a big change :)
  • New sound drivers supported:
    • System 86
    • System 1 (w/ WSG, but no DAC support yet)
    • System 2, 21 (VGM logging not always working)
    • NA-1/NA-2
  • Ability to select audio output device (press F1 in the select screen)
  • Marks unavailable games (with missing ROMs)
Also don't be alarmed by the lack of quattroplay.ini, it can now auto generate this file.

Get it here
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

Released version 2.0 (after a very long alpha period). This will be the last release for a while.

Check release notes here.

Also, here's a rip of Battletoads Arcade, converted to work with QuattroPlay. Playing it is easy with the new version. Just extract the files somewhere, run QP and drag and drop the INI file to play.
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

I have released assembler macros and tools that you can use to make your own music for the Quattro sound driver. Also included are some of the songs I made a while ago. It might provide an insight into how Namco made their music back in the days.
  • User avatar
  • Namco51 Offline
  • Posts: 7
  • Joined: 2020-01-17, 19:59:17
  • Location: Gilroy, Ca

Rhythm Shift playing non-stop

Post by Namco51 »

I just noticed, Rhythm Shift never advances to the next track. It should be around 4:23 long, but just keeps playing forever.
Image

It's the same no matter if I used the original INI or the updated one. Both versions have the same behavior in the new INI as well. Is there any way to fix that?

Code: Select all

[data][data]
name     = Ridge Racer
driver   = Quattro
type     = C74
filename = rr1data.6r
gain     = 1.0
muterear = 0

[wave.0]
filename = rr1wav0.10r
length   = 0x100000
position = 0x0

[wave.1]
filename = rr1wav1.10p
length   = 0x100000
position = 0x200000

[wave.2]
filename = rr1wav2.10n
length   = 0x100000
position = 0x100000

[wave.3]
filename = rr1wav3.10l
length   = 0x100000
position = 0x300000

; affects beginning of song 0x55
[action.0]
r00 = 0
[action.1]
r01 = 0
[action.2]
r00 = 1

[playlist]
40 = Welcome Racer
loops=3
50 = Ridge Racer (Power Remix)
51 = Rare Hero (Sanodigy mix)
52 = Feeling Over (Underground)
53 = Rotterdam Nation (Foo Mix)
54 = Speedster (I like A.T mix)
55 = Rhythm Shift (12" Version)
bank=2
46 = win win win (Death Mix)
43 = Game Over 1
49 = Game Over 2
55 = Rhythm Shift (Different Intro)
bank=0
01 = Speaker Check
57 = Beat Checker
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

simple answer: a problem in the loop detection algorithm.

technical answer: The problem is that the sub song 0x3e is looping from within a subroutine. I wrote a generic loop detection algorithm for the system 1/2 games that does handle this case, but for some reason i never ported the original Quattro sound driver to use this algorithm.

The quick fix for now is to add something "time = 263" after the "bank = 2" in the playlist file. The better way is to use the newer loop detection algorithm but it would need some testing across all games. Can't do it now though because I'm on a business trip.

Post by Sonic of 8! »

There's any chance of the program being updated with new Namco games? Because I tried to check if there's available a sound test on the original Cosmo Gang game (the mechanic one) but the Service Mode doesn't seems to be triggered in MAME. The machine uses YM2151 as main soundchip and 2xUPD7759 for speech. It was added on the 0.219 build.
オモいカルチャーをオモチャーと言う - 細野晴臣
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

Cosmo Gangs is added in the latest git version. However sound effects are done by an ADPCM chip which is not supported now.

Post by RingoStarr39 »

ctr wrote:Cosmo Gangs is added in the latest git version. However sound effects are done by an ADPCM chip which is not supported now.
Comparing the songs played back on QuattroPlay to the recording on the Namco Elemecha Encyclopedia CD, there seems to be some minor differences.
Like for example the drums in the track "BGM 1 (intro)". The pitch of Jingle 3 seems wrong as well.
Is this due to inaccurate emulation of the YM2151 or were the songs deliberately changed for the soundtrack?
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

I haven't disassembled the sound driver as of yet, so I don't know if there are differences in the commands or behavior of for example the pitch envelopes. There are some differences in the music that imply that the OST is not a direct rip from the game.

Post by BlackYoshi485 »

ctr wrote:Also, here's a rip of Battletoads Arcade, converted to work with QuattroPlay. Playing it is easy with the new version. Just extract the files somewhere, run QP and drag and drop the INI file to play.
Kinda off-topic question to old ass post but, would you be able to tell how you did this conversion of the Battletoads Arcade's music? Last time i checked there aren't any tools or scripts to rip sequences from this game (if it were possible to get them in midi that'd be amazing).
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

It was done by reverse engineering the sound driver and then writing a custom converter tool. I though it would be too difficult to accurately convert the envelopes and pitch bends etc by a MIDI conversion so I made this instead.
Post Reply