(Topic ID: 239045)

Arduino Pinball Controller

By AmokSolderer

5 years ago


Topic Heartbeat

Topic Stats

You

Linked Games

No games have been linked to this topic.

    Topic poll

    “Are you using the APC and what's the reason if not?”

    • I'm using APC with MPF 4 votes
      15%
    • I'm programming APC natively 2 votes
      7%
    • I'm waiting for PinMame support 5 votes
      19%
    • I have an APC board, but I still have to populate it 3 votes
      11%
    • I would only use the APC if populated boards were available 13 votes
      48%

    (27 votes)

    This poll has been closed.

    Topic Gallery

    View topic image gallery

    20240317_224906 (resized).jpg
    IMG_20220326_054355 (resized).jpg
    IMG_20220324_115019 (resized).jpg
    0803_1 (resized).jpg
    IMG_20220306_221732 (resized).jpg
    IMG_20220225_113217 (resized).jpg
    IMG_20220224_102209 (resized).jpg
    afficheur (resized).jpg
    bootok (resized).jpg
    20220225_100158 (resized).jpg
    20220225_100214 (resized).jpg
    20220225_084428 (resized).jpg
    U1wrongPol (resized).jpg
    453DBE7E-8CD8-4CAE-82B9-46E2E87021F9 (resized).jpeg
    32FCCD80-1C7F-4782-84A2-0C0FFE9F3D78 (resized).jpeg
    BA633E7E-D152-46C5-932E-E625D68C0A1F (resized).jpeg

    You're currently viewing posts by Pinsider bontango.
    Click here to go back to viewing the entire thread.

    #103 4 years ago
    Quoted from AmokSolderer:

    So I'm just going to ask him what the main differences between Gottlieb and Williams are and if he sees some major problems for your hack.

    IMHO main differences are with Lamps & Switches. Williams do use a Lamp matrix where Gottlieb has one transistor for each lamp. For Switches I'm not sure if the Matrix is compatible, I know that Bally & Gottlieb have different concepts as Gottlieb do strobe with 'low' signal, resulting in different placements for the diodes in the Matrix between Bally & Gottlieb AmokSolderer can you explain how Williams do sense the switches?
    For the solenoids I see no problems, For Displays you have to use Williams Displays.

    cobra18t If you do not like edge connectors and do not have the Gottlieb driverboards you may think about 'LISY_Home'; just have a look at http://www.lisy.dev
    LISY_Home is a 'LISY80 clone', so the switches will work out of the box and for Displays & Solenoids I have designed a driverboard.
    For Lamps I do not have a Lampdriverboard yet, as for my LISY_Home project I plan to use LEDs.
    You can use LISY_Home with MPF but as a LISY80 clone, it is also possible to let run system80(B) pinmame romsets.
    However keep in mind that LISY_Home is in early testing phase ...

    hope that helps

    2 months later
    #116 4 years ago
    Quoted from RatShack:

    I'm working on a pinmame-based cabinet that supports multiple hardware platforms and I need an interface controller that will accept remote commands from pinmame.

    Happy to help when it comes to questions about LISY, can you give a bit more details on what you want to achieve?
    If you have a System1 plattform, LISY1 would IMHO be the best choice.
    It could work with pinmame OR with MPF via the integrated MPF Server.
    With APC you are more or less restricted to Williams Hardware.
    I have also created a more flexible plattform called 'LISY_Home', maybe thats what you are looking for?
    https://lisy.dev/lisy_home.html

    3 weeks later
    #137 4 years ago
    Quoted from AmokSolderer:

    I'm just curious so I'm going to start a poll about the problems you might have. Of course you're also welcome to post your opinion here.

    From my experience with LISY most people want to have a 'plug&play' solution or at least a 'Kit' with the PCB and all components included, and they do not want to read documentation A 'quick win' with basic functionality of the board is important, then in a second step 10% or so of the people start to read documentation and will try the advanced features.
    Also SMD components do scare people, I do have only ONE SMD component on my LISY board and most people would like to get rid of it.

    But I don't think that you can solve that without putting a lot of additional effort in your project.

    My personal wish list is (in that order)
    - put some DIP switches on the board ( e.g. to start direct with LISY/pinamme without the need to select that either in the source or via the menu)
    - integrate LISY onto the board, connected e.g. via I2C
    - split the APC board into different 'variations', so that the connectors fit with the original

    With all of that you would have a minimal 'plug&play' solution.
    O course I need to finish the pinmame integration, which I promise I will do, at least for System9, ASAP

    2 months later
    #147 4 years ago
    Quoted from ledbetter:

    i'm having the same issue, hopfully someone can enlighten us.

    In normal cases JLCPCB does calculate the board dimensions from the gerber data.
    But same issue here with the current Gerber data (0.12) but I remember with an older version it worked before.
    I will contact Amoksolderer and ask him if he can check

    #149 4 years ago

    In the meantime watch my video of the first game with my Williams Comet (System9) controlled by LISY_Mini and APC, more to come ...

    1 week later
    #165 4 years ago
    Quoted from ThatOneDude:

    It would seem to me that it would be easier to use the built in sound emulation from pinmame and just feed that into the board as input(or utilize an external DAC + amp for those machines).

    I had big problems with the (unix) sound drivers in pinmame. It works for windows but I never got a good sound output with Linux/Raspberry.
    Looks like no one works on the Unix part of pinmame anymore, I did an update on the ALSA sounddrivers a year ago, but still poor sound.

    If you are interested in the code, LISY is part of official pinmame code: https://sourceforge.net/p/pinmame/code/HEAD/tree/trunk/
    Current coding you can find here: https://github.com/bontango/lisy-src-5.x
    Once in a while I do an update of the LISY pinmame code on sourceforge

    #168 4 years ago
    Quoted from ThatOneDude:

    The sound hardware on the Pi is miserable. Have you tried a USB card?

    Yes, and also a PHAT soundcard, same result with pinmame, however soundquality in general ( playing wav & mp3 files) is good

    LISY is using a 'fake' video driver, no X windows ..

    I'm also looking to replace wiringPI library, as it is deprecated and does not support 100% PI4 in last version, which library are you going to use?

    #172 4 years ago
    Quoted from Snux:

    For Windows only, there are hooks in Pinmame to use the Pinsound Studio

    Sounds interisting, do you hae some details where to start? I did a quick search on the sources for 'Pinsound' but with no result

    #175 4 years ago
    Quoted from zebulon:

    Have you considered a DAC board to clean up the sound?

    Yes, I use a 'PHAT' DAC board with LISY, as said sound in general is good when playing wav or mp3 files, its just bad with pinmame.

    Quoted from ThatOneDude:

    My problem was that the sounds were pitch shifted and slow

    Same effect here, even with the LISY 'fake' video driver without X. I don't think its an performance/overhead problem but
    more a timing problem from the pinmame code. From what I saw in the unix soundcode (which is different from the windows one and VERY old)
    sound timing is somewhat dependent on the video timing.
    I spend a week or so to clean that up, but gave up at the end ( I'm not a soundspecialist ..)
    I would guess with another video driver ( not X and not the LISY fake one) it might be better, but I did not test that

    1 week later
    #189 4 years ago
    Quoted from ThatOneDude:

    Maybe this is the problem.

    it's worth a try...
    I experimented with a similar call "sound_stream_update" in unix/video.c but with no luck
    Plwease let me know if you find something, happy to try it with my LISY image ...

    1 month later
    #234 4 years ago
    Quoted from RatShack:

    The switch matrix is currently giving me issues, though it looks the same as a Williams uses. When I ground a strobe and measure the return line it is OK on the scope, but I am getting the wrong column detected in MPF, if at all. I'm not worrying too much about this until i get the 74HCT377 in. Are switches enumerated 1-64, by column (strobe) then row (return)? Eg. Strobe0 Return0 is position 1, Strobe0 Return7 is 8, Strobe1 Return0 is 9, etc?

    Switch numbering with Gottlieb is a bit different, the switch number is always Strobe plus 10*Return, meaning starting with zero and there is no switch 8,9,18,19, ...
    in addition Gottlieb using a 'low pulse' to drive the strobes , where Bally (and Williams?) use high level for a strobe.

    #242 4 years ago
    Quoted from ThatOneDude:

    For original sound, I can use APC. For pinmame based ROM emulation, I'm still trying to get decent sound from pinmame. I'm planning on testing a non-Pi configuration this week to see if it works better.

    Hello, any feedback on that topic, were you able to do the testing?
    I still think that it is because of the old soundcode in LINUX which need to be updated,
    if it is the case, you should have same problems in your non PI configuration.

    1 week later
    #275 4 years ago
    Quoted from Compy:

    I can look into an up-to-date alsa solution if that's the biggest pain point.

    Hi Jimmy,
    thanks for offering your help, I did update the alsa driver already for my 'LISY' image but with no luck.
    You can find my code here: https://github.com/bontango/lisy-src-5.x
    Alsa code in /src/unix/sysdep/dsp-drivers/alsa.c

    In general sound works, but it looks like it is a timing problem, sounds are sometimes veeeery slow.
    From what I saw the sound queue is filled together with the refresh routine of the video driver,
    so I assume that with X-Windows, and with my (ugly hacked) LISY fake video driver, timing is not optimal

    any help appreciated

    Update:
    saw the post from Dude too late

    sounds like there is a solution, will dig into that and let you know.

    Ralf

    1 month later
    #360 3 years ago
    Quoted from G-P-E:

    The latencies have to do how they incorporated the GPIO and the operating system access to the GPIO.

    IMHO it is mainly the OS, Linux is not a real time OS!
    Thats the reason why I choosed PIC Controllers for the time critical section with LISY.

    But you can patch the Kernel, have a look at: https://rt.wiki.kernel.org/index.php/Main_Page

    3 weeks later
    #383 3 years ago
    Quoted from jamescardona:

    For me I would pay the extra for the ready to go option. I can solder but really don't have the time. I'd rather spend my time on the coding and leave all the soldering to the folks in China (or wherever)

    same for me ... and about the costs: it's sometimes even cheaper to get the full populated board from China then with buying the components and do the soldering yourself.

    Of course with option 3 it is a lot of work todo for amoksolderer ...

    2 weeks later
    #401 3 years ago
    Quoted from RatShack:

    The Gottlieb System 80B lamp board. I am never hand wiring a board this complex again.

    wow, lot of work

    So this is a Gottlieb driver Board without Edge Connectors, or do you do a 'conversion' here .. ?

    5 months later
    #460 3 years ago
    Quoted from AmokSolderer:

    Does anybody know a mouser counterpart for the PHAP3301 switch shown in the picture?

    Yes:

    B3F-1000 (resized).pngB3F-1000 (resized).png
    #462 3 years ago
    Quoted from AmokSolderer:

    Ralf, you're the best - I wasn't able to find anything.

    Thanks
    For the next release you may think about to let it preassembled too, JLC has 'Tacticel Switches' in their library
    https://lcsc.com/product-detail/Tactile-Switches_XKB-Enterprise-TS-1187A-C-D-A_C318888.html/?href=jlc-SMT

    2 months later
    #514 3 years ago
    Quoted from matiou:

    I guess you can also just use lisy to get the pinmame emulation of Firepower, and not code any line...

    Soon I will also experiment APC in my Firepower... I'll keep you posted.

    Just to not that Firepower (System6) is not supported (yet) by LISY.
    Had a look to the pinmame code, which is very similar to System7, so implmentation 'should' not be that difficult.
    Let me know when you are ready and I will provide a beta version for your firepower.

    #528 3 years ago

    Beta support for System3, 4, 6 and 6A on APC with latest LISY version available!
    https://lisy.dev/version_5x.html
    Tested 'on the bench' only, as I do not own any Williams pinball of this type.
    Handle with care, feedback welcome!

    #530 3 years ago
    Quoted from Grangeomatic:

    Question - is LISY 5.27-3 or newer required if I'm using the APC3.0? Are earlier versions of LISY not compatible?

    Yes, first APC 3.0 support came with 5.27-3, take a look to the version history
    https://lisy.dev/version_5x.html
    Best use latest LISY and APC version.

    3 weeks later
    #591 3 years ago

    looks like the description of the SYS6 display structure is wrong in pinmame s6.c
    It does not match with what is stated in "struct core_dispLayout s6_6digit_disp[]"

    I adapted LISY structure to the core structure, display log looks better now.

    matiou please try my latest update and let me know if it solved your display problem

    http://www.flipperkeller.de/lisy/lisy_update_5_27_38.tgz

    #616 3 years ago
    Quoted from matiou:

    bontango do you think I can generate a nvram file on my PC using Visual Pinball, and then copy this file onto the LISY sd card? (I would need to set Firepower as free play and would like as well the possibility to deactivate the background sound, to help with my sound debugging)

    Yes, I did it in the past. However you need to copy it within Linux, the nvram files are not
    on the Windows partition but mounted under /piname in Linux.

    Will see if I can do some 'LISY magic' tomorrow to fix the bug

    #619 3 years ago
    Quoted from matiou:

    So I confirm it does not seem to work...

    I updated the advanced button handling, can you please check?
    http://www.flipperkeller.de/lisy/lisy_update_APC.tgz

    10 months later
    #803 2 years ago

    Thanks Grangeomatic and Snux helped a lot to understand the problem.

    I have updated LISY a bit to allign more to the PROC code (there was a 'smooth paramter set to '1' with PROC;
    which was set to the default value '2' with LISY). Amoksolderer will test this LISY version and see if it helps.

    If not we may go to the 'drive_patter' method on Arduino

    Will report about the outcome ASAP ...

    1 month later
    #850 2 years ago
    Quoted from tmator:

    I boot Simpsons Data East with Lisy and display is ok

    Interisting, I though I would need to do adjustments on the second line, because LISY handles Simpsons
    internally as 'SYS11C' which has a different segment layout on the second line.
    AmokSolderer is that something you correct on APC side?

    When you connect the switchmatrix please check if you can enter the Data East diagnostics, from the pinmame source
    the 'advance switch' is handlded inverse compared to SYS11, so might not work at the moment.

    #852 2 years ago
    Quoted from AmokSolderer:

    But this is handled by the APC anyway

    Great
    So I will add all 'early' DE games to next LISY test image.
    Can I use the same display settings as 'SYS11A' for the DE games with "(2x) 7 Digit A/N (2x) 7 Digit Numeric" display?

    #855 2 years ago

    see post #651

    Quoted from AmokSolderer:

    Yes, this is a known issue. For some reason the JLC preview fails with the APC board data.
    Just enter 200mmx237mm as board dimensions to get a reasonable quote and proceed with the ordering process. You wont be able to see the board preview, but the rest works.

    Quoted from matiou:

    1 week later
    #870 2 years ago
    Quoted from tmator:

    finally it works nicely on Data East

    Looks good

    What I saw in the pinmame source is the following code:

    /*Set coin door inputs, differs between S11 & DE*/
    if (locals.deGame) {
    pia_set_input_ca1(S11_PIA2, !core_getSw(DE_SWADVANCE));
    pia_set_input_cb1(S11_PIA2, core_getSw(DE_SWUPDN));
    }
    else {
    pia_set_input_ca1(S11_PIA2, core_getSw(S11_SWADVANCE));
    pia_set_input_cb1(S11_PIA2, core_getSw(S11_SWUPDN));
    }

    So looks like the advance switch in DE games has inverse logic compared to williams and
    I need to adjust the handling within LISY for DE games.

    Did you try the DE diagnostic menue, does it work as expected?

    AmokSolderer you may need to adjust the advance switch also in APC!?

    1 month later
    #884 1 year ago

    From a 'LISY point of view' you need my latest testimage and select the right game.
    https://lisy.dev/swrep/LISY_Image/test/
    Game #73 for Laser War, complete gamelist here: https://lisy.dev/swrep/LISY_Image/test/cfg/lisyminigames.csv
    Don't think you need special settings on APC side ...

    2 months later
    #902 1 year ago

    As Raspberry PI is becoming rare, I created an Image for the Banana PI M2 Zero
    https://lisy.dev/lisy_embedded.html
    You can also use one of the 'embedded' images to speed up boot time of your Raspberry PI Zero
    All images tested 'on the bench' only, pls. let me know in case of problems.
    Have fun

    1 year later
    #944 7 months ago
    Quoted from AmokSolderer:

    However, I doubt that bontango is in the mood for implementing something like this.

    If it is only to add the lines posted by ThatOneDude I can add the code to the 'official' LISY/pinmame source and make a new LISY image, no problem.
    However I would need volunteer(s) for the Teensy and testing part ...

    You're currently viewing posts by Pinsider bontango.
    Click here to go back to viewing the entire thread.

    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/arduino-pinball-controller?tu=bontango 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.