8 March 2026
I went down a bit of a rabbit hole but finally realized someone had already solved the problem I thought I was going to have.
If you recall from my “Intro” post in this series, one of my goals was to be able to play the three big Konami beat-em-up arcade games: The Simpsons, TMNT, and X-Men. TMNT II: Turtles in Time, as well.
My problem is this: These games were originally designed to have four players at once. Four joysticks, four sets of buttons (X-men had a six-player version as well). And when you started the game, where you put your coin determined which player you played. For Simpsons, coin slot 1 was Homer, for example. My problem is that I only intend to provide two player positions on my smaller, 23” console. Ordinarily, that would lock me into, say, Homer and Marge.
I’d already decided to connect my single “coin in” button to all four coin inputs. Pushing the button once would essentially “activate” all four characters… but the joystick mapping is still a problem. My joysticks will be mapped to players 1 and 2, so I’d only be able to hit “fire” to start those two characters. Bart and Maggie would be forever out of reach.
I’d gone down a bit of a rabbit hole, trying to figure out if I could dynamically create a MAME config file that re-mapped the joysticks to, say, players 3 and 4, but I could’t come up with anything that wasn’t super kludgy. I mean, those config files have to be created before the game starts, so I’d have to do something funky in the front-end launcher, and I just couldn’t think of something that wasn’t… ugly. Like, having two options in the front end: “Simpsons P1+P2” and “Simpsons P3+P4…” but does that mean I also need “P1+P3” and “P1+P4…” and I have to do this for all three games… ugh…
Turns out I didn’t.
Not every arcade could afford the cost or space for those huge 4-6 player machines. So Konami manufactured smaller versions with only two player positions. Those games run modified Read-Only Memory (ROM) chips that provide a character selection screen. Exactly what I need! Now… fun story, the TMNT 2-player cabinet was never released in the US. It was only released in the UK and Japan, where the word “ninja” has some unpleasant connotations, and so they game is titled “Teenage Mutant Hero Turtles,” yuck. I mean, the digitized theme song is the same, but the logo says “Hero” instead of “Ninja.” Fine. Whatever.
All right, so up through the mid-1990s, arcade game computers were purpose-built things. Every game had an absolutely unique circuit board, populated with custom-made ROM chips. The stated purpose of MAME is actually to help preserve those, because over time the circuits do degrade, especially with something called “capacitor rot.” So to run a game in MAME, you start by getting hold of an actual circuit board and using a ROM reader to copy, or “dump,” the contents of each chip.
Download the pacman.zip “ROM set” for MAME and unzip it. You’ll find ten files with names like “82s123.7f”. That’s the identifier number of the original chip, and the file contains a binary dump of that chip. All ten chips are needed to play the game.
Some games begat a lot of clones. For example, a “world” version of a given game might differ only slightly from the “US” version of that game, and so rather than make two complete copies, the “world” version might be treated as a parent, and the “US” version would be a child, or clone. The clone’s ZIP file only contains dumps from the ROMs that are different in that version. So you need both the parent ROM set and the clone to play.
So for TMNT, the parent is tmnt.zip. The 2-player UK clone is tmht2p.zip (see that “h” in there? “Hero.”) The clone ZIP contains 16 ROM files, while the parent contains the full set of 30. When playing TMHT, the 16 clone ROMs “override” their counterparts in the parent ZIP file.
So that covered Simpsons, X-Men, and TMNT: I managed to find the 2-player clones. It’s not easy. While you can usually scour the Internet (especially Archive.org) and find multi-gigabyte downloads with every ROM ZIP file MAME knows about, those usually only have the parent ROM sets, not all the clones out there. So you need strong Google-fu, and broadly speaking, nobody (including me) will directly link you to a site that provides MAME ROM sets, out of concerns over copyright take-downs.
But my ROM story isn’t over.
One game I wanted to play was Cadillacs and Dinosaurs, another side-scrolling brawler. Fantastic visuals in that game and a fun play style.
C&D was made by Capcom. This is important, because Capcom was one of the first manufacturers to try and reduce arcade machine costs and development time. They invented the “Capcom Play System,” or CPS, at great freaking expense. It was essentially the arcade equivalent to a home game console: it consisted of a single “main board,” and arcade operators could get different “game boards.” The main board contained all the reusable stuff for a game: sprite engine, graphics engine, sound engine, hardware interfaces, and the like. The game bords contained just the ROMs for a given game. This made it easier to turn one game into another, by swapping out the game board and the cabinet graphics. Actual arcade owners wouldn’t usually do this, but Capcom’s dealers could do it. It all made these more-complex games cheaper to make.
Of course, people instantly began pirating the game boards. It wasn’t difficult to copy them, and less-ethical arcade owners could repurpose a machine they’d bought into a new game, attracting new customers.
So Capcom quickly invented a second version of their system, called CP-II, which used encryption. Cadillacs and Dinosaurs ran on this.
Now, of course, someone’s cracked the encryption method after all this time. It wasn’t even terribly sophisticated for its day. So you can play these games on MAME. But there’s a trick.
First, you have to get the ROM sets for the main board. This usually takes the form of a couple of “QSound” ZIP files. Then, you have to find a correct ROM dump of the C&D game board, and that takes some doing. I went through a dozen dino.zip files, using MAME’s -verifyroms command-line switch, before I found one that wasn’t spitting out “unexpected length” errors for one of the ROM dumps.
You see, MAME somewhat astonishingly has every game you can play on it listed in its source code. If you run MAME with its -listxml switch, it’ll dump all that information into an XML data file. It knows every game, every ROM, the CRC checksum of those ROMs, the works. So it knows if you don’t have all the files it needs, or if those files aren’t what it’s expected. It’s… well, like I said, astonishing.
Suffice to say I spent two days digging all this up and finally have a running copy of C&D on my Mac, ready to be copied to the mini-PC that’ll run my actual cabinet. But this goes to show you that MAME is a real hobbyist thing. There’s a reason folks like Arcade1Up can charge a thousand bucks for a replica cabinet pre-loaded with all this crap, and there’s a reason Hyperspin can charge for a USB drive pre-loaded with all this crap, and it’s because assembling it yourself is a project. I mean, I enjoy it, so no complaints.
Okay. I’m off to see how much I’d need to add to my Tron panel to let me also play Afterburner on it.