new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!)
-
EDIT: Script is updated to version 1.1. Read edit below for more information.
Hi all,
Yesterday I made a script that wil bulk generate more than 2000 lr-mess-<systems>.
This is version 1 !. It's more or less a proof of concept. It's created fast and a bit dirty. I still have to improve things.
But I can confirm it works !. The idea was born in here : https://retropie.org.uk/forum/topic/28345/old-computer-appreciation-thread/788
Just after we manually created two for P2000T(testing for cass support) and Sharp X1.So if you are adventurous, try it at your own risk !
-
Install MAME first in your RetroPie-Setup, if you didn't already !!!!
-
Download the script from https://github.com/FollyMaddy/RetroPie-Share
It's in "00-scripts-00" -
Run it with : bash generate-lr-mess-systems.sh
It will make a libretrocores directory in the directory you started the script from and writes al the generated files in that directory.
(this will take about 6 minutes) -
Choose the script you want to try and copy that to :
/home/pi/RetroPie-Setup/scriptmodules/libretrocores -
Install your choosen <system> from your RetroPie-Setup
EDIT:
I did a huge updated on my script.
WOOOOOWW :-)
5500 seperate files are being generated.
If you want it all, it takes about 16 minutes (pi4) !!!Now all system with more media (quik, cas, flop1, dump, cart) are splitted.
So for every media, we now can install multiple commandlines depending upon the media.I also added a simple script(generate-desired-systems.sh) that can be edited.
If you run this script after editing, then it will only generate your desired systems.
(I already placed a few in there)I did many tests. Perhaps there is still mistakes, but I am real confident.
It's already on github.
Advise( if you used my first script ):
The names are changed depending on the supported media. So I advise you to uninstall the old ones first and than remove the files also.In the next update I can add more info about each computer in the script.
So everybody can see much more info about the system in the "package help"From here I explain on how to run the scripts :
https://retropie.org.uk/forum/topic/28345/old-computer-appreciation-thread/924 -
-
I can also confirm that it works. It's not quite as compatible as 'normal' mess yet, but it is a first version. And on the other hand it enabled me to use systems I could never get to work in lr-mess without scripts, ie. PC6001.
-
@folly I would create a special 3D for your initiative, so the two works do not "mix". Anyway congratulations for what you are doing, and I will definitely try it soon because I am too curious.
-
@shift said in new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!):
@folly I would create a special 3D for your initiative, so the two works do not "mix".
Yes, it should be nice if it could become 1 project.
(if that is what you mean)
But I don't know everything.
I also have to work on my knowledge in github on "pull requests".
Up till now, I find this quite difficult and frustrating.Can you explain a little bit more about your "special 3D" idea ?
Anyway congratulations for what you are doing, and I will definitely try it soon because I am too curious.
Thanks,
I'am really proud of it. I think it's really a huge accomplishment.
Until now, it took me about 16 hours to create it.
With this script we can really save thousands of hours work.
And I have seen some pretty good results, already.
Perhaps splitting can also be done on media in the future.
So this way cass files come in a cass-rom directory and cartridge file in a cart-rom directory etc...
But for now I have done enough, so far ;-)Do you keep me posted on your findings ?
-
Can you explain a little bit more about your "special 3D" idea ?
I misspelled, I meant "specific", not special.
Do you keep me posted on your findings ?
Of course, as soon as I can try it, I'll update you.
-
@shift / all
Yesterday I updated my script to V1.2 .
I had to solve the problem of V1.1 which did not export all extensions supported by a system but exported only the one of floppy or cartridge for that matter (depeding on the install). Trouble is, then you don's see all the supported files in emulationstation. So effectively you won't be able to switch to an other working launch option.
I tried to solve this but I could not get a solution, this took me about 13 hours. :(
Retrying from scratch I found the solution in within the hour. (nailed it) :)I'm quite happy with it now. ^^
So now it's possible to install multiple <onesystem>-<media>.sh of one system keeping it all in one rom directory. While booting a rom you can switch to another launch option or associate a specific rom to media-specific launch option.
Also added the help, run it with -h :
bash generate-lr-mess-systems.sh -h
-
Hi Folly,
I downloaded generate-lr-mess-systems.sh
Where did you paste It before running It? Is It in /home/pi/RetroPie-Setup or /home/pi/RetroPie-Setup/scriptmodules? -
@dteam said in new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!):
Hi Folly,
I downloaded generate-lr-mess-systems.sh
Where did you past It? Is It in /home/pi/RetroPie-Setup?Indeed I think I have to edit that.
But if you want to create directly in RetroPie-Setup you have to put it in, for now :
/home/pi/RetroPie-Setup/scriptmodulesupdated nowBeware if you generate all, you get 5699 files in there !
EDIT : just did a commit, it should work from /home/pi/RetroPie-Setup now !
-
Hi Folly
1 - I pressed F4
2 - I put generate-lr-mess-systems.sh in /home/pi/RetroPie-Setup
3- cd /home/pi/RetroPie-Setup
4 - bash generate-lr-mess-systems.sh -hIt ran, but nothing happened
What I'm doing wrong?
MAME and Lr-Mess are already installed. I already ran the Valerino script.
-
@dteam said in new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!):
Hi Folly
1 - I pressed F4
2 - I put generate-lr-mess-systems.sh in /home/pi/RetroPie-Setup
3- cd /home/pi/RetroPie-Setup
4 - bash generate-lr-mess-systems.sh -hIt ran, but nothing happened
What I'm doing wrong?
MAME and Lr-Mess are already installed. I already ran the Valerino script.
I tried it here, and it works. no problem.
Did you see the help text with option -h (program only outputs help text with -h) ?
Try to create 1 system, like this :bash generate-lr-mess-systems.sh astrocde
output has to be something like this :
start do 3 dec 2020 15:41:35 CET read system(s) - got information for 1 unique system(s) - got information for creating 2 script files read all available extensions per system(s) read compatible extension(s) for the individual media read computer description(s) generate and write the generated-lr-mess-<system><-media>.sh script files stop do 3 dec 2020 15:41:37 CET
If you then run RetroPie-Setup the file is seen in the experimental packages :
lr-mess-astrocde-cartDid you get an error in the terminal ?
Use this to see if you have the standalone mame installed :
ls /opt/retropie/emulators/mame/mame
You have it, if the output is :
/opt/retropie/emulators/mame/mame
-
Hi Folly,
Yes , for MAME standalone
Here is my output
It works !!!!!!! I see It in my experimental packages and I installed It.
Thank you !! Great workFine tuning comment: For Retropie existing systems, sometime Retropie names don't match MESS names.
Ex.: gameboy (MESS) gb (retropie)
jaguar (MESS) atarijaguar (retropie)
I fixed those by myself, but It could be interesting to match Retropie names. -
@dteam said in new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!):
It works !!!!!!! I see It in my experimental packages and I installed It.
Thank you !! Great workNice to hear it works. Do you have games already running ?
Fine tuning comment: For Retropie existing systems, sometime Retropie names don't match MESS names.
Ex.: gameboy (MESS) gb (retropie)
jaguar (MESS) atarijaguar (retropie)
I fixed those by myself, but It could be interesting to match Retropie names.Indeed, I have been thinking of this.
The script has been basically made to generate everything automatically.
This depends fully on the MAME database.
That is why mame/mess names are used. Perhaps for MSX or partly matching names this is possible. But for other systems ?
If RetroPie names can't be extracted from mame or elsewhere, you have to create a renaming database manually. With over 2700 systems, thats quite challange.
There are also systems that use a mouse. I was hoping that I could extract that information but, up till now, I didn't find this information within mame. It would be nice to implement that also, but if we can't extract it, then this information has to be manual added to a database also.
Up till now, I don't have a good idea about this.EDIT : Perhaps I got it wrong, re-thinking this. Well there aren't that many systems in RetroPie after all. Perhaps we only have to do 50 max. What do you think ?
-
@folly said in new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!):
Do you have games already running ?
Yes, gameboy games like Disney Aladdin, Mario Land etc.
It works great.I switched gameboy for gb
lr-mess-gameboy-cart = "/home/pi/RetroPie-Setup/scriptmodules/run_mess.sh /opt/retropie/emulators/retroarch/bin/retroarch /opt/retropie/libretrocores/lr-mess/mess_libretro.so /opt/retropie/configs/gb/retroarch.cfg gameboy /home/pi/RetroPie/BIOS -cart %ROM%"
and move config files (excepted retroarch.cfg) from gameboy to gb and everything work perfectly.
-
@folly said in new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!):
Perhaps we only have to do 50 max. What do you think ?
Yes, I agree. Maybe less, because MAME/MESS not support all those systems. I think.
-
@dteam said in new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!):
@folly said in new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!):
Perhaps we only have to do 50 max. What do you think ?
Yes, I agree. Maybe less, because MAME/MESS not support all those systems. I think.
Perhaps I can combine this in the "batch" file generate-desired-systems.sh .
At first this file was made for testing. But I think it can do both functionalities :- work as a batch script
- work as a database for renaming, extra configs or other usefull information.
If I have the time, perhaps I will look at this solution.
Note that I have made a similar script (not on github yet)
This script makes scripts that hold media independant rom-directory's.
This works actually better because every type of media can have it's own directory, so you don't have to switch startups.
But with this solution you can't use RetroPie names anymore.
Second drawback is that you have multiple romdirectory's for 1 system.ps. Nice to hear it is working great. I really think it's unlocking potential ;-)
-
It looks like I have made some progress in matching names.
I have made a working "for/for/if function" that can compare /home/pi/RetroPie-Setup/platforms.cfg against the data extracted from standalone MAME.I have already got 2 exact matches in the systemdescriptions :
- "Vectrex"
- "Game Boy"
Altough for "Vectrex" the system/romdir is the same.
This is not the case with "Game Boy".
I have not yet added this, but when I have a match, I can use the RetroPie system/romdir name instead.
So this looks a bit promising.I also looked into global matches, so if a mess systemdescription contains "MSX" or "Amiga"
Tested this with a manual (not extrated) test array. This also works, but I don't have a solution yet on extracting and matching parts for that mather.A total solution could be something like this (but I don't know for sure) :
- First do the global matches with a manual array with, for example, "MSX" "Amiga" "Apple".
- Then do the exact matches.
- With no matches, stick with mess names.
Trouble is though :
You have to check 5699 files against 86 system platforms.
With exact and global matches you have to do this 2 times.
So you have to do a million checks if you want to check all.
I don't know how much time this process will take.
But for one system this is doable.
EDIT: I did the first exact matching test, this took 4 minutes.
That is remarkable faster than thougt it would be.
(I think roughly 500000 checks)
Looks really promising.Example global match "MSX"(for now this is a manual one) :
no match - mess - HB-F700P (MSX2) -- mess - Sega Master System no match - mess - HB-F700P (MSX2) -- mess - Sega Mega Drive match - mess - HB-F700P (MSX2) -- rp - MSX (hbf700p can be changed into msx) no match - mess - HB-F700P (MSX2) -- mess - Thomson MO/TO
or also a global match (Atari 2600)(this could be an extracted one):
no match - mess - Atari 2600 (NTSC) -- mess - MSX no match - mess - Atari 2600 (NTSC) -- mess - Vectrex match - mess - Atari 2600 (NTSC) -- rp - Atari 2600 (a2600 can be changed into atari2600)
An exact match (Game Boy) :
no match - mess - Game Boy -- mess - Sega Gamegear no match - mess - Game Boy -- mess - Game Boy Advance match - mess - Game Boy -- rp - Game Boy (gameboy can be changed into gb) no match - mess - Game Boy -- mess - Game Boy Color no match - mess - Game Boy -- mess - Nintendo Gamecube
EDIT: I added lines in my testscript, this will now output exact matches (doubles are compatible with different media types) :
101 a5200 -- atari5200 1973 gameboy -- gb 1984 gbcolor -- gbc 2556 intv -- intellivision 2759 kaypropc -- pc 2760 kaypropc -- pc 3735 oric1 -- oric 3736 oric1 -- oric 3936 pce -- pcengine 3937 pce -- pcengine 4711 spectrum -- zxspectrum 4712 spectrum -- zxspectrum 4713 spectrum -- zxspectrum 5293 vboy -- virtualboy
-
Nice work you did !!!
I have use generate-desired-systems.sh for lr-mess handheld systems and It works like a charm.You should find a way to put that on the official Retropie setup. It’s the best way I ever seen to have an easy access to lr-mess systems.
On my side, I'm working on MAME artwork for lr-Mess handheld console. A lot already exist but somes are missing like Gamate, GameMaster, Pocket Station, SVMU and GP32. I did Gamate and GameMaster. I'll do Pocket Station, SVMU and GP32 this week.
I'll share those when It will be finished.
-
@dteam said in new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!):
Nice work you did !!!
Thank you for the compliment.
I have use generate-desired-systems.sh for lr-mess handheld systems and It works like a charm.
I astounded myself too.
It works even better than I ever could imagine.You should find a way to put that on the official Retropie setup. It’s the best way I ever seen to have an easy access to lr-mess systems.
Well, for the future I it could be a possibility, but before that, there can be added much more functionality.
You have to know that, for now, my script is just automating the @valerino stuff.
So basically we don't have to make the seperate system scripts anymore.
But for the basic idea, the credits go to @valerino . It all depends on his run_mess.sh script.
There has already been some discussion about intergrading Valerino's scripts into the official RetroPie-Setup here :
https://retropie.org.uk/forum/topic/27837/integrating-lr-mess-quasi-cores-into-retropie-setupSo I think, before that happens, there is still a lot to be done to make it approved somehow.
On my side, I'm working on MAME artwork for lr-Mess handheld console. A lot already exist but somes are missing like Gamate, GameMaster, Pocket Station, SVMU and GP32. I did Gamate and GameMaster. I'll do Pocket Station, SVMU and GP32 this week.
I'll share those when It will be finished.
Nice ! , I am looking forward to that.
Then I have to install a bunch more. I hope I have the time for that.ps. updated the script : now the .zip extension is always added in the generated script. So .zip files will appear in emulationstation.
-
I have work on MAME artwork for lr-Mess handheld consoles. A lot already exist but somes was missing like Gamate, GameMaster, Pocket Station, SVMU and GP32. I did those and I combined them with existing ones in a folder (click this link)
Those Artworks have multiple view. Here is a small tutorial to use the lr-mess artworks on Retropie and be able to switch quickly from one view to another.
1 - Copy files from here to /home/pi/RetroPie/BIOS/mame/artwork You will have to create the artwork folder.
2-Install a handheld system with Folly script (above method)
HANDHELD SYSTEMS LIST
advision
gamate
gameboy
gamecom
gamegear
gamepock
gba
gbcolor
gbpocket
gmaster
gp32
lynx
megaduck
microvsn --------> No handheld systems artwork found - to found or to do
ngp
ngpc
pockstat
pokemini
svision
svmu--------> some issues with artwork, It works on a 5inch screen but not on a regular TVissue solved
vectrex
wscolor
wswan3- Choose a system and select the good Mess system/emulator line when your game load.
4- Connect a keyboard (only the first time). In the game, press Tab and go in (Input (general)) and User Interface.
5 - Set Right Thumb as (Config Menu) and Left Thumb as (UI Cancel). With that, you will be able to go quickly in and out the menu. To select It’s B or A Button but It’s already set . Maybe you will have to set up-down-left-right. Because It's lr-Mess, you can't config some buttons. Do It, with right and left thumb or Left trigger and Right Trigger only.
6 - Now, you can go back to video options and select the view you want. Don't forget to set Input (this Machine) to set your game controller if It's not done properly.
-
I hope I can install your artwork soon. :-)
Here an update on my script :
I keep my stable version online.
Today I finished my test version.
It took me about 14 hours to take it this far and I am quite happy about it.
If all goes to plan, I will put it on github this evening.
I will call it :
generate-lr-mess-systems-1v3-alpha.shI think I have made a quite unique function to match MESS/MAME names to RetroPie names.
I am quite impressed on how this works. ;-)
I have only tested this with single system creations,
but I think it will do most with no problem.
(or at least I hope so)Only the system name "PC" is a problem and perhaps I forgot some system.
That is why it's in an alha testing state.
Perhaps more problems arise.It will output names (a bit shorter, for now I keep "gen" in it, to distingquish between original valerino and my generated versions):
gen-lr-mess-<RetroPiename>-<MESSname><-media>.shCan you test this version a bit for me ?
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.