Hey everyone,
Long time lurker and fan of work I’ve seen here, first time poster. I’ve spent about the last year working on my first cabinet project, and decided to wait until it was cosmetically ‘done’ before unveiling it, but here you go: The “Chrono Crosser!”
ConceptDespite the theme, the cab is a dedicated arcade platform; I’m a big Chrono Trigger fan and fell in love with the idea of theming the frontend and cabinet around the End of Time and the Epoch, as a vehicle to time travel to different eras of arcade games. I’m a hardcore retrogamer, of course, and grew up with CRTs; I knew this was always going to be based around a CRT. In fact, I learned how to modify consumer CRTs for analog RGB inputs before I even started building a cab, so I knew what my centerpiece would be. I was shooting for a pixel-perfect solution for syncing to as many arcade resolutions as possible.
Computer / SoftwareI was intrigued by the idea of working with a Pi, as I’d never done a project with one. I ended up using a 3B+ to use with RGB-Pi, a nice piece of kit that outputs analog RGB as SCART from the GPIO with their own fork of Retropie. When it works, it works great; most people would not see any issues with it. Using it with the latest AdvanceMAME as primary leads to beautiful results. The down-shot of using the RGB-Pi Retropie package (which they’ve since stopped supporting anyway) is that the creators are very opaque about some of its workings, and not exactly helpful about customizing their Black Box.
Issues are that it is definitely not designed for including an emulator they didn’t initially support (say, MAME 2003-Plus), and from the Arcade perspective specifically, the way their program works precludes you out of the box from setting different emulators for different games within the arcade folder. Also, if you have a game that they don’t have in their resolution database (they ignore all vector games, for starters), or have a res that won’t QUITE work with your monitor, it takes some digging to find where those values are hidden.
Much of the year of work has been spent tinkering with getting the most out of their software. I ultimately managed to get 2003+ working, got my res database further customized, and managed to bully it into allowing multiple emulators to run out of Arcade (however it still currently breaks their res-switching feature to go back and forth… still working on that). My regretful workaround for now is to divide out between a ‘main’ Advmame folder and a small 2003+ set; more on how I approached that artistically later.
Cabinet Hardware / MonitorSometime during this, I came across this cab that began its life as a Pit Fighter stand-up; I bought it for about $300 from a guy who had had it partially retrofitted already. When I got it, the original CP and electronics were long gone (other than the coin box), but they had done a good job of replacing the original monitor with a well-mounted, de-cased late-model 27” Samsung CRT with YUV/component inputs. The IR receiver was also mounted inside where a remote can still be used to get to the service menus/etc, and they wired the on/off to a cab-top pushbutton. There was also another standard PB up there that was originally intended for a system reset, but it no longer had a microswitch or wiring.
One of the other big draws of the cab, despite not being in great physical shape (quite a bit of shrinkage around the monitor area, some other holes and peeling melanine) was that the original control panel was back-mounted to a pull-out access drawer where the guts went, secured with four carriage bolts and clamps. It makes most maintenance really easy, and it appears strong enough to hold my substantially bigger panel (though I’ve stayed nervous about it).

Finally, the Samsung also had a remarkably broad sync range; better than any of the other CRTs I had modded to date, short of using my PVM (and I wasn’t going to blow my PVM on an arcade cab). It hits PAL and even some of the bizarre frequencies (53hz Midway games, looking at you) without a hitch. The quality was so good that I decided instead of cannibalizing or replacing it, to put in a Shinybow SCART to YUV transcoder in-line. Picture is glorious.

I definitely have some purist in me that would prefer to have a rotating CRT or secondary vertical oriented cab (since I love shooters), but I decided that since I’m unlikely to ever get to build (or keep) a second cab, horizontal would give the greatest reach. Plus, AdvanceMAME with RGB-Pi does an excellent job of keeping vertical games pretty close to perfect, and the 27” field keeps most from looking too smushed.
Control PanelNow for the biggest wall of text.

I was heavily inspired by the Space Paranoids panel when I was designing my CP. Again, since Iam doubtful whether I’m ever going to get to do a second machine, I wanted to cover as many bases as possible without going full Franken-panel. I loved 4p machines growing up, and I’ve got a family of 4, so it was always a given that it would be a 4p cab. A trackball and spinner were going to be a definite need. I considered a bespoke 4-way for a long time, but I decided to instead rely on mappings and use a bespoke flightstick for things like Star Wars.
I decided early on that I’d be bottom-mounting on 3/4” plywood, and started teaching myself how to use a CAD program again (LibreCAD, specifically). Before I got too deep into that though, I had to decide exactly what parts I was going to use, so I could look up undercarriage measurements to accurately account for them in the design.
I decided I was going to go for some glitz… once I read about RGBCommander, I was very excited about its capability to load a different color map for every game. That was the nail in the coffin that I was going to go with an RGB lit board. I decided to build around an iPAC Ultimate, which with some creative remapping, would be adequate for everything I wanted.

For joysticks, a consideration was that I hate microswitch noise. Hate it. That and the lack of having bespoke 4-Ways helped me decide pretty quick that I was going to use Ultrastik 360s for the player 1 and 2 sticks (unrestricted, currently). Once again, the decision to heavily use RGBCommander played into that, since it can also remap those on the fly. The flightstick is the Ultrastik FS variant. Player 3 and 4 I decided to go with some nice leaf sticks, so they’re both Dominux8s.
For primary buttons, again with silence in mind, I went with Goldleaf RGBs. The four major system buttons are single color Chromalites, rounded out with standard white player start buttons, and standard HAPP single color coin buttons.
I struggled a long time with deciding which TB and Spinner to go with, but ultimately got the U-Trak for its ease of mounting, and the Spintrak. Mounting hardware for all but one were Groovygamegear’s, which are remarkably cheaper than the similar kit from Ultimarc.
So if the CAD didn’t give it away, the box was entirely custom built. The original CP for this cab had a very deep box at the back to cover the drawer, which tapered down a bit to the front, so I emulated that part of the design. The lower box was secured together with both wood glue and wood screws into every joint, and Bondo’d over. It also has two extra battens wood glued into the rear corners for a little bit of extra support.
For the top panel, all of the JS slots and button holes were drilled with Forstner bits, with the exception of the TB (had to use a hole saw for that one). It is secured to the panel box with two heavy-duty Euro-style hinges at the front lip, so it flips open and away from the cabinet. I didn’t feel the need for any kind of latch to hold it down; the components are heavy enough to keep it securely closed unless you’re trying. There are also large, matching cord pass-through slots that correspond with those on the cab drawer, that are large enough to reach through (for anyone with up to medium-sized arms) to release the drawer’s locking clamps.
I’m happy to say, that shockingly (really), I did a solid enough job planning the CP that everything that mattered fit perfectly on the first try. The only two exceptions were that I ended up having to move the iPAC slightly on two occasions just to make more room for cord clearance (it is attached to the bottom of the CP surface with brass standoffs), and then a screw-up related to the flightstick. The FS was the very last piece I ordered, and I overlooked a critical measurement during planning. I already had the cab built and up and running for most of a year before I got my hands on it, then found out that, unlike normal Ultrastik’s, it does NOT have enough clearance to undermount on 3/4” without making a pocket. I didn’t make a pocket for anything else, nor do I own a router… and everything was built. So now what?
I ended up getting a cheap Ryobi $20 rotary cutter with a depth guide. I pulled back all of the surrounding wiring, drilling pilot holes for the corners of the pocket, then using this rotary cutter to painstakingly carve out a rough 1/8” pocket. The pocket was just large enough I could then fit in an oscillating sander to smooth it out. Worth noting, this led to one of the biggest accidents of the whole project; by this point, I already long-since had on the CPO since I thought all the cutting was done. Not so much. I was still committed to undermounting, so I had to expand down holes for the threaded inserts inside this new pocket; everything went well until the 4th corner, where I ended up drilling through the CPO… whoops. More on that later. Good news was that the FS mounted fine otherwise at that point.
The only other issue with the CP install was that the 3rd player stick got installed JUST off-centered diagonally by about an 1/8”. Since the threaded inserts were already in, not much that could be done about that… This was leading the stick to work, but to have an unnaturally narrow diagonal zone on that side (and a hard bump). Solved it by getting a large step drill bit to smoothly/conically widen the hole from the top by another 1/8-1/4” all around. Worked like a charm.

Last touches rounding out the CP features are a super-slim/thin keyboard velcro’d down for maintenance in the bottom, and a 7 port powered USB hub, also velcro’d down. Hub HAD to be powered with that many Ultrastiks; had some very interesting problems with an unpowered hub. Now the only wires that have to connect through into the drawer are the iPAC power cord, the hub power cord, and the one USB cord.

Otherwise, I can’t claim to have very clean wiring, or anything achieving wiring porn. The decision go to RGB kind of made this destined to be a bit of a rat’s nest, but I’ve done the best I could with zip ties. Major arteries of cables are tied together relatively neatly, but a ground loop daisy chain just looks like crap regardless, as installed. I’ve tried to suck those bundles up to the surface with Velcro, but I haven’t made a strong enough patch to hold them yet. The USB converters for the spinner and TB are also velcro’d down.
Cabinet ArtFirst off, all printing was by Gameongrafix; great stuff.
The CPO was entirely custom work by me. I decided to try to make it look like the cockpit of the Epoch, leading to the general, overall clean brushed metal look with brassy/gold trim. Because of the theme, and because I was so confident in my measurements, I decided to go against the grain and actually design ‘compartments’ for each player’s controls. I tried to make them look like a raised, softly colored metallic bezel around each area with a clockwork background to look like exposed inner workings. I also shot to give the areas faux brass nameplates to label them. By and large, everything fit exactly like I wanted it to; the TB is not lined up QUITE as perfectly as it could be, but overall, I liked the look.
Then tragedy struck.
So just to the top left of the flightstick slot, as I mentioned, I popped through the CPO from the bottom with a BIG drill bit (big enough to drill for a threaded insert). It was a MESS. The idea of paying for a replacement CPO and, more importantly, having to remove EVERYTHING to put it on, was… less than desirable. So I got creative.
I sliced the wound with a hobby knife into four quadrants and peeled it back, then chipped away all the ply fragments. I capped off the hole with Bondo, and then smoothed it out as best I could without further damaging the overlay. Then, I laid the corners back in place and glued them down with Gorilla glue. Not much of the material was actually gone, so the wound closed up more-or-less, but it was never going to be flat and blemish free again. Then it was time to turn to camouflage.
Cue a bag of assorted bronze and silver colored steampunk clock/gear charms from Amazon. I found a good one to perfectly cover up that spot and Gorilla glued it down over it. No more blemish, but of course, it now lacked a certain symmetry… so I selected 3 other small compasses/clocks/chronometers, and a larger one, and spread them out vaguely symmetrically, and glued them down as well. In the end, I’m almost glad for the accident now; I think the extra 3-dimensional faux gauges and stuff actually improved the final aesthetic.


The marquee is based on a piece of art by gears2gnomes, who graciously allowed me to use it and gave me a custom resized, high-DPI version to use as a base. I just applied the name art, and I took the 2-plexi sandwich option from GoG. Currently lit by a pre-existing fluorescent, but I’m intending to replace that with a Nova Linx someday (if they ever come back in stock).

The side art of Gaspar was based on a piece I found online via Google, but was never able to locate the actual artist. It’s signed by “kborquez, 2012” so a shout-out if anybody ever finds him. Even though the source image was pretty small, it was deliberately a pretty soft image as part of the lamplight aesthetic. This made it thankfully very easy to dramatically upscale it in GIMP to use as a full side art, and still maintain it looking amazing. I had also previously sanded and painted over the cab with Rustoleum satin black, and there was some definite roller texture left, but I decided to deliberately leave it with a very light texture under the vinyl. It gives the final art a slightly rough/rugged look that you can really only tell at very close range, but that I think compliments the art. GoG sideart went on without a hitch, even during a blackout that hit mid-job. It somehow seems fitting to the material to have finished the application and trimming by lamp light.
Emulationstation ThemeTo finish the effect, I did a personal custom theme to fit the material, using several other pieces of online art (so not comfortable handing it out without hunting them down and asking permission). Custom help font and UI icons to match the theme and controls on the panel. Entry screen looks like approaching the lamp post from a distance, and the game lists use a CT font with game video looking like it is emanating from the lamp light (or that’s what I shot for, anyway). I also played with the metadata a bit to add a faux era gauge to highlight the year you’re traveling to (release year) in a central location.

I mentioned long ago that I couldn’t use a unified arcade list yet because of the way the RGB-Pi system works. My solution was to divide them into the largest (AdvMAME) list and calling it the Epoch… and a small subset (2003+) labled as the Portals. The former gives you a transition video of Chrono, Marle, and Lucca hopping into the Epoch and taking off, the latter gives you a transition of diving through a time portal.

Rounding out, the system launch video currently uses Rookervik’s recreation of the Chrono Trigger intro. At some point I’d like to make (or talk someone into making) an alternate version that uses my cabinet’s name.
ConclusionSo if anybody actually bothered to read all of this… thank you! I’m pretty sure I would never have actually finally embarked on this project without stalking the heck out of threads on here for a good year or so before I finally decided to take the plunge. Likewise, my thanks to the cottage industry of folks at Ultimarc, Groovygamegear, and Gameongrafix that make great stuff that makes it possible (also, huge shout-out to Andy for being always responsive to questions). I’m sure I’ll be tweaking it for a long time to come, and may be reimagining the system side a bit when a Pi4 can run Killer Instinct properly, but this has been a terribly fun hobby project. I’m sure there’s quite a bit I could have done a bit differently. Feel free to critique, I’d love to hear it.