Pleiades background music?

RobCarroll

Member
Joined
Dec 2, 2006
Messages
481
Reaction score
4
Location
Hanson, Massachusetts
[EDIT]: Disregard... just checked out a few videos on YouTube (which is what I should have done in the first place) and they all have the music. Carry on.

Just wondering if anybody else that has a Pleiades has background music during gameplay? None of the versions I tried in MAME seemed to have it, but my Centuri upright does.
 
Last edited:
Mine does not play music. Do I need different ROMS? Maybe a DIP switch setting?

Even though I cleaned up/restored this cab when I got it, the game always worked so I never looked at the PCB.
 
From what I understand, the custom chip that played the music, was some sort of doorbell chip that had that melody in it. Not sure where I heard that but that's my understanding.... so probably hard to emulate that weird chip without having one to screw around with. I've had bootleg boards before too that didn't have the background music.
 
Interesting. After some time thinking, I do remember a brief conversation with a KLOV member about this background music. I didn't think about it too much at the time tho...

I always though my game was original. Maybe not. Or maybe the music chip is bad. The game plays fine/reliably.
 

Attachments

  • IMG_20180310_132530824 (1).jpg
    IMG_20180310_132530824 (1).jpg
    271.6 KB · Views: 33

From what I understand, the custom chip that played the music, was some sort of doorbell chip that had that melody in it. Not sure where I heard that but that's my understanding.... so probably hard to emulate that weird chip without having one to screw around with. I've had bootleg boards before too that didn't have the background music.

Absolutely right - it's MAMETesters error 1988 (which you can subscribe to to monitor for the future if you have an account)

I'll attempt a longer explanation.

Games on Phoenix/Pleiads hardware use what are called "tone generators" or "melody generators", "melody chips", "melody IC", I've even heard them called "doorbell chips" as they are used with musical doorbells, etc.

Some chips like this can generate a specific note when fed with information from commands from external ROM. But often instead, they can only play out a full melody that it contains within itself in tiny internal memory. (Or sometimes both!) Normally these would be royalty free, out of copyright tunes. The chips would have envelope circuits, oscillator circuits, just enough for a little tiny synth.

There's dozens of these, each pre-programmed, with different songs built in, and several manufacturers, the most of which we've seen from Texas Instruments and Epson. And if the manufacturer never mass-produced chips with the right songs that someone else wanted, they could sometimes place an order for a limited run, but it would be very expensive, so usually people used the off-the-shelf chips. Or maybe the chip might have a special "write to internal ROM" mode only for developers, then blow a fuse so hobbyists can't read it out. Chips with larger internal ROMs were more expensive but could hold more pre-programmed songs.

Programmable sound generators (PSG) were basically another thing you *could* call this, they're related after all - but they're more like the next upgrade to these melody chips. But often they were selling simultaneously, as "doorbell chips" were simpler and cheaper and not reprogrammable.

Datasheets will often give electrical specifications, pinouts, a block diagram - perhaps just enough information for a hobbyist to use the chips.

The datasheet may also say what little song (or songs) it has preprogrammed. But the datasheet will not contain the contents of ROM. ROM programmers will usually not support these devices as it's not reprogrammable, and it's more than just a ROM, it's got a little bit of audio circuitry.

MAME emulates approximately one or so tone generators in this series of chips - the Texas Instruments TMS3615 and TMS3617. As for the synth part, there's enough similarities between all these chips that you can usually hook up the TMS3615/TMS3617 code and the note-by-note playback will be alright, so you *could* say it supports others in the family, though not fully.

This is fine for Phoenix as it uses a tone generator chip compatible with the TMS3615, the Matsushita (Panasonic) MN6221AA. To complete the emulation, it does so at a fairly high level - someone with a gifted ear listened to the chip's audio either by ear or by waveform analysis with an oscilloscope, and wrote out by hand the internal songs that it uses. It's always possible they got a single note wrong somewhere with human error, but unlikely with so few notes. Internal songs seem to be "Für Elise" (Beethoven) and "Romance D'Amour" (anon.) (https://en.wikipedia.org/wiki/Romance_(guitar_piece) ) and a third, undocumented as of yet "alarm" sound.
http://eleken.y-lab.org/melody_ic/MN6221.shtml

They are encoded here inside the emulation:
https://github.com/mamedev/mame/blob/master/src/devices/sound/tms36xx.cpp

Were they not royalty free songs, these would be loaded externally in an external "ROM dump" that the emulation loaded - though it would be marked "BAD_DUMP" as you couldn't be sure the hand-made representation of the data matched the format of the internal memory. These may someday be externalized anyways, though!

And on real hardware, Pleiads programmed onto Phoenix PCBs will have a Matsushita MN6221AA, and might not play the right song, or songs at all.

But dedicated Pleiads hardware seems allegedly to use the Epson 7910E, based on research. Specifications may be subtly different. Internal songs definitely are: . "Minuet 2, in Partita No.1" (Bach BWV 825) and "Чернобровый, черноокий" (Chernobrovyy, chernookiy) (Dark-Browed, Dark-Eyed) (Russian folk song).
https://datasheet.datasheetarchive.com/originals/distributors/Datasheets-30/DSA-593790.pdf
https://datasheet.datasheetarchive.com/originals/library/Datasheets-UEA1/DSAFRAZ006678.pdf
http://eleken.y-lab.org/melody_ic/7910.shtml

So...
so there's an audio trigger coming through, telling MAME's TMS3615 emulation to play out a specific tune, because we have it hooked up as a note generator - but the tune's not there in MAME's sourcecode, because this is a different chip.

Well! Maybe we can use samples, record a wav file with just the tune and no other audio by breadboarding the chip, and have the emulation trigger wav files for playback.

... except MAME is always getting away from using samples, and proceeding ever onward towards real-time audio generation on all fronts. "Add new audio samples" isn't really something MAMEDev does anymore. And samples (for some audio chips) don't get all the quirks (like analog audio filters) in realtime, it's always going to sound exactly the same, which is inaccurate. You'll capture the PCB's audio filtering circuitry in action while you record, and that would always sound the same.

Well then simple, right? Someone with a trained ear can just listen repeatedly until they write out the "sheet music" for the Epson 7910E. Or hey, we could hook up computers and analyze the audio frequencies to extract it. And then the tone generator emulation will generate the music. With enough painstaking careful analysis, we could see if the tone generator algorithm is the same or different, too. (and the audio filters will be simulated...)

Well, there's eventually going to be dozens of these sorts of chips in MAME. So... wouldn't it be better to read out the internal ROM? Well... you will probably have to decapsulate and read out the internal ROM optically. IF it's the kind of ROM where you can do that. OR maybe the chip has some secret undocumented output mode for the ROM, and a skilled reverse engineer can tweak it into that state, but that is all undocumented and takes time for analysis.

And the TMS3615/TMS3617 emulation in MAME is at a pretty high level - it's got a tone generator routine in the code. But what happens when the block diagrams differ, and the routine encoded in the internal circuit is subtly different? We need to see what each chip is actually doing - ergo, a LOT of decapsulation, or hacking. And that all takes special skills and equipment.

Final wildcard: melody chips are often pin-compatible (or easily adapted) and easily swapped! So schematics may say one thing, PCBs may have another, bootlegs could have anything or nothing at all - and that all changes the correct songs or even the existence of songs!

So... progress on adding more and different melody chips in MAME is kinda stalled right now, as resources are being driven elsewhere, and there's probably many OTHER arcade games from that era in MAME still not playing music, playing the wrong music, or still using samples for music. We can eventually throw some melody chips to the hobbyist decapsulation folks for further analysis - but priority right now for them seems to be on extracting microcontroller code, taking apart the more complex programmable sound generator chips, and unmarked/unidentified chip identification, or whatever else they find interesting. It's time and money intensive for that analysis, so they must set priorities accordingly.

As a hack right now, someone could add (or restore?) sample playback to Pleiads (though it wouldn't be accepted by MAMEDev as a sourcecode patch) to trigger a wav file at the appropriate time. Better yet, as a better hack, alter MAME's tms36xx.cpp to simulate the Epson 7910E's songs, and then figure out how the chip's signals are different enough as for why it's not triggering the tune, which stands a *chance* of getting accepted as a patch to MAME. But long-term, these melody chips will get analysis equivalent to the MCUs and more complex synthesizer chips are getting now.
 
Last edited:
If there's dozens of games that use that chip (or variations of it) as you say, then wouldn't that be reason enough to put in the effort to figure out how to properly emulate them? Someone spent time to at least have the music for Phoenix in, so it can't be that 'impossible' a task :) Considering this has been a known issue since 2005, and esp now with MAME incorporating MESS and other non-arcade games, it certainly seems it won't be done any time soon, so in that case, using samples should be perfectly fine as a substitute until it is done.
 
Doesn't MAME just use samples for this kind of thing anyways? If they are missing you will be missing the sound. If they don't use samples for this game, they should
 
Wow, I really wasn't expecting any more activity in this thread after I updated my original post. Thanks much for sharing all the technicals. Very interesting stuff!!
 
This is really cool to read... The arcade version I played did not have ambient music, just the Beethoven or whatever it was at the end (to my recollection). Gonna look at some youtube vids on original hardware and see if it jars a memory.

Edit: Just downloaded and played it in MAME on my desktop, and there's no music at all. Swore my MAME cab with older version of MAME played something at the end of the landing level. Everyone playing the original game on youtube sucks balls and can't even make it through the levels.
 
Last edited:
My Pleiades originally had a bootleg board inside, which had the music chip but still did not play BGM. I then picked up an original boardset and swapped that chip out of curiosity. It played an alternative BGM. So the chip itself was good but for whatever reason the bootleg board just didn't utilize it. But basically I now have 2 of those chips I can change out if I ever want to change the BGM.
 
I have both boards in my phoenix, with riddles jamma switcher. w/adapters. i am now curious to weather mine has music or not? i have never payed enough attention to it, till this thread came up. curiosity is getting the best of me. will report back...
 
Absolutely right - it's MAMETesters error 1988 (which you can subscribe to to monitor for the future if you have an account)

I'll attempt a longer explanation.

Games on Phoenix/Pleiads hardware use what are called "tone generators" or "melody generators", "melody chips", "melody IC", I've even heard them called "doorbell chips" as they are used with musical doorbells, etc.

Some chips like this can generate a specific note when fed with information from commands from external ROM. But often instead, they can only play out a full melody that it contains within itself in tiny internal memory. (Or sometimes both!) Normally these would be royalty free, out of copyright tunes. The chips would have envelope circuits, oscillator circuits, just enough for a little tiny synth.

There's dozens of these, each pre-programmed, with different songs built in, and several manufacturers, the most of which we've seen from Texas Instruments and Epson. And if the manufacturer never mass-produced chips with the right songs that someone else wanted, they could sometimes place an order for a limited run, but it would be very expensive, so usually people used the off-the-shelf chips. Or maybe the chip might have a special "write to internal ROM" mode only for developers, then blow a fuse so hobbyists can't read it out. Chips with larger internal ROMs were more expensive but could hold more pre-programmed songs.

Programmable sound generators (PSG) were basically another thing you *could* call this, they're related after all - but they're more like the next upgrade to these melody chips. But often they were selling simultaneously, as "doorbell chips" were simpler and cheaper and not reprogrammable.

Datasheets will often give electrical specifications, pinouts, a block diagram - perhaps just enough information for a hobbyist to use the chips.

The datasheet may also say what little song (or songs) it has preprogrammed. But the datasheet will not contain the contents of ROM. ROM programmers will usually not support these devices as it's not reprogrammable, and it's more than just a ROM, it's got a little bit of audio circuitry.

MAME emulates approximately one or so tone generators in this series of chips - the Texas Instruments TMS3615 and TMS3617. As for the synth part, there's enough similarities between all these chips that you can usually hook up the TMS3615/TMS3617 code and the note-by-note playback will be alright, so you *could* say it supports others in the family, though not fully.

This is fine for Phoenix as it uses a tone generator chip compatible with the TMS3615, the Matsushita (Panasonic) MN6221AA. To complete the emulation, it does so at a fairly high level - someone with a gifted ear listened to the chip's audio either by ear or by waveform analysis with an oscilloscope, and wrote out by hand the internal songs that it uses. It's always possible they got a single note wrong somewhere with human error, but unlikely with so few notes. Internal songs seem to be "Für Elise" (Beethoven) and "Romance D'Amour" (anon.) (https://en.wikipedia.org/wiki/Romance_(guitar_piece) ) and a third, undocumented as of yet "alarm" sound.
http://eleken.y-lab.org/melody_ic/MN6221.shtml

They are encoded here inside the emulation:
https://github.com/mamedev/mame/blob/master/src/devices/sound/tms36xx.cpp

Were they not royalty free songs, these would be loaded externally in an external "ROM dump" that the emulation loaded - though it would be marked "BAD_DUMP" as you couldn't be sure the hand-made representation of the data matched the format of the internal memory. These may someday be externalized anyways, though!

And on real hardware, Pleiads programmed onto Phoenix PCBs will have a Matsushita MN6221AA, and might not play the right song, or songs at all.

But dedicated Pleiads hardware seems allegedly to use the Epson 7910E, based on research. Specifications may be subtly different. Internal songs definitely are: . "Minuet 2, in Partita No.1" (Bach BWV 825) and "Чернобровый, черноокий" (Chernobrovyy, chernookiy) (Dark-Browed, Dark-Eyed) (Russian folk song).
https://datasheet.datasheetarchive.com/originals/distributors/Datasheets-30/DSA-593790.pdf
https://datasheet.datasheetarchive.com/originals/library/Datasheets-UEA1/DSAFRAZ006678.pdf
http://eleken.y-lab.org/melody_ic/7910.shtml

So...
so there's an audio trigger coming through, telling MAME's TMS3615 emulation to play out a specific tune, because we have it hooked up as a note generator - but the tune's not there in MAME's sourcecode, because this is a different chip.

Well! Maybe we can use samples, record a wav file with just the tune and no other audio by breadboarding the chip, and have the emulation trigger wav files for playback.

... except MAME is always getting away from using samples, and proceeding ever onward towards real-time audio generation on all fronts. "Add new audio samples" isn't really something MAMEDev does anymore. And samples (for some audio chips) don't get all the quirks (like analog audio filters) in realtime, it's always going to sound exactly the same, which is inaccurate. You'll capture the PCB's audio filtering circuitry in action while you record, and that would always sound the same.

Well then simple, right? Someone with a trained ear can just listen repeatedly until they write out the "sheet music" for the Epson 7910E. Or hey, we could hook up computers and analyze the audio frequencies to extract it. And then the tone generator emulation will generate the music. With enough painstaking careful analysis, we could see if the tone generator algorithm is the same or different, too. (and the audio filters will be simulated...)

Well, there's eventually going to be dozens of these sorts of chips in MAME. So... wouldn't it be better to read out the internal ROM? Well... you will probably have to decapsulate and read out the internal ROM optically. IF it's the kind of ROM where you can do that. OR maybe the chip has some secret undocumented output mode for the ROM, and a skilled reverse engineer can tweak it into that state, but that is all undocumented and takes time for analysis.

And the TMS3615/TMS3617 emulation in MAME is at a pretty high level - it's got a tone generator routine in the code. But what happens when the block diagrams differ, and the routine encoded in the internal circuit is subtly different? We need to see what each chip is actually doing - ergo, a LOT of decapsulation, or hacking. And that all takes special skills and equipment.

Final wildcard: melody chips are often pin-compatible (or easily adapted) and easily swapped! So schematics may say one thing, PCBs may have another, bootlegs could have anything or nothing at all - and that all changes the correct songs or even the existence of songs!

So... progress on adding more and different melody chips in MAME is kinda stalled right now, as resources are being driven elsewhere, and there's probably many OTHER arcade games from that era in MAME still not playing music, playing the wrong music, or still using samples for music. We can eventually throw some melody chips to the hobbyist decapsulation folks for further analysis - but priority right now for them seems to be on extracting microcontroller code, taking apart the more complex programmable sound generator chips, and unmarked/unidentified chip identification, or whatever else they find interesting. It's time and money intensive for that analysis, so they must set priorities accordingly.

As a hack right now, someone could add (or restore?) sample playback to Pleiads (though it wouldn't be accepted by MAMEDev as a sourcecode patch) to trigger a wav file at the appropriate time. Better yet, as a better hack, alter MAME's tms36xx.cpp to simulate the Epson 7910E's songs, and then figure out how the chip's signals are different enough as for why it's not triggering the tune, which stands a *chance* of getting accepted as a patch to MAME. But long-term, these melody chips will get analysis equivalent to the MCUs and more complex synthesizer chips are getting now.

This is a bit of a necro-bump and plea in hopes of getting some kind of sound in Pleiades.

I accidentally found the Epson 7910E sound sample that you ironically linked here earlier. Somehow i never spotted this thread. This can easily be used as a sample in mame. With so many other games still using sound samples, I would have thought the MAME team would have no issues adding these samples to mame. Hopefully the mame team reconsiders. Especially when you factor in that this game hasn't had proper sound since it was added to mame over 15 years ago. I think a lot of people feel its time to put something there.

After checking out multiple videos of the game being played on dedicated hardware i did notice a few things. Pleiades is actually speeding up the sound generated by the 7910E. My current guesstimate comparing videos on youtube is that its about 33% increase. The hardware also bank switches between tones. Some of the later levels uses the Minuet 2 tone that is actually the first track in the 7910E. It's used in the "At Once Return To Earth' stage. It is also sped up there.

I have the tracks cut and sped up to the appropriate speed if anyone wants to take a crack at adding them.
 
Back
Top Bottom