(Almost) pixel-perfect arcade emulation on Raspberry Pi with AdvanceMAME

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • I'm slowly going ahead with the tutorial (please let me know if in some excerpts English language is not correct or if they are unclear, thank you very much).

      @SNK-NEO-GEO I can confirm that image quality of that VGA-SCART cable is very good (some pictures in post 14 were taken with the same cable).

      @Hatsune Mike I've also changed/updated the two pictures in first post.
    • Scandy wrote:

      @PascalP yes of course it works also on RPi2, but on RPi3+ you'll get more games at 100% speed with no frameskip (i.e. Undercover Cops Alpha Renewal, Night Slashers).
      This is very cool, keep up the posts and information!

      Side note, during the process of getting Night Slashers fixed by the guy who put it into MAME, I discovered the MAME version is not working correctly (transparencies and other things), so sadly there is also no telling what other emulation bugs/problems are out there for games, so even if the RPi is working 100%, it's still at the mercy of the emulation.

      That being said, Bryan (the MAME Programer) is using my board to finish up and fix what's in MAME for NS, so at least you'll have as close as possible soon!
    • the other problem is rpi is almost always using cores based on outdated romsets, so the fixes won't be taken into account, I think Advance Mame romset is 0.106, Retroarch uses cores based on 0.78 romset, the most recent compatible core is based 0.139 with obviously less compatibility, fba core is almost ok... these romset give access to lot of roms but sadly lot contain bugs, I have found some on ninja spirit, shinobi etc...
      Any Multi MVS bug ? Before asking delete BUFF FILE on the SD card and Reset NVRAM procedure : Power on without cart, Press Start multiple times until it asks to press ABC + Start, Do it, Power off > Done

      The post was edited 1 time, last by archimage ().

    • Hmmm, so I think a premise is mandatory, to clarify some aspects which I honestly took for granted.

      Raspberry Pi is a series of small single-board computers developed in the United Kingdom by the Raspberry Pi Foundation to promote teaching of basic computer science in schools and in developing countries. Its purpose has never been "raw" computing power: the idea was to create a computer that wasn't just cheap, it was almost disposable, with a price tag so low that kids wouldn't be afraid to carry it with them or to hook the Pi up to other hardware and build their own gadgets.
      In this regard, I really recommend reading this interesting article, to "contextualize" the Raspberry Pi avoiding false expectations:

      https://www.techrepublic.com/article/inside-the-raspberry-pi-the-story-of-the-35-computer-that-changed-the-world/

      Eben Upton wrote:

      "The idea of a breakable computer was important to us, it had to be at a price point where it didn't feel that you were risking the world by connecting wires to it."

      So working on Raspberry Pi means in most cases "compromise" as a counterweight to its extreme affordability, and the best way to exploit it is to keep in mind its original purpose (and that's also great part of the fun!). So, for example, equipping it with extremely expensive accessories could nullifie the meaning of its use. About emulation: obviously RPi is not able to run at full speed latest releases of MAME or things like TeknoParrot, very demanding in terms of hardware requirements (a credit-card sized board capable of it is probably LattePanda which, however, costs as much as 10 RPi and yet it lacks some unique features that are possible on RPi, as in the tutorial).

      Someone then may not consider RPi a real option for emulation and that's OK, but recent fortuitous features (thanks to an extremely active community, a very receptive staff, developers voted for the cause etc.) made RPi kinda... "sexy" also for emulation; i.e. by request of some retrogamers (including myself) the staff with a firmware update provided a 240p video mode on composite video-out, to better (and easily) enjoy 16 bit console emulators on CRT TVs (like the optimus Genesis Plus GX).

      Other interesting features are described in the tutorial, provided that, however, the combination RPi+emulation is realistically considered with no taboos but a "light" attitude (eg. playability and not accuracy).

      Again, what @archimage wrote is true, however the equivalence "most recent emulator = less bug" is not always so.

      An example is Undercover Cops that in latest release of FBA (dated April 28, 2018) has a graphic bug (which I reported to the author, fixed in next release) while on AdvanceMAME (fork of MAME 106 released in June 18, 2006!) it looks OK. The MAME 106 in fact was a kind of "pleasant interlude" before the sudden change in development which put accuracy (and so, higher hardware demand) above gameplay.

      Summing up: to expect a perfect emulation on RPi is, of course, unrealistic. Obviously it will never be comparable to the "real deal" as well as to PC "master race" or FPGAs like MiSTer (even if, paradoxically, arcade emulation today is better on RPi than the latter). BUT to completely disregard RPi is at least a short-sighted attitude since it has several features worth experimenting. Personally I like to consider RPi a kind of arcade "bootleg" open and customizable, surely "gross" but able to offer lots of fun and a graphic experience not too far from the real deal (as evidenced by the pictures) of course without too many worries in terms of accuracy and, above all, at a very low price-tag.

      Happy 2019! :D :* :*

      The post was edited 1 time, last by Yami ().

    • Scandy wrote:

      The MAME 106 in fact was a kind of "pleasant interlude" before the sudden change in development which put accuracy (and so, higher hardware demand) above gameplay.

      Summing up: to expect a perfect emulation on RPi is, of course, unrealistic. Obviously it will never be comparable to the "real deal" as well as to PC "master race" or FPGAs like MiSTer (even if, paradoxically, arcade emulation today is better on RPi than the latter). BUT to completely disregard RPi is at least a short-sighted attitude since it has several features worth experimenting. Personally I like to consider RPi a kind of arcade "bootleg" open and customizable, surely "gross" but able to offer lots of fun and a graphic experience not too far from the real deal (as evidenced by the pictures) of course without too many worries in terms of accuracy and, above all, at a very low price-tag.

      Happy 2019! :D :* :*
      Two points. 1. MAME has always (with the exception of the first year or 5) been about accuracy, long before v106.

      2. This thread has "pixel (almost) perfect" as the title, seeming to suggest perfect emulation, that's why I'm questioning it! Of course the Pi is a fun little toy, but pixel perfect (almost is IYHO) it's not (IMHO).

      Happy New Year to you too!
    • when he says pixel perfect he means original resolutions, he's right about that, the pixel clock limitation doesn't affect all games, and yes the emulation is limited somehow.

      But I must say the Rpi is handy, I am on vacation to visit my family, came with that little toy in the suitcase with an xrgb mini and a stick, I use it on my desk lcd, does the job in this situation. 15 days without any pcb and I can still play, I see some problems but I can still play most games with the right feeling.

      I would never use it as a main machine, but the rpi has definitely a place in my gear.

      HPNY 2019
      Any Multi MVS bug ? Before asking delete BUFF FILE on the SD card and Reset NVRAM procedure : Power on without cart, Press Start multiple times until it asks to press ABC + Start, Do it, Power off > Done
    • Frank_fjs wrote:

      Any chance of a pre-built image?
      No, sorry @Frank_fjs.
      Really I was working on it at the time of the Italian tutorial, but I realized that a pre-built image involves too much work (generic setup, support, hosting etc.) for my spare time, especially now that I have to look after my 3 month old baby. ;)

      Also I like the idea that anyone can customize the system as they prefer (in perfect Raspberry-style).
    • Added the steps to load the ROMs from a USB stick.
      ASAP I will explain also how to configure SAMBA on the RPi for transferring ROMs and other files wirelessy: it's slightly more "advanced" but I think that being able to update or add ROMs from your PC to RPi using wireless connection without the need, for example, to open the arcade cabinet or connect storage devices coud be useful to someone.

      While practically repeating the steps of the guide to make sure I did not forget anything, I take a couple of quick shots with my smartphone to CPS2 Alien vs. Predator (sorry for bad quality). As you can see in AdvanceMAME Load/Save States options are placed directly in the Exit menu, so you can easily save the game or load it without keyboard or occupying specific buttons of the CP.



      BTW screen resolution of CPS2 AvsP is 384x224@59.6 Hz...


      ...and this is the video mode created by AdvanceMAME configured as in my tutorial. :thumbup:


      Of course no stuttering nor tearing, but smooth scrolling and 100% speed with no frameskip (maybe I will do a video in the near future).
    • Again sorry for the bad quality of pictures.


      Street Fighter III 3rd Strike: Fight for the Future runs at 100% speed with 0 frameskip in 384x224@60




      Bad Dudes vs Dragonninja running at 256x240@57.4 (first pic is slightly out of focus)








      ...and here's a short VIDEO CLIP, a clumsy attempt to show smooth scrolling (my camera records only at 30fps though).