(Topic ID: 332164)

5 control lines documented for Williams type 1 sound board?

By andylama

1 year ago


Topic Heartbeat

Topic Stats

You

Linked Games

#1 1 year ago

Howdy, y'all!

I have a Williams Flash, and I want to replace the sound board (rectangular type) with an Arduino-based mp3 player and custom sound set.

I understand that the driver board will ground different combinations of the 5 control lines to trigger specific sounds, but has the binary pattern been documented?
The Arduino end of it seems pretty straightforward, but it sure would be nice to know what binary patterns equate to which sound cues.
I don't want to reinvent any wheels if this is already public information.

Many thanks!

#2 1 year ago

It probably has somewhere but it's really easy to program something up to do so (even if it's just dip switches to ground/+5 with a .156 connector to the input)

It is a little tricky as some of the triggers do different things if they are pulsed but probably not for flash. (Although the background start/stop signal is a little wonky)

#3 1 year ago

The fifth bit marked "WIRED, NOT USED" is used even if grounding that pin solo does not make noise in sol/sound test. In lazerball if I remove that bit, the sounds are OK until things like game over when it plays a little jingle the sound goes off. It might be a "silence" call when grounded solo, and do things like "BG SND RAMP UP" and etc.

#4 1 year ago

There is definitely a 'silence' signal.

I wrote down the sounds at one point for a couple of the games but no idea where I have that file saved.

rkahr would probably know the triggers since he created a replacement sound board using all new sounds (similar to what the OP is trying to do, just with the original sounds recreated instead of alternates)

As far as sound projects go, this one is a pretty easy one as I believe the wav triggers can be used out of the box with the existing signals.

#5 1 year ago

One possibility to find out what sounds Flash is using, is to make the Arduino log trigger signals to serial (USB) port and then play a few games (with glass removed and operating playfield switches manually).

If I remember correctly, besides normal scoring sounds there are special sounds for game start/add player, double and triple bonus, target bank completion, flash, super flash, tilt and beating high score to date. And of course the background sound.

#6 1 year ago

Found it

Was actually in the first file I looked at.... I'm surprised it was there, though.
This is not flash specific but the default sounds are the same.

sound0: ;$608d-608e
dw $8000 ;sound table #0. default 1's score sound (not used in games as traditionally
;the lowest score would be 10.) the format of the word is first byte is the sound
;parameter sent to the sound board, and the second byte is the time in 16 msec units
;a time of $00 would produce a very short or no sound. for scoring routines that
;do use the 1's digit, this is the default sound used if no other is assigned. the
;two 7 digit system 6a games Alien Poker and Algar use the 1's digit as the 'tens'
;score, and shuffle alleys would use the 1's digit to score as well

sound1: ;$608f-6090
dw $8105 ;sound table #1. default 10's scoring sound for 5*16 msec units. note that the
;example bytes for sound # may be quite different depending on what sound board
;you are using in your game. the time parameter is a minimum time the sound will
;be active, thus allowing a priority of sorts to occur - you can set the
;time lower to allow your sound to play but be interrupted by another, or you
;can set the time higher to ensure your sound plays itself out

sound2: ;$6091-6092
dw $8205 ;sound table #2. default 100's scoring sound. note that the default scoring
;sounds are hard coded into the OS scoring routines and cannot be changed from
;these locations in this table. they can be overridden by your switch scripting
;but only if you use immediate (no queuing) score routines.
;the queued score routines will always use these sounds, and any scoring used
;in game scripts are queued scores

sound3: ;$6093-6094
dw $8305 ;sound table #3. default 1k scoring sound

sound4: ;$6095-6096
dw $8405 ;sound table #4. default 10k scoring sound

sound5: ;$6097-6098
dw $0000 ;sound table #5 user defined. $XXYY=sound command XX for minimum time units YY*16msec

sound6: ;$6099-609a
dw $0000 ;sound table #6 user defined

sound7: ;$609b-609c
dw $0000 ;sound table #7 user defined

sound8: ;$609d-609e
dw $0000 ;sound table #8 user defined

sound9: ;$609f-60a0
dw $0000 ;sound table #9 user defined

sound10: ;$60a1-60a2
dw $0000 ;sound table #10 user defined

sound11: ;$60a3-60a4
dw $0000 ;sound table #11 user defined

sound12: ;$60a5-60a6
dw $0000 ;sound table #12 user defined

sound13: ;$60a7-60a8
dw $0000 ;sound table #13 user defined

sound14: ;$60a9-60aa
dw $0000 ;sound table #14 user defined

sound15: ;$60ab-60ac
dw $80ff ;sound table #15. used as a null sound

#7 1 year ago
Quoted from andylama:

Howdy, y'all!
I have a Williams Flash, and I want to replace the sound board (rectangular type) with an Arduino-based mp3 player and custom sound set.
I understand that the driver board will ground different combinations of the 5 control lines to trigger specific sounds, but has the binary pattern been documented?
The Arduino end of it seems pretty straightforward, but it sure would be nice to know what binary patterns equate to which sound cues.
I don't want to reinvent any wheels if this is already public information.
Many thanks!

Here's a video of the 30 sounds:

17 & 18 are background sounds that will run forever unless cut off by 19. So you can activate 17 (background drone) and it will be temporarily interrupted by another sound effect but then pick back up on its own after the other sound effect starts. 17 remains the same low drone. 18 is a step higher than 17 and it will increase in pitch as more sounds are played. It changes periodically (not every time). 19 will stop either drone (and any other sound effect). So, you can use 17 and 18 to trigger background music, although I think that 18 is more commonly used.

All those numbers that I just mentioned are decimal values based on the 5 lines. I said 30 sounds above because 19 is a stop signal and 0 isn't used (or maybe it's also a stop--I don't remember off the top of my head).

#8 1 year ago

0 is not used because there is no separate strobe signal to sound board. Sound is triggered when 1 or more inputs are grounded.

#9 1 year ago
Quoted from slochar:

...
dw $8000 ;sound table #0. default 1's score sound (not used in games as traditionally
;the lowest score would be 10.) the format of the word is first byte is the sound
;parameter sent to the sound board, and the second byte is the time in 16 msec units
;a time of $00 would produce a very short or no sound. for scoring routines that
;do use the 1's digit, this is the default sound used if no other is assigned. the
;two 7 digit system 6a games Alien Poker and Algar use the 1's digit as the 'tens'
;score, and shuffle alleys would use the 1's digit to score as well
...
dw $80ff ;sound table #15. used as a null sound

Great info! Thank you!

Quoted from DickHamill:

Here's a video of the 30 sounds...

D'oh! (small forehead slap) It didn't even occur to me that the diag sounds would run through them in (binary) numerical order!
It seems so obvious in retrospect.

Quoted from Tuukka:

0 is not used because there is no separate strobe signal to sound board. Sound is triggered when 1 or more inputs are grounded.

Yeah, I figured I could just detect ANY line going low as the 'clock strobe', then read & convert all lines into a binary integer.

I was super curious about the mechanism for gradually raising the pitch of the drone with Event 18. Well, this info gets me to the doorway to this understanding.

I can hardly wait to dig into it this weekend!
Thank you all so much for being so helpful! Much appreciated!

#10 1 year ago
Quoted from andylama:

D'oh! (small forehead slap) It didn't even occur to me that the diag sounds would run through them in (binary) numerical order!
It seems so obvious in retrospect.

It doesn't
That's my code.

#11 1 year ago

The pitch raise is in the sound board code the command sent doesn't control it, other than starting it if not already started or causing it to raise if already started.

#12 1 year ago
Quoted from DickHamill:

It doesn't
That's my code.

Oops, bad assumption on my part. Totally ok though. I'm thrilled that all this stuff is as hackable as it is!

Quoted from slochar:

The pitch raise is in the sound board code the command sent doesn't control it, other than starting it if not already started or causing it to raise if already started.

This is actually ideal. If invoking an already active Event 18 causes the pitch to ratchet up, I should be able to progress through
drone01.mp3 --> drone02.mp3 --> drone03.mp3 etc. programmatically in Arduino code, which is exactly what I was hoping to be able to do.

Wonderful!
Thanks again, guys.

#13 1 year ago

You can also use these free test ROMs (11a-sound and 11b-sound) to produce sounds:

https://pincoder.ca

If you dont want to mess around with chips and programmers you can buy this:

https://pincoder.ca/index.php/2020/07/10/adapter-2020-06-23-0506/

It comes preloaded with all test roms for sys3-7. Just plug it in and go

1 month later
#14 1 year ago

Hi andylama,

did you made some progress about programming the arduino and connect it to the soundboard? I would like to play with your code to extend my friends Flash with some custom sounds.
Would you like to share your code and how to connect the arduino?

Thanks, Stefan

#15 1 year ago
Quoted from DickHamill:

Here's a video of the 30 sounds:

#04 is interesting - an absolutely *perfect* 'fart' sound.

#5 is a strange one too, sounds like somebody striking a marble countertop with knife blade or something, can't remember ever hearing that particular sound in a game.

Promoted items from Pinside Marketplace and Pinside Shops!
2,100 (OBO)
Machine - For Sale
Milan, IL
$ 170.00
Displays
Digipinball Shop
 
$ 65.00
Boards
Pinball Haus
 
$ 12.50
Lighting - Led
RoyGBev Pinball
 
$ 27.95
Eproms
Pinballrom
 
From: $ 11.00
$ 9.95
Eproms
Pinballrom
 
From: $ 5.00
Cabinet - Other
UpKick Pinball
 
From: $ 90.00
Tools
Pincoder Store
 
$ 11.00
Electronics
Yorktown Arcade Supply
 
From: $ 9.00
400 (OBO)
Machine - For Sale
Green Brook Township, NJ

Reply

Wanna join the discussion? Please sign in to reply to this topic.

Hey there! Welcome to Pinside!

Donate to Pinside

Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!


This page was printed from https://pinside.com/pinball/forum/topic/5-control-lines-documented-for-williams-type-1-sound-board and we tried optimising it for printing. Some page elements may have been deliberately hidden.

Scan the QR code on the left to jump to the URL this document was printed from.