Thanks for all the replies! I try to answer the open questions.
Quoted from Crash:Wow, I probably played with this for a solid 20 minutes. I always felt PinMAME's switch matrix input lacked the ability to really influence game events because there was no way to keep switches pressed down (to lock a ball, for example). This makes it easy! It works for me in Chromium (based on Chrome) but the sound does not work. The emulator doesn't work at all in Internet Explorer. I haven't tested any other browsers.
This is fantastic, for people who want to rip or record DMD animations this is absolutely perfect to trigger specific events!
Thanks, sound is currently not emulated, I work on that. I ignore Internet Explorer - but it should work on all current browsers including stock iOS.
Quoted from Quench:Fantastic work! Looking forward to the debugger interface and more playfields being added.
Works fine in Firefox.
I'm looking for contributors on this project, feel free to open a pull request on https://github.com/neophob/wpc-emu. Adding new playfields and adding lamp positions should be pretty easy (really, it is easy ) - just take a look at the game entry "client/scripts/hurricane.js". Let me know if something is unclear, I'll update the readme to clarify thing...
I used PinMame and FreeWPC as source to get information, but the emulator itself is written from scratch.
Quoted from russdx:That is amazing, what are all the extra dmd frames at the bottom? are these internal dmd buffers used by the dev to create the final rendering? if so very cool.
This shows the internal ram of the DMD board, each of those ram pages are toggled to create the different brightness of the LED output
Let me know what you need, are you talking about different ROM versions or other homebrew ROMs?
Quoted from SonicZone:Being able to save a machine's configuration/setup -- perhaps as browser cookies -- would rule BIG time.
you mean to store the whole state of the pinball machine? or are you talking about the switch state?
Quoted from pinballsp:Interesting your project, congratulations, hope soon work the sound to can test all.
I suggest add trigger to play external customized sounds (WAV in SD card), output for real DMD or at least serial output data similar to pinmame to work with real DMD.
In your hardware notes you say about use Teensy, Arduino or ESP32, I suggest NXP RT1020, its the microcontroller for the future Teensy 4, a very powerful Cortex M7 500 Mhz and cheaper than Kinetis used in Teensy 3.5/3.6. With one RT1020, can run a real multicolor DMD and control all input/output for switches and power outputs, may be even can play external sounds.
For input hardware, instead of opto couplers, you can use level adapter buffers like the HEF4050.
My plan is to synchronise a real pinball machine with the emulator - to validate the emulator works correct. I wrote already a firmware for the esp32 board - as I can use web bluetooth. thats definitive easier than using a serial connection and works "out of the box" with a recent browser.
Currently I'm looking for a payable WPC pin in Switzerland - let me know if you want to support this project