Which system emlator should I use? I only want to play "Space Invaders"
-
@dankcushions said in Which system emlator should I use? I only want to play "Space Invaders":
no, we know that mame current can cope, but with retropie we're using 10+ year old versions of mame, and forks of them to boot, with their own command line interfaces. so you're stuck with renaming in retropie :)
That's why I posted the version (0.78) which is 13 years old and it works fine. It's not the emulator that needs tweaking it would be the front-end as the functionality is already in place and has been for well over 10 years. I'm not saying ES will have it anytime soon or ever. I was just pointing out that it does work after doing some testing.
-
@Riverstorm but that's still not what we're using. we're using LR-mame2003, which does not use that command line interface. libretro/retroarch is its own interface.
-
@chavatar said in Which system emlator should I use? I only want to play "Space Invaders":
@dankcushions
All the fancy mame names are derived from a simple cross reference
Can I ask how this works a little more? Genuinely trying to get my head around it!here's the cross reference in the code - https://raw.githubusercontent.com/Aloshi/EmulationStation/master/es-app/src/MameNameMap.cpp
-
@dankcushions said in Which system emlator should I use? I only want to play "Space Invaders":
@Riverstorm but that's still not what we're using. we're using LR-mame2003, which does not use that command line interface. libretro/retroarch is it's own interface.
Retroarch is a front-end that interfaces with the Libertro API. I would assume it's safe to say they are using the source files from 2003 that already had that functionality built in. They did not rewrite the emulator from scratch. You can find every version of the open source files over at mamedev.org. As you said:
all emulationstation does is pass run a command line which is basically (for a libretro emulator):
/some/dir/retroarch -L /some/dir/libretro-core.so /roms/mame/gamename.zipI am not sure why you feel a need to flex. I thought we had a nice discovery of knowing merged sets work fine on these old versions. I would bet on forks like AdvMAME it would work too. Possibly in the future the devs could tweak the front-end utilizing that knowledge if they wanted. I am not in a contest with you about who knows more. I was trying to further/improve the cause and let the devs decide what they may or may not do in the future. It was simply a discovery that we didn't know about yesterday. As Herb says anything is possible it's just currently not a feature.
You said:
we know that mame current can cope, but with retropie we're using 10+ year old versions of mame.
You do know that each version of MAME is separate and written from the year of release hence lr-mame2003 is 13 years old and probably uses the 0.78 code with some tweaks then compiled? As lr-mame2010 is 5 years old, etc. I was using old binaries for testing so yes I do know it's 10+ years old and it worked!
-
@Riverstorm said in Which system emlator should I use? I only want to play "Space Invaders":
@dankcushions said in Which system emlator should I use? I only want to play "Space Invaders":
@Riverstorm but that's still not what we're using. we're using LR-mame2003, which does not use that command line interface. libretro/retroarch is it's own interface.
Retroarch is a front-end that interfaces with the Libertro API.
that's why i asked what you meant by 'frontend' in this situation :) you said emulationstation.. well, now it's retroarch? :)
I would assume it's safe to say they are using the source files from 2003 that already had that functionality built in. They did not rewrite the emulator from scratch. You can find every version of the open source files over at mamedev.org. As you said:
all emulationstation does is pass run a command line which is basically (for a libretro emulator):
/some/dir/retroarch -L /some/dir/libretro-core.so /roms/mame/gamename.zipright, but by implementing it in libretro you abstract all that stuff away - there are NO mame-related command line functions used in libretro mame cores. any functionality previously accessed via command line has to be mapped to a retroarch core option, which is sometimes trivial if it's an on/off function, but this isn't that sort of scenario. it could be done, of course, but i don't see anyone proposing to code it :)
I am not sure why you feel a need to flex. I thought we had a nice discovery of knowing merged sets work fine on these old versions. I would bet on forks like AdvMAME it would work too. Possibly in the future the devs could tweak the front-end utilizing that knowledge if they wanted. I am not in a contest with you about who knows more. I was trying to further/improve the cause and let the devs decide what they may or may not do in the future. It was simply a discovery that we didn't know about yesterday. As Herb says anything is possible it's just currently not a feature.
i'm not flexing! i'm not saying it couldn't work at all! i was just saying that you couldn't achieve this with emulationstation changes, which is why i specifically asked what you meant by 'frontend' before i dismissed this idea :)
You said:
we know that mame current can cope, but with retropie we're using 10+ year old versions of mame.
You do know that each version of MAME is separate and written from the year of release hence lr-mame2003 is 13 years old and probably uses the 0.78 code with some tweaks then compiled? As lr-mame2010 is 5 years old, etc. I was using old binaries for testing so yes I do know it's 10+ years old and it worked!
yeah, you've already told me you were using an old version of mame.. great! it still doesn't make much of a difference :)
ideas are cool! i don't want to be negative, i'm just trying to manage expectations :)
-
@dankcushions Thanks. Ok, sorry, but I'm looking at my 8.3 convention 0.37b5 romset. I can see sselph's scraper picking up different things (versions more than games), if at all...
I'm a real mame noob and ran into this problem with Alex Kidd - see here [http://www.gamesdbase.com/mame-rom/alexkidd1.aspx] - look at the naming history. What am I missing? How to you keep track of that moving target?
-
@chavatar said in Which system emlator should I use? I only want to play "Space Invaders":
@dankcushions Thanks. Ok, sorry, but I'm looking at my 8.3 convention 0.37b5 romset. I can see sselph's scraper picking up different things (versions more than games), if at all...
i guess if you use a scraper then that populates the metadata. i think those names i linked above are just for when emulationstation doesn't have any metadata? just my guess...
I'm a real mame noob and ran into this problem with Alex Kidd - see here [http://www.gamesdbase.com/mame-rom/alexkidd1.aspx] - look at the naming history. What am I missing? How to you keep track of that moving target?
the filenames are a different thing to the scraped/es names - the filenames are static for a particularly mame romset. in your case 0.375b. that history there is showing that the filenames and stuff were renamed/moved around throughout the history of mame versions - but that's ok for you, as you only care about 0.375b :)
-
@dankcushions Cool, thank you.
but that's ok for you, as you only care about 0.375b :)
Gotta start somewhere! And they weren't saying that 16 years ago...but yeah, time to move on? :)
-
You originally brought up Retroarch and Libretro but yeah I was originally referring to ES because it's a front-end too! I am not sure what your point is here except to make an attempt to discredit. How all the moving parts work together I am definitely not 100% sure.
I do apologize if you're a developer with the knowledge to code the proper changes to incorporate merged sets. You seem quite comfortable in your knowledge of how everything works and what would be manageable-able expectations and what wouldn't but you clearly missed some fundamental points on how things work.
I did go to college originally for programming but flipped over to Network Engineering and stuck with that the past 25+ years but I would love to hear your logic on why "this isn't that sort of scenario". I might not follow all of it but would love to hear your logic.
As far as anyone not proposing to code it that is a completely arbitrary statement. This isn't supply and demand not even necessity isn't going to facilitate it. I would imagine there are only a handful of guys that can do it on these forums in a timely fashion that spend countless and thankless hours working on something they love. There are a lot more users than developers I would guess.
I'm sorry but you come across as some representative for RetroPie based on what you deem a reasonable expectations of what to except in future releases. The devs can trump or prioritize any feature they want at any time.
All I was doing was trying to figure out how merge sets work and now I know. I do feel quite satisfied I learned something today. Even something small like this. I'm quite ok if it don't make a difference to you but it sure don't seem right that you come off telling others to manage their expectations whether indirectly, implied or insinuated. I don't need you to manage my expectations.
If I share a piece of information you deem impertinent or irrelevant it doesn't feel so great to have someone keep picking at it like you're doing. I was quite happy with the find and hope in the future it might be useful. I would rather you just left it alone instead and let others who might find value in it comment and further the conversation together so as to not waste time and energy with whatever it is you're trying to prove to the community.
-
@Riverstorm discussions are good! all i'm saying is that it would take a non-trivial code change to get the lr-mame2003 core (and retroarch) to cope with letting the user control loading individual games from a merged set.
here's the best idea i can come up with: something like how lr-fba-next dynamically builds core options around inputs, based the game. it's feasible that you you could dynamically generate a list of clones for each game, and then let the user select, and save it as a unique core option. BUT you'd have to reset the game for the desired clone to loan. this change is possible but for me it's complex, and i don't see huge value in it.
either way, it's retroarch and libretro changes that are required to solve this problem, because all ES can do is send command-line arguments, but retroarch/libretro have to interpret them. that's all i was really trying to say.
i learnt how mame deals with merged sets, so i'm happy! sorry if i'm being negative.. i'd absolutely love for more people to get engaged with making changes. it's fun!
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.