Previous Thread
Next Thread
Print Thread
Page 1 of 5 1 2 3 4 5
Joined: Feb 2009
Posts: 3
S
Member
OP Offline
Member
S
Joined: Feb 2009
Posts: 3
Hi,

I am not 100% sure this is the best place in the world to post this - but here it goes. If anyone knows of a better place to ask this question, please tell me what it is. Thanks.

I am just getting into FM synthesis and am particularly interested in the YM2151. This chip provided the music to arcade games like Peter Pack Rat, 720, Marble Madness and more. There is a VERY good vst/plugin for musicians called VOPM that emulates this chip.

I have read on places like OCR that you can follow steps to dump the sound data from a Genesis emulator and have it be read by a program that will give you all the necessary Operator, Carrier, ASDR, LFO, etc ... data so you can pick an instrument you like from a genesis game and then put those settings into VOPM and get the same sound. [Note that the genesis chip is a scaled down OPM/2151 chip - so this works].

So here is my question: How can the same thing be done for arcade games? I have looked EVERYWHERE for ideas how to do this and have come up with nothing. So far the best idea I have come up with is to edit the ym2151.c code for mame to output all the data I need ... I think this may already be done with its "cym logging" in the code but what do I do with the .cym file and is this logging even still supported in MAME?

The reason I post this here is because if m1 uses mame code (like ym2151.c), I think it would be MUCH easier to go to the song in the game I am interested in and THEN kick off the dump/logging. If m1 open source? I do not see the code around here ...

If anyone can help me out I would greatly appreciate it. There are some very non-standard "patches" used in some of these arcade games - I would love to be able to use and/or play around with these instruments in my music.

Thanks

Joined: Mar 2001
Posts: 17,178
Likes: 211
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,178
Likes: 211
One caveat: contrary to what's commonly said on the Internet, the Genesis YM2612 is OPN series and not directly compatible with the YM2151 OPM or the AdLib's OPL. (Early emulators including ancient MAME tried to translate the parameters and shove everything through the AdLib/SoundBlaster's OPL chip and it generally sounded awful).

That out of the way, logging the registers in MAME is probably your best bet for what you want to do. Source is not currently available for M1. If you can point me to the instructions on translating Genesis patches I can get a better idea of exactly how you'd need to go about things.

Joined: Feb 2009
Posts: 3
S
Member
OP Offline
Member
S
Joined: Feb 2009
Posts: 3
Thank you for the quick reply.

Check out this url for instructions on porting Genesis voices/instruments to VOPM:

http://www.ocremix.org/forums/showthread.php?t=4619&page=2

The process is described by "DXFreak".

And yes, OPN and OPM are quite different chips - not many people recognize that but if you listen to Genesis ports of OPM games (Roadblasters comes to mind) it sounds like a crude toy compared to the beautiful music of the arcade game. I could not imagine the music of Peter Pack Rat ported to the Gesnsis in a million years. Just messing around with VOPM has really lead me to appreciate the chip as a musical instrument - it may not be as flexible or as powerful as the DX7 - but it certainly as a clean clarity to the sounds and can produce very interesting sounds. And being able to discover patches from arcade games for me would be a very powerful tool in learning FM synthesis.

Right now I think adjusting the CYM-logging code in ym2151.c in mame is my best bet. Right now that logging is just crude register dumps - I don't quite understand how it is supposed to be read and how all the VOPM settings could be interpreted from it. I'd rather make huge, ugly logs that say things like: C1/TL = 0, M1/TL=23, M1/AR=31 ... etc etc.

I am not looking forward to this process by any means - but the cym logging looks totally undocumented ... hence my attempt to ask for help here.

Thanks again.

Joined: Dec 2004
Posts: 113
Likes: 5
P
Senior Member
Offline
Senior Member
P
Joined: Dec 2004
Posts: 113
Likes: 5
Originally Posted by SevenNine
Right now I think adjusting the CYM-logging code in ym2151.c in mame is my best bet. Right now that logging is just crude register dumps - I don't quite understand how it is supposed to be read and how all the VOPM settings could be interpreted from it. I'd rather make huge, ugly logs that say things like: C1/TL = 0, M1/TL=23, M1/AR=31 ... etc etc.

I am not looking forward to this process by any means - but the cym logging looks totally undocumented ... hence my attempt to ask for help here.

There's really not a lot to say about the CYM logging. It logs each register offset/value byte pair or a '0' byte to mark a 110Hz 'tick' to preserve some timing. It's not really meant to be parsed by hand.

You should stick a load of fprintfs throughout the big ym2151_write_reg switch statement to explicitly log the parameters you're interested in. If you need help with this, let me know. I'm quite a fan of the ol' YM-2151 too smile

Joined: Mar 2001
Posts: 17,178
Likes: 211
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,178
Likes: 211
Yeah, I might try and mess with this stuff myself a bit - Atari really did do some fantastic 2151 programming.

Joined: Dec 2004
Posts: 113
Likes: 5
P
Senior Member
Offline
Senior Member
P
Joined: Dec 2004
Posts: 113
Likes: 5
Ok, after giving this a little thought I've decided to try hacking the YM-2151 core to spit out VOPM-compatible presets on a key-press (and also allow you to selectively disable FM channels).

Joined: Mar 2001
Posts: 17,178
Likes: 211
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,178
Likes: 211
Cool! smile

Joined: Mar 2006
Posts: 1,079
Likes: 6
L
Very Senior Member
Offline
Very Senior Member
L
Joined: Mar 2006
Posts: 1,079
Likes: 6
<infodump>
'OPS' series
ym2128/ym2129:'OPS' and 'EGS': ?16? channels of 6-operator FM synthesis with all the features of the OPM and more. undocumented, needs reverse-engineering for mess.

'OPM' series
ym2151:'OPM' 8 channels of 4 operator FM synthesis with LFO, detune, and other fun features. Uses an external DAC for output.
ym2164:'OPP' same as ym2151 but with multitimbre (channel linking? multiple notes per channel? not sure) stuff; undocumented, needs reverse-engineering for mess. Uses an external DAC for output.
ym2414(B):'OPZ', similar to ym2151 but allows source waveform for each channel to be selected as one of 8 waveforms much like the opl3, instead of being fixed as sine. undocumented, needs reverse-engineering for mess. Uses an external DAC for output.

'OPN' series
ym2203:'OPN' basically an SSG (read: ay-3-8910 clone) with added 4-op fm synthesis; 3 channels of FM; does not have LFO, but supports almost everything else the OPM does. has two (or three?) 8-bit i/o ports. Uses an external DAC for output.
ym2608:'OPNA' an OPN with 6 channels of FM instead of 3, SSG, and an adpcm BUS for encoding/decoding adpcm. has one 8-bit i/o port. Uses an external DAC for output; Stereo; Has internal ?adpcm? samples for Rhythm instruments.
ym2610(B):'OPNB' an OPN with 4 channels (B version has 6 channels) of FM instead of 3, SSG, and a DUAL adpcm bus for encoding/decoding adpcm (simultaneously?). has no i/o ports. Uses an external DAC for output; Stereo; Has internal ?adpcm? samples for Rhythm instruments.
ym2612:'OPN2' an OPN with 6 channels of FM instead of 3, NO SSG channels, and an adpcm channel sharing the time-slot of the last FM channel. Stereo Internal DAC, time-multiplexed output (i.e. the 6 channels are not pre-mixed and then sent to DAC, but 'rendered' in sequence to the DAC rapidly);
ym3438:'OPN2C' same as OPN2, but CMOS instead of NMOS. Uses much less power and hence runs cooler. Cannot usually be used as a replacement for the OPN2 as its inputs are ?not TTL compatible?(ask Charles Macdonald about this). Supposedly fixes two bugs in the OPN2: the sine wave 'downward slope portion' is no longer 1 unit too high; the dac no longer powers down (causing noise/clicks) when it hits exactly 0.000.

'OPL' series
ym3526:'OPL' 2-op FM synthesizer with 9 channels of FM; sine wave as source waveform only. Has 3 rhythm channels which can double as FM. Relatively limited compared to OPM/OPN (no detune, no SSG-EG, etc) but has many channels. SUPPOSEDLY has the same 'downward slope portion' bug as OPN2 does. Uses an external DAC.
ym3812:'OPL2' 2-op FM synthesizer with 9 channels of FM; pin-compatible and register compatible with ym3526, only addition is now has 4 different source waveforms (sine, rectified/absolute sine, half-period sine, and rising-portion-of-absolute-sine-wave-only sine. Still has the 'downward slope portion' bug. Uses an external DAC.
ym2413:'OPLL' 2-op FM synthesizer with 9 channels of FM; more or less an OPL2 with only 2 source waveforms and most (but not all) of the extra features stripped out; has 15 fixed instruments from internal rom (needs decapping) usable, and one user-controllable instrument. No CSM mode. Internal DAC, time-multiplexed output (i.e. 6 of the 9 channels are not pre-mixed and then sent to DAC, but 'rendered' in sequence to the DAC rapidly; the remaining 3 channels come out a separate pin, with their own DAC, or possibly multiplexed from the same main DAC) NOTE: the Konami VRC7 chip is an NES mapper chip with an on-die clone or licensed copy of the ym2413; it has a (mostly) different instrument rom, does not support the rhythm channels, and has only 6 fm channels instead of 9.
ymf262L:'OPL3' 2-op/4-op FM synthesizer with 18 channels of FM; pretty much an enhanced OPL2 with twice as many channels. No CSM mode. Uses an external DAC. Requires a clock running at 4 times the speed that the other Yamaha chips run at. Has a 4-op mode which yields 6 channels of 4 op, 6 channels of 2 op. Stereo. Has internal DAC, unknown if it is multiplexed or not but it wouldn't surprise me.

Some later chips exist which are single chip implementations of OPS/EGS, a chip called OPN3 which I have no info on, and another chip which is a combination of an OPL3 and an OPN3 on one chip. I have very little information about any of these. They all have YMFxxx numbers.
</infodump>

In short:
Most OPM instruments EXCEPT THOSE THAT USE LFO can be losslessly converted to OPN instruments. Some can be converted to the 4-op OPL3 format but this is lossy as OPL3 doesn't support detune and some other features like SSG-EG.
Pretty much everything can be converted to OPZ instruments, but those chips are very rare.

LN

Last edited by Lord Nightmare; 02/18/09 01:01 AM. Reason: update stuff from knurek

"When life gives you zombies... *CHA-CHIK!* ...you make zombie-ade!"
Joined: Nov 2003
Posts: 459
K
Senior Member
Offline
Senior Member
K
Joined: Nov 2003
Posts: 459
OPNA also has rhythm channels, not sure how MAME/MESS handle those, but Hoot and other japanese players need wave files sampled from the original chip (2608_bd.wav, 2608_hh.wav, 2608_rim.wav, 2608_sd.wav, 2608_tom.wav, 2608_top.wav).

Also, IIRC OPN is mono, while OPNA adds panning control.

Joined: Mar 2001
Posts: 17,178
Likes: 211
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,178
Likes: 211
The 2608 waveforms are in the source in MAME - Jarek extracted them through the test port or something.

Joined: Feb 2007
Posts: 549
S
Senior Member
Offline
Senior Member
S
Joined: Feb 2007
Posts: 549
Wow, cool. Any ideas yet about where or how? Will it go into M1 eventually?

I remember trying to program a Yamaha DX7 back in the late 80's and ending up with very simple bass or lead patches that only sounded good inside one or two octaves. I suck at numbers.
I prefer the hands on approach of a monophonic analog synth where you can 'see' everything smile

But I know I'm going to enjoy looking at/playing with some YM2151 sounds in VOPM. Thanks 'Uncle Phil' lol

S

Joined: Dec 2004
Posts: 113
Likes: 5
P
Senior Member
Offline
Senior Member
P
Joined: Dec 2004
Posts: 113
Likes: 5
The Ministry of Cheesy Hacks presents:

http://www.ianm3igb.plus.com/ym2151.zip

Try the patch against MAME 0.129u4 or just overwrite your source files with those included.

While playing a YM-2151-based game:

* Use the numeric keys 0-7 to toggle each channel on/off.
* Press '8' to enable all channels.
* Press '9' to dump the FM parameters for all active channels to an .OPM file (gamename.opm). Each dump is appended to the last, so dump yourself dizzy.

I've been having fun making patches from some of my FM favourites. Get them from here:

http://www.ianm3igb.plus.com/unclephil.opm

Phil

Joined: Mar 2001
Posts: 17,178
Likes: 211
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,178
Likes: 211
Ok, that's the most awesome thing I've seen this week. Nice work, Phil smile

Joined: Feb 2007
Posts: 549
S
Senior Member
Offline
Senior Member
S
Joined: Feb 2007
Posts: 549
Binary up at the mw news board courtesy of Twisty.
http://www.mameworld.info/ubbthreads/showthreaded.php?Cat=&Number=181886

Joined: Feb 2007
Posts: 549
S
Senior Member
Offline
Senior Member
S
Joined: Feb 2007
Posts: 549
Unofficial OSX Port of VOPM 0.15 (latest Windows version and source release is 0.17) and english manual here:
http://www.gorenfeld.net/lou/audio.php3

Free VSTi host for OSX here, works with VOPM:
http://www.refusesoftware.com/freeware.html

I've uploaded an unoptimized, patched SDLMAME binary for OSX:
http://www.mameworld.info/ubbthreads/showthreaded.php?Cat=&Number=182003&page=0

Joined: Nov 2003
Posts: 459
K
Senior Member
Offline
Senior Member
K
Joined: Nov 2003
Posts: 459
If someone want's another source for patches, many X68000 sets Hoot supports at the moment use a MML like music format. Should be easy to parse that into something importable to VOPM (or maybe it's already in that form, files have OPM extension).

Here's one from Romance of the Three Kingdoms 2, lots of chinese sounding instruments:

Code
(v1,0,58,15,2,0,220,0,0,0,0,3,65,28,4,0,5,1,37,2,1,7,0,0,22,9,1,2,1,47,2,12,0,0,0,29,4,3,6,1,37,1,3,3,0,0,15,7,0,5,10,0,2,1,0,0,1)
(v2,0,28,15,2,0,222,30,10,0,0,3,72,31,10,1,3,15,29,0,7,3,0,0,29,12,9,7,10,0,0,7,7,0,1,31,5,1,3,15,39,2,5,3,1,0,28,12,9,7,10,0,0,7,3,0,1)
(v3,0,28,15,2,0,180,0,0,0,0,3,69,31,15,0,6,7,53,2,15,5,1,0,31,7,5,8,2,13,3,1,0,0,1,31,6,0,6,4,37,2,1,2,0,0,31,7,0,7,0,0,1,1,7,0,1)
(v4,0,58,15,2,0,130,0,0,0,0,3,67,28,4,3,7,1,35,2,1,3,0,0,27,8,1,2,0,37,3,15,7,0,0,28,3,0,0,15,27,2,1,6,0,0,26,9,0,10,15,0,2,10,0,0,1)
(v5,0,13,15,2,0,0,5,0,0,0,3,67,31,10,12,5,15,72,1,14,2,0,1,31,10,12,5,15,7,1,4,7,0,1,31,10,12,7,15,7,1,12,7,0,1,31,10,12,6,15,7,1,9,3,0,1)
(v6,0,50,15,2,0,0,5,0,0,0,3,67,31,0,0,15,0,25,1,3,0,0,0,31,0,0,15,0,35,3,12,4,0,1,31,0,0,2,0,36,1,1,0,0,0,31,6,4,5,15,0,2,1,4,0,1)
(v7,0,33,15,2,0,0,5,0,0,0,3,65,28,5,4,3,15,42,3,2,1,0,0,31,7,4,1,2,37,1,3,7,0,0,31,3,4,1,2,35,3,3,4,0,0,31,2,1,4,1,0,2,1,2,0,0)
(v8,0,58,15,2,0,210,0,0,0,0,3,69,31,13,1,4,15,41,2,15,3,0,0,31,20,5,15,14,57,1,13,7,2,0,20,10,1,7,8,35,1,3,7,0,0,23,5,1,7,15,0,0,1,3,0,1)
(v9,0,58,15,2,0,150,0,0,0,0,3,87,31,13,1,4,15,32,1,0,7,0,0,31,11,1,10,15,55,1,4,5,0,0,31,11,1,10,15,29,0,0,2,0,0,31,11,1,8,15,0,1,0,3,0,1)
(v10,0,3,15,2,0,0,5,0,0,0,3,69,31,14,1,10,10,42,0,6,6,0,0,31,5,0,10,6,26,0,0,4,0,0,31,2,4,6,1,32,0,0,4,0,0,28,1,6,8,1,0,0,1,3,0,1)
(v11,0,58,15,2,0,0,5,0,0,0,3,66,24,10,0,2,5,27,1,5,7,0,0,26,16,0,8,11,30,0,15,0,0,0,28,16,0,4,3,32,0,1,6,0,0,24,11,0,6,15,0,2,1,3,0,0)
(v12,0,1,15,2,0,200,0,0,0,0,3,83,31,31,8,2,12,52,0,3,7,0,0,31,11,1,3,1,35,1,9,3,0,0,28,7,9,4,15,17,0,1,1,0,0,18,1,1,4,15,0,1,1,0,0,1)
(v13,0,58,15,2,0,0,5,0,0,0,3,72,31,25,1,2,2,76,0,6,0,0,0,31,16,1,2,13,26,1,3,7,0,0,31,4,2,2,12,37,1,1,0,0,0,31,10,0,3,15,0,1,1,0,0,1)
(v14,0,56,15,2,0,200,0,0,0,0,3,75,26,8,5,7,2,28,3,3,7,0,0,29,4,5,5,1,31,3,4,1,0,0,28,4,2,6,2,32,3,1,7,0,0,29,9,3,3,1,0,3,1,3,0,1)
(v15,0,62,15,2,0,2,8,1,3,2,3,80,31,20,0,10,0,36,0,8,3,0,0,20,2,1,10,3,0,0,2,7,0,1,20,2,1,10,3,0,0,1,1,0,1,20,2,1,10,3,0,0,6,2,0,1)
(v16,0,63,15,2,0,190,0,0,0,0,3,80,31,1,1,10,0,29,0,8,3,0,1,19,2,1,10,1,2,0,3,7,0,1,19,2,1,10,1,2,0,1,0,0,1,19,2,1,10,1,2,0,2,6,0,1)
(v17,0,31,15,2,0,200,3,2,2,1,3,69,31,20,0,15,15,12,0,7,0,0,1,31,2,1,15,0,5,0,3,2,0,1,31,2,1,15,0,7,0,3,0,0,1,31,2,1,15,0,5,0,2,6,0,1)
(v18,0,56,15,0,0,180,30,0,2,0,3,65,31,0,0,0,0,39,1,6,3,0,0,31,3,1,1,1,38,1,7,3,0,1,19,2,1,6,1,38,1,1,7,0,0,16,0,0,9,0,0,1,2,7,0,1)
(v19,0,58,15,2,0,202,56,3,3,0,3,86,20,2,0,5,1,33,1,1,0,0,0,25,6,0,8,3,30,1,5,7,0,0,28,3,0,6,1,48,1,1,0,0,0,12,4,0,6,0,0,1,1,4,0,1)
(v20,0,56,15,2,0,200,80,0,2,0,3,67,18,31,20,10,0,10,1,15,7,3,0,31,17,12,10,0,35,1,6,7,0,0,13,18,1,3,0,27,2,1,7,0,0,12,2,1,10,1,0,1,1,3,0,1)
(v21,0,58,15,2,0,205,80,0,2,0,3,83,30,1,0,1,1,30,3,0,2,0,0,31,1,0,2,1,38,3,2,3,0,0,30,1,0,1,1,48,1,1,3,0,0,8,2,0,6,0,0,0,1,4,0,1)
(v22,0,61,15,2,0,200,90,0,2,0,3,83,31,1,1,2,0,31,3,0,0,0,0,9,1,0,6,0,0,0,1,1,0,0,10,1,0,7,0,0,0,1,1,0,0,9,2,0,7,0,0,0,1,1,0,1)
(v23,0,60,15,2,0,0,5,0,0,0,3,80,31,22,1,3,15,24,0,1,3,0,0,18,15,1,5,14,0,1,1,7,0,1,31,15,0,3,15,32,1,1,3,0,0,31,15,1,5,14,0,1,1,3,0,1)
(v24,0,6,15,2,0,200,90,0,4,0,3,86,10,0,1,3,0,77,0,1,0,0,0,12,0,0,5,0,7,2,3,3,0,1,12,0,1,6,2,0,1,2,7,0,1,18,0,0,6,0,17,1,1,3,0,1)
(v25,0,41,15,2,0,206,40,0,4,0,3,67,19,18,4,4,5,66,0,6,3,3,0,21,14,6,10,6,52,0,4,7,3,0,11,31,3,10,0,45,0,1,7,0,0,14,31,1,8,0,0,0,1,3,0,1)
(v26,0,36,15,2,0,80,1,2,1,1,3,71,20,2,1,5,3,36,1,4,0,0,1,6,7,7,6,0,0,0,0,0,1,1,20,2,1,5,3,37,3,4,6,0,0,7,7,7,7,0,0,0,0,2,1,1)
(v27,0,61,15,2,1,200,115,18,3,1,3,185,27,6,3,5,14,42,3,2,7,1,0,10,7,0,5,15,46,1,2,0,0,1,13,2,0,4,2,43,3,1,3,0,1,11,16,0,6,1,2,2,1,0,0,1)
(v28,0,4,15,2,0,194,0,124,1,1,1,128,18,10,2,10,3,47,1,2,6,0,0,19,11,3,9,2,0,0,2,6,0,1,18,10,2,10,5,77,1,6,4,2,0,19,11,3,9,2,0,0,2,4,0,1)
(v29,0,59,15,2,0,196,16,0,5,0,3,70,28,5,3,5,14,42,3,2,7,1,0,11,7,0,5,15,51,1,2,0,0,0,14,2,0,4,2,48,3,1,3,0,0,12,16,0,6,1,0,2,1,0,0,1)
(v30,0,58,15,2,0,198,30,8,4,1,3,79,25,11,0,3,1,37,3,1,3,0,0,28,12,12,11,5,37,3,9,3,0,0,25,16,0,11,1,47,1,2,3,0,0,17,10,0,11,1,0,1,4,3,0,1)
(v31,0,58,15,2,0,198,11,0,4,0,3,67,19,2,2,0,1,36,1,2,0,0,0,28,18,3,11,4,32,0,9,0,0,0,29,20,1,9,1,55,1,1,0,0,0,17,15,0,9,0,0,0,1,0,0,1)
(v32,0,44,15,2,0,0,0,0,0,0,3,66,18,0,0,10,0,47,0,1,4,0,0,20,0,0,10,0,0,1,2,4,0,0,19,14,0,10,1,39,0,1,4,0,0,20,0,0,10,0,0,0,5,4,0,0)
(v33,0,58,15,2,0,200,40,0,3,0,3,83,18,0,0,6,0,36,0,0,0,0,0,18,0,0,6,3,47,0,4,0,1,0,18,0,0,6,0,42,0,0,0,0,0,14,8,0,8,1,0,0,1,7,0,1)
(v34,0,58,15,2,0,0,5,0,0,0,3,84,14,14,0,3,1,27,2,1,3,0,0,14,14,0,3,15,37,2,7,2,0,0,13,14,0,3,1,37,2,1,4,0,0,19,3,0,10,0,0,1,1,6,0,1)
(v35,0,58,15,2,1,188,3,15,1,1,3,206,12,9,0,9,3,34,0,1,4,0,1,30,17,0,15,12,45,1,5,4,2,1,11,11,0,8,1,50,0,1,4,0,1,14,31,0,10,0,1,0,1,4,0,1)
(v36,0,58,15,2,0,190,76,100,1,1,3,128,15,9,0,9,3,34,0,1,4,0,1,31,17,0,15,12,45,1,5,4,2,1,14,11,0,8,1,50,0,1,4,0,1,16,31,0,10,0,1,0,1,4,0,1)
(v37,0,54,15,2,0,203,2,2,1,1,3,84,15,10,1,5,6,21,1,0,1,0,0,17,2,1,8,3,0,0,1,3,0,1,30,2,18,10,5,0,2,1,7,0,1,15,2,1,10,5,0,2,0,3,0,1)
(v38,0,60,15,2,0,200,0,0,0,0,3,66,18,12,1,10,2,32,1,1,0,0,0,18,10,1,10,3,0,0,1,1,0,1,15,10,1,10,5,19,1,1,2,0,0,20,2,1,10,3,7,0,1,6,0,1)
(v39,0,58,15,2,0,206,40,0,3,0,3,66,16,15,0,8,1,24,0,1,7,0,0,16,12,0,4,1,59,0,8,0,2,0,18,0,0,4,0,51,0,1,0,0,0,16,0,0,10,0,0,0,2,0,0,1)
(v40,0,56,15,2,0,210,1,5,3,1,3,72,18,0,0,3,0,38,0,9,3,0,0,18,0,0,3,0,38,0,7,7,0,0,15,5,0,3,1,37,0,1,3,0,0,15,8,0,9,2,0,0,3,7,0,1)
(v41,0,59,15,2,0,204,20,0,5,0,3,79,31,16,0,10,15,12,0,4,0,0,0,24,10,0,10,0,77,0,2,0,0,0,20,20,0,10,3,77,0,3,7,1,0,16,5,0,10,7,0,0,4,0,0,1)
(v42,0,59,15,2,0,196,18,0,5,0,3,82,17,17,16,6,3,55,0,4,4,1,0,15,18,1,0,2,47,0,2,4,0,0,13,20,0,7,2,47,0,2,7,0,0,16,31,0,9,0,0,0,1,4,0,1)
(v43,0,2,15,0,0,244,47,0,7,0,3,83,31,0,0,10,0,47,0,6,0,0,0,0,0,0,0,15,127,0,1,0,0,0,31,0,0,10,0,43,0,10,0,0,0,20,8,0,10,1,0,0,2,0,0,1)
(v44,0,59,15,2,0,200,80,0,3,0,3,80,20,0,0,10,0,0,0,4,0,0,0,14,16,0,10,5,62,0,2,3,0,0,18,18,0,10,9,38,0,3,0,1,0,14,12,0,10,2,0,1,1,0,0,1)
(v45,0,60,15,2,0,0,5,0,0,0,3,83,31,25,5,2,0,0,0,15,0,0,0,31,18,18,12,7,0,0,1,0,0,1,31,25,0,0,15,0,0,3,0,1,0,31,17,15,10,15,0,0,1,0,0,1)
(v46,0,2,15,2,0,0,5,0,0,0,3,82,30,16,1,10,15,43,0,2,0,3,0,30,10,0,10,15,47,0,0,7,1,0,30,20,0,10,15,15,0,0,3,3,0,30,19,0,10,15,0,0,1,0,0,1)
(v47,0,0,15,2,0,0,5,0,0,0,3,66,30,26,0,13,15,26,0,1,0,1,0,30,28,0,14,15,37,0,14,0,3,0,30,16,0,8,15,5,0,0,0,1,0,29,16,0,8,15,0,0,0,0,0,1)
(v48,0,58,15,0,0,0,0,0,0,0,3,188,26,5,0,2,8,27,1,4,5,0,0,31,9,4,8,11,21,0,6,3,0,0,28,6,0,9,7,26,0,13,5,0,0,26,8,2,6,10,0,3,2,3,0,0)
(v49,0,2,15,2,0,0,5,0,0,0,3,84,28,12,0,4,15,36,1,0,0,1,0,20,8,0,4,15,27,1,0,0,2,0,28,10,0,5,15,34,0,0,0,0,0,16,5,0,2,15,0,3,0,0,0,1)
(v50,0,59,15,2,0,0,5,0,0,0,3,66,24,23,0,11,15,0,0,3,0,3,0,26,14,0,7,15,40,0,2,0,2,0,26,10,0,5,15,57,0,2,0,3,0,22,16,0,8,15,0,2,6,0,0,1)
(v51,0,50,15,2,0,0,5,0,0,0,3,84,28,15,0,6,15,26,1,2,3,3,0,24,16,0,7,15,32,0,8,7,2,0,26,11,0,7,15,29,1,5,3,0,0,24,7,0,4,15,0,2,2,7,3,1)
(v52,0,59,15,2,0,110,0,0,0,0,3,84,28,20,12,15,10,22,0,3,0,2,0,28,19,5,2,10,17,3,1,0,1,0,28,15,10,10,5,17,3,0,3,0,0,30,12,7,5,6,0,1,1,0,0,1)
(v53,0,62,15,3,1,192,127,0,7,0,3,72,31,31,0,12,9,0,0,14,1,3,0,31,13,30,10,10,0,0,1,5,1,1,31,16,0,5,15,0,0,4,4,3,0,31,13,15,10,15,0,0,1,0,2,1)
(v54,0,4,15,0,0,0,0,0,0,0,3,84,31,7,0,1,1,35,0,7,3,0,0,31,10,0,6,0,0,0,2,7,0,1,31,7,0,1,1,35,0,7,7,0,0,31,13,0,6,0,0,0,2,3,0,1)
(v55,0,4,15,2,0,208,0,0,0,0,3,83,13,10,4,4,15,29,1,3,7,0,0,17,7,0,4,15,0,2,1,0,0,1,14,8,5,3,15,35,2,1,7,0,0,15,8,0,4,15,7,2,4,3,0,1)
(v56,0,28,15,2,0,0,5,0,0,0,3,71,31,24,0,12,15,32,0,14,2,0,0,31,15,0,8,15,0,0,2,0,0,0,31,20,0,4,15,27,0,15,0,0,0,31,14,0,5,15,0,0,2,0,0,1)
(v57,0,44,15,2,0,197,40,13,2,3,3,86,24,14,0,7,15,50,1,12,3,0,0,24,10,0,7,15,0,1,4,0,0,1,26,14,0,6,15,57,1,4,0,0,0,26,8,0,6,15,0,2,1,0,0,1)
(v58,0,44,15,2,0,0,5,0,0,0,3,77,24,17,0,7,15,42,1,4,3,0,0,24,4,0,2,15,0,3,0,3,0,1,24,20,0,10,15,32,1,6,7,0,0,24,12,0,6,15,0,2,2,7,0,1)
(v59,0,59,15,2,0,0,5,0,0,0,3,72,29,4,3,2,3,0,0,14,0,1,0,29,15,3,2,7,27,0,6,0,1,0,29,23,0,10,15,27,0,7,0,2,0,30,20,21,15,15,0,0,1,0,0,1)
(v60,0,52,15,2,0,111,0,0,0,0,3,72,31,1,0,5,12,7,0,0,0,3,0,31,13,15,10,15,14,0,14,0,1,0,31,22,7,8,6,19,0,0,7,0,0,31,20,20,8,15,2,0,0,0,1,0)
(v61,0,44,15,2,0,200,0,0,0,0,3,67,31,4,0,0,1,4,0,3,7,1,0,31,31,3,2,1,29,1,5,0,2,0,25,28,5,3,3,7,0,1,7,2,0,31,31,5,3,7,0,2,7,0,3,1)
(v62,0,26,15,2,0,200,20,3,3,2,3,83,18,1,1,10,3,17,1,2,1,0,0,20,2,1,10,0,12,0,3,0,1,0,31,19,1,0,15,25,0,0,0,0,0,20,2,1,10,3,0,2,1,3,0,1)
(v63,0,28,3,2,0,210,40,0,3,0,3,83,31,16,0,0,15,7,1,2,3,0,0,31,0,0,8,0,7,1,1,6,0,1,31,0,0,8,0,12,1,2,7,0,0,31,0,0,8,0,0,1,1,3,0,1)
(v64,0,58,15,2,0,170,32,10,7,2,3,202,31,0,0,0,0,17,0,2,0,2,0,31,0,0,0,0,10,0,1,0,1,0,31,0,0,0,0,29,0,1,0,2,0,21,0,0,4,0,0,0,0,0,0,1)
(v65,0,58,15,2,0,120,120,30,7,2,3,83,31,0,0,0,0,17,0,2,0,2,0,31,0,0,0,0,10,0,1,0,1,0,31,0,0,0,0,29,0,1,0,2,0,12,0,0,4,0,0,0,0,0,0,1)
(v66,0,4,15,2,0,220,120,0,7,0,3,76,31,0,0,5,0,15,0,0,0,3,0,20,0,0,10,0,7,0,7,0,1,1,12,0,0,5,0,47,0,3,0,3,0,16,0,0,8,0,0,0,1,0,0,1)
(v67,0,35,15,2,0,0,0,0,0,0,3,128,31,8,0,4,15,13,0,3,0,2,0,10,7,0,4,15,17,3,1,0,1,0,31,0,0,0,0,3,0,1,0,2,0,16,9,0,4,15,0,3,0,0,0,1)
(v68,0,32,15,2,0,0,0,0,0,0,3,71,31,8,0,4,15,13,0,3,0,2,0,10,7,0,4,15,17,3,1,0,1,0,31,0,0,0,0,3,0,1,0,2,0,16,9,0,4,15,0,3,0,0,0,1)
(v69,0,59,15,0,1,162,127,0,7,0,3,188,28,20,12,14,10,22,0,3,0,2,0,28,19,5,4,10,17,3,1,0,1,0,28,15,10,11,5,17,3,0,3,0,0,30,12,7,6,6,0,1,1,0,0,1)
(v70,0,32,15,2,0,200,31,10,3,1,3,83,28,4,2,3,2,48,2,2,3,1,1,31,8,4,11,3,64,1,8,3,0,1,21,2,0,2,1,19,1,1,3,0,1,18,2,0,13,2,0,0,2,3,0,0)
(v71,0,62,15,2,0,200,54,9,3,1,3,204,13,3,0,13,1,32,2,1,0,0,1,16,3,0,14,15,5,2,1,1,0,1,16,3,0,13,15,5,2,1,1,0,1,16,3,0,13,15,5,2,1,1,0,1)
(v72,0,58,15,0,0,201,20,0,3,0,3,84,15,7,0,8,2,30,1,1,0,0,1,28,9,0,8,4,37,0,2,0,0,1,27,31,0,8,0,69,1,1,0,0,1,22,31,0,9,0,0,1,1,0,0,1)
(v73,0,58,15,0,0,205,20,0,3,0,3,70,12,4,29,8,4,39,1,1,0,0,1,31,15,0,8,15,44,0,2,0,2,1,15,8,0,8,6,57,0,1,0,0,1,16,31,0,9,0,0,1,1,1,0,1)
(v74,0,61,15,2,0,200,54,9,3,1,3,128,15,3,0,13,1,28,2,1,1,0,1,18,3,0,14,15,6,2,1,1,0,1,18,3,0,13,15,6,2,1,1,0,1,18,3,0,13,15,6,2,1,1,0,1)
(v75,0,61,15,2,0,205,27,0,3,0,3,66,15,10,0,5,2,31,0,1,0,0,1,21,31,0,10,0,7,0,1,0,0,1,21,31,0,10,0,7,0,1,0,0,1,21,31,0,10,0,7,0,1,0,0,1)
(v76,0,60,15,0,0,0,0,0,0,0,3,66,12,13,0,3,1,20,2,3,0,0,0,19,3,0,3,0,0,3,2,0,0,0,12,13,0,3,1,10,2,1,0,0,0,19,3,0,3,0,0,3,1,0,0,0)
(v77,0,58,15,2,0,203,71,0,3,0,3,83,30,1,0,5,1,35,1,1,2,0,1,31,1,0,5,1,25,1,2,1,0,1,30,1,0,5,1,44,1,2,1,0,1,12,2,0,7,0,2,1,1,3,0,1)
(v78,0,50,15,2,0,200,52,0,4,0,3,83,30,4,2,6,2,29,1,0,3,0,1,31,8,0,8,12,30,1,5,7,0,1,16,5,2,6,2,30,0,0,3,0,1,11,5,0,6,0,3,0,0,7,0,1)
(v79,0,58,15,2,0,203,53,0,4,0,3,83,29,31,0,5,0,33,1,2,3,0,1,29,31,0,5,0,36,1,4,1,0,1,29,31,0,4,0,42,1,6,5,0,1,10,31,0,6,0,1,1,4,0,0,1)
(v80,0,49,15,2,0,205,55,2,3,0,3,83,30,4,2,6,2,27,1,0,3,0,1,31,12,0,4,7,31,1,5,3,0,1,30,12,2,7,1,26,0,1,3,0,1,12,5,0,6,0,2,0,0,3,0,1)
(v81,0,60,15,2,0,201,40,0,4,0,3,83,31,7,0,2,1,33,0,2,3,0,1,11,31,0,5,0,4,0,2,3,0,1,31,7,0,3,1,24,0,1,7,0,1,11,31,0,5,0,4,0,2,0,0,1)
(v82,0,60,15,2,0,205,33,0,0,0,3,80,27,24,21,15,5,26,0,1,0,0,1,31,13,0,8,15,0,0,1,0,0,1,31,31,0,15,3,25,0,1,0,0,1,31,16,0,6,15,0,1,1,0,0,1)
(v83,0,58,15,0,0,0,5,0,0,0,3,80,31,8,7,5,2,36,1,0,5,0,1,22,0,4,5,4,37,0,2,2,0,1,31,4,2,5,2,37,0,2,5,0,1,24,30,6,4,0,1,2,0,0,0,1)
(v84,0,52,15,2,0,205,28,0,0,0,3,80,30,23,1,4,3,21,2,1,2,0,1,19,2,1,7,0,0,3,1,3,0,1,22,20,11,15,13,27,2,0,3,1,1,31,4,1,7,1,9,1,1,7,0,1)
(v85,0,57,15,2,0,205,27,0,0,0,3,80,0,5,2,5,2,56,0,3,7,0,1,24,5,2,5,2,53,0,3,7,0,1,24,5,2,5,2,23,0,1,3,0,1,21,6,5,5,2,2,2,1,0,0,1)
(v86,0,50,15,2,0,205,27,0,0,0,3,80,24,1,1,3,15,37,1,1,2,0,1,24,5,1,3,15,47,1,7,7,0,1,22,1,1,4,3,19,2,0,0,0,1,20,8,1,5,3,2,2,1,0,0,1)
(v87,0,4,15,0,0,0,0,0,0,0,3,69,31,6,4,7,3,51,2,7,3,2,1,31,11,8,7,2,9,1,1,3,0,1,27,4,3,4,2,32,1,1,2,0,1,27,4,3,6,2,0,2,1,3,0,1)
(v88,0,52,15,2,0,193,0,0,3,0,3,69,31,14,15,14,6,69,0,15,3,0,1,31,18,6,8,1,0,0,1,0,0,1,31,15,5,11,1,24,1,1,0,0,1,31,18,6,8,1,10,1,1,0,0,1)
(v89,0,60,15,2,0,205,0,0,3,0,3,69,24,6,4,7,3,69,2,7,3,3,1,24,11,8,6,2,12,1,1,3,0,1,22,4,3,4,2,20,2,1,3,0,1,22,4,3,5,2,2,2,1,7,0,1)
(v90,0,60,15,2,0,200,0,2,2,1,3,69,31,4,2,15,0,45,2,1,7,0,1,28,31,5,8,1,0,1,2,2,0,1,26,3,3,6,3,70,2,10,0,3,1,24,8,6,8,3,0,2,1,3,0,1)
(v91,0,60,15,2,0,205,0,0,2,0,3,69,26,6,4,7,3,49,2,7,3,3,1,26,11,8,6,2,0,1,1,2,0,1,22,4,3,4,2,23,2,1,3,0,1,22,4,3,5,2,0,2,1,7,0,1)
(v92,0,58,15,2,0,195,69,5,4,1,3,193,22,31,0,5,0,33,1,2,3,0,1,18,31,0,5,0,36,1,4,1,0,1,17,31,0,4,0,42,1,6,7,0,1,10,31,0,6,0,1,1,4,0,0,1)
(v93,0,60,15,2,0,0,26,0,2,0,3,181,27,7,0,3,1,32,0,2,2,0,1,7,31,0,6,0,4,0,2,3,0,1,27,7,0,4,1,32,0,1,6,0,1,7,31,0,6,0,4,0,2,0,0,1)
(v94,0,28,15,0,0,0,0,0,0,0,3,184,31,17,9,15,15,32,0,14,2,0,0,31,10,0,8,15,0,0,2,0,0,0,31,15,0,4,15,27,0,15,0,0,0,31,9,0,5,15,0,0,2,0,0,1)
(v95,0,60,15,2,0,201,63,0,3,0,3,69,31,10,1,2,1,25,2,1,3,0,1,14,1,2,3,2,9,2,2,7,0,1,22,12,8,4,4,48,2,14,3,0,1,22,4,1,5,2,0,2,1,7,0,1)
(v96,0,5,15,2,0,200,74,37,4,1,3,118,23,10,4,1,15,29,1,3,7,0,0,17,5,0,1,15,0,2,1,0,0,1,14,8,5,1,15,35,2,1,7,0,0,15,6,0,1,15,7,2,4,3,0,1)
(v97,0,48,15,0,0,205,31,0,0,0,3,72,24,1,1,3,15,58,1,5,7,0,1,24,27,4,3,2,47,1,5,7,1,1,22,3,1,4,3,22,2,1,7,0,1,20,8,1,5,3,1,2,1,3,0,1)
(v98,0,5,15,2,0,200,77,37,4,1,3,118,23,10,4,4,15,29,1,3,7,0,0,17,5,0,4,15,0,2,1,0,0,1,14,8,5,4,15,35,2,1,7,0,0,15,6,0,4,15,7,2,4,3,0,1)
(v99,0,50,15,0,0,205,31,0,0,0,3,72,31,29,1,4,3,21,3,0,0,0,1,31,31,5,9,2,41,2,8,0,0,1,31,25,3,4,2,13,0,1,0,0,1,31,26,1,5,2,0,3,4,0,0,1)
(v100,0,12,15,0,0,205,30,0,0,0,3,72,29,17,0,0,2,13,3,2,1,0,1,23,8,6,6,3,6,2,0,6,0,1,29,14,0,0,2,13,3,0,1,0,1,23,8,6,6,3,4,2,4,5,0,1)
(v101,0,59,15,2,0,205,28,0,3,0,3,67,20,4,4,7,15,35,3,12,3,0,1,31,8,5,7,2,38,2,9,3,0,1,31,7,4,7,3,20,2,0,3,0,1,31,5,2,12,10,1,1,1,3,0,1)
(v102,0,58,15,2,0,205,29,0,0,0,3,67,31,6,0,4,3,33,1,3,0,0,1,31,9,4,4,2,55,1,9,0,0,1,31,31,0,5,0,24,1,0,0,0,1,24,16,9,11,0,2,1,1,0,0,1)
(v103,0,36,15,2,1,201,40,0,3,0,3,69,25,18,0,15,0,42,0,1,5,0,1,28,4,0,15,0,2,0,2,3,0,1,20,15,0,15,0,35,0,0,3,0,1,28,15,0,15,0,2,0,1,3,0,1)
(v104,0,31,15,2,0,208,28,0,2,0,3,69,31,13,1,11,15,9,0,3,3,0,1,31,31,1,10,0,9,0,3,3,0,1,31,31,1,10,0,9,0,2,7,0,1,31,31,1,10,0,9,0,1,3,0,1)
(v105,0,52,15,2,0,205,0,0,3,0,3,80,31,17,0,8,1,28,0,0,7,0,1,14,31,0,6,0,0,2,1,7,0,1,31,16,0,9,2,34,0,3,3,0,1,18,31,0,10,0,5,1,2,3,0,1)
(v106,0,7,15,2,0,205,0,0,0,0,3,80,22,0,0,10,0,16,0,8,3,0,1,23,0,0,10,0,4,0,1,3,0,1,17,0,0,10,0,5,0,4,3,0,1,23,0,0,10,0,1,0,0,6,0,1)
(v107,0,31,15,2,0,191,4,0,3,0,3,72,31,13,1,11,15,7,0,3,3,0,1,31,18,14,10,0,7,0,6,3,0,1,31,31,1,10,0,7,0,1,7,0,1,31,31,1,10,0,7,0,1,3,0,1)
(v108,0,31,15,2,0,208,6,0,3,0,3,72,31,13,1,11,15,4,0,3,0,3,1,31,31,1,10,0,5,0,2,3,0,1,31,31,1,10,0,4,0,1,7,0,1,31,31,1,10,0,5,0,1,3,0,1)
(v109,0,62,15,2,0,205,0,0,4,0,3,72,31,25,30,15,3,13,0,1,0,0,1,31,31,0,15,0,3,0,3,3,0,1,31,31,0,15,0,3,0,2,0,0,1,31,31,0,15,0,3,0,1,7,0,1)
(v110,0,47,15,2,0,198,51,5,3,1,3,72,28,18,0,15,15,5,0,6,0,0,1,26,15,0,15,0,5,2,1,3,0,1,30,15,0,15,0,5,0,3,7,0,1,25,15,0,15,0,12,0,0,0,0,1)
(v111,0,36,15,2,0,205,0,0,3,3,3,71,31,19,4,5,5,31,0,15,3,0,1,24,17,8,6,0,3,1,1,3,0,1,31,14,5,2,6,53,0,5,7,0,1,31,17,8,6,0,3,2,1,7,0,1)
(v112,0,36,15,0,0,205,0,0,3,0,3,71,31,15,14,10,5,48,0,14,3,0,1,24,17,5,4,0,3,2,1,3,0,1,31,14,8,6,6,53,0,6,7,0,1,31,17,5,4,0,3,2,1,7,0,1)
(v113,0,60,15,0,0,205,30,0,0,0,3,88,31,22,9,6,6,32,1,6,0,0,1,31,31,15,6,0,0,2,1,0,0,1,31,22,22,12,10,25,2,7,0,0,1,31,31,17,8,0,0,1,4,0,0,0)
(v114,0,7,15,2,0,197,0,33,4,1,3,86,31,20,7,7,2,3,0,1,3,0,1,31,20,11,7,2,3,0,4,3,0,1,31,16,21,6,15,3,1,14,3,0,0,31,20,7,7,2,3,0,1,7,0,1)
(v115,0,57,15,2,0,205,0,0,3,0,3,71,31,5,4,3,1,34,2,3,0,0,1,31,8,17,6,0,47,0,3,0,0,1,31,12,8,5,0,40,0,1,0,0,1,27,20,6,9,1,0,1,1,0,0,1)
(v116,0,40,15,2,0,201,12,0,3,0,3,71,31,9,0,6,15,36,1,8,0,0,1,31,10,0,9,15,35,1,3,3,0,1,28,6,0,8,15,40,0,3,0,0,1,31,18,8,8,0,1,1,1,0,0,1)
(v117,0,58,15,2,0,205,0,0,3,0,3,71,31,5,1,4,2,36,3,1,0,0,1,31,8,0,15,3,17,3,10,0,0,1,31,5,0,15,4,63,3,1,0,0,1,31,6,2,5,8,0,2,1,0,0,1)
(v118,0,35,15,2,0,205,28,0,3,0,3,71,23,26,5,6,3,26,1,7,0,0,1,22,9,9,6,7,29,0,1,0,0,1,7,11,3,8,0,48,0,10,0,0,1,31,22,4,7,2,0,2,4,0,0,1)
(v119,0,56,15,2,0,205,0,0,4,0,3,71,31,31,0,15,0,30,0,3,0,0,1,31,23,5,15,2,20,0,3,0,0,1,31,31,0,15,0,31,0,1,0,0,1,31,31,6,15,0,1,1,1,0,0,1)
(v120,0,56,15,2,0,199,23,0,1,0,3,74,31,13,0,15,15,55,0,14,3,0,1,31,11,0,15,15,42,0,3,3,0,1,28,9,0,15,15,44,0,3,0,0,1,31,9,0,10,15,0,0,1,0,0,1)
(v121,0,58,15,2,0,201,27,0,4,0,3,69,31,8,6,7,5,30,2,5,7,0,1,6,20,2,1,0,20,0,0,3,0,1,31,11,4,3,0,23,1,1,7,0,1,27,20,3,8,2,0,0,0,3,0,1)
(v122,0,24,15,0,0,0,0,0,0,0,3,69,30,13,8,6,11,47,2,7,3,0,1,28,6,6,10,11,25,3,0,3,0,1,28,4,3,6,3,26,2,0,3,0,1,28,1,5,6,2,5,2,1,3,0,1)
(v123,0,59,15,2,0,204,0,0,3,0,3,69,31,14,0,15,13,39,2,13,0,0,1,31,13,0,15,13,29,0,1,0,0,1,31,9,0,7,13,29,0,0,0,0,1,31,9,0,8,13,4,0,0,0,0,1)
(v124,0,59,15,2,0,204,0,0,3,0,3,69,31,17,0,15,13,31,2,13,0,0,1,31,13,0,15,13,29,0,1,0,0,1,31,9,0,7,13,29,0,0,0,0,1,31,9,0,8,13,1,0,0,0,0,1)
(v125,0,53,15,2,0,203,9,0,4,0,3,66,31,14,7,6,15,27,0,1,0,0,1,31,11,0,9,14,33,0,1,0,0,1,31,12,0,9,1,14,0,1,0,0,1,31,31,0,9,0,0,0,1,0,0,1)
(v126,0,57,15,2,0,196,16,0,3,0,3,66,31,16,7,8,12,34,0,1,0,0,1,31,17,0,8,15,40,1,1,7,0,1,31,9,0,8,15,36,1,0,0,0,1,31,9,0,8,15,0,1,0,0,0,1)
(v127,0,58,15,2,0,197,16,0,4,0,3,66,9,31,6,5,0,41,2,1,3,0,1,17,11,5,6,7,23,2,1,7,0,1,30,13,12,8,7,28,2,2,7,0,1,25,18,6,6,2,0,2,1,3,0,1)
(v128,0,58,15,2,0,203,31,0,3,0,3,66,24,6,1,5,1,29,2,1,3,0,1,30,13,12,8,7,36,2,1,7,0,1,27,13,2,8,1,19,2,0,7,0,1,25,18,5,6,0,0,2,0,0,0,1)
(v129,0,53,15,2,0,198,0,0,3,0,3,66,31,14,0,6,4,21,1,0,1,0,1,31,31,0,7,0,2,1,1,5,0,1,31,31,0,7,0,12,1,0,0,0,1,31,31,0,7,0,2,1,1,1,0,1)
(v130,0,51,15,2,0,196,7,0,3,0,3,66,31,13,25,8,11,41,0,0,0,0,1,31,10,15,8,4,23,1,0,7,0,1,31,9,0,8,15,28,1,0,3,0,1,31,8,0,8,15,0,1,0,0,0,1)
(v131,0,58,15,0,0,203,81,3,3,1,3,87,23,8,0,5,4,33,3,0,1,0,1,8,5,0,8,14,38,0,0,1,0,1,20,9,0,6,11,18,3,1,1,0,1,20,19,3,6,1,0,2,1,1,0,1)
(v132,0,56,15,2,0,205,0,0,3,0,3,83,31,13,0,8,5,31,1,0,7,0,1,31,12,0,10,5,30,0,0,3,0,1,31,9,0,9,15,29,0,0,7,0,1,31,31,0,12,0,0,0,0,0,0,1)
(v133,0,48,15,2,0,205,0,0,3,0,3,83,31,11,8,15,6,37,2,6,0,0,1,31,16,5,6,0,43,0,3,0,0,1,31,12,8,5,0,21,0,0,0,0,1,28,20,8,12,1,1,1,1,0,0,1)
(v134,0,56,15,2,0,205,1,0,4,0,3,83,31,13,0,8,5,31,1,0,0,0,1,31,12,0,10,5,30,0,0,0,0,1,31,31,0,9,0,32,0,1,0,0,1,31,31,0,12,0,0,0,0,0,0,1)
(v135,0,61,15,2,0,200,40,0,3,0,3,83,31,10,4,10,3,37,1,0,3,0,1,31,12,10,15,10,22,2,7,0,0,1,30,9,4,6,1,5,2,1,3,0,1,30,7,4,7,1,0,1,0,3,0,1)
(v136,0,41,15,2,0,200,30,0,3,0,3,83,30,3,5,6,11,50,0,5,3,0,1,16,4,8,6,11,64,3,0,3,0,1,28,4,6,6,11,27,3,0,3,0,1,28,5,3,7,11,0,3,1,3,0,1)
(v137,0,41,15,2,0,203,44,0,4,0,3,72,18,18,4,4,5,51,0,6,3,3,1,15,14,6,10,6,34,0,4,7,3,1,11,31,3,10,0,24,0,1,7,0,1,14,31,1,8,0,5,0,1,3,0,1)
(v138,0,33,15,2,0,205,21,0,5,0,3,72,14,31,8,15,0,75,0,3,7,1,1,31,31,13,15,8,19,0,6,0,3,1,13,31,0,15,0,32,0,0,2,0,1,20,30,0,10,0,0,0,1,6,0,1)
(v139,0,36,15,2,1,202,48,0,5,0,3,72,12,31,3,5,0,25,0,2,3,0,1,12,27,1,9,3,5,2,14,7,2,1,12,2,3,5,4,25,1,2,7,0,1,8,31,1,9,0,8,2,1,6,0,1)
(v140,0,60,15,0,0,0,0,0,0,0,3,189,31,0,6,1,6,0,0,14,0,0,0,31,19,18,12,7,0,0,0,0,0,1,31,24,0,0,15,0,0,0,0,1,0,31,16,15,10,15,7,0,1,0,0,1)
(v141,0,34,15,1,0,229,0,50,4,3,3,65,31,31,0,3,0,55,0,15,7,3,1,31,20,0,8,0,46,0,2,7,2,1,31,16,0,3,0,37,0,3,3,3,1,31,17,0,6,0,0,0,10,3,1,1)
(v142,0,60,15,2,0,221,0,115,0,3,3,72,13,31,0,0,0,13,0,0,0,0,1,14,31,0,4,0,0,0,0,0,1,1,31,31,0,0,0,13,0,0,0,0,1,14,31,0,4,0,0,0,0,0,2,1)
(v143,0,57,15,1,0,217,0,125,0,3,3,83,31,13,16,2,2,14,2,8,0,0,1,31,4,8,2,13,13,2,2,0,0,1,28,8,9,2,14,41,0,1,0,0,1,19,9,0,2,15,3,1,2,0,0,1)
(v144,0,52,15,3,0,161,127,50,7,0,3,87,17,3,5,1,0,26,0,1,0,0,1,20,9,2,6,11,7,0,15,0,3,1,8,1,2,3,0,20,0,1,0,0,1,20,1,0,8,0,7,0,15,0,3,1)
(v145,0,60,15,2,0,195,127,64,0,2,3,84,25,31,0,1,0,0,0,8,0,0,1,25,31,4,10,0,0,0,8,0,0,1,7,5,12,10,5,21,2,2,0,3,0,14,30,7,10,0,0,0,1,0,1,0)
(v146,0,46,15,3,0,138,96,64,4,0,3,66,26,21,9,12,0,45,0,12,0,0,1,19,23,18,11,15,0,0,12,0,0,1,18,3,0,4,0,40,0,12,0,0,1,20,13,18,15,15,0,1,12,3,0,1)
(v147,0,0,12,0,0,0,0,0,0,0,3,83,31,31,0,15,0,10,0,0,0,0,0,31,31,0,15,0,10,0,0,0,0,0,31,31,0,15,0,63,0,4,0,0,0,31,31,0,15,0,10,0,2,0,0,0)
(v148,0,3,15,0,0,0,0,0,0,0,3,203,31,31,0,4,0,127,0,12,7,0,0,31,31,0,4,0,127,0,8,7,0,0,31,31,0,4,0,127,0,4,7,1,0,31,31,15,4,0,0,0,2,4,0,0)
(v149,0,48,15,2,0,205,28,0,5,0,3,83,31,6,0,15,15,23,0,0,0,0,1,31,31,0,15,0,31,0,0,0,0,1,31,31,0,15,0,27,0,0,0,0,1,31,31,0,15,0,4,0,0,0,0,1)
(v150,0,27,15,2,0,204,26,0,5,0,3,83,8,11,2,9,1,13,0,5,3,0,1,31,6,6,11,5,50,3,9,3,0,1,20,4,0,11,1,13,1,0,3,0,1,31,6,0,11,1,4,1,1,3,0,1)
(v151,0,36,15,2,0,192,20,0,3,0,3,83,31,18,0,6,15,26,1,0,0,3,1,31,17,0,15,15,3,0,1,7,3,1,31,8,0,7,15,17,1,1,0,0,1,31,8,21,8,14,3,1,1,7,0,1)
(v152,0,50,15,2,0,187,0,0,3,0,3,83,31,13,0,12,0,25,0,1,0,0,1,31,11,16,6,2,48,2,13,0,1,1,25,18,3,5,3,64,1,1,0,0,1,29,5,7,8,1,0,1,1,0,0,1)
(v153,0,4,15,2,0,205,0,12,5,1,3,195,29,22,12,6,15,22,0,5,0,3,1,31,13,16,4,15,9,2,8,0,0,1,28,31,0,15,0,72,0,2,0,0,1,16,31,0,11,0,3,0,1,0,0,1)
(v154,0,59,15,2,0,205,50,0,4,0,3,83,31,19,0,3,4,19,0,1,0,0,1,31,31,0,3,0,32,0,1,0,0,1,31,21,17,3,3,23,0,5,0,0,1,31,31,0,5,0,3,0,1,0,0,1)
(v155,0,61,15,2,0,203,14,0,4,0,3,83,31,7,0,3,1,21,0,0,0,0,1,14,31,0,6,0,5,0,0,0,0,1,14,31,0,5,0,5,0,0,0,0,1,14,31,0,6,0,5,0,0,0,0,1)
(v156,0,60,15,2,0,203,28,0,4,0,3,83,26,5,0,1,1,34,0,1,3,0,1,12,31,0,6,0,6,0,1,3,0,1,26,5,0,1,1,12,0,1,7,0,1,12,31,0,6,0,6,0,4,7,0,1)
(v157,0,60,15,2,0,201,40,0,4,0,3,83,31,7,0,5,1,34,0,1,7,0,1,12,31,0,6,0,5,0,1,7,0,1,31,7,0,5,1,25,0,1,3,0,1,12,31,0,7,0,5,0,3,3,0,1)
(v158,0,59,15,2,0,200,40,0,5,3,3,83,7,7,0,8,7,47,0,3,3,0,1,31,6,0,7,3,27,0,0,7,0,1,31,9,0,8,5,15,0,0,2,0,1,20,12,0,10,1,0,0,2,3,0,1)
(v159,0,59,15,2,0,205,12,0,5,0,3,83,27,3,0,10,1,53,0,1,0,0,1,18,31,0,10,0,24,0,2,0,0,1,18,31,0,10,0,20,0,2,5,0,1,18,31,0,10,0,6,0,2,0,0,1)
(v160,0,51,15,2,0,200,35,0,5,0,3,83,31,4,0,0,15,60,1,9,0,0,1,20,4,1,11,4,20,0,1,0,0,1,20,15,0,9,0,20,1,1,0,0,1,24,6,0,9,1,4,1,1,0,0,1)
(v161,0,60,15,2,0,205,0,0,5,0,3,83,31,31,0,6,0,33,0,2,3,0,1,18,31,0,11,0,2,0,2,3,0,1,31,21,0,5,0,30,0,1,7,0,1,18,31,0,11,0,2,0,1,7,0,1)
(v162,0,61,15,2,0,205,0,0,5,0,3,83,31,13,0,10,4,31,0,2,0,0,1,31,31,0,13,0,10,0,1,0,0,1,31,31,0,13,0,10,0,1,0,0,1,31,31,0,13,0,10,0,1,0,0,1)
(v163,0,61,15,2,0,205,0,0,5,0,3,83,31,11,0,10,2,33,0,1,0,0,1,31,31,0,2,0,5,0,1,0,0,1,31,31,0,2,0,5,0,1,0,0,1,31,31,0,2,0,5,0,1,0,0,1)
(v164,0,58,15,2,0,197,32,8,0,2,3,211,25,11,0,4,1,37,3,2,3,0,0,28,4,12,0,5,26,3,9,7,0,0,17,16,0,11,1,47,1,7,7,0,0,10,6,0,6,8,0,1,3,3,0,1)
(v165,0,56,15,0,0,170,37,0,7,3,3,83,16,6,1,3,0,40,0,15,3,3,1,18,3,6,12,0,13,0,1,3,0,1,10,5,6,2,15,58,0,0,3,0,1,25,15,4,5,6,0,0,1,3,0,1)
(v166,0,27,15,2,1,148,127,0,7,0,3,208,8,11,4,7,1,7,0,6,3,0,1,31,6,8,9,5,32,3,10,3,0,1,20,4,2,9,1,7,1,1,3,0,1,31,6,6,9,1,2,1,1,3,0,1)
(v167,0,27,15,2,1,136,127,0,7,0,3,208,8,11,4,9,1,7,0,6,3,0,1,31,6,8,11,5,32,3,10,3,0,1,20,4,2,11,1,7,1,1,3,0,1,31,6,6,11,1,2,1,1,3,0,1)
(v168,0,27,15,2,1,204,58,0,5,0,3,208,8,11,4,9,1,7,0,6,3,0,1,31,6,8,11,5,32,3,10,3,0,1,20,4,2,11,1,7,1,1,3,0,1,31,6,6,11,1,2,1,1,3,0,1)
(v169,0,36,15,2,0,205,34,0,3,0,3,84,25,4,1,1,3,32,0,1,0,1,1,29,6,4,2,8,5,2,1,3,0,1,21,13,0,0,2,28,2,1,3,1,1,25,24,3,1,1,5,2,1,7,0,1)
(v170,0,52,15,2,0,205,23,0,3,0,3,67,10,31,3,4,0,42,0,8,1,2,1,31,10,7,4,2,4,0,0,5,0,1,31,26,5,1,1,25,0,2,0,3,1,31,8,3,4,2,3,0,1,0,0,1)
(v171,0,11,11,2,0,205,0,0,2,0,3,71,6,11,4,4,0,29,0,0,0,3,1,3,2,7,2,3,28,1,3,0,1,1,28,6,0,2,2,16,2,1,0,3,1,31,21,6,4,2,0,1,1,0,0,1)
(v172,0,60,15,2,0,111,0,0,0,0,3,189,26,10,9,10,0,42,0,12,7,0,0,26,24,14,4,7,16,0,12,7,2,0,21,12,21,3,6,0,0,12,7,3,0,17,17,20,8,15,0,0,12,0,1,0)
(v173,0,52,15,2,0,128,0,0,0,1,3,66,4,12,25,13,12,26,0,0,7,3,1,9,5,2,10,0,21,0,0,0,0,0,5,9,2,10,7,48,0,5,2,3,1,9,31,1,10,0,8,0,1,2,0,1)
(v174,0,0,15,0,0,0,0,0,0,0,3,84,31,0,2,14,0,0,0,1,1,1,0,31,0,2,14,0,0,0,0,1,1,0,26,0,2,14,0,0,0,0,1,1,0,24,0,19,13,0,0,0,0,0,0,0)
(v175,0,2,15,0,0,0,0,0,0,0,3,82,30,16,1,10,15,43,0,2,0,3,0,30,10,0,10,15,47,0,0,7,1,0,30,20,0,10,15,15,0,0,3,3,0,30,19,0,10,15,0,0,1,0,0,1)
(v176,0,4,15,0,0,0,0,74,0,1,3,80,31,16,2,13,1,16,0,3,0,0,1,10,20,4,13,0,53,0,7,2,0,0,31,8,31,7,6,10,0,0,0,0,1,31,11,31,7,6,0,0,5,0,0,0)
(v177,0,34,15,0,1,32,127,48,7,0,3,68,31,0,28,15,15,49,0,0,0,0,0,31,0,28,3,15,0,0,0,0,0,0,31,0,9,4,15,3,0,9,0,0,0,31,0,28,4,15,0,0,2,0,0,0)
(v178,0,3,15,2,0,120,127,127,7,3,3,66,31,0,0,0,0,8,0,0,0,2,0,31,0,0,0,0,10,0,0,0,1,0,31,0,0,0,0,29,0,0,0,2,0,31,0,10,4,0,0,0,0,0,0,0)
(v179,0,57,15,2,0,201,0,0,3,0,2,72,31,15,14,10,5,35,0,3,0,0,1,24,14,5,4,4,39,2,5,0,0,1,31,14,8,6,6,62,0,1,0,0,1,31,17,5,5,0,0,1,1,0,0,1)
(v180,0,58,15,2,0,205,0,0,0,0,3,72,13,9,0,9,3,34,0,1,4,0,0,31,17,0,15,12,45,1,5,4,2,0,12,11,0,8,1,50,0,1,4,0,0,14,31,0,10,0,1,0,1,4,0,1)
(v181,0,36,15,0,0,80,1,2,1,1,3,70,10,2,1,1,1,16,0,7,0,0,1,4,1,4,13,0,0,0,0,0,0,1,24,2,1,2,0,35,3,2,5,2,0,6,7,7,13,0,0,0,2,3,0,1)
(v182,0,56,15,2,0,205,0,0,5,0,3,84,31,19,5,10,5,29,0,0,7,2,1,31,13,5,10,2,38,0,3,0,1,1,31,19,10,5,2,36,0,2,0,3,1,31,28,15,7,0,1,0,2,0,1,1)
(v183,0,60,15,0,0,205,0,0,0,0,3,67,31,31,0,0,1,12,0,3,0,1,1,31,31,8,2,1,0,2,5,0,2,1,25,28,5,3,3,18,0,1,7,2,1,31,31,5,2,7,0,2,7,0,3,1)
(v184,0,3,15,0,0,205,0,0,6,0,3,80,24,31,23,15,0,104,0,1,0,0,1,24,31,16,15,0,104,0,1,3,0,1,21,31,27,15,0,13,0,0,3,2,1,19,22,13,10,0,0,1,0,7,0,1)
(v185,0,57,15,0,0,198,44,0,3,0,3,80,26,21,0,6,6,42,2,0,7,1,1,29,26,6,4,11,0,0,7,5,1,1,31,24,3,4,2,32,2,0,7,3,1,31,0,7,3,0,0,3,1,0,0,1)
(v186,0,59,15,0,0,205,0,0,4,0,3,80,31,31,12,0,0,14,0,2,0,2,1,31,18,2,5,5,26,0,0,0,0,1,31,26,12,5,7,10,0,4,0,3,1,31,9,12,4,12,1,1,0,0,0,1)
(v187,0,40,15,0,0,205,0,0,3,0,3,80,31,16,18,6,10,25,2,1,0,1,1,31,16,18,6,10,31,0,2,0,1,1,31,16,18,6,10,34,0,2,0,0,1,31,16,18,8,10,0,0,3,0,0,1)
(v188,0,36,15,0,0,104,53,3,0,1,3,84,28,0,28,5,15,16,1,1,3,0,1,29,21,28,5,15,0,1,1,0,0,1,31,21,28,5,15,0,1,1,3,0,1,20,6,28,5,15,0,1,1,0,0,1)
(v189,0,36,15,2,0,205,0,0,0,0,3,67,31,31,0,0,1,0,0,3,0,3,1,31,31,4,2,1,27,2,5,0,3,1,25,28,5,3,3,3,0,1,7,2,1,31,31,5,2,7,0,2,7,0,3,1)
(v190,0,63,15,3,1,192,127,0,7,0,3,72,31,31,0,12,9,0,0,14,1,3,0,31,13,30,10,10,0,0,1,5,1,1,31,21,0,5,15,0,0,9,4,3,0,31,17,15,10,15,0,0,7,0,2,1)
(v191,0,52,15,0,1,106,69,19,0,1,3,83,31,1,3,0,0,0,0,0,1,2,0,31,1,14,13,0,0,0,0,7,1,0,31,17,0,0,0,0,0,2,1,0,1,31,2,19,13,0,0,0,0,6,0,0)
(v192,0,37,15,3,0,255,0,0,0,0,3,66,26,17,0,13,15,0,2,0,0,3,0,30,9,6,2,0,0,3,0,0,3,0,29,12,14,1,14,0,3,0,0,3,0,28,8,0,0,15,0,3,0,0,3,1)
(v193,0,37,15,3,0,255,0,0,0,0,3,66,26,22,0,13,15,0,1,0,0,3,0,30,8,8,14,0,0,3,0,0,3,0,30,16,0,8,15,0,3,0,0,3,0,29,16,0,8,15,0,3,0,0,3,1)
(v194,0,60,15,2,0,205,0,0,0,0,3,83,31,23,0,8,1,13,0,15,0,0,1,26,17,15,12,7,0,0,0,0,0,1,24,26,20,8,7,28,0,0,0,1,1,28,14,16,9,2,0,0,0,0,0,1)
(v195,0,60,15,0,0,205,0,0,2,0,3,83,31,31,0,0,0,13,0,2,7,2,1,19,31,17,8,0,1,0,1,0,0,1,31,26,10,5,5,16,2,1,0,1,1,31,31,16,7,0,1,0,0,0,0,1)
(v196,0,56,15,2,0,205,0,0,4,0,3,83,31,31,5,2,0,0,1,5,7,1,1,31,31,9,9,0,0,1,3,0,1,1,30,26,11,8,0,31,1,1,0,3,1,31,15,17,9,8,0,1,1,0,3,1)
(v197,0,60,15,0,0,0,0,0,0,0,3,83,31,0,27,5,15,0,0,15,0,0,0,31,15,30,3,2,0,0,1,0,0,1,31,25,0,0,15,0,0,10,0,3,0,31,17,15,10,15,0,0,1,0,0,1)
(v198,0,62,15,3,1,192,127,0,7,0,3,83,31,28,17,15,6,0,0,14,1,3,0,31,13,30,10,10,0,0,1,5,1,1,31,16,0,5,15,0,0,4,4,3,0,31,13,15,10,15,0,0,1,0,2,1)
(v199,0,56,15,2,1,239,40,10,5,1,3,68,31,31,0,2,0,21,3,14,7,0,1,6,31,0,2,0,13,3,3,0,0,1,16,7,0,2,0,37,3,11,0,0,1,26,7,0,2,5,0,3,4,7,0,1)
(v200,0,60,15,2,0,197,0,0,0,0,3,196,31,31,0,2,1,16,0,2,6,1,1,24,22,4,4,1,0,2,2,0,2,1,31,5,6,1,3,18,0,1,7,0,1,31,31,2,1,7,0,2,2,3,2,1)

Joined: Mar 2001
Posts: 17,178
Likes: 211
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,178
Likes: 211
Or you could run the games on MESS's secretly excellent X68000 driver after applying the same Ministry of Cheesy Hacks patch and yank the instruments that way.

Joined: Nov 2003
Posts: 459
K
Senior Member
Offline
Senior Member
K
Joined: Nov 2003
Posts: 459
Yea, have fun getting to the ending song on a japanese only strategy game. :P

Joined: Feb 2007
Posts: 549
S
Senior Member
Offline
Senior Member
S
Joined: Feb 2007
Posts: 549
I can't get VOPM to load the damn dumps, the import button doesn't do anything.

If someone finds out how to do that (on a mac) please let me know.

Playing with the channel mutes is interesting. For example, there's a the lead sound in Shinobi that takes up three channels, a main channel, another one playing the same thing with a different sound to fatten it up a bit and a third one that plays the same thing delayed.

And Namco's Tank Force, that is just amazing work. It almost sounds like there's reverb on it but it's done entirely with layered sounds.

Pretty cool stuff, I wish I could figure out how to load the sounds in VOPM.

Joined: Dec 2004
Posts: 113
Likes: 5
P
Senior Member
Offline
Senior Member
P
Joined: Dec 2004
Posts: 113
Likes: 5
Originally Posted by Sune
I can't get VOPM to load the damn dumps, the import button doesn't do anything.

If someone finds out how to do that (on a mac) please let me know.

I take it you can import an .fxb/.fxp? I can tweak it to chuck those out instead.

Originally Posted by Sune
And Namco's Tank Force, that is just amazing work. It almost sounds like there's reverb on it but it's done entirely with layered sounds.

Oh definitely. I think my favourite of the pre-PCM Namco lot is Splatterhouse. The chip sounds possessed smile (see 0x10, 0x15).

Joined: Feb 2007
Posts: 549
S
Senior Member
Offline
Senior Member
S
Joined: Feb 2007
Posts: 549
Yes, that'll work, I found out I can load at least .fxb files from within the VSTi host program.

Thanks, and thanks for the cool toy.

Joined: Feb 2009
Posts: 3
S
Member
OP Offline
Member
S
Joined: Feb 2009
Posts: 3
Wow Phil, this is great! This is way beyond what I was planning on doing. Here you can easily isolate the channel, press a button and you have the patch file all ready to be imported by vopm! Thank you!

I grabbed the build that Twisty posted and since I was using roms from like 2002, only Paperboy worked. But I tested it there and it worked without a hitch. I'm getting updated roms and will have a lot of fun with this.

Just out of curiousity, is there a list of all arcade games using the 2151? I didn't even know Splatterhouse was an arcade game, let alone one that used the 2151 - I checked it out on youtube and music is very good - I may have to play through the game to get that cool ending music patch.

Oh and I know there are people on SoundShock and OCR that would be very interested in this. If no one minds I'd like to let them know about this.

Joined: Mar 2001
Posts: 17,178
Likes: 211
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,178
Likes: 211
Heh. No, it's been posted on two popular public boards but it's strictly hush-hush ;-) Of course you can tell them.

Joined: Feb 2007
Posts: 549
S
Senior Member
Offline
Senior Member
S
Joined: Feb 2007
Posts: 549
SevenNine:

In MameUI you can sort the gamelist by sound chip.

You can also go to www.mameworld.net/maws (once it's back up that is) and perform an advanced search to achieve the same result.

MAWS is basically an online version of MAME that doesn't play games. Everything else is there.

Last edited by Sune; 02/20/09 03:40 PM. Reason: more info
Joined: Mar 2001
Posts: 17,178
Likes: 211
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,178
Likes: 211
And frankly it's easier to list arcade games that *didn't* use the YM2151. The 2151 was in the iconic Atari stuff, Sega's OutRun, AfterBurner, and Galaxy Force (among many others), a bunch of Namco games on through Air Combat, Williams games like NARC and Smash TV, the original Street Fighter II, a fair assortment of pinball games, and many more.

Enter "YM2151 site:www.system16.com" into Google without the quotes to get an idea.

Last edited by R. Belmont; 02/20/09 03:18 PM.
Joined: Mar 2006
Posts: 1,079
Likes: 6
L
Very Senior Member
Offline
Very Senior Member
L
Joined: Mar 2006
Posts: 1,079
Likes: 6
2151 was also used by williams system 11 pinballs, and a bunch of others which I can't readily check since there's no 'maws' for the stuff in pinmame.

LN


"When life gives you zombies... *CHA-CHIK!* ...you make zombie-ade!"
Joined: Jan 2006
Posts: 7
F
Member
Offline
Member
F
Joined: Jan 2006
Posts: 7
Hi. Sorry to revive this topic, but I came across it during a search. I had been trying to find a good way to convert YM2151 voice data to VOPM format so naturally I was thrilled when I found the Mame build in this topic. However, I can't seem to get it to work.

I downloaded the binary linked to earlier in this thread, and opened up Gradius III (the game I'd like to extract data from) with it. The first thing I noticed was that for some reason, the PCM sounds were scrambled. The FM sounds seemed to be playing properly, but I couldn't toggle them with the number keys as per the instructions. Upon pressing 9, an OPM file was created... but it was 0KB, containing no data whatsoever.

Anyone have any idea what the problem might be? I'd really love to be able to use this. Thanks!

Joined: Feb 2007
Posts: 549
S
Senior Member
Offline
Senior Member
S
Joined: Feb 2007
Posts: 549
Still works fine for me on both mac and PC, just grabbed the PC binary that Twisty posted and tested with Shinobi and the channel mutes were working fine. Pressing 9 generated a 1kb file, I can't test the dump at the moment though.

Does it happen with all games?

--

Uncle Phil, did you ever get around to adding support for .fxb/fxp?

Joined: Jan 2006
Posts: 7
F
Member
Offline
Member
F
Joined: Jan 2006
Posts: 7
I tried Salamander the other day, and it didn't work either. Those are the only two I've tried so far. I'll try a few other games today and see what happens.

Joined: Mar 2001
Posts: 17,178
Likes: 211
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,178
Likes: 211
Must be some kind of epic misunderstanding, because Salamander works fine for me.

Joined: Feb 2007
Posts: 549
S
Senior Member
Offline
Senior Member
S
Joined: Feb 2007
Posts: 549
Confirmed, Salamander works fine for me too.

Joined: Jan 2006
Posts: 7
F
Member
Offline
Member
F
Joined: Jan 2006
Posts: 7
After some searching, it appears that the scrambled PCM was simply an error in the k007232 emulation of the 129u4 build, had nothing to do with the hack itself.

I tried the binary on three different computers under the assumption that the problem was due to some property of my computer in particular, but I got the same result. So I must be doing something wrong, although I have no clue what it might be.

Maybe I'm overlooking something stupid... I'm placing the downloaded binary.exe in D:\gra3\mame, placing Rom zips in D:\gra3\mame\roms, double-clicking the exe, then selecting a game from the menu that appears. Aside from the aforementioned scrambled PCM, everything seems to work as expected for Mame. The game runs, the FM sound plays just fine, it's only the hack's added features don't seem to work. Keys 0-8 have no effect on the FM sound, and key 9 creates a gamename.opm that is 0kb and totally empty.

Also recently, Windows has apparently taken to disliking the binary, because after running it once, it wants nothing to do with it... won't run it again, won't let me move it, delete it, check its properties, etc... Explorer just freezes up when I try to do so. It keeps that up until after I reset. It wasn't doing that at first, I don't know what it's about.

Joined: Dec 2004
Posts: 113
Likes: 5
P
Senior Member
Offline
Senior Member
P
Joined: Dec 2004
Posts: 113
Likes: 5
Make sure you're using the numeric keypad.

Originally Posted by Sune
Uncle Phil, did you ever get around to adding support for .fxb/fxp?

I didn't unfortunately.

Joined: Jan 2006
Posts: 7
F
Member
Offline
Member
F
Joined: Jan 2006
Posts: 7
So THAT was the problem. I was using the number keys above the letters. Using the keypad worked perfectly. Thank you so, so much. laugh

Last edited by felineki; 08/01/09 02:13 PM.
Joined: Mar 2010
Posts: 2
A
Member
Offline
Member
A
Joined: Mar 2010
Posts: 2
i was searching around for some way to view the FM parameters while running arcade games in mame or m1 - i came acrossed this thread... but the link to the "Ministry of Cheesy Hacks" patch is dead - anyone want to re-host it?

Joined: Mar 2010
Posts: 2
A
Member
Offline
Member
A
Joined: Mar 2010
Posts: 2
oh... i guess it was only temporarily down... i tried again a day later and it worked - thx phil

EDIT: the files downloaded but they were broken... back to square 1

Last edited by Alex Mauer; 03/07/10 02:10 PM.
Joined: Feb 2007
Posts: 549
S
Senior Member
Offline
Senior Member
S
Joined: Feb 2007
Posts: 549
It's a patch that you have to apply against the MAME 0.129u4 source before compiling, it probably won't work with later versions of MAME.

The thread on the Mameworld News Board that had Windows and OS X binaries of it has been nuked. I'm guessing it's not a coincidence..

Joined: Apr 2006
Posts: 737
Likes: 1
Senior Member
Offline
Senior Member
Joined: Apr 2006
Posts: 737
Likes: 1
Originally Posted by Sune
The thread on the Mameworld News Board that had Windows and OS X binaries of it has been nuked. I'm guessing it's not a coincidence..

It's been a year.. such contents get binned shortly thereafter.




Joined: Jun 2010
Posts: 2
T
Member
Offline
Member
T
Joined: Jun 2010
Posts: 2
Apologies for necromancy on my first post, but does the patch or binary still exist? It'd be dead handy for a conversion project I'm working on...

Props to you all! smile

Joined: Dec 2004
Posts: 113
Likes: 5
P
Senior Member
Offline
Senior Member
P
Joined: Dec 2004
Posts: 113
Likes: 5
I can't find my hacked code and don't have time to redo it, so the best I can offer is this Win32 binary:

http://philwip.mameworld.info/mame129u4_patched.exe

Joined: Jun 2010
Posts: 2
T
Member
Offline
Member
T
Joined: Jun 2010
Posts: 2
You, sir, are a legend. Thanks muchly - I'll stick around here. smile

Joined: Aug 2010
Posts: 2
N
Member
Offline
Member
N
Joined: Aug 2010
Posts: 2
Phil, could you please re-up the MAME hack to dump FM patches? I know it's a reply to a very old post, but I just stumbled upon this board today when giving M1 a fresh look on an "arcade sound" stint. (I happen to be a musician with a primary interest in oldschool FM/PSG chips and tracking.)

Like the guy who started this thread, I too find the idea of being able to revive some of the authentic FM instrument sounds from the "old masters" very exciting; both with isolating a channel to hear the individual tracks and also being able to reproduce the individual instruments themselves in VOPM.

I tried all the links in this thread, but it seems that all of them our dead. I know of at least 2 people other than me who would also be interested in the hack mentioned in here, so if it's not too much trouble, I'm sure that it would be greatly appreciated.

Thanks so much :3

-nobuyuki


Nobuyuki at 8bitcollective
Joined: Mar 2001
Posts: 17,178
Likes: 211
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,178
Likes: 211
The EXE link on the previous page works fine.

Joined: Aug 2010
Posts: 2
N
Member
Offline
Member
N
Joined: Aug 2010
Posts: 2
ah! you are correct. Thank you


Nobuyuki at 8bitcollective
Joined: Mar 2006
Posts: 1,079
Likes: 6
L
Very Senior Member
Offline
Very Senior Member
L
Joined: Mar 2006
Posts: 1,079
Likes: 6
Thread Necromancy: ARISE!
Did anyone save a copy of either the ym2151.zip from Phil's site, or the compiled executables from either this thread or mameworld? I can find neither of them anywhere, and Wayback Machine is no help either.

LN


"When life gives you zombies... *CHA-CHIK!* ...you make zombie-ade!"
Joined: Apr 2006
Posts: 737
Likes: 1
Senior Member
Offline
Senior Member
Joined: Apr 2006
Posts: 737
Likes: 1
I did happen to have it and was asked to post a link to it. It should stay valid for a while:

http://mameload.mameworld.info/ym2151.zip




Joined: Mar 2006
Posts: 1,079
Likes: 6
L
Very Senior Member
Offline
Very Senior Member
L
Joined: Mar 2006
Posts: 1,079
Likes: 6
Tafoid: Thank you SO MUCH for the patch.
Here it is, ported to baseline MAME GIT as of 5/23/2016:

https://dl.dropboxusercontent.com/u/79094972/mosh_ym2151.patch

LN


"When life gives you zombies... *CHA-CHIK!* ...you make zombie-ade!"
Joined: Mar 2006
Posts: 1,079
Likes: 6
L
Very Senior Member
Offline
Very Senior Member
L
Joined: Mar 2006
Posts: 1,079
Likes: 6
Two small fixes:
1:
2151intf.cpp: comment out line 147:
Code
m_key_down = m_key_down;
Clang doesn't like this type of self-assignment.

2:
ym2151.cpp line 2515: replace the line:
Code
chan_calc(PSG, j);
with:
Code
if (j<7) chan_calc(PSG, j); else chan7_calc(PSG);
I completely missed that (which breaks the dedicated LFSR noise which optionally replaces one operator on channel 7), that's actually a bug in the original 2009 patch.

LN


"When life gives you zombies... *CHA-CHIK!* ...you make zombie-ade!"
Page 1 of 5 1 2 3 4 5

Moderated by  R. Belmont 

Link Copied to Clipboard
Who's Online Now
3 members (exidyboy, 2 invisible), 41 guests, and 4 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,306
Posts121,669
Members5,069
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com