Raspberry Pi and MESS – Multi Emulator Super System – NES, GameGear, Genesis

UPDATE: New Raspbian Binaries Available

Hey All!

Today I present the binaries for AdvanceMESS.  The Multi Emulator Super System.  MESS can emulate somewhere around 250 different home consoles and computers.  It’s not perfect in any sense, but it works for most consoles.

I have currently tested:

  • NES (some games are slow, but it works).
  • GameGear (works)
  • Genesis (slow but works)
  • SNES (couldn’t get it to work…yet)
  1. Download MESS Binaries.
  2. Unzip MESS to the ~/MESS directory.
  3. chmod 777 /dev/fb0
  4. Put your console bios’s into mess/share/advance/rom/
  5. Put your console games into mess/share/advance/image/<console>/ (ie mess/share/advance/image/nes/
  6. CD into mess/bin/
  7. Run advmess with ./advmess
    1. The first time it’s run it will generate a set of folders and files into ~/.advance
  8. edit your ~/.advance/advmess.rc to include the proper display configuration
    1. For HDMI try:
      1. device_video_clock 5 – 50 / 15.62 / 50 ; 5 – 50 / 15.73 / 60
    2. For NTSC TVs try:
      1. device_video_clock 5 – 50 / 15.73 / 60
  9. While still in the mess/bin directory, type ./advmess <console> -cart <filename>
    1. ./advmess nes -cart file.nes
  10. ENJOY!!!

This is one of the weirder setups I’ve tested, but once setup, it works.  If you have any issues, let me know and I will try to help you.


P.S. I will NOT help you find console bios or roms.  Please don’t ask.

Official MESS Site

30 thoughts on “Raspberry Pi and MESS – Multi Emulator Super System – NES, GameGear, Genesis

  1. Hello Shea

    I have tried to follow your guide above but getting a error on step 7

    “pi@raspberrypi:~/mess/bin$ sudo ./advmess” gives me the error
    sudo: ./advmess no: command not found

    Any hint on what im doing wrong?

      • I have the same issue (running raspbmc in my case, which ultimately may not work but should get past this step…)
        pi@raspbmc:~/mess/bin$ ./advmess
        -bash: ./advmess: No such file or directory
        pi@raspbmc:~/mess/bin$ ls
        advcfg advj advk advm advmess advs advv

        • You probably forgot to put execute permissions on the file. ls -lha will show you the permissions of each file.

          chmod +x advmess will do the trick.

  2. Pingback: Raspberry Pi and MESS – Multi Emulator Super System – NES, GameGear, Genesis #piday #raspberrypi @Raspberry_Pi « adafruit industries blog

  3. Great new!!! I’m planning to put my raspberry pi into and old Nintendo 64.

    It will be so cool to play N64 games with a raspberry pi into an original case of N64.

    • The BIOS’s get put into the ROM folder. The game roms go into the IMAGES folder under the system’s name. So NES roms go into the images/nes folder. MESS knows what to look for when you call the program.

      ./advmess system -cart filename
      ie: ./advmess nes -cart filename.rom

  4. I cant get any bios to work. I have put them in mess/share/advance/rom/ but when I try to start advmess it shows .rom NOT FOUNT, but I have .bin added.
    What could be the problem and how can I solve it?
    (I’ve also tried to change locations of rom/image folders in advmess.rc but it also didn’t help)

  5. How do you edit the file in step 8 . New to Linux , Thanks for the help

    also i type /.avdmess famicom -cart famicom.rom and id does not find the file. the bios is in the rom folder
    please help !

    • I did correct the line to be ./advmess famicom -cart disksys.rom and still it says

      Device cartridge load (disksys.rom) failed: File not found

  6. Why are you basing your build on +3 years old source code (AdvanceXXX) ?
    Currently i’m setting up cross build environement and i will try to provide very recent mame/mess builds.
    If you have some info on cross build, i will be plaised to got them.


  7. Following your previous directions I was able to get Advmame up and running but Advmess is giving me problems. When I try to run an nes image (say “./advmess nes -cart Super_mario_brothers3.nes”) I get the following:

    AdvanceMESS – Copyright…etc
    MESS – Copyright…etc
    MAME – Copyright…etc
    No video modes available for the current game.
    Unable to start video emulation

    If run startx and type the same command into the terminal I get the same first 3 copyright lines followed by a different error:
    Signal SIGBUS[ADRALN], fault at 0x9a8323e6, from code at (nil)
    Compiled Jun 21 2012, 19:26:16
    No stack backtrace: compile without CFLAGS=-fomit-frame-pointer and with LDFLAGS=-rdynamic

    Any ideas what could be amiss?

    • I have the same problems as you Dan W, run from Terminal ‘No Video Modes’ from within X and using a terminal same message about ‘No stack backtrace:’, is this due to the new build of Raspbian Wheezy. I was trying to run a Genesis Rom (Sonic Compilation)

      Anyone smarter than me able to help? I hope so, was looking forward to some Sonic action!

      Keep up the great work, was waiting for someone to make this possible. Now I really can get rid of my old Xbox (no need for XBMC for Xbox or the emulators with it) Farewell old box, you have served me VERY well for a very long time!

  8. Ignore my stupidity, just found the latest build. Run sonic, but verrrryyyy slooooow. Am I running with the wrong settings? Has anyone done any optimisation with this?

  9. I am getting error: bash: ./advmess: Permission denied despite changing the permissions for my user. is there anything I can try to get this permission error to change? all folders/files(console bios / roms) are in the right locations stated above so this should be a simple fix! please help

  10. So I guess it’s safe to say that not only does this not work, but it’s also not being supported or upgraded? That’s ok, I don’t expect anyone to work for free if they’re no longer interested in a project – I just want to know where we stand here.

  11. The sluggishness is obviously due to using the framebuffer. Have you attempted to use OpenGL (-video opengl)? I haven’t given it a try yet, and it may need some code editing, but I’d just like to see if it was even attempted

  12. Hi,
    I’m new to linux and dont know a lot about it,
    How do I unzip a file?
    I was also wondering what step 3 means 3. chmod 777 /dev/fb0 ?

  13. I tried it (I extracted a Famicom BIOS from a zip in an archive, it’s still called disksys.rom and there’s a copy in */rom and */rom/nes) and I got this (File Manager window to prove the file is actually there):
    What am I doing wrong?
    * = mess/share/advance

  14. To get advmess working on Adafruit PiTFT 320×240 add this to your ~/.advance/advmess.rc:

    device_video_clock 0-100/0-100/0-100

  15. I do the command in step 3, and it says in the terminal:
    “Changing permissions of `/dev/fb0′: operation not permitted”
    HELP!!!!! PLEASE!!!!!!!


Leave a Reply

Your email address will not be published. Required fields are marked *