Utterly lost newbie
-
Hi, I'm here with a question that I know has been asked numerous times before and I've read the answers but I still don't get it. I'm a senior software engineer and thought I would be able to figure this out but I just can't.
I have Raspberry Pi 3B+ and installed the latest pre-made retropie image (v4.7.1) on it. For now I have connected a mouse and a keyboard to the Pi (later there will a proper game controller).
I managed to obtain a huge collection of retro games for different consoles on a DVD. One of the folders in the root of the DVD is called "MAME". Inside this folder are a number of Windows executables, amongst them is mame32.exe. When I run this executable I get a list of all the games (.zip files) that are present in the "MAME\ROMS" subfolder. ALL these games work when I run them in this Windows mame emulator.
I took a USB drive, created a folder "retropie" on it, put it in my Pi, booted the Pi and once booted took the USB drive to my PC. It now had some subfolders in the "retropie" folder, one of them being "roms".
I copied all the zip files from the "MAME\ROMS" folder on the DVD to "retropie\roms\arcade" on the USB stick. I put the USB stick back in the Pi, rebooted. All the games are now listed under the Arcade screen. However, none of them work.
I have read about there being different mame versions. This is where the confusion starts. By default, just after launching an arcade game (I chose Puckman - and will stick to that game in my post - as that is not dependent on other ROMs) and selecting the emulator I want to use there are 3 emulators to choose from, lr-mame2003 being one of them (I forgot which ones the other 2 are). I tried to launch a certain game (that worked on the Windows emulator) using all 3 available emulators. None of them worked.
Then I installed ALL optional packages (that's 230 of them at the time of writing) from one of the menu options. Did a reboot and tried to launch Puckman again, this time I had a list of 13 emulators, so 10 more than before. I tried all of them. None of them worked, though a few of them at least gave me a black screen with white letters saying that some files were missing, other emulators just brought me straight back to the game selection page.
The emulators I can now choose from have in addition to the one I already mentioned names like "lr-mame2000", "advmame-0.94", "lr-fbneo" and "pifba". On the Arcade section of the docs it has a short list of emulators with next to it a "Required ROM Version". This is a part I totally do not understand.
As said I obtained a large list of arcade games (.zip) files, there is nothing in a zip file that tells me what ROM Version it is. And that seems logical as to me, the ROMs are just binary copies of the ROMs as they were installed in the actual arcade machines long ago. These ROMs have no knowledge of "MAME 0.37b5" or "FB Neo v1.0.0.X.X". So can somebody explain this "Select the right ROM set to me"? I have a PUCKMAN.ZIP file, it's not dependent on other ROMs so the contents of that zip file are a full ROM set, that is - as far as I understand it - the contents of that zip file are the images of all the ROMs necessary to play that game.
So what does this "use the ROM set version that matches the emulator you're using" mean? I only have ONE PUCKMAN.ZIP file, without any reference to a required version. I also have not found any mention anywhere of a PUCKMAN.ZIP file for MAME 0.375b or of a PUCKMAN.ZIP file for "FB Alpha v0.2.96.71". So I am completely lost in figuring out how to know what emulator I should actually be using.
And instead of "using the ROM set version that matches the emulator you're using" shouldn't I do the exact opposite and use the emulator that matches the ROM set version that I happen to have (without knowing what ROM version that might be).
Then, on the MAME section of the docs there is another list of Emulators. The "lr-mame2003" is listed here again but none of the others that were on the Arcade section are listed (no "pifba", no "lr-fbneo", no "mame4all" but "mame4all-pi" this time) but instead there are a bunch of other ones that again mention some Required ROM Version. What is the relation between the two tables (Arcade and MAME page)? Why don't they both list the same Emulators? What is the relation between Arcade and MAME, I thought they are synonymous?
To make matters even more complicated (to me at least) is that on the mamedev website I can actually see a lot of MAME releases including for example Version 0.78 that was also present in the table on the Arcade page. But these are all Windows binaries and not meant for Retropie, so what is the relation between all the MAME versions I see there (going from 0.1 all the way to .232 (at the time of writing) and the emulators on the Retropie pages? How would one get all MAME versions as listed on the mamedev website on Retropie?
I find the learning curve incredibly steep, or maybe the documentation is despite all the best efforts not written for a complete noob when it comes to emulators?
The MAME version used on that DVD I obtained was 0.31 which according to the mamedev website is from 25 April 1998, which matches the dates of the files on that DVD. How can I just tell Retropie to use MAME 0.31, because they work with that version on Windows, so should one would hope work with that version on Retropie as well. And how would I go about installing MAME 0.31 on Retropie as installing all options packages did install some extra emulators but by far not all of them.
And why do more recent versions of the MAME emulator NOT - necessarily - work with older ROMs? Why is there this need to start messing with DAT files which sounds like another big frustrating task. I just don't understand the need. The ROMs are as said the binary copies of the ROMs as they were in the actual arcade machine, the contents of these ROMs doesn't change. Why can't newer versions work with older ROMs without rebuilding them?
Anyway, my apologies for the long story but after 24 hours of trying to get ANY game working on Retropie without any luck and not understanding the docs at all I am just lost.
So please, what must I do to get Puckman to work (once that works I should get the rest to work as well)?
Thanks.
-
@pietdummie said in Utterly lost newbie:
I have read about there being different mame versions. This is where the confusion starts.
i think it also hopefully will be where it ends :) you need the correct romset version. puckman.zip is a romset, and it will have a version. each emulator supported in retropie has a version. given that there are HUNDREDS of mame romset versions, the chances of your romset matching the subset of versions retropie supports is fairly minute.
And instead of "using the ROM set version that matches the emulator you're using" shouldn't I do the exact opposite and use the emulator that matches the ROM set version that I happen to have (without knowing what ROM version that might be).
well, how can you do that without knowing? given that you've tried all the emulators and they don't work, doesn't that prove that it's irrelevant what version that is, only that the version is not supported?
The MAME version used on that DVD I obtained was 0.31 which according to the mamedev website is from 25 April 1998, which matches the dates of the files on that DVD. How can I just tell Retropie to use MAME 0.31, because they work with that version on Windows, so should one would hope work with that version on Retropie as well. And how would I go about installing MAME 0.31 on Retropie as installing all options packages did install some extra emulators but by far not all of them.
MAME 0.31 is not supported by retropie. it's also ~23 years old, meaning the emulation is going to be ropey, and the games supported minimal. there would be no need to use such an old MAME emulator on your hardware, even if it was supported.
so, in my opinion, forget about the files you have. 0.31 is a not supported version. acquire a MAME/FBN romset collection(s) of the version number of the arcade emulator(s) you wish to use. we recommend some here: https://retropie.org.uk/docs/Arcade/#step-1-choose-your-arcade-emulators
i don't recommend rebuilding what you have. it's far more effort than just getting the required romset.
Then, on the MAME section of the docs there is another list of Emulators. The "lr-mame2003" is listed here again but none of the others that were on the Arcade section are listed (no "pifba", no "lr-fbneo"
pifba, lr-fbneo are not MAME, they're FBA/FBN: https://retropie.org.uk/docs/FinalBurn-Neo/
, no "mame4all" but "mame4all-pi" this time)
same thing.
Why don't they both list the same Emulators? What is the relation between Arcade and MAME, I thought they are synonymous?
MAME and FinalBurnNeo/Alpha are two of the most popular emulators of arcade games. there are separate documentation pages for both, but since they're both effectively emulating the same area, and have the same concepts for romset versions, etc, the docs collect the documentation that applies to both on the arcade page. it also allows you to (optionally) put all your MAME and FBA/N roms for both in the same rom folder, so it appears as one 'arcade' entry in the emulationstation menu, as organising them into seperate folders can be a bit of a clutter, and perhaps irrelevant to someone navigating emulationstation.
How would one get all MAME versions as listed on the mamedev website on Retropie?
create a retropie build/installation script and ensure the thing can build for ARM, but the effort of doing that for a version that's going to be bare-bones and immature compared to the libretro arcade cores the docs recommend, that have had 100s of hours work to add supplementary features, makes it pointless.
I find the learning curve incredibly steep, or maybe the documentation is despite all the best efforts not written for a complete noob when it comes to emulators?
whilst i don't think the docs will ever be everything to all people, they at least attempt to strip it arcade emulation down to 3 simple steps that have to be done in order for best results. you're trying to go from the romset backwards, which is not what we have documented. you're definitely not the first to do this, but it's a road to frustration and there's very little point.
The ROMs are as said the binary copies of the ROMs as they were in the actual arcade machine, the contents of these ROMs doesn't change.
you'd think but it's not quite true
-
Rome wasn't build in a day you know.
Be patient and take your time to figure it out.If you have uppercase filenames try changing them to lowercase filenames.
With normal use, mame emulators, use a software list database.
This search method is case sensitive.
In other words, the rom that you run, is checked in a database.
If the name exists then it will see inside the zip file if it can find all the roms required.
Try using lr-mame2003 first.Perhaps you will have luck as there is some overlap in rom versions.
In this post under Arcade you can find some legally downloadable roms :
https://retropie.org.uk/forum/topic/10918/where-to-legally-acquire-content-to-play-on-retropieI suggest you start with that.
circus.zip should run.When you start a rom, you can press a key.
If you do this you can select other emulators for example.
In this same menu you can also select : launch with verbose mode
If you select this a /dev/shm/runcommand.log file is created.
In there you can see the loading process and what roms are found and what is missing.
This way you can solve problems. -
@pietdummie
broadly speaking you have two options
1 - learn how to use clrmamepro and dat files to build romsets for any arcade emulator
You would need to have the latest Mame romset and a rollback romset - it's a steepish learning curve but means you don't have to redownload gigs of roms when/if you update the emulator
2 - quick and dirty - find the latest fbneo romset and bung it on your sd card
the roms you already have could have been redumped many times since '98 as methods and tools improved over the years / new chips added etc - I would just forget about them
just checked the crc's - none of the 0.31 puckman roms exist anymore in the latest dats / they've certainly been redumped at some stage -
@pietdummie: We can't give you links to ROMs. But what you're looking for is a MAME2003 REFERENCE SET.
-
Thanks for your replies guys. I managed to get another set of ROMs (.zip files) and these new ones DO work with lr-mame2003. So a number of these new ROMs have the same name eg PUCKMAN.ZIP (ignore case) but different contents than the PUCKMAN.ZIP I tried before.
The thing that confuses me is that I assumed that the ROM's are simply the exact images of the ROMs as they were present in the actual arcade machines. So for example someone has an old 1980 PacMan arcade system, opens the system, manages to get the ROMs out, read them and then has the binary images. Those images - in my perception - should never change. They are the undisputable source. That's why I don't understand the need for and existence of different ROM sets.
How about the following analogy: ROM set is book, emulators = translations into different languages; no matter what language I would want the book translated to, the source - the book itself - would not change. However, here, in emulator land, it seems that the book itself has different contents depending on what language it's translated to. The PUCKMAN.ZIP file for mame 0.31 has different contents than the PUCKMAN.ZIP file for mame 0.122 (which happens to be the version used in that new set of ROMs I got). That part I still don't understand and would love to understand why. There was a link provided above but that didn't really make it clear to me.
-
@pietdummie romsets change for many different reasons so there’s no single answer, but there’s an attempt here:
https://docs.mamedev.org/usingmame/aboutromsets.html#troubleshooting-your-rom-sets-and-the-history-of-roms -
@pietdummie maybe I can help a little. I found after over nearly 25 years of playing with MAME and romsets, the best way to handle ROMS is to choose what emulator version you want to run and build from there. So if you are going with lr-mame2003 then you will need the MAME .78 romsets which is readily available by doing a Google search. Start there. Then as you find more games that you are missing move up to other versions of MAME and their specific romsets. lr-mame2010 uses MAME .139... Etc. Many games work better on 2010 than 2003, some work better on 2003 plus..etc. you have to experiment.
Puckman is what's called a "parent rom". It's actually the original Pac-Man as it was named before it came to the US/EU market. So it's required to be in your ROMs directory in order for Pac-Man and several other versions to work. You can actually unzip the Puckman ROM and dump its contents into the Pac-Man set and it should work. That's more or less what clrmame does. It cleans up romsets for each version of MAME. For you. But if you only want to run let's say 100 or so specific games, you can target the errors and correct the yourself if need be.
Use the "arcade" folder. It's the best option because you can load whatever version of MAME you want and it will see the roms in that folder. If you use the MAME specific ROM folders, you will have a MAME listing for every version in you ES menu.
Google is your friend for all of this. But start with a romsets like .78 or .139 and go from there. You can try the FB emulator as well. That's a good one too. But start simple and learn where all the samples and roms go, and what they work best with.
Example: Astro Blaster uses the .78 rom, but works really well with lr-MAME2010 (.139). The sounds are evenly attenuated in the 2010 version.
It takes a lot of experimentation, but you'll get it.
-
@jamrom2 said in Utterly lost newbie:
Puckman is what's called a "parent rom". It's actually the original Pac-Man as it was named before it came to the US/EU market. So it's required to be in your ROMs directory in order for Pac-Man and several other versions to work.
To be precise, that's only true for "split" romsets. It doesn't apply to "merged" and "non-merged" romsets. The differences are explained here (link more for @pietdummie than for you, as I presume that you know this already).
Not trying to be nitpicky here, but if we try to explain the mystical art of romset-fu to a total newbee, we should be as accurate as possible. 😇
-
@clyde lol. I was getting there. Hence the clrmame mention. I've found that tip about loading MAME on a PC and running the games always helped me as well. The failed roms will tell you what's missing. In the past, I would just wait for a new complete MAME release and then just pull down a new romset dump. I'm still waiting for a fully functional Space Guerilla...they've almost got it in the latest set.
But in the end, it is about matching romsets to versions first, then tweaking from there. Maybe a YouTube video is in order?
-
@jamrom2 There seem to be quite a few already. Or what else do you have in mind?
-
Thanks guys, it's all clear to me now. I got myself a .37b5, a .78, a .139 and a .159 set. For now I will stick to the .139 set on my Pi 4.
-
@clyde not for clrmame. I was thinking for setting up romsets to mame versions on RetroPie. Its probably done already, I just never checked.
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.