Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added missing vice-libretro cores, proper lr-mess support from emulationstation + other goodies #3109

Closed
wants to merge 16 commits into from

Conversation

valerino
Copy link

added missing vice-libretro cores:

  • vic20 (lr-vice-xvic)
  • c16/plus4 (lr-vice-xplus4)
  • c128 (lr-vice-x128)
  • pet (lr-vice-xpet)

plus other non-libretro emulators:

  • sdltrs (TRS-80, updated version, still no proper fullscreen)
  • gsplus (Apple II/GS, works 100%)

all tested and working on latest retropie on a rpi4.

@valerino valerino closed this Apr 20, 2020
@valerino valerino reopened this Apr 20, 2020
@valerino
Copy link
Author

Great!!!! One little problem, I'm trying to install the lr-mess-bbcmicro ... and the option menu only shows: H Package help. No install option.

hi, lr-mess-bbcmicro is the only one i can't get to work, it crashes and i still haven't got why. if you read in the code, it works if you launch run_mess.sh manually but not from emulationstation :(

anyway, i added a bunch of other emulators today, check them out. tomorrow i'll try to add others :)

@dankcushions
Copy link
Member

Hi, thanks! however my recommendation would be to have one emulator per PR. it's unlikely to be accepted with many emulators, since it's too much testing/review work.

@mth75
Copy link

mth75 commented Apr 23, 2020

Great!!!! One little problem, I'm trying to install the lr-mess-bbcmicro ... and the option menu only shows: H Package help. No install option.

hi, lr-mess-bbcmicro is the only one i can't get to work, it crashes and i still haven't got why. if you read in the code, it works if you launch run_mess.sh manually but not from emulationstation :(

anyway, i added a bunch of other emulators today, check them out. tomorrow i'll try to add others :)

the bbcmicro starts for me ... games won't start however from the runcommand ... Make sure the bios files are in place.

@valerino
Copy link
Author

valerino commented Apr 23, 2020

Great!!!! One little problem, I'm trying to install the lr-mess-bbcmicro ... and the option menu only shows: H Package help. No install option.

hi, lr-mess-bbcmicro is the only one i can't get to work, it crashes and i still haven't got why. if you read in the code, it works if you launch run_mess.sh manually but not from emulationstation :(
anyway, i added a bunch of other emulators today, check them out. tomorrow i'll try to add others :)

the bbcmicro starts for me ... games won't start however from the runcommand ... Make sure the bios files are in place.

sure of course i've the bios files in place!
exactly, games do not start from the runcommand.sh, which is what gets launched by emulationstation.
can you verify that launching games this way, from the terminal (quit emulationstation first) works ?

/opt/retropie/configs/bbcmicro/run_mess.sh /opt/retropie/emulators/retroarch/bin/retroarch /opt/retropie/libretrocores/lr-mess/mess_libretro.so /opt/retropie/configs/bbcmicro/retroarch.cfg bbcb /home/pi/RetroPie/BIOS -flop1 /home/pi/RetroPie/roms/bbcmicro/Bruce\ Lee\ (Europe).ssd

this works for me, games gets launched correctly. i've to dig into what happens from runcommand.sh probably ..... as now, i've this problem only with bbc, other systems i'm working on all starts correctly.

@valerino
Copy link
Author

Hi, thanks! however my recommendation would be to have one emulator per PR. it's unlikely to be accepted with many emulators, since it's too much testing/review work.

uhm ok, uhm .... well, problem is it started as a personal project, i have some commits which adds more than an emulator, some where i fix stuff in more than one, etc....
tell me how can i do and i'd try to rearrange stuff if i can.

@mth75
Copy link

mth75 commented Apr 23, 2020

No, doesn't work for me.

-bash: syntax error near unexpected token `('

Seems the parsing of '(' causes problems

@valerino
Copy link
Author

No, doesn't work for me.

-bash: syntax error near unexpected token `('

Seems the parsing of '(' causes problems

bash /opt/retropie/configs/bbcmicro/run_mess.sh /opt/retropie/emulators/retroarch/bin/retroarch /opt/retropie/libretrocores/lr-mess/mess_libretro.so /opt/retropie/configs/bbcmicro/retroarch.cfg bbcb /home/pi/RetroPie/BIOS -flop1 /home/pi/RetroPie/roms/bbcmicro/Bruce\ Lee\ (Europe).ssd

@mth75
Copy link

mth75 commented Apr 23, 2020

No, doesn't work for me.
-bash: syntax error near unexpected token `('
Seems the parsing of '(' causes problems

bash /opt/retropie/configs/bbcmicro/run_mess.sh /opt/retropie/emulators/retroarch/bin/retroarch /opt/retropie/libretrocores/lr-mess/mess_libretro.so /opt/retropie/configs/bbcmicro/retroarch.cfg bbcb /home/pi/RetroPie/BIOS -flop1 /home/pi/RetroPie/roms/bbcmicro/Bruce\ Lee\ (Europe).ssd

Same error

@valerino
Copy link
Author

valerino commented Apr 23, 2020

No, doesn't work for me.
-bash: syntax error near unexpected token `('
Seems the parsing of '(' causes problems

bash /opt/retropie/configs/bbcmicro/run_mess.sh /opt/retropie/emulators/retroarch/bin/retroarch /opt/retropie/libretrocores/lr-mess/mess_libretro.so /opt/retropie/configs/bbcmicro/retroarch.cfg bbcb /home/pi/RetroPie/BIOS -flop1 /home/pi/RetroPie/roms/bbcmicro/Bruce\ Lee\ (Europe).ssd

Same error

that's really weird.....

~/valerinos/misc_emu_scripts/mkconfig(master) » bash --version
GNU bash, version 5.0.3(1)-release (arm-unknown-linux-gnueabihf)
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

can you verify this ?
it's a problem probably with the declaration of arrays/usage.
it's a problem to update bash in retropie ? shouldn't be.....

@mth75
Copy link

mth75 commented Apr 23, 2020

GNU bash, version 5.0.3(1)-release (arm-unknown-linux-gnueabihf)
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

@mth75
Copy link

mth75 commented Apr 23, 2020

Look the same.

@valerino
Copy link
Author

Look the same.

uhm .... how possible ? are you sure you're using my latest commit ?
i tried with different shells (for commodity, i installed zsh too) and no problems. anyway that scripts gets run by bash anyway due to the #! in the beginning......

@mth75
Copy link

mth75 commented Apr 23, 2020

Absolutely sure.

@valerino valerino changed the title added missing vice-libretro cores + other goodies added missing vice-libretro cores, proper lr-mess support from emulationstation + other goodies Apr 23, 2020
@valerino
Copy link
Author

Absolutely sure.

i'm trying to think to possible causes, but i can't think any.
rpi4 or rpi3 ? i'm using rpi4, but if bash is the same version ..... really weird.
anyway, let's see if someone else has the same problem. if so, i'll delete the pull request and try to understand what's going on.
coz if you can't execute run_mess.sh, none of the lr-mess systems i added will work for sure.

@joolswills
Copy link
Member

Sorry but this is best closed imho. Please discuss and do the development elsewhere first. PRs for finished and tested individual modules can be submitted later when ready and considered on an individual basis. Thanks.

@valerino
Copy link
Author

Sorry but this is best closed imho. Please discuss and do the development elsewhere first. PRs for finished and tested individual modules can be submitted later when ready and considered on an individual basis. Thanks.

ok so, i will resubmit the lr-vice ones as individual, then i'll continue the lr-mess thing on my repo.

@valerino valerino closed this Apr 23, 2020
@joolswills
Copy link
Member

Thanks.

@mth75
Copy link

mth75 commented Apr 23, 2020

Absolutely sure.

i'm trying to think to possible causes, but i can't think any.
rpi4 or rpi3 ? i'm using rpi4, but if bash is the same version ..... really weird.
anyway, let's see if someone else has the same problem. if so, i'll delete the pull request and try to understand what's going on.
coz if you can't execute run_mess.sh, none of the lr-mess systems i added will work for sure.

Last reply from me (due to Joolswills request). I'll wait what happens when you got starting bbcmicro from ES in order. Maybe this solves my problem. I'm using a RPI4 btw. In the meantime, thx man!

@joolswills
Copy link
Member

Just to add, I don't think we need a module per lr-vice target. I did a quick test and it can be done easily in the lr-vice module so I may implement this myself after testing. The GS module and sdltrs changes though look useful. Cheers.

@mth75
Copy link

mth75 commented Apr 24, 2020

Making it easy for people to install a BBC Micro emulator (in this case with the lr-mess core) is a much requested feature/emulator. So maybe you could consider adding the lr-mess-bbcmicro to the exp. menu.

@joolswills
Copy link
Member

I'm not against having a BBC emulator. But I prefer another route.

@joolswills
Copy link
Member

I don't want a module per mess core type situation. But the main mess core can be improved of course.

@joolswills
Copy link
Member

joolswills commented Apr 24, 2020

Regarding lr-vice we can do something like

diff --git a/scriptmodules/libretrocores/lr-vice.sh b/scriptmodules/libretrocores/lr-vice.sh
index ecc5962c..89e28535 100644
--- a/scriptmodules/libretrocores/lr-vice.sh
+++ b/scriptmodules/libretrocores/lr-vice.sh
@@ -16,14 +16,21 @@ rp_module_licence="GPL2 https://raw.githubusercontent.com/libretro/vice-libretro
 rp_module_section="exp"
 rp_module_flags=""
 
+function _get_targets_lr-vice() {
+    echo x64 x128 xpet xplus4 xvic
+}
+
 function sources_lr-vice() {
     gitPullOrClone "$md_build" https://github.com/libretro/vice-libretro.git
 }
 
 function build_lr-vice() {
     make -f Makefile.libretro clean
-    make -f Makefile.libretro
-    md_ret_require="$md_build/vice_x64_libretro.so"
+    local target
+    for target in $(_get_targets_lr-vice); do
+        make -f Makefile.libretro EMUTYPE="$target"
+        md_ret_require+=("$md_build/vice_${target}_libretro.so")
+    done
 }
 
 function install_lr-vice() {
@@ -41,6 +48,15 @@ function configure_lr-vice() {
     cp -R "$md_inst/data" "$biosdir"
     chown -R $user:$user "$biosdir/data"
 
-    addEmulator 1 "$md_id" "c64" "$md_inst/vice_x64_libretro.so"
+    local target
+    local name
+    for target in $(_get_targets_lr-vice); do
+        if [[ "$target" == "x64" ]]; then
+            name=""
+        else
+            name="-${target}"
+        fi
+        addEmulator 1 "$md_id${name}" "c64" "$md_inst/vice_${target}_libretro.so"
+    done
     addSystem "c64"
 }

I will look at this after the next image release though as that's the current priority.

@valerino
Copy link
Author

Just to add, I don't think we need a module per lr-vice target. I did a quick test and it can be done easily in the lr-vice module so I may implement this myself after testing. The GS module and sdltrs changes though look useful. Cheers.

sure, it can be done that way too. i have all these stuff hanging around since ages, just now i decided to clean it up and try to help. that was just one of my first experiments with retropie setup scripting, and thought it may help

@valerino
Copy link
Author

I don't want a module per mess core type situation. But the main mess core can be improved of course.

have you tried my method ? i think it's a clean solution, and the systems are isolated each other. look on my post on https://retropie.org.uk/ forum, i added many (almost 30), all working.
sure it may be improved, i myself already thought to isolate the lr-mess-xxxx in a separate menu.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants