Emulating All the Things Part 1: The Backstory

TL;DR: This is the first of a series of posts about setting up game emulators on Linux

The first video game I remember playing was a department store branded black-and-white dedicated Pong machine, circa 1979. I only vaguely recall the experience for a few reasons:

  1. I’m super old
  2. I sucked at Pong (and still do)
  3. It got tiresome fast (see point 2)

A few short years later I was introduced to the Atari 2600. Those blocky graphics, simplistic sounds, and blister producing joysticks, now that was my jam. Aside from the three things I just mentioned, there was only one problem with the 2600: My family did not own one. However one of my friends did. Unlike my fuzzy recollection of Pong, I distinctly remember blatantly using said friendship to get access to this game system as often as possible. Not proud but I was a kid. Absence, fonder, etc.

It was around this time that I also occasionally went to an actual arcade. Burning through quarters while my mom did the grocery shopping a few stores down the strip mall was a slice of heaven. The smell of adolescent body odor combined with a tinge of cheap disinfectant. The cacophony of computer generated sounds punctuated with gasps and hoots from kids who were actually good at arcade games. Dim lighting, garish carpet, popcorn ceilings, flashing screens. The weird dude at the change counter who dispensed quarters that were disconcertingly greasy. IT WAS AWESOME!

Flash forward another year or two and I was the proud owner of an Atari 800XL with a super cool cassette tape drive. Ultimately I ended up with a 5 inch floppy drive as well, and a dot matrix printer. It was all neatly arranged on a giant orange metal hand-me-down tank of a desk. A pretty impressive setup to show off to all my girlfriends if I do say so myself (I had exactly 0 girlfriends).

The memories! Waiting 20 minutes for the Frogger cassette to load. Playing a bootleg copy of Boulderdash my uncle sent me from Europe on a floppy disk. Shamus – Oh man I loved that game. I’ve had a handful of game systems since, but none were as formative and impactful as these early experiences. They instilled in me a lifelong fascination with video games that continues to this day.

It has been 20 years since I first successfully setup emulation for some of these early games. At that time it was MAME/MESS on Windows 98 and it was glorious. The real games! You had to press a key to insert a quarter! I was amazed. Since then I have dabbled in emulation here and there, until the last few years, specifically this past year, when I jumped down a very deep rabbit hole. I like to build things with software and due to the *waves hands around at everything going on in the world* I needed something to distract me from doom-scrolling.

So I put down the news feed and picked up an inexpensive mini PC, slapped Debian unstable on it (natch), and started a journey that consumed my free time for the better part of a year. It started with arcade games. Then home consoles. Then handhelds. Then home computers. Then various obscure platforms. Then other arcade games. Then pinball. Then really obscure systems. Then … well … all the things.

Over the next I-don’t-know-how-many posts I’m going to write about the experience in the hopes that it might be useful in some way to anyone interested in retro gaming, specifically retro gaming on Linux. To those with some experience in this area who say “But Mr. Unencumbered, software X already handles all of that for you!“, my response is: Yep, you are mostly correct and I will touch on some of those solutions, but for this project I took a different path, and in the end both the experience and the results were in my not-so-humble opinion worth the effort.

So buckle up gentle reader, and get ready to be bored out of your skull with a bunch of obscure emulation detail only a tiny fraction of people could give 2 shits about!