Gottlieb System 80A sound board


james1095

Recommended Posts

I like stuff that makes noises so I started on this quite some time ago but only recently managed to get it working. This is an implementation of the sound board used in Gottlieb video games such as Qbert, Mad Planets, Reactor, etc and the System 80A pinball machines. The sound board consists of a minimal 6502 system clocked at 890 kHz with a 6532 RIOT, a pair of 2716 ROMs and an 8 bit DAC. Sounds are generated algorithimically and are not sampled. Unfortunately I do not have HDL to implement the Votrax SC-01A speech synthesis chip used in many of these games so this is the sound effects only version of the board as used in Mad Planets. It's still pretty cool, I have several arcade cabinets using the real board and this sounds exactly the same.

 

As configured, it's set up for the Papilio One with Logicstart megawing but it would be trivial to modify it for other configurations. Just grab the sound ROMs from the MAME or pinball ROM sets and toss them in the ROMs subfolder. Edit the batch file to match the name of the ROMs and run it, then build the project and it should pick up the ROM code. The sound board interfaces with six active-low lines that are pulled low to select one of 63 possible sounds. Four of these lines will trigger an interrupt to play a sound and the other two are used in combination with these four. After playing a sound, all lines must go high briefly before the next sound can be played. Since it's very difficult to switch multiple switches at precisely the same time, I've added a register so you set switches 0-5 and then toggle switch 6 to play the selected sound.

 

Now that I've done the easy part, maybe someone else can get to work coding the GG-III video hardware to run the rest of the game :)

Gottlieb Sound Board.zip

Link to comment
Share on other sites

This is pretty cool :)

 

I don't have a logic start megawing with a lot of switches but do have an arcade megawing so i wired this up into an instance of Grant Searle's Multicomp so the ports can be controlled from basic via a serial console.

(if anyone wants a copy i can clean up the sources a little and attach it here)

 

There are afaik already a few fpga conversions for the Gottlieb games - JROK has a commercial product and whoever is keeping the blog at http://qbert.me/another.

the latter contains a very detailed dissection of the inner workings on both the sound and the cpu boards.

 

-V

Link to comment
Share on other sites

Cool, I'd thought about doing that but haven't got around to trying yet. Did you manage to get the video terminal for the Multicomp working on the Papilio? I attempted to port that some time back but ran into problems, I was getting inconsistent gibberish on the screen. Timing issue of some sort I assume.

 

That qbert.me site is what I used to get a good understanding of how the sound board works, his writeup is very clear and comprehensive. Unfortunately it doesn't seem that he's released any of his code and the last post was something like 3 years ago so the project seems to be dead. I hate that, if one is going to show off a project, they should release the code so others can play with it. I've seen JROK's products too but they're not really of interest to me. I've already got cabinets for Qbert, Mad Planets and Reactor with all working original hardware so it's not that I need another platform on which to run these games, I just like playing with the FPGA and sharing the results.

 

I've got code I found for the Williams sound board used in Robotron, Joust, Defender, Stargate, Sinistar, Bubbles and I think a few ohters too. I have it running on my Altera board so I'll port it over to the Papilio and post it sometime soon. It actually came with code for the whole Robotron board except using an external 6809 CPU, but I'm going to see if I can get it to work with a softcore. With 48k of RAM, 48k of ROM, and another 4k of ROM for the sound board it's too memory-heavy to fit the Papilio boards although it might be possible to use the SDRAM on the Pro. I hate working with SDRAM though, SRAM is so much nicer.

Link to comment
Share on other sites

sorry, stil haven't tried out the VGA portion of the multicomp... one of the main attractions of the serial port for me is  i can sit at the kitchen table, hide the papilio behind my laptop and pretend to be working :D

 

You should take a look at 

http://forum.gadgetfactory.net/index.php?/topic/1739-robotronic-adventures/

(the code can be found on code.google.com while it is still up - search for "robotron-fpga, code.google.com")

 

SDRAM on papilio pro might be doable, the memory clocks on the williams boards will be tricky though.

The code definitely does work on a DUO though, the rom code obviously has to be loaded from flash to SRAM and the clocking changed.

I've been waiting on Alex to chime in with updated sources... i do have my own but apparently they do not work with all monitors (could be the pipistrello one doesn't either, not sure how may people have actually tried running the code)

 

-V

Link to comment
Share on other sites

Ah, I'd missed that thread, that will save me countless hours of fiddling around, actually I don't think I'd have ever managed to solve all those issues.

 

That code is precisely what I grabbed though. Getting the sound board to run exactly like the Gottlieb board was no problem, the interface is nearly identical. As both Gottlieb and Williams started out as pinball companies, I suspect the Williams board is also designed as a pinball sound board. The Gottlieb sound board was used in many pins including Haunted House and Black Hole but I'm much less familiar with the Williams pins of the era.

 

Robotron should fit just fine on my DE2, it has a generous 2MB SRAM chip, as well as parallel flash ROM so memory is no problem.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.