Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Multi PCB Game Selector System  (Read 2455 times)

0 Members and 1 Guest are viewing this topic.

Mike A

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5905
  • Last login:Today at 08:10:31 am
  • This plan is foolproof
Multi PCB Game Selector System
« on: July 25, 2019, 07:14:14 am »
I bought a JAMMA Multi PCB selector board from riddledTV.com
https://riddledtv.com/arcade/jamma_switchers.html

The one I bought is not on his website yet. He describes it over on KLOV.com
https://forums.arcade-museum.com/showthread.php?t=451531&highlight=riddledtv

It is only capable of blindly cycling through the pcbs. I want to improve on that system.

This was my first idea. I used stuff I had laying around. Diving into a project helps me figure out the pros and cons quickly.

I programmed an Arduino to detect when a PCB powers up, and send a signal to an iPac. Each PCB triggered a different keypress when it powered up.

I then found a random PC image viewing program that accepted keypresses so I could display a different image for each PCB on a monitor.

It sort of worked, but that is when I decided that cycling through the PCBs was no good. It worked for me because I knew what PCBs I was using and what order they were in. It would not be intuitive for anyone else.



So here is the great plan. Please tell me what you think of the idea. I am wide open to a better idea. My coding skills are very rudimentary.
There are smart people here with widely different ideas about how things should be done.
I am confident I will come out of this with a robust system that is user friendly.

Here it is:


I want anyone to be able to choose a game from a list on a screen and display an instruction card and CP diagram once a game is picked.

Here are my basic notes. I still work better on paper.





I forgot to add that I would put a simple cover over the rotary switch to prevent accidental use, and the button would be labeled on the CP.



One last note



I know this is not super organized. I expect it to change radically as I get ideas from you guys.


PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9672
  • Last login:Today at 01:42:41 am
  • Designated spam hunter
Re: Multi PCB Game Selector System
« Reply #1 on: July 25, 2019, 10:27:47 am »
I want anyone to be able to choose a game from a list on a screen and display an instruction card and CP diagram once a game is picked.
I'm not convinced that you need to go the rotary switch route for the game selection hardware but if you chose that approach, something like the Taito "Aim-n-Fire" controller from Frontline, The Tin Star, or Wild Western that acts like an 8-way joystick might be a reasonable approach.

  Pros: Off the shelf hardware, rugged enough for arcade use.

  Cons: You'll need to be able to tell the difference between diagonals and cardinal directions, not a very common controller.





If you want to see what's going on inside that controller, here is a preliminary design for a 3d printed version.
------------------
Just spitballing here, but I think you might be better off using a RasPi with a FE that displays the current game name, screenshot, instruction card, and CP diagram as a single image.
- RasPi is always-on

- Use a 5-input keyboard-style encoder for the RasPi (may need blocking diodes to keep encoder voltages from leaking to the PCBs)
-- Navigate the 8-game FE list using joystick R/L
-- Launch the desired game using P1B1
-- Return to FE by pressing Start1 and Start2 (at least this part of the directions must be on CPO/bezel)

- Launching the game involves using a script that does the following
-- Sends command to relay board to energize the desired PCB
-- Switches monitor video input from RasPi to the desired PCB
-- Ignores other inputs until Start1 and Start2 are pressed then resume normal FE navigation, switch back to RasPi video, and de-energize the PCB

Haven't worked out many of the important details like probably needing blocking diodes on the controls like in Maximus' multi-rotary cab. (relevant part of the thread starts here on page 4 and runs through page 7)

Hope this info helps.   ;D


Scott

Mike A

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5905
  • Last login:Today at 08:10:31 am
  • This plan is foolproof
Re: Multi PCB Game Selector System
« Reply #2 on: July 25, 2019, 10:54:20 am »
I am using a separate display for the game selection system.

It will not be tied into any of the game controls. That is why I am using the rotary switch.

Maybe I am not explaining clearly. I will attempt to clarify.

The rotary switch will be connected to a pi. Each position of the switch corresponds to a PCB 1-8.

It will be connected to a pi. There will be a screen with all 8 games listed and numbered 1-8.

When you set the switch to position 2 it will display a screen shot and title for that game. there will be a separate button to select that game for playing.

When you push that button it will send the appropriate number of pulses to power up that PCB.

If there is a rotary switch that you could push in like a push pull spinner, that would eliminate that extra button.

does that make sense?

I don't want the game to power up when you turn the rotary switch because that is a lot of unnecessary powering up and down as you cycle through the menu to make a decision.


Mike A

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5905
  • Last login:Today at 08:10:31 am
  • This plan is foolproof
Re: Multi PCB Game Selector System
« Reply #3 on: July 25, 2019, 10:57:05 am »
Also thank you for the information. I have a bunch of learning to do.

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9672
  • Last login:Today at 01:42:41 am
  • Designated spam hunter
Re: Multi PCB Game Selector System
« Reply #4 on: July 25, 2019, 10:53:47 pm »
Reply #36 in the KLOV thread mentioned in OP looks promising for upcoming versions, but that won't help you with the switcher you already bought.   :dunno
Quote from: RiddledTV
Quote from: speedswan
3. Being able to select a specific game by pulling a single connection low would allow for some pretty interesting RPI/Arduino stuff or some tactile buttons to select games.
I love this idea. I'm thinking I could implement it in lieu of the 8x dip switches I currently have to disable games. If I try to do both, I would need to move to a larger cpu, or possibly a different i/o technique.

Maybe I am not explaining clearly. I will attempt to clarify.
You explained clearly.

I just suggested a different approach using your game controls instead of specialized hardware.

If there is a rotary switch that you could push in like a push pull spinner, that would eliminate that extra button.

does that make sense?
Yes, it makes sense . . . if you insist on using the rotary switch.

I am using a separate display for the game selection system.
D'oh  Missed that part.   :embarassed:

It will not be tied into any of the game controls. That is why I am using the rotary switch.
Pretty sure that there is no 100% hardware solution to what you are describing with your current switcher version.

Whatever game selection hardware you use, with your current switcher you'll still need some RasPi software to keep things synced -- more on that below.

The rotary switch will be connected to a pi. Each position of the switch corresponds to a PCB 1-8.

It will be connected to a pi. There will be a screen with all 8 games listed and numbered 1-8.

When you set the switch to position 2 it will display a screen shot and title for that game. there will be a separate button to select that game for playing.
Other than the rotary switch, we're singin' the same song here.

When you push that button it will send the appropriate number of pulses to power up that PCB.
With your current setup, you manually push the PCB change button three times to switch from PCB 1 to PCB 4 then twice more to change to PCB 6, right?

With the RasPi, the software will need to keep track of which PCB is currently selected then calculate how many button presses to send to switch to the next desired game. (i.e. If want to change to PCB 6 and you're currently on PCB 4 the RasPi would need to send two button presses, but if you're currently on PCB 1 the RasPi would need to send five button presses.)

I don't want the game to power up when you turn the rotary switch because that is a lot of unnecessary powering up and down as you cycle through the menu to make a decision.
Yeah . . . that's why I said that the relay that applies PCB power shouldn't energize until the desired game is launched. (not browsed)

Switching PCB power on and off as you browse the menu is definitely a bad idea.


Scott

Mike A

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5905
  • Last login:Today at 08:10:31 am
  • This plan is foolproof
Re: Multi PCB Game Selector System
« Reply #5 on: July 25, 2019, 10:58:11 pm »
We are on the same page. I believe I mentioned a Pi to keep track of the button presses so it could send the proper number of presses to keep track of things. Thanks for the help. I think I have enough to get started. Once I run into problems I will need your help some more.

You are a valuable resource. I appreciate it.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19428
  • Last login:Today at 01:14:11 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Multi PCB Game Selector System
« Reply #6 on: July 27, 2019, 02:13:48 am »
Ok I'll throw a monkey wrench in....  Why a Pi?  Granted I'm not super familiar with Pi specific builds, but most versions of Linux take forever to bootup and get all screwed up if they shutdown improperly.  Various boards in the Arduino family are capable of generating a vga signal, their bootup would be instantaneous and nothing would happen if you kill the power. 

Myself I would go even simpler.....  8 mini marquees, press a button under the mini marquee to switch to that game. 

keilmillerjr

  • Trade Count: (+5)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1847
  • Last login:October 06, 2023, 10:20:39 pm
  • Web Developer.
Re: Multi PCB Game Selector System
« Reply #7 on: July 27, 2019, 03:51:07 am »
Ok I'll throw a monkey wrench in....  Why a Pi?  Granted I'm not super familiar with Pi specific builds, but most versions of Linux take forever to bootup and get all screwed up if they shutdown improperly.  Various boards in the Arduino family are capable of generating a vga signal, their bootup would be instantaneous and nothing would happen if you kill the power. 

Myself I would go even simpler.....  8 mini marquees, press a button under the mini marquee to switch to that game.

This ^^^^

A simple button like mvs or each mini having a button will do. A pi is too much.

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9672
  • Last login:Today at 01:42:41 am
  • Designated spam hunter
Re: Multi PCB Game Selector System
« Reply #8 on: July 27, 2019, 06:05:16 am »
Why a Pi?
Mostly because of the selection menu images that Mike described.

Haven't found any examples of an Arduino outputting the required resolution and color depth for those images.   :dunno

Granted I'm not super familiar with Pi specific builds, but most versions of Linux take forever to bootup and get all screwed up if they shutdown improperly. 
There are ways to speed up the boot process such as turning off services you don't need -- examples here and here.

Pretty sure you can set the RasPi OS partition to read-only to avoid corruption due to sudden power loss.

Keep the menu selection images on either a thumb drive or a small read/write partition on the SD card.

Make, I say, make a backup image of the SD card for just such an emergency.



Various boards in the Arduino family are capable of generating a vga signal, their bootup would be instantaneous and nothing would happen if you kill the power. 
Interesting proposal.   ;D

There's no doubt that an Arduino can easily handle the code to keep track of the currently selected PCB and calculate/send the correct number of "button presses" to switch to another PCB.

Three questions:
- Can an Arduino output a high enough resolution and color depth for the selection menu images that Mike described?

- If Mike wanted to use different game PCBs, how hard would it be for him to change the selection menu images?

- Can the images be stored on a USB thumb drive for easy updating or would they have to be stored in the flash memory of the Arduino?

Myself I would go even simpler.....  8 mini marquees, press a button under the mini marquee to switch to that game.
Using printed mini marquees instead of menu images would make an Arduino a far better choice than a RasPi.   :cheers:
- Bonus points for using an illuminated button or LED to show the current game selection.


Scott

Mike A

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5905
  • Last login:Today at 08:10:31 am
  • This plan is foolproof
Re: Multi PCB Game Selector System
« Reply #9 on: July 27, 2019, 07:14:23 am »
I thought about an Arduino. I am a warehouse manager. The Arduino VGA stuff looked like it might be a little too deep for me. I am still thinking about it. The Pi booting time is an issue.
Thank you for the input. I am going to play around with these ideas tomorrow.

mourix

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 309
  • Last login:July 25, 2025, 02:02:23 pm
Re: Multi PCB Game Selector System
« Reply #10 on: July 27, 2019, 03:27:01 pm »
I don't like the blind game selection either so I agree with what you are proposing. Let me give some random thoughts.

The Pi is really cool with its raw power and hdmi out, but there are quite a couple of downsides. There's the whole issue with the OS having to boot and shutdown properly. Also the 3.3V IO is not really arcade compatible with arcade TTL levels. All the integration on the software side of things will be quite hard compared to a simple micro. Basically.. it can work but I would never recommend it to a beginner.

How about this: an arduino uno with a 2.8" touchscreen like this. Just load up an sd card with 320x240 pixel images at crisp CGA resolution, make a menu you can swipe through using some graphics library, and use some simple code to see if you can get those pulses to the jamma switcher. It won't be as flashy as the pi setup, but I can actually see you make this setup to solve your issues.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19428
  • Last login:Today at 01:14:11 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Multi PCB Game Selector System
« Reply #11 on: July 27, 2019, 05:22:06 pm »
Yeah, you probably aren't going to do hd resolutions or anything but a simple vga/cga menu should be doable, especially if the screen is specifically designed to work as an Arduino shield.  There are ready built libraries that would let you read images from an sd card and display a certain image based upon a stored value. In general Arduino/AVR programming is easier to get a grasp on compared to a Pi.  At least it is to me. 

Mike A

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5905
  • Last login:Today at 08:10:31 am
  • This plan is foolproof
Re: Multi PCB Game Selector System
« Reply #12 on: August 09, 2019, 02:35:56 pm »
Thanks for all of the input.

I bought one of those cheap encoders from Amazon.

I read through how they work and I had some basic luck getting it to work with an Arduino.

I could turn it and display values on the serial monitor. It is not very accurate.

After fiddling with it I had an epiphany. I grabbed an Ipac I had laying around. It has pins to connect a spinner.

I connected the ground, the 5v, and the 2 signal pins.

Works like a champ. It also allows a button press when you push the encoder knob in. There is a 5th pin for that.

I loaded up attract mode on my PC and set the encoder up to navigate the menus and push the knob in to make a selection.

The next step is to load attractmode onto a pi and see how that works.

I am hoping I can get it working with a minimum of trouble.

I am still considering the Arduino route. First I want to see if I can use the extra horsepower of the Pi to do anything useful.

I was so pleased that I poured myself a Mike A sized glass of bourbon and went to bed.