Gottlieb/Mylstar 2nd generation sound board fully reproduced on FPGA

ElmarTrjoer

New member
Joined
Feb 11, 2011
Messages
34
Reaction score
1
Location
California
Gottlieb/Mylstar 2nd generation sound board fully reproduced on FPGA

All,

I spend the last month doing a full reproduction of the Gottlieb/Mylstar 2nd generation sound board used in 3 Stooges, M.A.C.H.3, Screw Loose, Liz, etc. Although I never heard the sounds from the original box, I think I am damn close. It was a hard piece of work!

The original card contains an awful lot of tricky components which I all did from scratch, such as:
- 2x R6502 CPUs (which I already had from the 1st gen card)
- 2x AY-3-8913 programmable sound generator
- 1x SPO0250 voice synth
- Timer logic

Unlike the SPO250, the AY-3-8913 was quite straight forward as the data sheet contained all info needed. For the SPO, I had to make some lengthly trial and error testing to get those freaking FIR filters right. Now it clearly says: "Ohhh, you´r a wise guy eh".

I will put a video on youtube this weekend to let you hear how it sounds and to comment if it´s close to the original. Beside the SC01 and laser disc interface cards, I am close to completion of the Gottlieb/Mylstar stuff.

Cheers, TRORT
 
Last edited:
Uhhhhh...did I read SC01 interface card ?

Should I order a SC01 already ? ;)

I guess it means you embraced the idea of running a real SC01 on Q*bert ?
 
Last edited:
Thats not the issue and its already been done.

http://www.redcedar.com/sc01.htm

Copied the last part of that page here:
One idea that seems to come up when discussing the SC-01A (specifically, the lack of availability), is that of creating a software emulation by recording the 60+ phonemes and just concatenating them.* It turns out that much of the intelligibility of speech is wrapped up in the transitions between the ideal phoneme sounds ("targets"), so the concatenated speech will sound no where near as good as the SC-01, which has internal circuitry to generate transitions.* In fact, there's a speech synthesis method based on just concatenating the transitions between phonemes, called diphone synthesis.
 
Last edited:
Thats not the issue and its already been done.

http://www.redcedar.com/sc01.htm

Copied the last part of that page here:
One idea that seems to come up when discussing the SC-01A (specifically, the lack of availability), is that of creating a software emulation by recording the 60+ phonemes and just concatenating them.* It turns out that much of the intelligibility of speech is wrapped up in the transitions between the ideal phoneme sounds ("targets"), so the concatenated speech will sound no where near as good as the SC-01, which has internal circuitry to generate transitions.* In fact, there's a speech synthesis method based on just concatenating the transitions between phonemes, called diphone synthesis.

Then someone give a copy to these guys working on Gottlieb hardware :)

The thing that's the real killer is a good dump of the internal sound ROM of the SC01.
These are the source parameters which drive all the internal filters and timing. Even with completely accurate programmatic representations of the filters without those parameters it's be really REALLY hard to guess at the parameters for each phoneme.

- James

Unless I'm missing something, but at least the thing has been decapped. That much is clear. I didn't really want to give one up anyway ;)
 
A copy of what ? As the page mentions using only the ROM data is not enough.

I'm just quoting JROC. He seemed to think he could get closer with a dump of the internal ROM. So... a copy of that. I'm not pretending to be an expert on this hardware.

So why not "simply" hook up a real one ? IMHO the only way to get it to sound 100%

The obvious answer is because there are more people who want the new board than there are 30+ year old speech generation chips to go around.

The text you copied talks about recording the individual phonemes and sticking them together (concatenation) programmatically to emulate the IC in software. I'm guessing that won't sound good because there are filters or something inside the SC01 that smooth out these transitions based on phoneme combinations (like which one came before the one that's about to be played) making the speech sound smoother. I have no clue whether these filters can be replicated in an FPGA but I don't see anything in the text you provided specifically saying that it's not possible. Just that sticking samples of the raw phonemes together won't sound good. The internal ROM may define how these filters are used but again... I'm no expert on this hardware :)
 
Unlike the SPO250, the AY-3-8913 was quite straight forward as the data sheet contained all info needed. For the SPO, I had to make some lengthly trial and error testing to get those freaking FIR filters right. Now it clearly says: "Ohhh, you´r a wise guy eh".

How does the SP0250 it sound ? The datasheet may not be 100% accurate, as following it for the design the SP0 sound comes out only a little like the original :(

This is the original, with the crazy soft filtering from the original board
http://jrok.com/xfer/msf/orig_board_sound_26_fx.wav

Repro'd without following the datasheet, sorry about all the noise in the crappy PC line-in recording
http://jrok.com/xfer/msf/demo_sys80_simu_1.wav

If you've got the filters 100%, hats off !
- James

edit: it's the sp0250 applications guide that had the filter details

- James
 
Last edited:
As said in my first post, I will do another video stepping through the sounds and explaining some details on my design. I know that you guys are very picky, so I hope I will get some good feedback that will help me to find
and correct errors (if any).

The part on the SPO0250 that took me a while to tune was the final 5kHz low-pass filter. The application manual only says: "The output is low pass filtered to 5kHz, and externally amplified." At least it mentions 5kHz :)
As I am a nice guy, I will let you know what I used: Bessel filter, 2nd order, 31 taps, 16 bit coefficient resolution (signed). Also working with real numbers in a 16-bit fixed point FPGA architecture needs quite some number
crunching - sign conversions, wrap-arounds, quantization errors, proper rounding, etc. Anyways, I learned a lot.

Level42,
Yes an interface board it will be. But I am not giving up on the SC01 - given that I can get the ROM content, I think I can do something...

Cheers, TRORT
 
Last edited:
Cool !!! I dont mind getting a real SC01 but for future's sake it would be great if you succeed !

if you need any Beta testing, Ive got a Q*bert cab waiting ;) I dont have the original boardset though so cant really compare 1 on 1. My good friend Luigi on this forum has one completely original though, probably one of the very few in Europe.

By the way, the weekend is almost half over, and Im dying to see the video ;););)
 
Thanks, but I own a complete Qbert cabinet which I bought when I was working in California a year ago. I have it here in Stockholm now.

As for the video, I will put it up asap. I decided to spend this weekend with the familiy rather than the FPGA. ;)
 
Demo video available now

Hi All,
With a bit of a delay, the video. Enjoy and let me know what you think.

 
Very nice work. I have nothing to offer but praise, as I am not in the same universe as you when it comes to such things, but I am very appreciative of the videos and I feel smarter after watching them!
 
Impressive work and I love your videos where you explain stuff ! Please keep it up :)

I can't compare the voice though, I never heard an original Stooges.

Very cool that you've got an original Q*bert ! It was/is my grail (was because I have the cab now, is because it needs a new heart ;)
 
James,

Thanks for putting up those samples. Could you tell me which game is containing that tune? I want to test my SPO0250 against it. Somehow I have the feeling that this tune sounds more like a AY-3-8913 PSG thingy :)

Does anyone know someone with a 3 Stooges machine that can judge the voice quality?

Thanks,
TRORT
 
Thanks for putting up those samples. Could you tell me which game is containing that tune? I want to test my SPO0250 against it. Somehow I have the feeling that this tune sounds more like a AY-3-8913 PSG thingy :)

Yes, there's a lot of AY in there, but the SP0250 is used to generate a background 'rhythm' track.

Here are a couple of examples from Screwloose with a system 80B soundboard with the AY's disabled, the first is sound 0x28 it's unfiltered to give an idea of what's coming out of the chip.
http://www.jrok.com/xfer/msf/orig_screwloose_0x28_un_filt.wav

Sound 26 snippet for the main in game screwloose tune, again the SP0 is generating the background 'rhythm' track.
http://www.jrok.com/xfer/msf/orig_screwloose_0x26_un_filt_bg_track.wav

Does anyone know someone with a 3 Stooges machine that can judge the voice quality

Yes, the voice quality of the original is TERRIBLE :)

speech effects from 3 stooges
0x25 http://www.jrok.com/xfer/msf/3s_25_unfilt.wav
0x28 http://www.jrok.com/xfer/msf/3s_28_unfilt.wav

- James
 
Thanks JROK,

I put the Skrew Loose ROMs into my design to compare the tunes. I found a clipping bug in the low-pass filter which I corrected. Now it sounds really, really good and I consider the board as done.
 
Last edited:
Back
Top Bottom