• About Biloxi Von Lutz
  • Archives
  • Categories
  • Archive for the ‘The Arcade Machine’ Category

    Arcade Machine Adventure 2011 – The Computer


    2011 - 02.17

    I mentioned in my previous post that I was planning on building another arcade machine for myself. This is undoubtedly a multi-step process. One does not simply run out and pick up a PC, buy some wood from Home Depot, purchase arcade controls, hack apart a keyboard, then cobble it together to make a working arcade machine. No, there are steps in this process and you need to make sure you have each one covered sufficiently, or you’ll wind up with a big ole hunk of poopie (albeit playable) in your living room like my previous incarnation. As far as I’m concerned, the steps are as follows:

    1. Find a PC to base your arcade machine around. Although older games can run on a pretty basic computer, newer ones require to some pretty serious horsepower. The actual dimensions of your arcade machine may be affected by the case size of the PC as well.
      1. You’ll also need to decide on an operating system if you’re planning on wiping the harddrive clean.
      2. Deciding on a MAME emulator build and frontend is equally important to usability of your arcade machine.
      3. Acquiring the actual roms can be a bit of a challenge, but one I enjoy.
    2. Deciding on what style of arcade machine you’d like to build. This can range from full size stand up arcade machines, to modified ones you can hook up to your Home TV and play on your couch, to ones that sit on a table top. If you don’t feel like you’re up to designing one on your own, there are plenty of plans available for different style machines on the Arcade Controls website.
    3. Choose the type of display to use. You can use PC monitors, TVs, or even Arcade Monitors. Just find something that works well for your desired layout.
    4. Purchase the proper arcade controls for your desired layout. Arcade Controls is also a great resource for this. Obviously, since I already had the arcade controls from my old system, my new one will be incorporating those.
    5. Get all the materials and put it all together.
    6. ?????
    7. Enjoy!

    The PC and the Operating System
    Based on the formula above, my first step was to find a suitable PC. I had an older Dell Pentium 4 that I actually got from Holly. I originally intended on working it over and giving it to Woodshed Player Roman since he was sans computer, but he got a new laptop before I got a chance. I scored a barebones laptop about a year or so ago from Woodshed Player Wiley, courtesy of his office’s boneyard and it needed an operating system, amongst other things. I was sick and damn tired of Windows nonsense, so I made the jump to Ubuntu Linux. I was immediately hooked, and I was amazed out how much life I could get out of an older laptop once I got away from the resource hog that is Windows of any sort.

    ~A quick aside regarding Linux. Linux is an open source operating system that is designed and maintained by a community of programmers and users, much like MAME. There are different builds of it for varying purposes, and Ubuntu is widely regarded as the most beginner friendly. It’s a lot like using OS/X or Windows, and is very intuitive if you come from that environment. Most of the things you can do on Windows or a Mac you can do in Ubuntu with relative ease, there are a few things that take some finagling to get to work, however, so make sure you have another computer around to Google stuff while you’re installing.~

    When I was planning on giving the PC to Roman, I’d installed an even lighter version of Ubuntu called Xubuntu on the machine. It was meant to be even more resource friendly. But when I got ready to use this PC as the base for El Arcadio Pequeno (Now the name for my arcade machine) I didn’t need all that extra fluff that comes with a multi purpose machine. Nope, this baby had only one primary purpose in life, playing arcade games as efficiently as possible.

    Wiley, who is a Linux Operator, who had been ragging on me forever to finally get Ubuntu, now started telling me I needed to man up and start using Arch Linux. This project seemed like the perfect time.

    Arch Linux is as bare bones as bare bones can get. You get the install cd, boot your PC off of it, run through the setup and all you wind up with is a command line. So basically, you build your operating system from scratch. The benefit of this is you don’t get a single thing you don’t want, and you get to choose everything you do want and which version. It’s a hell of an undertaking, but everything is very well documented on the Arch Linux Wiki and when you get it running you’ll have a real sense of accomplishment. Oh, and did I mention it’s fast? Even on that old computer everything you click on opens immediately.

    I originally installed Openbox as a Windows Manager and Rox as a Desktop/File Manager (You’ll get to all this when you start installing Arch), but after a couple weeks of using it, it just wasn’t to my liking. I did a bit of research at work and decided to go with a more integrated Desktop Environment. Ubuntu is built off of the GNOME Desktop Environment and I’ve dabbled with KDE on other computers, so I decided to go in a different direction. I settled on LXDE. It’s based off of X, which you’re pretty much required to install with Arch and it’s very light on the resources. Plus it’s slick as hell. I paired it up with SLiM as a Login Manager and we were off to the races.

    The Emulator and the Frontend
    The one downside to using Linux is there aren’t nearly as many versions of the MAME emulator and they aren’t nearly as user friendly. Fortunately there’s the official build for Linux called SDLMAME, but it’s command line only, so it’s not the simplest thing on Earth to use. Command lines and thousands of individual files don’t really go together all that well. For example, if you wanted to play pacman, you’d have to open up a terminal, cd over to where the SDLMAME program is located, and type in:

    sdlmame pacman

    Not too tough for that one, but what if you want to play Cherry Bonus III (alt)? The filename for that one is cb3b. There’s no good way to remember all those names. What you need is a program called a Frontend, which is basically just a graphical representation of what games you have. You select a game and it commands the emulator to start.

    There were two specific emulators I was looking at using: SDLMAME and AdvanceMAME. SDLMAME I’ve already explained, but AdvanceMAME is great for people building their own arcade machine since it has some really cool video effects for different monitor layouts. The only problem with it is, it’s not updated very often. I installed it and it’s sister Frontend, AdvanceMENU, but in the end they were just too far behind in terms of official MAME updates.

    So back I went to SDLMAME. I decided to pair it up with Wah!cade, a Linux version of MAMEWah. It was pretty tough to setup, since there are a few glitches you have to fix if you select certain options, and it works completely different from my old arcade machine, but the forum and bugs page on the Wah!cade site will pretty much walk you through any problems.

    SDLMAME also has another thing going for it. It’s available in the Arch repositories, which means it’s updated by the community so you don’t have to compile the source code each time there’s a new version. you simply open up a terminal and type in:

    pacman -U sdlmame

    Piece of cake.

    ROM acquisition and CLRMAMEPRO
    Telling people where to find roms is typically frowned upon, but let’s just say a simple Google search will get you on your way. Some advice: Download all your roms into a specific roms folder by itself and don’t unzip them. You’l’l need to specify that location in your MAME setup. How that’s done varies depending on what emulator you’re using.

    A Rom Scanner is a must. It goes through and puts the right roms in the right zip files and helps you keep everything just how MAME likes it. I described how MAME organizes files in my first post, so read that if you’re curious.

    The same folks that make AdvanceMAME and AdvanceMENU also make a scanner called AdvanceSCAN, but it’s command line only and I find it too troublesome to use. Maybe one day I’ll sit down and figure it all out. In the meantime, I’ll just stick to using Wine and CLRMAMEPRO.

    Wine basically emulates Windows. You use it to run (some) Windows programs under Linux.  Fortunately CLRMAMEPRO works quite well under Wine, and you shouldn’t have much trouble with it once you get Wine installed. Once again, Google will be your dear friend. Here’s a little tutorial to get you started with CLRMAMEPRO

    Well, that’s about it for the computer portion of the El Arcadio Pequeno. Next up, the arcade machine itself.

    UPDATE
    I picked up a barebones PC off TigerDirect yesterday morning. I got a hell of a deal on it. I’m still gonna stick with the formula you saw above, but now I’ll have a ton of processing power for emulating those old (and not so old) arcade chips. Like Wiley said, “That’s kinda like powering a Honda Civic with two small block Chevys,” Well said, my friend. Well said indeed.

    del.icio.us Digg Facebook Google Google Reader Magnolia SlashDot StumbleUpon Technorati Plugin by Dichev.com

    The Arcade Machine – 2011 Version


    2011 - 02.15

    When I was in college, whilst perusing the internets during class, I came across a most wondrous discovery, M.A.M.E. This stands for Multiple Arcade Machine Emulator, usually just MAME for short. Basically, it’s a program that uses computer software to emulate, or essentially recreate, the individual chips inside an arcade machine. You can then find the game file, called a rom image, for the game you want to play and execute it through MAME and BAM! you’re playing the arcade version of Contra on your computer. Essentially, the point of the MAME project is to preserve arcade game technology for future generations through software rather than through old, finicky, chips that are increasingly rare. The fact that you can play these classic games on your PC is really just a nice side-effect.

    Perhaps you’ve dabbled with Nintendo or Sega Genesis emulators in the past or played a PC game that required you to use your keyboard for movement and quickly realized that it’s not nearly as conducive to fun as the original control scheme the game was designed for. This conclusion was also reached by many people more clever than I. They began to figure out ways to make arcade joysticks and buttons interface with the PC running MAME software and a cottage industry was born. More and more programmers became interested in the project, porting the MAME program to different operating systems and creating Frontends to make the system more user friendly. People even went so far as to build custom arcade machines with computers in them, hooked to arcade monitors and controls. It’s when I saw these that I caught the bug.

    I decided I was going to build a full-size, stand-up arcade machine like comes to mind when you think of an arcade machine. I found some plans online and set out to build my masterpiece. Keep in mind, I was still in college at the time and was, therefore, a bit lacking in the funds department. My plan was to build the cabinet according to the plans, but substitute an old TV for an arcade monitor and use an old PC for the actual emulator. The only area I really didn’t skimp on was the control board. I purchased real arcade joysticks and buttons. That part, at least, looked pretty good.

    The arcade machine turned out to be a monstrosity. Although, I wasn’t particularly lacking in engineering skills, my woodworking skills at that time were sorely lacking and my lack of funds really limited me. The machine was heavy, couldn’t be moved easily, and looked like something a grade-school class would make for a play. But you know what it did? It played freakin arcade games pretty freakin well.

    I had two joysticks with six buttons a piece plus three extra buttons for each side that served miscellaneous purposes within the emulator. The directions on the joystick and buttons corresponded specific keys on the keyboard. I’d hacked apart a keyboard and set up a matrix so when you moved the joystick or pressed a button on the control panel a specific action would happen within the game. For example, the 1st player’s joystick pressed the up arrow on the keyboard when you pushed the joystick up and pressed the down arrow when you pressed the joystick down. You get the picture.

    Outside view of the control panel

    Outside view of the control panel

    Inside view of the control panel

    I also purchased a large trackball like you see in those Golden Tee games at restaurants. This functioned as the mouse for the computer so I could navigate around the screen. It also had a two arcade buttons above it that functioned as the mouse buttons. All in all, a pretty cool layout.

    The emulator itself ran on an old eMachines PC that I’d gotten from my Mom. It was fairly old back in ’04 when I built this thing, but the good news is, it doesn’t take much in the way of computing power to emulate an arcade game from the 80’s or early 90’s. I formatted the hard-drive and reinstalled a fresh copy of Windows 98, then I used the Windows version of MAME, MAME32. (This is now know as MAMEUI, just in case you’re trying to follow in my footsteps.) I also ran CLRMAMEPRO to keep my roms in order. Speaking of roms…

    MAME without roms is essentially worthless, so you have to go about acquiring them. This is where things get tricky. Unless you own the actual arcade boards for the game you want to play on your PC, it’s illegal to have the roms, but since MAME focuses on obsolete hardware that plays old games, no one puts up much of a fuss. In fact, several arcade manufacturers allow you to download their games as long as they’re for non-commercial purposes.

    Acquiring roms and building the sets was one of the most fun things about building my original arcade machine. You’d have to search all over the internet for the proper versions of games. There are many different versions of almost every arcade game, for different countries, regions, etc., but most of them share common hardware. So, roms typically come in zip file form and for each game there is a parent zip file, called a set with all the common hardware roms inside it and then all the other versions of the game have the extra roms needed to run that version of the game. It’s a really efficient way of doing things and saves a ton of space on your hard-drive. (Not every hard-drive had 500gb of storage 7 years ago.)

    To make things even more challenging with respect to acquiring roms and sets, is that the way the files are split up between versions of MAME would change from time to time. The developers would add in new hardware, or make a different rom the parent rom for a game, and you’d have to reorganize your rom database to match their new MAME version. To do this you’d use a rom scanner like CLRMAMEPRO. It would move the files all around and rename things if necessary. But you’d still have to go about acquiring

    All in all, I had a blast playing my ugly ass arcade machine for a couple of years. My dad and I would play Centipede and Asteroids and Golden Tee every night during the summer when I worked with him, and I’d have Contra and Metal Slug marathons with my roommate when I dragged the behemoth back to school. Unfortunately, after I graduated I had to move into a smaller place and just didn’t have room for the thing. I took it all apart and tossed out the PC and the TV. I used the wood for a ramp to get my motorcycle into the back of my truck. The only thing I saved was the control panel with the joysticks, buttons, and trackball.

    I’ve had that control panel sitting in my storage unit for nearly 5 years now, always saying to myself that I would build another arcade machine, but this time do it right. The time is now right. I’ve got the woodworking skills (another hobby I’ve picked up in the last couple of years), which has led me to Google Sketchup for designing things properly before attempting to build them. I’ve also started using Linux as an operating system, which has shown me the error of my Windows-using ways when it comes to getting the most out of old PCs. And most importantly, now I have the cash to buy the right equipment and won’t have to rely on scavenged material to build this bad boy.

    Let the second great arcade machine quest begin…

    del.icio.us Digg Facebook Google Google Reader Magnolia SlashDot StumbleUpon Technorati Plugin by Dichev.com