Turning The Raspberry Pi Into A Cocktail MAME Coffee Table

Ah, the cocktail arcade cabinet. With the right design, its able to blend right in to any living room decor, much more than any traditional stand-up cabinet, at least. [graham] over on Instructables didn’t tear apart a 30-year-old arcade cabinet for his new coffee table. Instead, he built one from scratch, connected it to a Rasberry Pi, and brought hundreds of arcade classics right in front of his couch.

The build began by cutting up some wood to house the 24″ LCD screen, Raspi, and arcade controls. The LCD screen is supported with a rather clever system of cross braces screwed into the VESA mount, and of course a piece of perspex protects the screen from the inevitable spills and scratches.

The joystick two blue ‘player’ buttons and the player 1 and player two buttons are wired directly to the GPIO pins of the Raspberry Pi. The Raspi boots up into a selection of MAME games, but there’s also an option for opening up the window manager and browsing the web.

It’s a very neat build that’s a lot smaller (and easier to build) than a traditional cocktail cabinet. As [graham] is using it for a coffee table, it might get more use than a regular MAME build, to boot.

35 thoughts on “Turning The Raspberry Pi Into A Cocktail MAME Coffee Table

  1. As a MAME developer, seeing people cramming MAME onto underpowered devices like the Raspberry Pi is infuriating and wrong, because inevitably they don’t use an authentic build of MAME, they use MAME4all or some other derivative which is based off of a version of MAME that is literally over a decade at this point.

    Accuracy costs CPU cycles, which is why CPU requirements for the primary build of MAME have trended upwards over time. By using a decade-old version of MAME, it’s transparently saying “We don’t care what the MAME developers do, we don’t care about the progress they make, we just want free games!”

    1. I’m doing an arcade cabinet around a R-Pi too (though it’s more of a tiny toy, so I can’t really use something more powerful…) I wouldn’t mind running the normal version of mame on a R-Pi. Believe me, I tried… but even getting Mame to compile _on_ the R-Pi involves quite some hacking, and then fails because of some weird error and/or too little memory. I also tried cross-compiling and that’s even harder to get working. Long story short: I use mame4all because that’s what I could get to work and I’m quite sure a lot of the people doing that have similar reasons.

    2. Perhaps this should serve as notice to the MAME developers that there is a market for a version of MAME geared toward lower end CPU/Memory systems.

      I haven’t messed with MAME for years, but it seemed to run most of the games I played fairly well 10 years ago. I wouldn’t want to put a high end system in a cabinet to play MAME only. Come on those games played on very low CPU and RAM requirements originally. I know you are emulating the environment, but…

      Perhaps concentrating on tighter coding, or maybe a linux build that was made specifically for MAME to keep the system requirements down. I bet you could do wonders with it if you tried.

      There is no point getting upset because you are developing what the market wants.

      BTW Nice build. If I were building it I would have made it two player (one at either end of the table) but that is just me.

      1. The fact that you would suggest that there needs to be a “version of MAME geared toward lower-end CPU/Memory systems” indicates to me that you know literally fuck-all about how emulators actually work, and know fuck-all about what is actually necessary to support the multitude of different CPU architectures alone that MAME manages to emulate using the same core files.

        Maybe when you write an emulator that supports nearly 100 different emulated CPUs, over 10,000 games, and have implemented a netlist-based emulation framework for discrete analog components you’ll have a better understanding of the sort of CPU requirements for what MAME does. Until then, however, I guess we’ll all just have to put up with you making ignorant, short-sighted comments like “MAME should concentrate on tighter code”. If you know so goddamn much about what MAME is doing wrong, why don’t you do it, fucker? Oh wait, it’s because you don’t know a fucking thing about what it actually is, you just sit on your little high horse convinced, smugly, that it “just can’t be that hard to make it, fast, right?”

        On behalf of the entire MAME team, I implore you to never use MAME again, and to wholeheartedly fuck yourself.

          1. As an emulator author, I can make an assurance that writing a functional emulator is not fucking trivial never mind a 100% hardware accurate one.

            The MAME project is purely for preservation purposes only; perfect emulation. Thus the reason why system requirements increase with every release. The fact that one may use it to play games is just a positive side affect.

            Using an unofficial (significantly deprecated) version of MAME simply because ‘it plays games’ on relatively deficient hardware falls no where short of a gross exploitation of the entire purpose of MAME.

            Having said that, nice work on the arcade table.

      2. Woa, hold on there. Everyone understands that the ultimate goal of MAME is to be as accurate as possible, in order to preserve the arcade experience for the days when the original hardware no longer exists. That’s a noble goal. All he’s saying is that it’s perfectly *okay* that a fork of MAME exists that throws accuracy out the window in order to achieve greater speed. Sure, not all game will work right or at all, but sometimes we just want to play Galaga or Pacman or Metal Slug on our cell phones.

      3. If @TheMog is really a developer for MAME, then with that attitude fuck you too.

        Of course we all know he isn’t. Just another moronic foul-mouthed troll on the internet. Ho hum, and get a life, loser.

      4. @TheMog

        Assuming you are not a troll. Spoken like someone who doesn’t understand their user base or the needs / wants of them. Guess what happens when you become that disconnected from your user base.

        No idea?

        Take a look at GNOME3, or any of the other thousands of open source (or closed source for that matter) projects that have fallen into irrelevance. What is often the fist failure? A failure to recognize and meet the needs of those who use their products.

        Good luck in your hateful life. I suspect you will never be successful or truly happy.

    3. A real developer would never comment on this nice feature of the PI. The current group of Mame developers like to achieve 100% emulation. This is nice. I followed them for more than a decade, but now I just started to play the games on whatever device and conditions. Guess what……playing them on my Ipad is just as nice as on my high spec PC. Just ignore stupid people and move on and play the mame games on the PI. I will do this as well whin my PI arrives.

    4. He chose the build that was right for him. So what? 100 accuracy is nice, but in the real world, compromises are needed. That’s what half of hacking/engineering is, compromising within your budget/technical abilities. Take a step back and appreciate that he’s building a nice little MAME table.

    5. Not to open a can of worms, but maybe you should join the likes of http://fpgaarcade.com/, where you can develop truly accurate versions of games.

      If you think that anything in Mame emulation is “accurate” you are (slightly) deluded… it is just accurate enough that users can’t tell the difference – until they see inconsistencies due to refresh and so on!

      The next generation of low cost dev boards should be able to house most of your requirements.

    6. You sound like Microsoft Developers. Instead of coming out with a more secure version of a basic operating system, that runs more stable and faster, lets build in a bunch of extras that no one cares about. I would love it if Microsoft would come out with a sleek, stripped-down, minimalistic, secure OS. That’s just one more reason I run Linux.

      1. Cost, power consumption, coolness, etc. The RasPI might not be the open platform they falsely advertise on their site, yet it’s a much better choice than a full PC in this context.

    7. Good job on the arcade table

      I guest TheMog doesn’t know much about programming either… you do not write a code for each CPU. It all depends on the level of programming you are using… at the highest level (java, python, etc), you would be writing a program that runs on other program. You can also write in C, C++, etc and compile for an exploitation system. If you really into it, you could be compiling for a specific CPU and clean you assembler code. This is highly efficient but time consuming.

  2. @Tony
    Agreed. But if he is a real MAME developer it wouldn’t surprise me, you may have noticed newer MAMEs don’t run anywhere near as many ROMs as they used to – apparently something to do with needing to be ripped for a certain version of MAME, which doesn’t fly as an excuse seeing as the ROM images should just be flat byte copies of the ROM chips.
    .
    It also doesn’t surprise me that he’s got his ‘CPU emulation accuracy’ priorities so far up his own fat asshole that he doesn’t care about support for 99.99% of ACTUAL mame users who make it popular enough to still talk about – thanks HaD for this interesting MAME4all build on RPi, long live MAME4all.
    .
    Also, I just don’t buy this whole upwards CPU trending to improve accuracy thing – old ROMS still run on old MAME just fine – his argument is nearly akin to MS releasing Vista and pissing off a whole lot of older PC users for little real reason.

    1. No project needs turds like @TheMog.

      I doubt many people purchase new components for their MAME rig, what’s left over from your last upgrade will usually suffice.

      If the CPU is only powerful enough to run ‘classic’ games, then so what? I LIKE Space Invaders, and for a ‘casual use’ MAME device the classics are probably the best anyway. Instructions? Eh.

      Same as XP vs Vista/Win7/Win8, XP runs fine for many things and isn’t going anywhere soon. Hell, people even run DOS.

    2. Old games still work with the latest version of MAME, you just need the right files. As they add more features, you need more data so those features know how to work. If you only rip one ROM chip from a board that has 17 ROM chips… well that’s fine if you’re only emulating that one board, but when you go to emulate the other 16 boards you start needing those assets too.

  3. Very nice finish. I hope you’ll have many good and long days with it :)

    Personally I would have opted for 3-4 buttons, but then again I’m a huge fan of the D&D series for arcade. If you haven’t tried them then I encourage you to. It’s in the typical Golden Axe style style, however far far better.

  4. Glancing at my pile of broken printers, a possible hack inspired by Sprite_tm is to use a low power infrared laser, linear CCD with optics and an oscillating mirror to scan a large screen from one side to detect a finger.
    This would have the advantage of being multitouch and could be adjusted for any panel.

  5. While I greatly appreciate the work that the Mame development team has done, if Mog is indeed a part of the development team (I doubt it), he needs to check his attitude. The original hardware was so meager and yes emulation is a whole different ballpark but it shouldn’t take more then a Pi with 512K (newer version) to come up with a decent port. The fact that I have to run older versions as my roms do not meet the strict requirements of Mame’s continuing development standards is Lame. I use an older mame32 ver.62 on windows and my experience is high compatibility. Yes some of the rom’s are off color and not all have the best sound but the joy of playing the old games completely nullifies any complaints I have. Having played arcade games since their inception and having tinkered with PC’s since the old Timex /Sinclair, Commador Pet days and still repairing PC’s for a living I think I speak for the mass of original arcade freaks that dropped many hundreds if not thousands of quarters having fun. It is about fun remember MOG.

  6. On the MAME/MAME4all debate. Firstly, I wholeheartedly support the high minded ideals of wanting to preserve old games as accurately as possible. I understand why this means that, for now at least, that this results in the “playing them is a nice side effect” situation we have.

    It’s worth bearing in mind that even from a purists point of view, not all arcade machines were identical or ‘perfect’. A lot were cobbled together Frankenstein’s monsters, and imperfections in specific individual cabinets are rife, You think the colours on a particular MAME rom are bad, or the sound is glitchy/non-existent? Haven’t you played an old arcade game on an original cab yet? The monitors on a lot of these are blurry, have screen burn, some don’t show all colours correctly. The sound on some is as if it is underwater, or audio breaks up. All things the guy writing the game did not intend. That’s before we even consider that the controls on which a given game is played were often wildly different from the original cab and that marquees, banners, instruction stickers and artwork on the sides of cabinets was often obscured, damaged or from a different game.

    As to what users want, I can see that perhaps that shouldn’t be the overriding factor in choosing the direction of the development and as is always the case in emulation, it’s often very important to overstate the more noble ‘benefits’ of the emulator and to vehemently decry what amounts to ‘piracy’. That said, playing the games *is* important, otherwise, why are we preserving them? Would we preserve old movie posters if doing so meant we could never look at them? Would there be a great deal of point in (at great cost) keeping old rare print books in a state of preservation, if doing so meant that they could never be read?

    A practical application of a lot of emulation devices like this is to allow the valuable originals to be safely put in storage for the future and to give the owner a ‘near enough’ experience of playing the thing, without damaging the original. Every time I change a Nes game, I damage the contacts in the cartridge a little bit. By using an emulator, my original carts can stay out of sunlight, in dry, secure storage. MAME (and its derivatives) are often used to ‘repair’ an original cab whose board has failed. Lets say a user has a Mr. Do! cabinet that stops working. Mr. Do! is highly unlikely to really be an “original” cabinet in any event, but the owner really loves it. Would you rather they were able to use MAME on a Raspi to replace the broken board and have a working cabinet again, or instead that they threw the (very large, obtrusive and expensive) useless paperweight on the scrap heap?

    If MAME is to be used in this way, it needs to be playable! :)

    I would also suggest that a lot of people who provided artwork, scans, rom rips, etc. were doing so for preservation, with the expectation that people would also be able to enjoy these in future and not just that they would be squirrelled away amongst some undergound elite of conservations.

    1. Well said, Ceric JC! I’m a newbie here to the site and was really trolling the web trying to find a way to play Galaga with a joystick. The build is awesome and very innovative – I came from a previous link where the guy built a mini cabinet housing the Nintendo DS version. Amazing for someone with no background! I just visited the MAME website and I think the guys are doing an amazing job. I’m a child of the 80s and grew up on arcade games and pinball machines. Ok, so I’m a mom too, and I hate that all the games I see at the arcades are so violent and graphic. Give me good ol’ space invaders, Galaga and Pacman any day. I digress – Organisations like MAME and Raspberry PI, though they may have different missions, all point to one thing for me – to encourage the love of programming and our roots, versus what has not become a commercial commodity. Remember when we used to be able make our own mini games on the Commodore? I’m sure this Brian Brenchnoff and other guys like him don’t intend to insult or minimize the efforts of MAME and other guys. Actually, I see it as a sort of compliment that they have been able to take the MAME efforts on a different level. Maybe not what MAME originally intended, but I say, if we want to preserve a part of our history, however we can do it the better, right? Sorry, MAME guys, I know the focus for you is the developing side, and I am truly grateful. But seriously, any way I can play Galaga – yes, for free would be even better, but really, for the convenience to play at home (even when they were in the arcades, everyone was trying to find a way to play it at home either on the computer or handheld device). In my experience (my family are all developers, I didn’t get the gene), true developers are in it for the love and are quite impressed when something they have developed is taken to a different level. To TheMog and others like him/here – please don’t be haters. We love what you guys do, we hope you can appreciate what we do, to! xoxoxo

      1. Lou-Ellen knows where it’s at. I just got my Pi yesterday, and its sole purpose in life is going to be a RetroPie build. I want to be able to switch inputs in the TV, pick up a controller, and play. It’s nice that there are people with high minded ideals out there, but I don’t understand the hate. I am not an open-source developer, mainly because I have not written code in a single language in long enough to feel like I’m good enough to contribute clean maintainable code to a project. I would think that having someone pick up what you have made and use it for something useful is sort of the point of open sourcing a project in the first place. I’m not sure why TheMog comes to this site, hacking is (in part) about using things for unusual or unintended uses. I don’t see many DVD-ROM design engineers on here crying sour grapes every time someone tears up a drive to use its stepper motor and laser for some crazy thing so what makes him so special?

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.