james1095

Williams System 6/7 sound board

1 post in this topic

Here's my initial release of the sound board used in all of the Williams video games and their System 6 and 7 pinball machines throughout the 80s starting with the famous Gorgar. Initially I was building upon the Robotron sound board that was released some time back but then it was getting messy so I decided to throw it all out and start from scratch. Vlait kindly wrote a CVSD decoder that emulates the HS55516 these used on the optional speech module so everything is there. "Beware, Coward!" I've included a top level file with a PS/2 keyboard interface and decoder making it easy to play around with the sound board. If one wanted to use this in a real video or pinball machine it would be very easy to write a new top level file with that in mind. This is set up for the Papilio One 500k with arcade megawing but only a few IO pins are used so this is easy to customize. I've also included a romgen script for Sinistar which can be easily customized to build VHDL ROMs of the other supported games.

 

Keeping in mind that this is the first release, there are a few rough edges:

 

- There are some jumpers used on these boards that differ depending on the game it's being used in. The one that needs changing most often is W2 and W3 which configure the ROM addressing. Eventually I'm thinking of setting up some boolean values that can be set but for now just comment out the removed jumper and un-comment the installed one. These settings can be found in the game manual but it's often easier to just try one and if that doesn't work swap the W2/W3 jumpers and try that.

 

- There is no low-pass filter on the speech decoder. The real hardware uses a pair of 2nd order low pass filters in series, IIRC the first has a cutoff of around 7.5kHz and the second 3.5kHz. It sounds ok my ear but if someone wants to try implementing the filters in VHDL to get rid of the background hiss that would be cool.

 

- Sound and speech are brought out separately to the left and right channels rather than being mixed. This made it easier for debugging and allows external filtering on the speech signal but it would be cleaner to mix it properly.

 

- The CPU68 softcore is not cycle-accurate, I found this caused speech samples to play noticeably fast. I compensated by dropping the CPU clock from 893 kHz to 750 kHz by trial & error. I don't know if this will result in all of the sounds being correct or not, perhaps someone who has a real Sinistar machine can compare and let me know. 

 

- The keyboard decoding is incomplete and I haven't bothered to map each key to a specific sound code. To do that would require knowing exactly how many sounds implemented for each of the games that used this board and which binary numbers trigger each sound. Any key that is not decoded just passes the scancode straight through to the sound board inputs. Perhaps someone can come up with a better input method but this is good enough for playing around.

 

 

I have several other Williams, Gottlieb and Bally pinball sound boards working that I will port over to the Papilio when I have time, eventually I'd like to do them all.

wms_system_6_7 sound.zip

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now