Development of module-script generator for lr-mess, lr-mame and mame standalone
-
@folly said in Development of module-script generator for lr-mess and mame standalone:
@dteam
Oh I see, that's a different story.
Now I see why you are doing ssh and filezilla !
I must say, looks very cool.
You must have enjoyed building it.
Nice job !Thanks. Yes, It was a really fun creative project to do. I recommend it to everyone. It took me a lot of time to do it. I had to use wooden clamps for each piece. I preferred this project more to the one I did with a 3d printer for a Pi Zero. The wooden project is original and It's not a copy from another project (even the electronic part of it !!)
-
I can refer to it.
It's always fun to do your own thing.If I have some time, I will make some photo's of my projects.
-
Today I had a look a config module-scripts (docsview.sh) containing the dialog api.
It took me quite some time but I changed it a bit to get the systems into the dialog menu.
I was also able to generate some scripts.It's nowhere near how we want it.
But it's a start of finding out how we can do this.
I takes about 15 seconds to extract the systems from mame and display them in the menu.
Basically I got this :
With the RetroPie-Setup we are
root
user.
So the generator-script, which contains the$HOME
string wants to do all in the root directory.
So we have to come up with something to fix this.This is the log selecting a system and generate some module-scripts :
= = = = = = = = = = = = = = = = = = = = = Running action 'gui' for 'add' : RetroPie-Setup Docs Viewer = = = = = = = = = = = = = = = = = = = = = % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 2 29333 2 863 0 0 1913 0 0:00:15 --:--:-- 0:00:15 1909 100 29333 100 29333 0 0 64326 0 --:--:-- --:--:-- --:--:-- 64185 install @valerino run_mess.sh script /root/RetroPie-Setup/scriptmodules/run_mess.sh: No such file or directory read all available extensions per system read compatible extension(s) for the individual media read computer description(s) read and match RetroPie names with mamedev names cat: /root/RetroPie-Setup/platforms.cfg: No such file or directory generate and write the install-<RPname>-from-mamedev-system-<MESSname><-media>.sh script file(s) generate and write the install-<RPname>-cmd.sh command script file(s) grep: /root/RetroPie-Setup/platforms.cfg: No such file or directory Log ended at: Wed Mar 31 21:03:49 CEST 2021 Total running time: 0 hours, 0 mins, 52 secs
-
In your list, Zupapa is an arcade game. I'll try to found a list without arcade game and without mechanical machine.
In category.ini (0.229) from https://www.progettosnaps.net/renameset/
we can found filtered list with drivers. Can it be usefull? -
@folly this is almost what i meant yes :) sorry but i hadn't time to look at the code myself. anyway, seems you're on the right track.
tell me more about the problem with the env vars, should be easy to fix.
-
@dteam said in Development of module-script generator for lr-mess and mame standalone:
In your list, Zupapa is an arcade game. I'll try to found a list without arcade game and without mechanical machine.
In category.ini (0.229) from https://www.progettosnaps.net/renameset/
we can found filtered list with drivers. Can it be usefull?Indeed, we should use a filter.
Perhaps we can implement it on the way. -
@valerino said in Development of module-script generator for lr-mess and mame standalone:
@folly this is almost what i meant yes :) sorry but i hadn't time to look at the code myself. anyway, seems you're on the right track.
tell me more about the problem with the env vars, should be easy to fix.
Basically I use the
$HOME
string in my script, because we want to place the files also in the correct place if the user isn'tpi
.
But now we areroot
with sudo.
Perhaps we can extract the normal user and run the script with that user instead. (sudo -u pi, or something like that)
And perhaps we have to correct the ownership of the files.
Well, we can discuss some of that. -
In the MESS 0.151 hash folder, we can found 609 .xml files associated to the systems.
we could add kgradius and the others for MAME systems (Jakks, KonamiH, etc.) + 7Normally, I think we should found roughly 616 systems in the list. Am I correct?
New edit: some systems doesn’t have hash file like svmu. Probably a little bit more than 616 systems
-
@dteam said in Development of module-script generator for lr-mess and mame standalone:
In the MESS 0.151 hash folder, we can found 609 .xml files associated to the systems.
we could add kgradius and the others for MAME systems (Jakks, KonamiH, etc.) + 7Normally, we should found roughly 616 systems in the list.
Basically you say, not all handheld games, we have working, are in the mame hash lists.
And someone should add them trough github.
Am I correct ?(you mean find ?)
-
@folly
Ideally we should add the real name (like Jakks) but behind it it could be the name of a game as your script handles. I imagine it will depend on how you handle it in your script. -
You would like to categorize all Jakks games as a cartridge of the jakks system, for example.
Do I conclude correctly ?Well I think they separated them as standalone systems because not all hardware is identical.
I read that MAME wants to do the most perfect hardware emulation, so that is why they seperated them.
So I don't think there is any change they will change that, sorry.I get your point though.
-
@folly
Yes, and you have a good point. To avoid the problem for driver, do we have to create 7 systems in mame.ini (rompath) like I did in the tutorial? Is it a solution. We could manage It like the arcade folder.The idea is to select and install one time (from Mess/Mame selection list) for all games from a games family (only the systems from my tutorial - 7 systems)
Other option, Could we create an override for.ini in the system folder (jakks, konamih, etc.)
-
@dteam said in Development of module-script generator for lr-mess and mame standalone:
@folly
Yes, and you have a good point. To avoid the problem for driver, do we have to create 7 systems in mame.ini (rompath) like I did in the tutorial? Is it a solution. We could manage It like the arcade folder.The idea is to select and install one time (from Mess/Mame selection list) for all games from a games family (only the systems from my tutorial - 7 systems)
Other option, Could we create an override for.ini in the system folder (jakks, konamih, etc.)
I have a hard time understanding what you want here.
At the moment we do nothing in the .ini file, it's all in the command-lines.Do you mean this ?
I think you are addressing the install that we have to pick a game to install, for example konamih.
Am I correct ?
You want to be able to install on, for example, konamih instead of a game.Can you give an example on a game and how it should be installed then ?
Perhaps I will understand it better. -
@folly said in Development of module-script generator for lr-mess and mame standalone:
You want to be able to install on, for example, konamih instead of a game.
Exactly, but on my side, I don't understand why you said It could be an issue to do that.
Well I think they separated them as standalone systems because not all hardware is identical.
I read that MAME wants to do the most perfect hardware emulation, so that is why they seperated them..That’s why I said we could manage theme like the « arcade » folder does for arcade games
-
@dteam said in Development of module-script generator for lr-mess and mame standalone:
@folly said in Development of module-script generator for lr-mess and mame standalone:
You want to be able to install on, for example, konamih instead of a game.
Exactly, but on my side, I don't understand why you said It could be an issue to do that.
In our script we can make that work, I think.
I think we just can add the "family systems (konamih, etc )" in the array and join them to 1 game of that family.
So we can do this (red because it's not possible at the moment) :-curl "https://raw.githubusercontent.com/FollyMaddy/RetroPie-Share/main/00-scripts-00/generate-systems-lr-mess_mame-2v0-alpha.sh" | bash -s konamih
instead of this :
curl "https://raw.githubusercontent.com/FollyMaddy/RetroPie-Share/main/00-scripts-00/generate-systems-lr-mess_mame-2v0-alpha.sh" | bash -s kgradius
Makes this any sense ?
The "issue" I was referring to is, that it's probably not an option to ask the mamedev people to change the hashtables, because they have an other mindset of how the database is established. I think also the source code depends largely on it, so it would be a major task for them to convert it all.
-
@folly
we weren't talking about the same thing, that's why we didn't understand each other.For the hash file, could it be possible to generate a .doc list from the hash folder without the .xml extension and restart from that list to generate the list in retropie? The problem with this is that sometimes the name of an .xml does not match the name of the system.
I will try to find a solution. In the mame software, they can use filters.
@folly said in Development of module-script generator for lr-mess and mame standalone:
instead of this :
curl "https://raw.githubusercontent.com/FollyMaddy/RetroPie-Share/main/00-scripts-00/generate-systems-lr-mess_mame-2v0-alpha.sh" | bash -s kgradiusMakes this any sense ?
Yes 👍🏻
-
@dteam said in Development of module-script generator for lr-mess and mame standalone:
@folly
we weren't talking about the same thing, that's why we didn't understand each other.Indeed, that seems to be the case here.
For the hash file, could it be possible to generate a .doc list from the hash without the .xml extension and restart from that list to generate the list in retropie?
Basically it should be possible to generate a text file from a hash table and display this in the RetroPie-Setup within the module-script.
Here I am getting confused already because we don't use the hash tables to generate our module-scripts.Sometimes the potential problem is that the name.xml does not match the system.
Ok, I can imagine that. Because, as said in the
renameSET
described, names change all the time.
So if one hasn't changed in the hash-table with a source update, you will have a mismatch.I think, we can't use use things from the renameSET 0.229* because we are still in using mame 0.227in RetroPie, so then we would definitely have mismatches.
I will try to find a solution. In the mame software, they can use filters.
You should convert it to a schematic approach, because I still don't get it all. (sorry)
--
I did something more to understand :
I reread everything again to get the aha of it all.
I opened thecategory.ini
from the renameSET 0.229 that you were referring to.
I see that the systems are categorized as :- [Arcade / Pinball]
- [Ball & Paddle / Breakout]
- .
- [Handheld / Electronic Game]
- .
- etc.
And that is very much the same as what you/we did with the handhelds :
- konamih
- tigerh
- etc.
But our handheld-names are actually a subsections of [Handheld / Electronic Game].
Wouldn't you agree ?I can imagine using it to categorize it to make a better menu.
But this file is quite difficult to extract the info and it's, I think, based upon mame 0.229. Then we have a mismatch again with 0.227.--
Can you tell me, is there something in above reply that makes any sense referring to your conversation ?
If that is not the case, perhaps we have to leaf this part for a while, otherwise it's going to get too difficult, I think. -
@folly said in Development of module-script generator for lr-mess and mame standalone:
But our handheld-names are actually a subsections of [Handheld / Electronic Game].
Wouldn't you agree ?Yes, excepted for all_in1 system. I'm not sure if they categorized those games/systems properly. When I did my list, I looked for drivers and I did't paid attention if it was in Handheld or not. Same thing for Jakks, but for Jakks, they use only 2 drivers. It should be easy to isolated.
The way they play with the names are crazy. Did you see the renameSET.dat. It makes me dizzy
-
Ok, now we are getting somewhere.
You want a good categorization.We should look for clues and use the mame command and filter things out if possible.
Then we can make our own filter which is version independent.
Otherwise we have to do the sorting every time again when a new version comes.I think that should be the approach.
But we have to keep in mind that we can only use these filters on systems that are without (-media) and use the bios as the game, sort of speek.
Are we spot on ?
-
Two imperfect method :
1- Bash kgradius, bmsoccer, jak_dbz , etc. like you said to generate the system folder with the system name (like Jakks) and use mess.ini list in Retropie menu even if it's 0.229 and not 0.227. In the Retropie menu, It could be interesting to substitute kgradius by konamih like we said before.
2 - Start with your massive list and soustract stuff from (arcade.ini and Mechanical Arcade.ini)
If doable, isolate handheld systems is great idea you had.
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.