Development of module-script generator for lr-mess, lr-mame and mame standalone
-
@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.
-
@folly said in Development of module-script generator for lr-mess and mame standalone:
BTW. Did you try cheats ?
for lr-mess in MAME UI (with hash files)
put cheat.7z in /home/pi/RetroPie/BIOS/mame/cheat
in custom-core-options.cfg
/opt/retropie/configs/""system"" (ex: coleco)
do
mame_cheats_enable = "enabled"
also in retroarch-core-options.cfg
/opt/retropie/configs/all
You must have the real MESS/MAME romset to do that
Boulder Dash - ColecoVision (lr-Mess) -
I need some more information to translate this to a proper solution.
I hope I can think of a way to make a good implementation ;-)Did you run Boulderdash with the loader
lr-mess-cmd
orlr-mess-basename
?The custom-core-options.cfg isn't added as config running the above loaders, but is added using, for ex.,
lr-mess-system-coleco-cart
.
Does it work when you use (hash file names) with this loader, for example ?The retroarch-core-options.cfg should always be loaded, perhaps an idea to add it only in this config.
Can you test, if this works, if you only use mame_cheats_enable = "enabled" in retroarch-core-options.cfg ?Edit :
I have updated the script so the `install-<system>-cmd module-script will add mame_cheats_enable = "enabled" in retroarch-core-options.cfg.
I hope this is a good solution and that it's not conflicting with something else.
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.