Development of module-script generator for lr-mess, lr-mame and mame standalone
-
It took me quite some time but it seems I have a working generator script.
I tried to improve the file names and the names given to the commands.
I also added quite some explaining in the script on how the script works.
I still have to look out for some mistakes and I hope it still works on a fresh install.What it should do now is :
- create module-scripts that work with an original RetroPie-setup (for lr-mess only the run_mess.sh from valerino is needed)
- add all mame commands
- add the rompaths in the commandlines (for now it was too difficult to add them in mame.ini)
- use this BIOS directory for both lr-mess and mame : /home/pi/RetroPie/BIOS/mame
- fix description in generated cmd module-script
- saving generated files directly in RetroPie-setup
This is the script so feel free to experiment :
https://github.com/FollyMaddy/RetroPie-Share/blob/main/00-scripts-00/generate-systems-lr-mess_mame-1v8-alpha.sh -
@dteam said in Tutorial: Handheld and Plug & Play systems with MAME:
@folly said in Tutorial: Handheld and Plug & Play systems with MAME:
EDIT :
There still seems to be an issue with artwork.
lr-mess doesn't load roms if mame artwork is present in :
/home/pi/RetroPie/BIOS/mame/artwork
Both emulators seem to share the same directory structure.Normally, games run and lr-Mess loads Artworks if you are able to go in the MAME UI menu with lr-mame and select Artwork. For some reason, I'm able to go in MAME UI when I press (select and Y) and in Retroarch UI with (select and X). With Lr-mess, you have access to Retroarch artwork and mess artwork. Maybe the problem is there?
I'm gonna try generate-systems-lr-mess_mame-1v8-alpha.sh tomorrow. What do you prefer that I test. Handheld games above, lr-Mess systems like Vectrex, NES, Artworks?
Yes, it would be nice if you could test handhelds with mame and artwork.
Can you then try if the handheld games also run with lr-mess ?Also testing some lr-mess systems using media would be great.
As you said vextrex and nes will do for now.I like to hear what you think of the file/module naming and the commands that are being added in the emulators.cfg.
Perhaps we can improve it somehow if we have better ideas.I added the version in the desired script and above systems are uncommented.
So if you run the desired script it will generate those directly.The goal is to get it running with an original RetroPie-setup and that it is backwards compatible with the Valerino fork. (edit)
Can you try with the original setup ?
With the next command you only download the valerinorun_mess.sh
in the correct place :wget -nv -O /home/pi/RetroPie-Setup/scriptmodules/run_mess.sh https://raw.githubusercontent.com/valerino/RetroPie-Setup/master/scriptmodules/run_mess.sh
run_mess.sh
is only used if running games with lr-mess that use the -<media> option. -
@folly
To do that, I'm gonna start from a fresh build. -
@dteam said in Development of module-script generator for lr-mess and mame standalone:
@folly
To do that, I'm gonna start from a fresh build.I will do the same.
I just did some fixes (16-02-2021 17:00) :
- fix description in generated cmd module-script
- saving generated files directly in RetroPie-setup
- it doesn't matter where you run it from
-
This is what I have done so far :
- used updated fresh raspberry pi os buster on rpi-4
- installed original RetroPie-setup
- version 4.7.8
- installed the valerino run_mess.sh script
- used the generate-desired-systems.sh to generate the modulescripts directly in the RetroPie-setup
- generate-systems-lr-mess_mame-1v8-alpha.sh is used in the desired script
- installed all scripts in the RetroPie-setup
- tested 2
all_in1
games they worked with bothlr-mess-cmd
andmame-cmd
- tested 1
konamih
game and it worked with bothlr-mess-cmd
andmame-cmd-autoframeskipping
- the standard mame directory's for artwork, cheat, etc. are in :
/home/pi/RetroPie/roms/mame
, so I used this artwork directory and placed the kgradius.zip (artwork file) in/home/pi/RetroPie/roms/mame/artwork
- I used my script generate-overlay-configs.sh to generate overlay config files and placed the background.png as kgradius.png in
/home/pi/RetroPie/overlays/konamih/
- I could switch between mame+artwork and lr-mess+overlay with no problem.
- the standard mame directory's for artwork, cheat, etc. are in :
mame (+artwork+) vs lr-mess (+fullscreen+)
(a while ago we tested artwork with lr-mess, lr-mess becomes really slow with artwork, autoframeskipping seems to work but the effect is not optimal) (adding autoframeskipping in the lr-mess command seems to be not working)(every emulator has it's own quality)- copied the mame/mess BIOS files in
/home/pi/RetroPie/BIOS/mame
- tested a
nes
game and it worked with bothlr-mess-system-nes-cart
andmame-system-nes-cart
(used no artwork for mame)
mame vs lr-mess (lr-mess is sharper)
- tested a
vectrex
game and tested if the overlay would work with lr-mess just like it does withlr-vecx
using mame hash naming for the game spike worked withlr-mess-cmd
and overlay.lr-mess-system-vectrex-cart
worked but without overlay.lr-mess-system-vectrex-cart
runs trough the valerino run_mess.sh that is why I think the overlay is not added !lr-mess-system-vectrex-cart
works but I did not test with artwork/overlay, but I think this can work !
lr-vecx vs lr-mess-cmd vs lr-mess-system-vectrex-cart
(lr-vecx looks great and has bright vector lines but speech synthesizer doesn't work yet)
(speech synthesizer works with lr-mess and display is ok but vector lines flicker a bit)
-
@folly
I'm setting up a new SD card on a old Pi3 b+(not that old !!). I'll do tests on a Pi3. -
@dteam
In the new 4.7.8, they install Lr-mess for all systems by default if you install lr-mess. It's the setup for Hash files. Am I right? -
@dteam said in Development of module-script generator for lr-mess and mame standalone:
@dteam
In the new 4.7.8, they install Lr-mess for all systems by default if you install lr-mess. It's the setup for Hash files. Am I right?I checked some logs, the hash files are installed with mame and not with lr-mess.
But I think lr-mess uses the hash files when mame is installed.In the install log of lr-mess I found this error :
cp: cannot stat '/home/pi/RetroPie-Setup/tmp/build/lr-mess/hash': No such file or directory
Here it tries to copy the hash files but there are no files to copy.I checked the module-script lr-mess.
It will only add for these systems (adding a similar command just like the lr-mess-cmd) :
nes gb coleco arcadia crvision -
@folly
I agree, I saw the same thing. It's for some systems only. It's a step forward ! -
@folly
This is what I gonna try todaybash $version vectrex
bash $version nes
bash $version coleco
bash $version jaguar
bash $version gamate
bash $version cdimono1
bash $version fmtmarty
bash $version scv
bash $versionc64_cartc64bash $version ablmini # creates cmd script for all_in1 # bootable
bash $version alnattck # creates cmd script for classich # bootable
bash $version gnw_ball # creates cmd script for gameandwatch # bootable
bash $version jak_batm # creates cmd script for jakks # bootable
bash $version kgradius # creates cmd script for konamih # bootable
bash $version taddams # creates cmd script for tigerh # bootable
bash $version rzbatfor # creates cmd script for tigerrz # bootablebash $version hbf700p # bootable # HB-F700P / Sony (MSX2)
-
@folly said in Development of module-script generator for lr-mess and mame standalone:
I used my script generate-overlay-configs.sh to generate overlay config files and placed the background.png as kgradius.png in /home/pi/RetroPie/overlays/konamih/
Have you created a subfolder per games? Did you unzip the mame artwork file to extract the backgroud? For me, the easiest way to manage Artwork is with MAME UI (Select+Y), but It's great to have both options, especialy with your overlay configs generator. Good way to convert MAME artworks to retroarch.
Every systems working fine excepted C64. For system like FM Marty, you have 15 choices. It's realy nice to see all that.
The MAME Basename option never worked for me as it currently is.
It works if I replace (ex.: gamate) :
mame-basename = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/roms/gamate -v -c %BASENAME%"
By
mame-basename = "/opt/retropie/emulators/mame/mame -v -c gamate %BASENAME%"
The hash file folder for the lr-mess should be the same as the one for MAME, but I don't know if you can do that.
/opt/retropie/emulators/mame/hash
It's because MAME generates it automatically during installation and updates. I am aware that if the user is only using lr-mess then there might be some issues but it avoids file duplication and the Hash files will be always updated.
Some MAME Basenames will never worked (like Jaguar), because we are using the names from Retropie (atarijaguar) , but I think It's a good choice to keep Retropie naming .... nothing is perfect!
Great job !!
-
@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:
I used my script generate-overlay-configs.sh to generate overlay config files and placed the background.png as kgradius.png in /home/pi/RetroPie/overlays/konamih/
Have you created a subfolder per games?
The script creates the overlays directory and subfolders in ovelays directory (konamih, tigerh, etc).
There are no subfolders per game created in, for example, directory konamih.Did you unzip the mame artwork file to extract the backgroud?
Yes I did, this background is then renamed and used as retroarch overlay with lr-mess.
For MAME standalone I left the artwork zipped in/home/pi/RetroPie/roms/mame/artwork/<artwork>.zip
.For me, the easiest way to manage Artwork is with MAME UI (Select+Y)
What do you manage ?, In this way artwork is automatically loaded with MAME standalone.
but It's great to have both options, especialy with your overlay configs generator. Good way to convert MAME artworks to retroarch.
Indeed, I think so too, but it can have some improvement.
And it would be nice if the picture were automatically installed too.
I have to think about that.Every systems working fine excepted C64. For system like FM Marty, you have 15 choices. It's realy nice to see all that.
The MAME Basename option never worked for me as it currently is.
It works if I replace (ex.: gamate) :
mame-basename = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/roms/gamate -v -c %BASENAME%"
By
mame-basename = "/opt/retropie/emulators/mame/mame -v -c gamate %BASENAME%"
We can try to change that to improve, agree ?
The hash file folder for the lr-mess should be the same as the one for MAME, but I don't know if you can do that.
/opt/retropie/emulators/mame/hash
It's because MAME generates it automatically during installation and updates. I am aware that if the user is only using lr-mess then there might be some issues but it avoids file duplication and the Hash files will be always updated.
I am not sure yet how the hash tables are used by lr-mess.
On my old install there was a mess.ini somewhere.
On my new install I couldn't find one.
So it will have to wait until we discover how this works.Some MAME Basenames will never worked (like Jaguar), because we are using the names from Retropie (atarijaguar) , but I think It's a good choice to keep Retropie naming .... nothing is perfect!
Can you try adding a subdirectory jaguar inside atarijaguar like this :
/home/pi/RetroPie/roms/atarijaguar/ jaguarGreat job !!
Thanks !
BTW. Did you try cheats ?
Don't know if it works. -
I'm not able to run lr-mess-basename (doesn't work with coleco and gamate). But with coleco, lr-mess from Retropie works with BIOS in
/home/pi/RetroPie/romsand hash files in /home/pi/RetroPie/BIOS/mame/hash
working
lr-mess = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mess/mess_libretro.so --config /opt/retropie/configs/coleco/retroarch.cfg %ROM%"
not working
lr-mess-basename = "/opt/retropie/emulators/retroarch/bin/retroarch --config /opt/retropie/configs/coleco/retroarch.cfg -v -L /opt/retropie/libretrocores/lr-mess/mess_libretro.so %BASENAME%"
For MAME cheat code, you need to run the games with the Hash files and follow the procedure here: (SOLVED) MAME "standalone" Cheats for systems like Coleco, Arcade and more.
Re-edit
In Retroarch (lr-mess), cheatcodes from retroarch load but not working for now
/opt/retropie/configs/all/retroarch/cheats -
I added your suggestion about :
mame-basename = "/opt/retropie/emulators/mame/mame -v -c gamate %BASENAME%"
I have updated the script so this can/will be generated.
Kept the old commands also in for testing, perhaps they have to be deleted. -
So I understand it works oob in lr-mess if you add the cheats in :
/opt/retropie/configs/all/retroarch/cheats
About the cheats in MAME standalone.
I was aware of the thread and that it can work.
But does it work out of the box with my module-script or do we still have to add something in the mame.ini ? -
@folly
Not for now, cheats from retroarch load but not working for now. I'm gonna do some tests. For your script with MAME, I have to do some test for cheatcodes before. -
For the
lr-mess-basename
command.
I don't have an idea about this yet.
Future work I presume. -
@folly said in Development of module-script generator for lr-mess and mame standalone:
By @DTEAM, C64 and Atari Jaguar not working ( https://retropie.org.uk/forum/topic/29682/development-of-module-script-generator-for-lr-mess-and-mame-standalone/12 )
Only for basename (Hash file)
-
@folly said in Development of module-script generator for lr-mess and mame standalone:
Every systems working fine excepted C64. For system like FM Marty, you have 15 choices. It's realy nice to see all that.
The MAME Basename option never worked for me as it currently is.
It works if I replace (ex.: gamate) :
mame-basename = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/roms/gamate -v -c %BASENAME%"By
mame-basename = "/opt/retropie/emulators/mame/mame -v -c gamate %BASENAME%"We can try to change that to improve, agree ?
yes
-
@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:
Every systems working fine excepted C64. For system like FM Marty, you have 15 choices. It's realy nice to see all that.
The MAME Basename option never worked for me as it currently is.
It works if I replace (ex.: gamate) :
mame-basename = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/roms/gamate -v -c %BASENAME%"By
mame-basename = "/opt/retropie/emulators/mame/mame -v -c gamate %BASENAME%"We can try to change that to improve, agree ?
yes
Did a second fix, because I didn't remove the old ones.
I had to change the names of the old ones to*-test
otherwise we had double commands with the same loader name.So now you can test gamate.
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.