(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 compy.
    Click here to go back to viewing the entire thread.

    #261 4 years ago

    Populating an APC board myself for use in a Space Shuttle. Love the build out so far. The pain was that I think I started half way through different APC versions, but after a few corrections to the BOM, I think I'll have my first board populated completely this week (just waiting on the appropriately sized tantalum cap and the 100n caps for the sound section and we're good to go).

    I'm designing a mounting solution in CAD for the board now. Looking forward to digging into software. If you need any pinmame help or anything, let me know. I worked on the emulation stuff for Kingpin and it was a super fun project.

    -- Jimmy

    #263 4 years ago
    Quoted from ThatOneDude:

    If you can help with the ongoing Unix sound problems on pinmame, that would be cool.

    Ah yes, the turrible turrible DSP implementation. You *can* hack around it by using pulseaudio and running the application through pacmd so that the DSP device is emulated.

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

    #265 4 years ago
    Quoted from ThatOneDude:

    Do you have a description of how to do that hack?

    Assuming you're running pinmame in linux and *cant* get audio, do the following:
    1. sudo apt install pulseaudio
    2. padsp <pinmame command>
    NOTE: make sure to add "-dp oss -smp oss" to the command line options so that it tries to fall back to the DSP (which pulse audio is emulating)

    Example:
    pacmd ./xpinmamed.x11 -rp <rompath> <rom> -skip_disclaimer -skip_gameinfo -dp oss -smp oss
    (you may or may not have to tweak/add other options as you're currently doing)

    #284 4 years ago

    Having a blast working on this. Curious if anyone has run into this issue before I dive into the code: I am only able to get sound out of the 'SOUND.BIN' track. If I copy my MUSIC.BIN to SOUND.BIN on the SD card, the appropriate file plays, but it doesn't seem like the "music" channel is actually getting populated. I can see the file reads happening, but I never get any sound from the music track itself. The copying of music.bin -> sound.bin and hearing the contents verifies that the file is at least ok.

    Going to dig in more, but wasn't sure if I was missing something glaring!

    -- Jimmy

    #286 4 years ago
    Quoted from ThatOneDude:

    Check each lead on TDA7496. Make sure you are getting a signal on the INR and INL leads.

    Thanks for the suggestion! It turns out I'm an idiot though, I forgot that Space Shuttle only has one channel

    #295 4 years ago
    Quoted from ThatOneDude:

    Can someone try the following python and tell me if it behaves for you?
    $ cat poll_apc.py
    import serial
    ser = serial.Serial(
    port='/dev/tty.usbmodem1411',
    baudrate=115200,
    parity=serial.PARITY_NONE,
    stopbits=serial.STOPBITS_ONE,
    bytesize=serial.EIGHTBITS,
    timeout=1
    )
    while(1):
    print("Writing out 00")
    ser.write(hex(00))
    ser.flush()
    print("Reading")
    readval = ser.read()
    print("value is " + readval)
    It borked the spacing, so make sure to indent.

    Why are you wrapping values in hex()? That'll return hex strings, which is probably not what you want. Write hex byte values instead.
    Try ser.write(0), or 0x0 if you want to keep things hex formatted.

    Otherwise your code looks good.

    1 month later
    #361 3 years ago
    Quoted from bontango:

    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

    Correct. To get anything near a 2khz resolution on the gpio pins, you'd want to use RTLinux, a dedicated interrupt and direct memory writes to the GPIO regions

    For Pinball 2000, I ended up doing the same thing. Though you can also program it bare metal on the pi using a bit of assembler and jump into C

    I've done full pinball games using the RPi while also pushing out HD graphics. It can be done, but you have to optimize heavily. Generally full screen updates and long IO access times will kill you there.

    I'm currently rewriting the core to Demolition Man 2000 to move it from a clunky PC under the cabinet to a raspberry pi.

    4 weeks later
    #389 3 years ago

    Generally anything less than ~50 or so units the fab will likely hand solder anyway. However I've recently had to convert most of my board designs to use SMD components just because of the availability (and often cost).

    While this board was moderately difficult to put together (just from the time spent), it was a rather therapeutic break from programming for a change

    I checked my parts racks, and I do have 4 blank v2.4 PCBs if anyone could use one.

    #391 3 years ago
    Quoted from AmokSolderer:

    The only difference to V2.4 is that on the new APC board the Raspberry Pi is also included. Therefore no additional Lisy_Mini board is needed any more if you want to run PinMame or MPF without a PC connected.
    The use of the Pi is optional. If you don't populate it then you have the same functionality as in V2.4. Even if the Pi is populated you can still select the USB port for communication. That means you can use the on board Pi for PinMame and still use your PC to develop some MPF rules for your game.

    I'm just running on that paragraph as the main difference.

    2 weeks later
    #394 3 years ago
    Quoted from Kneissl:

    Got audio and display going!
    Great work amoksolderer !
    [quoted image]

    This is fantastic! You worked fast

    Can't wait to see what you cook up!

    You're currently viewing posts by Pinsider compy.
    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=compy 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.