Setting up a Ipac2
-
@riverstorm said in Setting up a Ipac2:
I think @markwkidd and r-type have been working on lr-mame2000 and after testing it the other night it's neck and neck with lr-mame2003 TAB input now. If they could merge efforts to rid/merge the raw and virtual inputs it would be a huge win! :)
I go back and forth about this. I rather like the raw inputs at times. As a keyboard controller user, I think it affords me additional opportunities for mapping controls.
-
@caver01 said in Setting up a Ipac2:
I go back and forth about this. I rather like the raw inputs at times. As a keyboard controller user, I think it affords me additional opportunities for mapping controls.
I agree. It provides better input configuration globally as well as per game. The other options in the TAB menu are handy like game settings for grabbing the resolution, history settings for an overview, dip switch settings for adding lives, cheats, etc.
When lr-mame2000 had no TAB menu I didn't find much value in using it. It only had a few controls. I don't think you had the ability to start 2, 3 or 4 player games even but you had shaders! :) Thanks to those guys they have improved it significantly.
There's still some input issues like when pressing "button 1" it automatically adds "joystick button 1" into the configuration. Not a deal breaker but you're locked into a 1 to 1 button mapping between keyboard & controller so you would need to choose which is your primary input to get a proper configuration. The other input device might not be ideal depending on your preference.
Also when pressing escape while in game locks it up but the Retroarch exit sequence works still. It has the same <NOT> mapping issues. I keep a few 0.37b5 ROMs installed for testing between mame4all and lr-mame2000 as they update it.
I was thinking more along the lines of fixing the double inputs and NOT mapping would be the win. It's probably not coincidental that the same issues in lr-mame2003 are cropping up in lr-mame2000 as they fix it. Probably similar MAME source and Retroarch code. The thought being if they fix one emulator the other should be a similar fix to the inputs.
Also I am not sure why the emulators accept raw input for almost everything except exiting the game with "UI Cancel". It's the standard key to exit the TAB menu and while in game it should be used for exiting the game. Allowing a single key exit (escape) vs. dual keys (Retroarch hotkeys) it would allow getting rid of a dedicated escape/exit button and just use the IPAC shift sequence. Being able to exit with "UI Cancel" as well as Retroarch hotkeys. Handy.
As it stands now I disabled the IPAC shift keys and re purposed my joystick directionals for saving and loading games. I did loose escape, enter & TAB shift functionality but I have dedicated buttons on the sides.
I think mame4all doesn't have those issues simply because it doesn't have "virtual inputs" or Retroarch complexities. It just needs to handle the raw inputs so it's pretty straight forward.
-
@riverstorm I honestly have not been messing around much with lr-mame2000. I know there may be performance gains, but the romset seems better for 2003. What roms are you keeping around for testing?
I think you are right about the inputs though. It makes sense that the same duality issue would appear there too as they enable raw keyboard commands like TAB. I seem to recall that moving forward in time, like to mame2010 solves the dual input problem.
The thing is, this issue with <CODE_NOT> represents such a small population that it may not get fixed. It only affects keyboard controller users and only those who care about uncommon mapping. And for those of us in this small group, we have the ability to do per-rom workarounds by setting relevant inputs to 'nul' in retroarch to effectively disable the virtual retropad.
At one point, I had half a mind to do that for ALL of my 2003 ROMs, but it seemed like a lot of extra work to manage this in the Arcade folder. It also meant that as I try other libretro cores I would have to be mindful of this workaround each time. So, I just leave it alone. It is not hurting anything, as far as I can tell. Vindicators, Vindicators 2, Toobin, benefit from a tankstick mapping. I think I also used <CODE_NOT> with AND and OR to get a 45 degree mapping for Q-bert. Battlezone comes to mind, but since it is horizontal and single player, and I have two sticks on the horzontal side, I can make that work without mapping to a single joystick. Besides, it is vector, so I use AdvanceMAME!
I see all of this as, the more options the better. Once you get into this hobby, you start to spread the love around each emulator, picking the right one for each ROM. And as always, what works for my hardware may be different for yours.
-
@caver01 said in Setting up a Ipac2:
What roms are you keeping around for testing?
I completely migrated over to lr-mame2003, AdvMAME & FBA. I've been keeping a few "random" ROMs in the mame4all folder strictly for testing not production play. ;) When lr-mame2000 gets updated Mark sends a message out to download from source for testing. I test and provide detailed feedback on what's working and what's not. I sometimes flip over to mame4all to compare as they both load from the same console.
I have to run WinMerge against my ROM folders but I think I have identical ROM's between mame4all and mame2003 except for 6 additions and roughly 6 differences like the World vs. US versions. Same game just a different version. The differences between the sets are negligible but pertinent unfortunately.
The thing is, this issue with <CODE_NOT> represents such a small population that it may not get fixed.
That's true but mame2010 solves the issue? I didn't know that. The last I read it still had quite a few issues and I've haven't really tried it. Is it worth upgrading or is there performance issues? I think all the enhancements Dank has implemented on 2003 has made it pretty viable. I do prefer shaders and also the analog stick setting but I would guess those work in the newer versions.
At one point, I had half a mind to do that for ALL of my 2003 ROMs, but it seemed like a lot of extra work to manage this in the Arcade folder.
Is Arcade a lot of work? I would do the initial setup regardless of time if I was able to backup/restore from RetroPie version to version. I've never tried it.
I do change my ES system icons using some of Udb's artwork so it shows AdvMAME, lr-mame2003, lr-fbalpha which is handy for me but the casual player still asks where is... but most are found in mame2003.
I've recreated the ROM folder structure on USB and dump everything in one fell swoop. ROM's, snaps, configs, gamelist.xml, etc. for all emulators and ports. Then I do the same for the emulator directory for AdvMAME, mame4all, ports, etc. Also the BIOS directory. I can rebuild from scratch fairly quickly.
It definitely seems mame4all and AdvMAME have the most complete and flexible TAB input but also they don't have to contend with Retroarch. It seems like somewhat of challenge to solve the input issues without moving all the input options like pedal, paddle, dial, trackball, lightguns, etc. to Retroarch or something. Somehow they have to say use this input or that input. Retroarch or raw but it sounds like mame2010 finally did get a workaround in place.
I think I also used <CODE_NOT> with AND and OR to get a 45 degree mapping for Q-bert.
That sounds cool. I wouldn't mind trying that if you have the config settings or a link? So you're using a 4 way that equates to the original 45's? I find the <CODE NOT> can get complex real quick.
What are you doing with Toobin'? I use 4 of the 6 button layout. Bottom left and right for hands forward and top left and right for hands backward.
-
@riverstorm said in Setting up a Ipac2:
Is Arcade a lot of work?
No. It's great. I have about 100 games in it. Each one perfectly configured. The majority are on lr-mame2003 but others are on FBA and Advmame. It presents a very neat and tidy list and the main advantage is that when people want to play the games on the cabinet they just play them. They do not care which emulator, why etc or have to even consider them. With the run command disabled, it's bullet proof! Well almost.
-
@rbaker said in Setting up a Ipac2:
No. It's great. I have about 100 games in it. Each one perfectly configured.
Ah nice! That's really what I would prefer a single list of all arcade games. How do you disable the run command?
One thing I've seen asked a few times but don't remember if there's a definitive answer. Is it possible to boot directly to a console like Arcade? It's definitely more polish than needed but could be nice. I have all the parts for a Pi Zero W and was thinking of a simple project with some of the golden age classics.
-
@riverstorm said in Setting up a Ipac2:
but mame2010 solves the issue?
It may have been solved by accident because of the way inputs are programmed. According to this post from a while ago, Dank thinks the devs avoided the issue in 2010 by abstracting all inputs to a virtual keyboard instead of via virtual gamepads alongside raw keys. I have only done a few things in 2010 to test ROMs that fail in others. Performance is better in 2003 for sure.
Is Arcade a lot of work?
It can be at first, but for me the benefits far outweigh the config tracking. You need to keep a list somewhere of which ROMs come from which sets. Otherwise, you have a big mess on your hands. When I had ROMs in their separate folders I knew what sets were being used. I have my own version of one of the compatibility lists where I added columns for my own tracking. This helps me remember which romset I am using for each ROM in the Arcade folder.
Like you, the upgrade or rebuild process streamlined with a backup of the configs folder and roms folder, and maybe even easier because I only need to grab one arcade ROM folder.
It has been interesting to see which ROMs have changed from set to set. I will often just try a rom in another emulator before replacing it with one from the proper set. As a result of starting with Advmame a long while back, many of the live ROMs are .106 on my system. They work, but if I am ever troubleshooting, I get the right one. This is why you have to maintain a list.
With Toobin, I just setup a tankstick using <CODE_NOT> . I probably need to change to buttons though since that is what the orignal arcade machine used. Still, inside the GUI menu, the inputs are LEFT UP, LEFT DOWN, RIGHT UP, RIGHT DOWN just like a tank, so I just went with my tankstick mapping. But now I wonder what happens if you press both left buttons? Does the player move right? You cannot push both up and down on the same side at the same time with a joystick!
My Qbert mapping is perhaps different than most, since I play on the vertical ends of my cocktail cabinet so the joysticks are rotated. But, you can do it easily just by editing the inputs in the MAME GUI. On the original arcade machine, they simply mount the joystick rotated 45 degrees. So, you just need to know which way is UP for you, and use the diagonals to remap the inputs. This will create <CODE_AND> mappings because you will be using the diagonals, effectively mapping two inputs at once. This should not conflict with the virtual retropad like it does for doing <CODE_NOT>. In fact, you will probably see two sets of inputs for each as it should pickup the retropad and the raw keys at the same time. In practice, playing Qbert this way on a mapped joystick allows you to use the diagonals, but it always feels weird because you are using an 8-way stick without a restrictor plate and trying to hit the diagonals. It is not perfect.
-
@riverstorm said in Setting up a Ipac2:
Is it possible to boot directly to a console like Arcade?
I think you can set which emulator is first/default on the carousel, but you cannot boot directly to the games list.
-
@riverstorm said in Setting up a Ipac2:
How do you disable the run command?
You can enable and disable different functions of the Runcommand Launch Menu. This is configured via RetroPie-Setup or via the runcommand configuration option in the RetroPie area of Emulation Station. The first option is Launchmenu. You just choose disable which means that a rom just launches.
Details here: https://github.com/RetroPie/RetroPie-Setup/wiki/Runcommand
-
Nice thanks for the tips guys. I would like to give this a try at some point. I think after reading through I would definitely need some way to track ROM sets or at least build out a folder structure like arcade (mame2003), arcade (advmame), arcade (fba), etc. That way if I ever needed to start over I could reference the directory list when configuring. I have about 300 games across the 3 emulators.
I know this is a long shot but Caver I remember you pointing out some limitation on Arcade on configuration or something in a post a long, long time ago. Do you happen to remember what that was? Of all the things to remember I just remember you pointing out some limitation to be aware of or something along those lines.
Is there any documentation on Arcade or any posts you recommend reading. I see advmame has links under Arcade but mame2003 has folders. I think I can figure it out but is there any other folders to backup where Arcade specific config information would be stored?
-
@riverstorm said in Setting up a Ipac2:
I know this is a long shot but Caver I remember you pointing out some limitation on Arcade on configuration or something in a post a long, long time ago. Do you happen to remember what that was?
I do. It had to do with the single retroarch.cfg file in the configs/arcade folder. In the configs folders, you can have a retroarch.cfg per emulator folder, as you might already know, and one for "all". For example, the one in mame-libretro would cover the retroarch settings applied just to mame cores. That is already somewhat limiting because you cannot have a separate config for lr-mame2003 that is different than the one for lr-mame2000 because they both use the mame-libretro config folder. Now, apply that same limiation to the arcade folder and you see the potential problem. One retroarch.cfg file has to cover all libretro cores used. That means, if you map keys for lr-mame2003 differently than you do for lr-fbalpha, you only have one retroarch.cfg to work with. You might end up needing more per-rom config files.
Of course, you still have the ALL folder for your base/default, and retroarch combines them, but where they conflict, the config is superceded as you get more specific, ALL-->Cores-->Roms.
Anyway, that was the limitation. One cfg file for arcade. In practice, however, it has not been a big deal.
-
This was one reason why I am so passionate about keeping the SELECT key mapped. It has to work for both mame and FBA using the same retroarch.cfg file.
-
@caver01 said in Setting up a Ipac2:
I do. It had to do with the single retroarch.cfg file in the configs/arcade folder.
Thanks Caver, that was it, good memory! :)
that is different than the one for lr-mame2000 because they both use the mame-libretro config folder.
Is lr-mame2000 lumped mame4all? When I go to the launch menu with ROMs placed in the mame4all folder I can choose between mame4all or lr-mame2000 but when using Arcade it lumps all lr-mame configs (i.e. - 2000, 2003, 2010, 2014 & 2016) to one folder being mame-libretro?
his was one reason why I am so passionate about keeping the SELECT key mapped. It has to work for both mame and FBA using the same retroarch.cfg file.
Yeah lr-fbalpha seems to be the only MAME Libretro core that doesn't accept raw input and relies solely on Select for credits.
-
@riverstorm said in Setting up a Ipac2:
Is lr-mame2000 lumped mame4all? When I go to the launch menu with ROMs placed in the mame4all folder I can choose between mame4all or lr-mame2000 but when using Arcade it lumps all lr-mame configs (i.e. - 2000, 2003, 2010, 2014 & 2016) to one folder being mame-libretro?
I believe lr-mame2000 is the better name for the libretro version of mame4all. It used to be lr-mame4all.
I think one reason why it is setup together is because lr-mame2000 and mame4all-pi are both built on the same mame code base and require the same romset.
Arcade combines all arcade emulators (except Daphne which is not really interchangeable with the others). The stand-alones like AdvanceMAME will use their own configs as always, but the libretro cores will share the same retroarch.cfg. Actually, they already shared the one in the
all
configs directory, but the emulator-specific config ends up coming from thearcade
config folder and all libretro cores must share.The benefit, even with this limitation, is that all arcade games (except laserdisc) are united under a single menu in ES. Before I started using it, I would show a friend the system, and they would be scrolling through the gamelist looking for their favorite, and I was like, "oh, that one is listed under the FBA emulator," or, "oh, that game is vector, so it is under AdvanceMAME," and they would ask, "what is a MAME?" That's when I knew that having multiple arcade choices in ES--especially multiple MAMEs to choose from--was really confusing the casual user. People would appreciate what I built more if they did not have to hunt for their games. The users don't understand why I would choose one emulator over another for a particular game. They also don't care, so the Arcade folder just cuts through all of that confusion.
Sure, I need a spreadsheet to keep track of what ROMs I have in there (what sets each one comes from) but it seems like the best option for me.
I might like to try to unify Arcade with Daphne at some point. I am not sure why that hasn't happened yet.
-
@caver01 said in Setting up a Ipac2:
I think one reason why it is setup together is because lr-mame2000 and mame4all-pi are both built on the same mame code base and require the same romset.
Yeah they are the same ROM set 0.37b5. Sorry I might have not worded the question clearly. All lr-mame emulators (2000, 2003, 2010, 2014, 2016), advmame, mame4all, etc. share one retroarch.cfg the should be placed in the arcade folder?
Also just a quick question for advmame I see a folder under Arcade
/home/pi/RetroPie/roms/arcade/advmame
that only has file links that point to themselves such as theartwork
link is/home/pi/RetroPie/roms/mame-advmame/artwork
. Do I configure the options, samples, etc. under it's "home" folder in/opt/retropie/configs/mame-advmame
as though it's standalone or create folders here in the directory?Also for mame2003. This has actual folders under
/home/pi/RetroPie/roms/arcade/mame2003
would I add the config files to these folders or to the nativemame-libretro
folder?Lastly the same for mame4all I take it must be configured in it's home folder
/opt/retropie/configs/mame-mame4all
.Sure, I need a spreadsheet to keep track of what ROMs I have in there (what sets each one comes from) but it seems like the best option for me.
I agree that sounds pretty handy. I was just trying to cut out the spreadsheet and maybe use the folder listing of files for what ROM belongs to what emulator and then maybe write a small batch files that copies all directories to the Arcade folder from a USB drive.
Basically using my directory of ROM files as my spreadsheet for reference. Like my FBA directory is pretty small so I could have one window open with the folder listing on one screen then on the other screen configure each ROM in RetroPie. I think it sorts alphabetically by name from gamelist.xml name so it would require skipping around the list of games.
Man o'live you can just go on and on in RetroPie. Hopefully I get some point where I spend more time playing than tweaking. :)
(except Daphne which is not really interchangeable with the others)
Yeah it sure would be a good fit for adding it under Arcade.
-
I know the ROMs belong in one folder but I was referring to config files, like samples or in AdvMAME the
advmame.rc
modifications, mame2003 BIOS files, etc. -
@riverstorm The advancemame config files stay where they are. It is not libretro, so the .rc file is still referenced in its existing location. That is convenient at least. The support folder locations for advancemame such as artwork and others are all dependent on the settings in the .rc, so you can leave them where they are, or point them to wherever you think is more convenient. For example, I have my samples in the BIOS area where I setup a folder structure for advmame. This is also where I dropped some files for MESS. Anyway, AdvanceMAME plays nice with the Arcade folder in that it keeps everything else AS-IS. This may be true of any standalone, non-libretro emulator.
For the libretro cores, if they generate support files next to the roms, these files/folders will appear in the arcade folder when you launch from there. So, stuff like GUI key mapping saved settings per rom, .nv files, and so on will get recreated. I would suggest letting that happen once, then move/copy your existing to retain highscores etc.. I think lr-mame2003 references the BIOS folder for some stuff (samples maybe? Artwork?) Anyway, that stuff does not change. FBA can use the BIOS folder too, which is nice. So your NeoGeo BIOS can sit there and won't need to be in the games list in Arcade. That is true even if you don't use Arcade.
Anyway, making the transition to Arcade is not that hard, and if you copy roms over instead of moving them, you can refine your setup without losing your existing emulator areas. You will have to pick a default, then go through runcommand for each game that deviates and set the right emulator, but it is worth it. Later, you can try other versions of emulators easily, provided the rom does not change, without having to move ROMs around to different folders. As long as an arcade emulator is installed, it will be available in runcommand under arcade. This is cheating a little, as your ROMs should obviously align with MAME set required, but many classics don't change from set to set.
Man o'live you can just go on and on in RetroPie.
No truer statement exists on this forum!
-
@caver01 Thanks Caver for all the information. I knew you set a default then work you way through the rest by hand. Most are in mame2003 followed by AdvMAME, then FBA. I think I can get a good start on this now. Well soon-ish! ;)
I think I know this answer but just to verify. I have some duplicate ROMs that are just for testing lr-mame2000. I will need to leave them in the mame4all folder as you can't have the same ROM name from different sets in arcade correct?
It is good discussion. It is debate that will bring us to recommendations for people, possibly even enhanced documentation in the RetroPie Wiki.
I am off for the holiday weekend here soon but I do agree with this statement. I know I get a better understanding of how things work from these discussions, unique points of view to see challenges from different perspectives and as you said it might lead to improved recommendations. Also I guess like Andrew said "A quest for knowledge..." which rings a little true for me or at least sounds very sovereign! ;)
-
@riverstorm said in Setting up a Ipac2:
you can't have the same ROM name from different sets in arcade correct?
You can't have two files with the the same filename in any single location--arcade folder or elsewhere. The fact that MAME and FBA use romsets with filenames that don't change (but their contents might) is probably the biggest source of arcade emulation confusion there is. It can be very frustrating, especially for newcomers. It is also why I keep the spreadsheet. You can't tell by looking at a file which set it came from. You can test it against a known set to see if it is compatible, (like with CLRMAMEPRO), but keeping notes about a jumble of ROMs in the arcade folder is worth the effort.
-
@caver01 said in Setting up a Ipac2:
You can't have two files with the the same filename in any single location--arcade folder or elsewhere.
Ok, I just wanted to make sure I had it straight and there wasn't some clever way to display/run two identically named sets in a list but with potentially different ROM files (i.e. - different MAME versions).
When I started using RetroPie it was more learning how to use it and not so much ROM management. The Raspberry Pi and RetroPie merged has been revolutionary for me in making retro gaming incredibly portable in any room or visiting family and friends. Shoot you can take it on a trip even if you're willing to use controllers. It renewed an old spark. I did follow PiPlay for a while but it seemed like RetroPie was evolving quicker.
I've used ClrMamePro for about 15 years or so and feel very strong in my ROM management. I have it down to a science mostly but I don't use Software Lists much. They can get a bit advanced if you don't use profiles. It's just repetition of use, reading and using it for years. Learning each option as you go. I remember the days of trying to manage ROM sets without tools or incomplete sets of just the games I wanted to run. I can't imagine not use some type of ROM management now.
I run them through ClrMamePro as non-merged, TorrentZip the set and finally zip the whole version. So I have in a folder:
- MAME 0.36 Non-Merged (Torrent Zipped).zip (another project)
- MAME 0.37b5 Non-Merged (Torrent Zipped).zip
- MAME 0.78 ROMs Non-Merged (Torrent Zipped).zip
- MAME 0.94 Non-Merged (Torrent Zipped).zip
- MAME 0.106 Non-Merged (Torrent Zipped).zip
- etc.
Then I just pull out the ROM set from the archive I need quick and easy. I use WinMerge if I need to compare to identically named sets for differences or compare folders of sets.
I think I can make a folder structure and searching it for knowing which set belongs to which version work pretty easy. The key is knowing that you can only have one version in the folder structure that will be merged into the arcade folder. If I find it in mame2003 on my USB drive then I know it's from 0.78. I suppose I could also pipe the directory to a file but I don't think I would need to go that far.
The initial setup seems like it will be slow as you start each game and reference a "list" for the emulator config.
I always keep the current set of MAME (split) which I think is 0.191, CHD's and rollback to be able to create any new sets as they are added to RetroPie.
Storage is at a high now I think somewhere between roughly 20 to 25 terabytes but about half of that is backup. So really around 12 terabytes of actual data. Always adding drives it seems.
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.