After quite some time (TILT!Audio* started in January 2017) I finally managed to get WPC sound running. The main difference to the first approach with dataeast is the different bus speed, that is used in WPC systems. This is because in WPC systems the bus between the main cpu and the sound subsystem is shared between the dmd controller and the sound card. This requires a higher bus speed and additional addressing wires.
My first try was to translate all the control wires 5 address lines, RW and WDEN directly to GPIO of the Pi. The idea was to simply do the address decoding in software within the interrupt service routine.
Looking at the output of the logic analyser and on the schematics you can see that writing to the 374 buffer requires CA0 and CA1 to be low, while CA2-4 need to be high. The CLK for the 374 buffer will go high exactly when WDEN goes high while RW is still on low.
Exactly this transition can be seen on the right.
The solution finally was to do the address decoding in hardware. This has reduced the frequency of interrupts dramatically. Effectively an interrupts only occurs, if a command byte is transferred to the sound card. The fact that wpc to some extend uses multi byte commands can be handled by the software. Sequences of command bytes are send with a 1ms delay between bytes so that the maximum interrupt frequency is around 1kHz.
Another improvement as I need to design a new adapter shield anyways was to consolidate the level shifter and the buffering of the sound data byte in a single chip that can be operated at 3v3 and has 5v tolerant inputs. Additionally I make use of the new Raspberry Pi Zero which has enough power and memory for the sound generation.
This results in a smaller and also cheaper design for wpc and with some smaller changes in the software the same approach could be used for dataeast as well.
As soon as the final shield is ready and tested, I will provide PCBs and kits in my shop at //go-dmd.de/shop.
Finally you can see the first working demo here:
Schematics for shield:
Update: today the PCBs arrived from manufacturer. Works like a charm. Also easy to assemble if you have some soldering experience, if not order a ready to use set here.
And finally another video from the first installment in a getaway!
*TILT!Audio is the new name for RasPiSound
4 Gedanken zu „TILT!Audio also for WPC“
Hi Stefan. My name is Gabriel and I’m from Argentina. I have a pinball data east „last action hero“ and the sound board has no fix.
A pinsound has a high cost.
I want to buy your kit to assemble myself.
Also the license to use it is necessary ?? I do not understand much how the system works … use rom of pinmame to reproduce the sounds and voices ???
with the purchase of the kit you provide instructions ??? please tell me the cost of shipping to my country and pay with paypal do you accept ?? thank you very much
Find all the answers in my shop at go-dmd.de/shop
hi, i’m going to retheme a pinball. This is an old rollergames and it will becoma an „hokuto no ken“ pinball.
Graphic part is still ready, game rules are the same of rollergames and the display phrases i still changed as my will.
Now i’m thinking about audio part and i’ve seen your „tilt! audio“.
it seems an amazing project. does it work for system11 too?
where can i find more info about?
thanks a lot.
No it does not for sys11 so far. you can find more information on https://tiltaudio.com