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:
Great to hear you have found the solution !
I will test your line.
(edit : no luck on trying this oob, using mamearcade_libretro.so on pi4)
Perhaps something to implement for the future if it can be "cracked".Using mamearcade_libretro.so on pi4 does not work for sure because it is just for arcade, not including software list (the same with the one built from source as I told in the post at the beginning)
For example, I am using Linux Debian, I will download this build:
https://buildbot.libretro.com/nightly/linux/x86_64/latest/mame_libretro.so.zip
In your case, you should choose the suitable build for arm here
https://buildbot.libretro.com/nightly/linux/
Noted that mame_libretro.so: arcade + non-arcade (softlist)
mamearcade_libretro.so: arcade only)
I have faced your situation before. I have added to my guide above. -
@hhtien1408 said in Development of module-script generator for lr-mess and mame standalone:
@dteam said in Development of module-script generator for lr-mess and mame standalone:
@folly
For supracan, I remember that only the first game worked. Has it changed? I never had issues to load that emulator.Read my reply above. All supracan games should work.
Same problem with your line. Only one game works, Boom Zoo.
-
@dteam All of supracan games works well under lr-mame with my scripts atm. Tested on Ubuntu Debian 21.04. I am playing dtc_dbz (Datach Dragon Ball). I don't know why you cannot make it work.
-
@hhtien1408 said in Development of module-script generator for lr-mess and mame standalone:
@dteam All of supracan games works well under lr-mame with my scripts atm. Tested on Ubuntu Debian 21.04. I am playing dtc_dbz (Datach Dragon Ball). I don't know why you cannot make it work.
That is really great to hear that it can work !
If we can we will try again for ourselves.
But forgive me for saying, the solution you gave isn't really portable yet to the development of our generation script.
Perhaps nobody sees it, but everything it's quite structured.
The structure is there because it has to work with the most/if not all systems that are in the mamedev source.So we are looking for a solution within our structure and it has to work on the pi4 and if it can work other systems that would be nice too.
Knowing now that you can get it working.
My question is, can you try for us and get it working on the pi4, if you have one ? -
@hhtien1408
I confirm ! It works. The first time, I didn't copy your mame_libretro.so properly
Quick question, what is your best bsnes emulator in your list? -
Now that you can get it working also....
Does it also work if you use the lr-mame source install ?
I know it will take some time to compile, but can you try that too ? -
@folly
From precompile they only use mamearcade_libretro.so and not mame_libretro.so. My last update is 2 weeks ago. If nothing change, It will be the same result. I'll try from source today. -
@folly I sold rpi3 last year so I cannot test for you. If my command lines do not work for you and others, the problem may be the difference in OS (just a guess). Make sure you download the lr-mame suitable for your rpi4 arm from buildbot RA as I reminded you.
If I have time, I will upload pictures and videos later.
On my thought, rpi4 should work due to the linux similarity btw rpi4 and Linux Debian Gnome40.
So my solution is only confirmed works well under Ubuntu Debian! -
I still use the original Valerino version of the additional launcher script (run_mess.sh)....but here's how I got the NES Datach roms to launch.
I didn't spend time breaking it out into it's own system as I was just experimenting on getting it working (so I just added it to the existing nes config).
This is the line I added to my /opt/retropie/configs/nes/emulators.cfg file:
lr-mess-nes-datach = "/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/nes/retroarch.cfg nes /home/pi/RetroPie/BIOS -cart1 datach -cart2 %ROM%"
You have to add the "-cart1 datach -cart2" values into the emulator's line in order for it to pass it all correctly for run_mess.sh and Retroarch to use it.
Tested and working on my Pi 4 RetroPie build.
Hope that helps,
David
-
@folly lr-mame buit from source should not be worked with softlist (just for arcade only). The buildbot I suggested is for both arcade and softlists. Please read my guide again.
-
@dteam Thatās why I should use the binary from buildbot (mame_libretro.so including both arcade and non-arcade - softlists). Please read my guide above again. All your problems are my problems I used to face.
-
@dmmarti Great to make it work under lr-mame with Datach. Can you write you runcommand again? Right?
I used to make it the same under lr-mame but it just bring me to NES system, I should choose Datach and insert cart 2 manually.lr-mame-nes-datach = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame/mame_libretro.so /opt/retropie/configs/nes/retroarch.cfg nes /home/RetroPie/BIOS -cart1 datach -cart2 %ROM%"
I donāt know run_mess.sh is for?
Hope you could help me. In fact, I make Datach work under mame standalone (not lr-mame) even though lr-mame works well with Msupracan games. -
@hhtien1408 .. the work that @Folly and @DTEAM have been doing is a further continuation of the original script/idea from @valerino (see his other post for it and the run_mess.sh script information).
The way we are making it work with Retroarch and the lr-mess core on a RetroPie build is by sending an additional MESS *.cmd launcher file to the core (much like you used to do with standalone MESS in the past).
This way we do not use software list conformity (don't have to use MESS's special rom filename, etc)...and we can pass additional parameters (like different -cart assignments, BIOS assignments, and RAM configurations).
This makes is pretty easy to get any MESS based system up and running with Retroarch/MESS core in Retropie. Although, like this NES Datach system, sometimes we have to play around a bit with the passed parameters in order to get it to work. TI-99 I think was another one that had some special tweaks to it (can't remember exactly what).
So, in this way, passing "-cart1 datach" and then "-cart2 %ROM%" ... let's us use the MESS *.cmd launcher script to get it working.
I'm sure there's other ways, but in my testing this morning, that's how I got it working. These Datach roms are special somehow. I downloaded the official stand alone MAME today and verified it does not have a system called "nes_datach" but was also able to launch these roms using the "cart1 datach -cart2 romfile" method.
Hope that makes sense,
David
-
@dmmarti
It just bring me to NES system, I should choose Datach and insert cart 2 manually. If I paste the command line (nes datach -cart2) into official mame, it should work.
Maybe enabling the softlist of lr-mame/mess does not allow my code line to pass to assign cart 1 (datach) and cart 2 (game like dtc_dbz). Your method does not use softlists, so no hash folder located at /BIOS/mame is not needed? Right?
Could you explain step by step to use your method if I am using lr-mame (opt/retropie/libretrocores/lr-mame/mame-libretro.so)? Thanks.
P.S. Success with mame standalone as I told in my guide above but no RA. -
All supracan games work wells also with (emulators.cfg):
mame-basename = "/opt/retropie/emulators/mame/mame -v -c supracan %BASENAME%" mame-basename-autoframeskip = "/opt/retropie/emulators/mame/mame -v -c -autoframeskip supracan %BASENAME%" lr-mess-cmd = "/opt/retropie/emulators/retroarch/bin/retroarch --config /opt/retropie/configs/supracan/retroarch.cfg -v -L /opt/retropie/libretrocores/lr-mess/mess_libretro.so %ROM%" mame-system-supracan-cart = "/opt/retropie/emulators/mame/mame -v -c supracan -cart %ROM%" mame-system-supracan-cart-autoframeskip = "/opt/retropie/emulators/mame/mame -v -c -autoframeskip supracan -cart %ROM%"
for Basename you need to add this rom path in opt/retropie/configs/mame/ mame.ini (for people who want to use the hashfiles (gamelist))
/home/pi/RetroPie/roms/supracan
I deleted my supracan folder and regenerated it with the script. Everything is fine now. I don't know why only the first game loaded before reinstalling everything.
The non-working options are :
lr-mess-basename = "/opt/retropie/emulators/retroarch/bin/retroarch --config /opt/retropie/configs/supracan/retroarch.cfg -v -L /opt/retropie/libretrocores/lr-mess/mess_libretro.so %BASENAME%" lr-mess-system-supracan-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/supracan/retroarch.cfg \supracan /home/pi/RetroPie/BIOS/mame -autoframeskip -cart %ROM%" mame-cmd = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/roms/supracan -v -c %BASENAME%" mame-cmd-autoframeskip = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/roms/supracan -v -c -autoframeskip %BASENAME%"
sometime, with those last options, the emulator load but not the game
-
Confusing, but yes indeed, with the normal -cart lines they do load properly.
I have had that working too, earlier on.
But some games don't work as they should and sound is missing too.
Do you have that same problem ?
I was thinking the lr-mame_libretro.so way booted them better.
Btw. I also tried with the mame-basename without succes, and yes I added /home/pi/RetroPie/roms/supracan in mame.ini .
It seems it is not loading the rompath from the mame.ini.
Forcing it in the commandline is working now using this :/opt/retropie/emulators/mame/mame -hash /opt/retropie/emulators/mame/hash -rompath /home/pi/RetroPie/roms/supracan -v -c supracan sangofgt
I will test this part again on where it is going wrong.
I did have a go again with with the lr-mame_libretro.so.
No luck with the lr-mame_libretro.so nightly on pi4, it seems a 64bit one, and I run 32bit OS.
So tried on my x86_64 ubuntu 20.04.
Well boomzoo loaded, but others, no. -
@folly said in Development of module-script generator for lr-mess and mame standalone:
No luck with the lmame_libretro.so nightly on pi4, it seems a 64bit one, and I run 32bit OS.
So tried on my x86_64 ubuntu 20.04.
Well boomzoo loaded, but others, no.Like you, It doesn't work on my side for all games. I played with UI parameters and everything stopped working ! The 5 options above are the best ones for me.
For
mame-basename = "/opt/retropie/emulators/mame/mame -v -c supracan %BASENAME%"
It works well for me. It's strange if it doesn't work on your side
Seems to be a picky emulator.I'll retry hhtien1408 solution
-
Seems the mame basename line doesn't work on both x86_64 and the pi4.
But it works if I force the rompath.Where is your mame.ini located ?
Mine is in :
/home/pi/RetroPie/roms/mame/mame.ini -
@folly said in Development of module-script generator for lr-mess and mame standalone:
Seems the mame basename line doesn't work on both x86_64 and the pi4.
It works on my Pi4
Where is your mame.ini located ?
in
opt/retropie/configs/mamenew edit:
I added the location in my comment above -
Perfect !
That works !Just tried the lr-mame_libretro.so nightly on my x86_64 renaming it as /opt/retropie/libretrocores/lr-mess/mess_libretro.so
It just runs trough the runmess.sh script just like mess_libretro.so does.
The file-size is a bit different but other than that it's looks the same package but just the name is different.
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.