13 Replies Latest reply: Apr 1, 2012 6:35 AM by robotonics RSS

Play MAME on a virtual Raspberry Pi

Drew Fustini

I just came across this intriguing post on Hackaday:


The first Raspberry Pi build is a MAME machine


[Nick] figured he should hit the ground running, so he emulated a Raspberry Pi to get everything ready for the MAME machine he’ll build when his new toy arrives.


The full details are in this blog post:


Compiling xmame .106 on the Rasberry Pi



I had played around with the Raspberry Pi Developer VM that Russell Davis created a couple weeks ago which made it easy to cross-compile for the Pi.  This looks like a step beyond as it appears to allow you to run Pi executables in an emulator (QEMU I think).


I think I'll be giving this a try soon.  Anyone else?





  • 1. Re: Play MAME on a virtual Raspberry Pi
    Drew Fustini

    So far I've downloaded the VirtualBox VM file from here:




    and have run through the instruction on that page.  I have the debian install of Raspberry Pi running which is emulated with QEMU:


    When I first launched the VM, I was having horrible response time with high load along with swap increasing.  The VM from Russell Davis ran well so I modified the settings for this VM to match, including knocking the memory down from 1024MB to 768MB:

    Screenshot-VirtualBox OSE Manager-1.png

    I've started going through the MAME instructions (http://1337technophile.blogspot.com/2012/03/compiling-xmame-106-on-rasberry-pi.html) and am waiting for apt-get to finish downloading the needed packages.




  • 2. Re: Play MAME on a virtual Raspberry Pi

    Pi MAME would be fantastic - Thanks for the hard work so far !


  • 3. Re: Play MAME on a virtual Raspberry Pi
    Drew Fustini

    I think have to thank the guy who created the VM and instructions - it's been easy sailing for me so far.  Ironically, having resumed the VM just now since last night, I'm waiting for the emulated Raspberry Pi ARM environment to finish installing its namesake, Python

  • 4. Re: Play MAME on a virtual Raspberry Pi

    I did make a "mame machine" with some computer parts we scavenged from the garbage last year, i remember i used the debian businesscard iso and installed a window manager (not sure if it was openbox or 9wm) with something to make icons on the desktop which had a xmame (or xmess) script that started the games. After that I used the Matchbox DE and it had almost the same performance.


    Too bad my friend liked the idea and asked me to start building the hardware so he could start selling arcade machines at a disonest price. I hope this is not what you guys are thinking.

  • 5. Re: Play MAME on a virtual Raspberry Pi
    Drew Fustini

    Cool that you made a MAME machine.  But no commercial intentions in my mind - just for fun.

  • 6. Re: Play MAME on a virtual Raspberry Pi
    Drew Fustini

    Alrighty!  xmame finished compiling over night and I finally got a chance to take it for a spin.  Here is a screenshot of playing the game robby (http://mamedev.org/roms/robby/):




    And here's a short video clip of the gameplay:




  • 7. Re: Play MAME on a virtual Raspberry Pi

    That emulator uses the same ammount of memory that the raspberry uses?


    Because as far as remember, LXDE alone costs around 256MB.


    Which modifications you have on this to make it use less memory?

  • 8. Re: Play MAME on a virtual Raspberry Pi
    Drew Fustini

    Hi - that's a very good question.  I fired up the emulator again and ran top with xmame open.  It looks like it is all within the 256MB RAM.


    Here's sorted by resident memory size:



    And sorted by memory % utilization:





  • 9. Re: Play MAME on a virtual Raspberry Pi

    I hope you do realise that the RPI shares its main ram with the GPU, and a minimum of 32MB has to be reserved for the GPU!

    That means that for the ARM only 256-32 = 224MB is actually available.


    Still, I'm sure that MAME can work on the RPI, but maybe not on top of a full desktop OS, but rather as a framebuffer application running directly from the commandline, like MAME for DOS.


    Not saying that its impossible to make MAME run on top of a desktop, but it might be harder to do it that way.

  • 10. Re: Play MAME on a virtual Raspberry Pi
    Drew Fustini

    Ah, good catch.  I do now remember seeing that on the Wikipedia article which links to various forum posts:

    On the model B beta boards, 128 MB was allocated by default to the GPU, leaving 128 MB for the CPU.[57] On the release model B (and Model A) three different splits are possible: 192 MB (CPU RAM) is the default split. It should be sufficent for standalone 1080p video decoding, or simple 3D (but probably not both together). 224 MB is for Linux only, with just a 1080p framebuffer; likely to fail for any video or 3D. 128 MB is for heavy 3D, possibly also with video decoding (e.g. XBMC).[58]Comparatively the Nokia 701 uses 128 MB for the Broadcom VideoCore IV.[59]


    It seems trade-off's are an inescapable part of life, huh.

  • 11. Re: Play MAME on a virtual Raspberry Pi
    Drew Fustini

    I was curious, too, so I modified the launch script for QEMU to allocate just 224MB:

    rpi@RaspberryPi:~/debian$ cat launchDebian_224mb


    sudo qemu-system-arm -M versatilepb -cpu arm1176 -m 224 -hda debian.qcow2 -kernel zImageDeb -append "root=/dev/sda" -usbdevice tablet


    xmame still did run ok:



    However, I'm not sure how accurate all of this really is - I am emulating the ARM device on an extremely powerful (in comparison) dual core Core i5 laptop.  Well, at least it doesn't seem to be running out of memory.

  • 12. Re: Play MAME on a virtual Raspberry Pi

    Nice to hear MAME runs on a desktop with just 224MB of RAM!

    That means it should run okay, don't worry about running it with a 700MHz ARM, If the compiler it is compiled with is any good, it should run most games well enough. For a slight speed and memory boost you could still choose to create a dedicated MAME machine, not just running MAME on top of a desktop. For comparison, look at the open pandora console, which is an ARM based handheld gaming device with similar specs (for 2D graphics that is, for 3D the RPI is way better).

  • 13. Re: Play MAME on a virtual Raspberry Pi

    Looks interesting, I have been following the Raspberry Pi tutorials on Youtube for VM Box and Debian.


    This is all new to me and I was having a few problems installing guest packages from the instructions that were given.


    Its also a bit nostalgic, starting to feel like I did with the old ZX Spectrum.


    Going to give this a try today!