Mame Romsets & Emulators
-
@Retro-Arcade-Fan said in Mame Romsets & Emulators:
It is also my understanding that LR-MAME is basically everything after MAME 2016 (0.174 romset) on the RP4. My question is, as new romsets come out, do I have to keep updating LR-MAME to make those roms work?
Somewhat correct.
If installed recently then it matches the arcade parts of the latest/newest version of mame standalone.In particular, I'm trying to get terabrst.zip from 0.251 to work. But my current LR-MAME just gives me a gray screen. That being said, I haven't updated it yet because I'm always worried about breaking other games.
As mame updates some of the drivers are improved upon.
This means that better insights of the actual hardware is implemented for a more accurate emulation.
This, sometimes, also means that new roms are dumped or added that weren't there before. Or that bad rom dumps are dumped again so that they aren't bad rom dumps anymore.
This also means in some or most cases that you need the romsets that are compatible with the mame version that you are running. (searching on
mame-merged
will give you the latest romsets)So you have the some roms already.
If they are from older versions you can try it out.
Depending on what lr-mame runcommand you are using you can launch with verbose logging.
(if using my runcommands then verbose logging is always on)After running a game you can then inspect the /dev/shm/runcommand.log.
Most of the times bios file are not found so look for the parts NOT FOUND.
Here you can find the names of the roms mame/lr-mame can't find.
If it gives a name that you already have then your romset version is probably too old and it misses some files.
If there is also another name than find that romset file and just add it where it should be.The best practice is alway to make a separate OS for testing and experimenting.
The leaned things can then be added to your existing image because you then know exactly how it works.
If you can then just use a linux with desktop environment and install RetroPie-Setup on top of that.
Then you can easily access all the files and logs.Another thing, try to start with mame standalone.
If you have it working on mame standalone the step towards lr-mame is less difficult.
Check the doc pages over here :
https://docs.mamedev.org/terabrst
I did a test and terabsrt doesn't work as it freezes somehow in the test mode.
Seems the driver is not yet working correctly.The output of the mame command also gives :
pi@Bullseye-VM:~$ /opt/retropie/emulators/mame/mame -listxml terabrst|grep emulation= <driver status="preliminary" emulation="preliminary" savestate="supported"/>
You can check with above command if a driver is good or "bad".
Or check my database for (@good) :https://github.com/FollyMaddy/RetroPie-Share/blob/main/00-databases-00/mame/mame0251_systems_sorted_info -
@Folly Hi Folly. Thank you very much for your response. I have a few follow up questions:
-
The link you included for your database. I'm assuming if I search for a rom on your list and it has @good that means it works in lr-mame or mame emulators? That's quite the undertaking of time!
-
The output you quoted about the video driver. The fact that they say "preliminary" is the clue as to why it won't work? Is that the point you were getting at there? I want to get a better understanding of the log files when games error out.
-
"This also means in some or most cases that you need the romsets that are compatible with the mame version that you are running. (searching on mame-merged will give you the latest romsets)" This is the one that still confuses me. As stated, when launching a game from ES, the choices I have are MAME 2003, MAME 2010, MAME 2016, LR-MAME, etc. If romsets have surpassed the latest emulator available (ie MAME 2016), I assumed that LR-MAME was always the default for the latest romsets. As long as you're willing to wait for the 4+ hours to update the emulator.
-
-
@Retro-Arcade-Fan said in Mame Romsets & Emulators:
@Folly Hi Folly. Thank you very much for your response. I have a few follow up questions:
- The link you included for your database. I'm assuming if I search for a rom on your list and it has @good that means it works in lr-mame or mame emulators? That's quite the undertaking of time!
Correct.
- The output you quoted about the video driver. The fact that they say "preliminary" is the clue as to why it won't work? Is that the point you were getting at there? I want to get a better understanding of the log files when games error out.
It's not the video driver it's the system driver for the system terabrst. Preliminary means that the driver is written but it's in very early stage of development. Most preliminary drivers therefor will not work correctly simply because they need to be developed more.
- "This also means in some or most cases that you need the romsets that are compatible with the mame version that you are running. (searching on mame-merged will give you the latest romsets)" This is the one that still confuses me. As stated, when launching a game from ES, the choices I have are MAME 2003, MAME 2010, MAME 2016, LR-MAME, etc. If romsets have surpassed the latest emulator available (ie MAME 2016), I assumed that LR-MAME was always the default for the latest romsets. As long as you're willing to wait for the 4+ hours to update the emulator.
Your assumption is correct, LR-MAME is always the default for the latest romsets.
Installing it doesn't take 4 hours if you install the binary.
Only if you use bullseye on a pi4 or if you use a 64bit OS.
Though, if you use a 32bits bullseye you can fool retropie-setup and install the binary anyway :
https://retropie.org.uk/forum/topic/31924/could-not-successfully-build-sdl2-on-bullseye/7Or if you use a different computer, say a x86/x86_64 then you will need to compile or get the binaries from somewhere else and use the more advanced retropie_packages.sh script to configure only parts of a module-script and place the binary manually.
(you can get binaries from the libretro buildbot) -
@Folly I look forward to your response later on my last question, thank you. Bottom line for this particular rom is that it's unplayable on the RP4 at the moment.
-
@Retro-Arcade-Fan said in Mame Romsets & Emulators:
@Folly I look forward to your response later on my last question, thank you. Bottom line for this particular rom is that it's unplayable on the RP4 at the moment.
Yes it's not playable, not only on the pi4 also on other computers too.
I got it to run beyond the first press test button message later it will give an error "reset caused by the watchdog!!".
-
Does the answer of the 3rd question make sense to you ?
Or do you want to know something different ? -
@Folly Basically confirming that as new romsets are released, LR-MAME should ideally run them.
-
@Retro-Arcade-Fan said in Mame Romsets & Emulators:
@Folly Basically confirming that as new romsets are released, LR-MAME should ideally run them.
lr-mame should run the romsets that exist at the time of its release. As new romsets are released, the core will needs to be updated to include them.
-
@sleve_mcdichael gave the correct answer.
-
@sleve_mcdichael That's what I figured, thank you. Just a shame it takes so many hours to update.
-
@Retro-Arcade-Fan said in Mame Romsets & Emulators:
Just a shame it takes so many hours to update.
I believe you don't understand something about binary/source installs.
The binary package for lr-mame is updated regularly too you know.
When installing lr-mame on a supported OS you should see this :
Do you see that too ?
What kind of OS do you run on your pi4 ? -
@Retro-Arcade-Fan The easiest way i know to check the emulation status of a specific game in mame is to use http://adb.arcadeitalia.net/dettaglio_mame.php?game_name=terabrst (replace
terabrst
by the romset you need to check)On a sidenote, very few 3D arcade games are properly emulated, and even fewer will run at playable speed on the likes of a pi.
-
@Folly I'm running 4.8.2. on a RP4. LR-MAME was already installed. It's the update that takes several hours. When I select LR-MAME I get UPDATE (from source) or Install from pre-compiled binary. I always select the first option.
-
So the first time you installed from source and that is why it says "UPDATE (from source)".
If you had selected "install from binary" then it would have said "update from binary".Basically you can update if you select "install from binary" even if the first option says "UPDATE (from source)".
Definition of source code :
Code written by a programmer in a high-level language and readable by people but not by computers. Source code must be converted to object code or machine language (a binary) before a computer can read or execute the program.Definition of a binary file / binaries :
The word binaries is used as a set of files which are produced after compiling essentially the object code that runs on machines.The administrators from RetroPie will compile the programs for us from source if needed. These compiled files will run directly on our computer so our computer doesn't have to do the compiling from source.
These are the binaries.
The binaries of mame, lr-mame and lr-mess are updated practically every month.
So basically, if you can, then just "install from binary".
It is not really needed to "install from source" when the binaries are there and binaries are installed in minutes not hours.Hope you get my explanation.
-
@Folly That makes sense. So I should "Install from pre-compiled binary" and update that way going forward, which should be much quicker?
-
@Retro-Arcade-Fan that's correct.
-
@sleve_mcdichael I'll do that. Thank you and @Folly very much.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.