Planning the Arcade Part II - when the iguana becomes Godzilla!

So at this point, I'm now about six weeks out from the planned build of the cabinet.  I have the display and audio determined.  I also know the controls I want and have identified the brand and seller of those controls.  But this doesn't mean there isn't still a lot ot figure out and a lot of parts to obtain and test.  It also doesn't mean the research stopped... and of course this led to yet more changes and features I wanted to integrate.  Many websites advise to not shoot for the sky on your first cabinet build, but to start out simple.  However I only plan on building one of these suckers, so I'm shooting for the sky.  Goodbye iguana and hello...

Game Controls and Panel Lighting
I mentioned Ultimarc in the previous post.  They had the electronically or programmatically switchable 8-way to 4-way joysticks I really wanted.  But they had so much more.  The encoder that would transmit codes from the controls and switches was fully customizable and had control options for lighting nearly all controller options, from the buttons to the joystick top balls and the trackball.  This nifty little piece of equipment is called their IPAC Ultimate I/O:
It has inputs for up to 48 controls/switches (each customizable) and 96 outputs to control RGB lighting!  So, this meant that the regular single color buttons I used in the prototype could each be individually addressed and be just about any color imaginable.  Even better, it might be possible to have the buttons or other controllers light up by game.  So, if a game only used two buttons, only those buttons would light up when the game was launched.  This would be great, especially for arcade games where the number of buttons used and the layout varies so widely.  In addition, when a game wasn't active, the RGB controllers could be placed in an "attract" pattern that would fade, change, etc.  It would be like having a Christmas tree year-round.  Me want!

As an additional added bonus, the trackball and spinner could be plugged directly into this board, thereby saving precious USB ports on the Raspberry Pi (I would come up with other plans for those).  Oh, did I mention that the trackball could also be ordered in a translucent color with its own RGB addressable light?  To get an idea of the possibilities, do a quick YouTube search for "Ultimarc RGB Demo".

There was one major problem here.  All the software for programmatically controlling the joystick positions and the RGB lighting is Windows/PC based.  And as you know, RetroPie is built on Linux.  It should also be well known by now that I am still in the process of knowing just the bare bones part of Linux.  Just barely enough to navigate around and follow well-written directions from someone much more knowledgeable than I.  Tackling something like controlling the lighting in the Linux environment was waaaaay beyond my capabilities.  But I liked the idea so much, I almost abandoned the idea of the Raspberry Pi and considered putting a PC in my cabinet.  Almost.  A PC would have a number of other advantages (I won't get into them here.  There are a lot of home arcades that are PC-powered for a number of reasons). But I started this adventure to learn something new.  Both the capabilities of the Pi and a little about Linux were two of these.  So, I'm sticking with the Pi/Linux for now.  But it has got me thinking about possibly swapping out the Pi for a PC in the future (or maybe having both co-exist and just simply switching the control/USB interface from one to the other... but that's version 2.0 and I haven't even started v1.0 yet!).

However, thanks to a wonderful individual named Gijsbrecht De Waegeneer, there is a Linux package called RGBCommander that will do much of the same stuff in Linux!  In fact, there is even a link to it from the Ultimarc website.  So, I'm back in business.  I'll still have to figure out a lot, but the documentation within the RGBCommander package is really extensive, so I'll have a starting spot.

So, now I've settled on Ultimarc for the controls.  I placed an order and was amazed when it showed up on my door only a short 3 days later!  I have yet to unbox them and I'll probably do an entire post on that soon.  But for now, let's focus on other things as Godzilla is still hungry.

Oh, before I go on, in case you're wondering about what happened to the confused chicken, he checked out about five posts ago...
... and was eventually eaten by the iguana.

Coin Door
In the prototype, there were dedicated "coin" buttons for Player 1 and Player 2.  Since the ROMs for the arcade games are true simulations, you have to simulate a coin insert to generate a credit before you can start the game.  But why simulate the action when you can use the real thing?
Yep... you can buy these too, and for only around $45.  I quarter simply activates a mechanical switch... just like the panel pushbutton.  This should be pretty easy to swap out, get the "real" arcade experience and also allow two buttons to be removed from the control panel.  I'll still have a "secret" button combination that allows for simulated credits, but chucking quarter after quarter into the machine to get that high score is a huge part of the nostalgia of the original arcades.  Back to the design stage to incorporate this into the plans!  And while optional, the illuminated coin slot is a nice touch.  It will need a 5V power supply, so add that to the list of internal cabinet power needs.

External USB ports
I mentioned wanting to maintain a couple of open USB ports on the Pi.  This is so I could run extension cables to externally accessible USB ports on the 4" admin control panel (next to volume and Pi power buttons).  There were at least two reasons I wanted to do this.  First, it would allow me to connected a wired USB keyboard should it be necessary.  Yes, I'd have a paired bluetooth keyboard, but a secondary wired option without opening up the cabinet could come in handy.

But more importantly, it would give the option to use gamepads if desired.  As I mentioned before, the one thing I learned quickly in the prototype, gamepads like the XBox and PS controllers simply did not translate well to arcade games.  But the reverse is somewhat true as well.  Arcade controls don't always work the best for console games.  My cabinet would primarily focus on arcade games, but it would also have an assortment of various console games.  If someone wanted to use a gamepad, having the external USB ports would allow them to simply be plugged in and used.  Finally, it should be possible to use the gamepads alongside the standard controls to support up to four players.  This will have to be tested, but others have reported doing just this same thing, so might as well add this feature too!

Power
I've mentioned power a couple of times.  As I kept adding features and thought about the needs for things like illuminated power buttons (one for the Pi, one as a master) and other things like the audio amp, coin button on the coin door, a couple of repurposed cooling fans from an old PC (I haven't talked about this, but I want a fan for the Pi and maybe a couple of others just to move some air within the cabinet).  What was becoming clear is that I'd need at least three different types of power sources in the cabinet.  There would be normal 120VAC for things like the display, marquee lighting and other items that came with AC/DC adaptors, 12VDC for items like the audio amp and and cooling fans, and 5VDC for other things like LED lighting on non-control panel buttons.  Back to sketching:
I decided that I'd create a separate 5VDC and 12VDC bus inside the cabinet each powered by their own power supply.  For AC, I'd have one power strip that was always live (well, as long as the household power remained on) and one that was switched by the external master switch.  Now, here's where the electricians and electronic experts out there are going to cringe and say "don't do that".  They'd probably be right.  Nearly everything in the cabinet would be powered off the 120VAC "switched" power strip, including the marquee lighting, and all 5V/12VDC devices.  Basically most everything would power down when this strip was shut off via the externally mounted toggle switch (also illuminated by the way.  Are you really surprised at this point?).  So why the need for the continually live strip?  Well, for one, I discovered an issue with the display.  It would go into a standby mode after a couple of minutes of no signal and power back on when a signal was received... as long as power to the display itself was not interrupted. If the monitor lost external power, it was necessary to manually hit the power button.  So, the monitor would need to maintain a constant connection to AC power.  There will still be an issue if the household power is lost, but I'm thinking about a janky way I may overcome that, short of hooking the whole thing up to an uninterrupted power supply (UPS).

A live strip might also be handy if I want to install interior lighting to assist if I do need to do any work on the interior of the cabinet that involves power.  An LED lighting strip or two could be mounted inside of the cabinet and be switched on while the power is off to everything else.  Here we grow again...

Next: Planning the Arcade Cabinet Part III - Final Tweaks >>

No comments:

Post a Comment

RGBCommander Update (and possible fix)

If you have recently been working on your own arcade and ran across posts referencing a utility for RetroPie called RGBCommander that can co...