Skip to content

Pinball VGM Ripping

If you're experiencing problems with the website (packs pages/forum/wiki) or you would like to suggest something, you can post here.

Moderator: Staff

Pinball VGM Ripping

Post by SpaceQuakes »

Hi I was wanting to make a HQ rip of High Speed's Multiball theme, but I can't figure out what I exactly need for a extracted VGM.
Can someone help me out?
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

Pinball games are usually tricky... In this case it seems like M1 supports this game so you can use that for WAV logging. Unfortunately VGM logging does not capture the drums or any other sampled sounds. Also songs that use voice samples usually do not play properly in M1 (see: BK2K). You wouldn't be able to log those to VGM anyway, the BK2K rip is an exception since I used some nasty hacks...

If M1 does not work you will have to pray that the game works well enough in MAME to be able to enter the service mode where there may or may not be a sound test.
And finally if there isn't a sound test you might have to mess around with the MAME debugger and in the worst case do assembly hacking. I won't go in depth about that here...

Finally, to even be able to log the Williams/Midway machines you will need to modify MAME that logs the DAC (drum samples etc) as if it was an YM2612. I made a custom build for BK2K, but it may not work here if the hardware is different.

Post by JFD62780 »

Not only that, but it's not too well known how its sound system works. We know CVSD is used for the ingame sound effects and voices, but we don't know enough of what drives the music, except that it ain't FM synthesized...
Until next post...
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

High Speed uses an YM2151 for the music like most other williams hardware of the late 80s.

Post by SpaceQuakes »

Okay... what tools do I need and what are the steps?
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

M1 can be found here. Seems like it's impossible to log to VGM after all, so you'll have to live with only doing WAV for now.
  • Paul999 Offline
  • Posts: 35
  • Joined: 2017-03-06, 7:44:05
  • Location: Mexico

Post by Paul999 »

How you can rip VGM Pinball when converting DAC with YM2612.
It's me! PS999
I'm really working and doing...
Youtube|Twitter|DeviantArt

My HDD USB is working on the PC home, now I'm back! I can work to the rip.

Post by SpaceQuakes »

ctr wrote:M1 can be found here. Seems like it's impossible to log to VGM after all, so you'll have to live with only doing WAV for now.
But didn't you do one of Black Knight 2000 with the files being on VGZ?
Could it be possible that you can convert them into a vgm?
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

That one used the FM chip. Unfortunately, High Speed does not (despite my earlier comment). Black Knight 2000 took a lot of effort in order to log VGM and is not something I would probably do again.

Post by SpaceQuakes »

Well in that case what are ones that use FM chips and what was the process of logging it in a VGM?
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

To check if the game uses the FM chip, just start it in MAME or M1 and get it to the point where it plays some music. Then mute the YM2151 using the mixer window in BridgeM1 or the tab menu in MAME. If the music stops or if only drums and samples are playing, then the game uses the FM chips.

The process for BK2K involved quite a few steps. In order to get the drums working I modified MAME sources to log the DAC writes (used for the drums) as YM2612 DAC writes. dacopt was used to optimize these.

The voice samples were ripped by using the MAME debugger and some hacking. The pinball boards have multiple CPUs and I find out the address the main CPU has to write to in order to command the sound CPU to play a sample. A program was then written to insert the samples into the VGM file as "PWM" datablocks (a sort of DAC used in the Sega 32X) and another program to sequence the datablock play commands (the sequences themselves were written by hand).

Finally, to even be able to log the songs in MAME without using the sound test (which does not include all the songs), more hacking was required. Same deal as with samples, I find out where the main CPU has to write in order to play a song.

Post by SpaceQuakes »

So using dacopt can write what DAC streams and copy what it written into a VGM, sort of like copying answers off someone else during a test, I got it.
But how did you find the music and what website source did you use to find the roms for the music?
How did you modified the MAME sources for dacopt to work?
Can you please elaborate on hacking for the samples and logging respectively?
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

SpaceQuakes wrote:But how did you find the music and what website source did you use to find the roms for the music?
You could find the roms from any website that carries the full and up to date MAME romsets. Finding the music itself is usually done with M1 or the game's sound test.
SpaceQuakes wrote:How did you modified the MAME sources for dacopt to work?
Unless you know programming it seems a bit pointless to explain all that. And even if you do you should have gotten enough info from what I've written earlier to understand. There is no proper way to play DAC streams directly in VGM (apart from the PWM but I used that too!) so I piggy back on the YM2612's DAC mode, even though the pinball hardware does not have an YM2612. dacopt's job is just to reduce the file size of the VGMs by optimizing the streamed DAC data.
SpaceQuakes wrote:Can you please elaborate on hacking for the samples and logging respectively?
Well I can't really explain everything step by step. My knowledge comes from experience, so my advice would just be to try it on your own. Learn how to use the MAME debugger, 6800/6809 assembly and C++ in order to understand the MAME source code which explains the hardware. You have a mountain to climb and unfortunately I can't really pull you all the way up...

Post by SpaceQuakes »

Well if you say it's near impossible. Then I just have to let this go.
Thanks for your help.
Post Reply