Main > Raspberry Pi & Dev Board

How to make a dedicated MAME 0.239 Appliance on a Raspberry Pi 4/Pi 400

(1/69) > >>

bbegin:
Hi all,

I worked on a personal project for the last months.

The objective was to use a Raspberry Pi 4B and make it as a dedicated MAME Appliance. The system is minimal (following the JeOS principle) and boot straight into the very latest version of MAME. No clutter, no waste of resources and most of all, no useless GUI/window manager (X11).

The performances are really good, as most of the '80s and '90s arcade games run at full speed. Many 2000s games run at full speed as well.

Features and functionalities:

* Based on Raspbian Lite (minimal Linux edition based on Debian);
* At startup, display of a custom splash screen (for example, the MAME logo);
* The MAME emulator starts automatically and displays the ROM selection screen;
* Choice of 2 Front-ends available: Attract Mode or AdvanceMENU. If selected, automatic start at boot (instead of the MAME GUI);
* NEW (2021-10-24): Addition of Hypseus LaserDisc emulator (v2.6.21-RPi );
* When you exit MAME, the system initiates a shutdown;

* During the shutdown, display of a personalized splash screen (for example, the MAME logo);
* When the stop operations are completed, the system powers off;
* To preserve the life of the SD card, the root filesystem is kept in read-only mode;
* ROMs Hiscores are persistent;
* A maintenance mode is proposed (it's called the Service Mode) to allow system updates and the management of ROMs and Snapshots (via a Samba file share).
* While in Service Mode:
* As soon as you add new ROM files, the snapshots/titles (and others, if available) images will be scraped/downloaded automatically.
* As soon as you remove/delete ROM files, the associated graphic files will be deleted.
Youtube demonstration video:


I made a How-To Guide and hosted it on GitHub, but as I am French-speaking, it is written in French. Feel free to translate it to English with Google Translate.

Here is the link to the Step-by-Step How-to Guide:

https://gist.github.com/sonicprod/f5a7bb10fb9ed1cc5124766831e120c4

Google Translate to English : https://translate.google.ca/translate?hl=fr&tab=wT&sl=fr&tl=en&u=https%3A%2F%2Fgist.github.com%2Fsonicprod%2Ff5a7bb10fb9ed1cc5124766831e120c4

Feel free to comment.

Thanks and happy classic/arcade gaming!  :D
-------------------
EDIT 2021/12/31: Here is a new 12 GB SD card image of the system with MAME 0.239 (arcade systems *and* classic computer systems), without ROMs (just put them into /data/roms using the Samba share while in Service mode). The download file size is reduced to 2 GB, once compressed (gzip).

https://drive.google.com/file/d/1wWmISI-pM46O7oA_PoIv4cBAcOfE54RL/view?usp=sharing

Important information:
   - The password of the user pi is left to default (raspberry)
   - The Wi-Fi has not been disabled
   - No overclocking has been configured in /boot/config.txt
   - No controller has been configured in mame.ini
   - You will have to expand the /data partition by executing a script (see below)

The system will initially boot in Service mode. Just log in and type:


--- Code: ---./expand-data-partition.sh
--- End code ---

This script will expand /data from 100 MB to all the available free space of the SD Card.

Please refer to the README.txt file once logged in the system.

Please note:

* This edition include 2 front-ends that you can use in place of the MAME GUI (default): Attract Mode and AdvanceMENU
* Attract Mode is pre-configured with an emulator called "MAME", so you will need to complete the setup using the [Tab] key to (generate the Romlist, etc.).
* The front-ends are provided as-is and I will not provide support for them.
* If you choose to use them, you should know how to configure them by your own.
* There is a known issue with configuring the Wi-Fi with raspi-config. Please use the offline method with creating wpa_supplicant.conf in the boot partition (https://linuxhint.com/rasperberry_pi_wifi_wpa_supplicant/).
* 2021-10-31: From MAME 0.237, you will need to move your Hi-Scores files from /data/mame/hi to /data/mame/lua/highscore folder.

----

Let me know how you appreciate the system!  :-)

Substring:
Interesting project. I guess you could get an even more trimmed down OS by using something else thatn Raspbian, but it would be much more complicated.

One question though: the default SDL2 raspbian package doesn't have KMS support ???

bbegin:

--- Quote from: Substring on May 26, 2020, 04:57:54 pm ---Interesting project. I guess you could get an even more trimmed down OS by using something else thatn Raspbian, but it would be much more complicated.

--- End quote ---

Yes, you are correct (at least in my opinion).


--- Quote from: Substring on May 26, 2020, 04:57:54 pm ---One question though: the default SDL2 raspbian package doesn't have KMS support ???

--- End quote ---

There are two (2) problems with the available SDL2 pre-built .deb package from Raspbian repository:
1) SDL2 is built with X11 support, wich drain way too much resources from the Rasperry Pi 4. We are rather using Open GL ES 2 as the graphic rendering engine.
2) Starting from version 2.0.11 of SDL2, a bug is introduced when using KMS/DRM backend and MAME will systematically output a Segmentation fault as soon as we select a game (graphic mode switching).

ZoOl007:
Yes, cool project.
I'm building it right now with gcc8 on armbian buster minimal for an odroid xu4.
I'm curious if it'll work out and how its performance will be.
Always nice to try something new.
Thank you.

Edit: I just looked at your video - you really should try https://github.com/mgzme/MAME-PSGS as it looks stunning.

bbegin:

--- Quote from: ZoOl007 on May 27, 2020, 01:57:43 pm ---Yes, cool project.
I'm building it right now with gcc8 on armbian buster minimal for an odroid xu4.
I'm curious if it'll work out and how its performance will be.
Always nice to try something new.
Thank you.

Edit: I just looked at your video - you really should try https://github.com/mgzme/MAME-PSGS as it looks stunning.

--- End quote ---

Yes, most of the steps (if not all of them) should work with your Odroid XU4 based on Armbian Buster.

Please keep me informed of the level of performance you get on game emulation with MAME. :)

Thanks,

Navigation

[0] Message Index

[#] Next page

Go to full version