Jump to content

Tutorial info Visit support topic

  • Added on: Jan 11 2013 07:29 PM
  • Date Updated: Jan 11 2013 07:30 PM
  • Views: 19708

* * * * *
1 Ratings

How to rip sounds and music from ROMs using PinMAME32 and M1

Exactly what it says on the tin.

Posted by TheMcD on Jan 11 2013 07:29 PM
pinball music sounds ripping
First off, getting the programs we need:

1) PinMAME32: Grab it from here. Download it, extract it, remember where you left it.
2) M1: Grab it from here. Download, extract, remember.
3) BridgeM1: This is a bit more tricky. Go here. Download "BridgeM1 v0.60a14", "List Pack (UTF-8)" and "m1.xml". Now what you want to do is extract BridgeM1 and M1.xml into the folder you put M1 into and extract the list pack into the "lists" folder within the M1 folder.
That should be all to set you up so far. Now, there are two ways to go about this recording business, one easy but with less ROM support, one more tedious but with more ROM support. Let's take the easy one on first:

1) M1:
First off, throw the ROMs you want to rip from into the "roms" folder in the M1 directory. You could also change settings to make it use the ROM folder you use for VP or such, but I usually don't bother, since hard drive space is cheap as hell nowadays. Then boot up bridgem1.exe. Once it fires up, close the Mixer and click on the little triangle that says "Load" when you hover over it. In the ROM browser, enter "(pinball)" into the filter at the top right to remove the games you don't want to see right now. That list that you have now is the list of ROMs currently supported by M1 - if it's not on there, then you'll have to use PinMAME32 instead. But let's assume we have a ROM that is supported.
After loading that ROM, M1 should automatically start playing. Now, if all you want to do is record everything, just hit "Stop", hit "Toggle WAV Logging" (on the left), hit "Play" and knock off for lunch. M1 should record everything it finds going through the ROM's audio addresses, with the maximum length for a song being 1:45 with a 10 second fadeout already applied. If you want to change that, check the ROM browser - there should be a button "Options". Check under "Misc.", you should find what you're looking for. Otherwise, that should be it - after the program has ran for about two hours, it should have ran through everything you should be looking for, and all the recordings should be in the "waves" folder. Set your Explorer to be able to sort by time and delete every file that is only three seconds long, as those are the recordings for the empty audio addresses, and that's all she wrote. Whatever you do with those files is beyond the scope of this tutorial.
As a sidenote, I've been having some problems with M1 in that it seems to skip songs randomly - I know there's something at the address, but sometimes it just won't play. I'm not sure if that has something to do with the program or the fact I let it record with very low volume (as not to distract me while I keep working/playing on the computer). Just pay attention - if you're missing a song, it might just have not been recorded. It might not happen to you, but it might as well.

2) PinMAME32:
Once again, throw the ROMs into the ROM folder. Fire up PinMAME32.exe and find the ROM you want to record from. Start it, and you should be in a full-screen PinMAME32 window. Press ALT+ENTER to get out of fullscreen, enter "OK" and press a key. Now the ROM should have fired up and you should press F4.
That brings up Sound Command Mode in command mode. Try pressing the arrow keys UP and DOWN to see if there are any commands for the ROM (probably not) - if not, hit DELETE to enter manual mode. The first thing you want to do is enter all zeroes and one one at the end - 00 00 00 00 01. Hit SPACE to play - if you hear nothing, move on to the next number - 00 00 00 00 02, going on and on. If you find something you want to record, you'll want to first go back to all zeroes and hit space to pause all playing, then go back to the number you had before. Now, QUICKLY hit SPACE and then F5 to record.
This is fiddly as hell and needs a lot of practice to get it going decently, for there is one problem - since you're hitting the button really hard because you're in a hurry, you might hit it too hard and PinMAME32 interprets your press as two presses, which means it'll just start and stop recording in the same second. Here's what you can do against that: After you've hit F5, check the "waves" folder and check the newest file (either has the ROM's name or the beginning of the ROM's name with an increasing number). If the file is a tiny file, is 0 seconds long and plays in your media player, then you messed it up - try again. If the file doesn't play in your media player, then PinMAME32 is still writing, so you did it right. Hit F5 again after you feel the recording is long enough (I suggest having a stopwatch or something similar nearby), then move on to the next address you want to record from, and that should be it.
A few small sidenotes:
1) The addresses are held in hex, so you could also have 00 00 00 00 0E. Eligible are 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. If you've made it to 00 00 00 00 0F, continue on to 00 00 00 00 10 and go from there.
2) Don't get discouraged if you're not hearing anything for ten, twenty or even hundred addresses. Start making bigger jumps around and check where you find something, then go backwards to find the beginning of that block.
3) If you can, write down which addresses have songs (preferably also which songs they are) and pass that collection of addresses on to Destruk so he can add them into the command mode.
4) If your sound is crackling or lagging, don't stop recording. Just keep going and listen to the recording when you're done - it might sound a lot better than what you heard (I mainly had this experience with Scared Stiff).
That will be all.