RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    [SOLVED] - N64 - something overriding my emu choice...?

    Scheduled Pinned Locked Moved Help and Support
    n64gles2n64overridechoice
    21 Posts 3 Posters 2.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • RanmaR
      Ranma
      last edited by Ranma

      Hi folks, having a bit of fun with N64 on Retropie but have hit an odd snag. I was happily playing with it the other day and noticed that GLES2N64 runs Yoshi's Story really pretty well, so I set that as the default emulator for it. However, upon coming back to it the next day I notice that it doesn't seem to start the game with GLES2N64 anymore, and instead uses GlideN64. I can tell this is so because the game doesn't run as well, and you get the GlideN64 launch text ("init textures" etc.) as well as the frame counter in the bottom left corner of the screen.

      I check runcommand before launching and my choice is still set to GLES2N64. I just checked my emulators.cfg and its states:

      n64_YoshisStoryUSAEnJa = "mupen64plus-gles2n64"
      

      Yet it uses GlideN64. So what gives? Any help very much appreciated. :-) Thanks all.

      mituM 1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator @Ranma
        last edited by

        @Ranma Are you sure you're starting the same ROM ? Can you paste the contents of the n64 system's emulators.cfg file ?

        1 Reply Last reply Reply Quote 0
        • RanmaR
          Ranma
          last edited by Ranma

          Thanks for replying Mitu. :-) Yes I'm sure I'm starting the same ROM...dunno how I could be selecting a different one in any case. My emulators.cfg is detailed below:

          mupen64plus-GLideN64 = "/opt/retropie/emulators/mupen64plus/bin/mupen64plus.sh mupen64plus-video-GLideN64 %ROM% 320x240"
          mupen64plus-gles2rice = "/opt/retropie/emulators/mupen64plus/bin/mupen64plus.sh mupen64plus-video-rice %ROM% 320x240"
          mupen64plus-GLideN64-highres = "/opt/retropie/emulators/mupen64plus/bin/mupen64plus.sh mupen64plus-video-GLideN64 %ROM% 640x480"
          mupen64plus-gles2rice-highres = "/opt/retropie/emulators/mupen64plus/bin/mupen64plus.sh mupen64plus-video-rice %ROM% 640x480"
          mupen64plus-gles2n64 = "/opt/retropie/emulators/mupen64plus/bin/mupen64plus.sh mupen64plus-video-n64 %ROM%"
          mupen64plus-auto = "/opt/retropie/emulators/mupen64plus/bin/mupen64plus.sh AUTO %ROM%"
          default = "lr-mupen64plus"
          lr-mupen64plus = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mupen64plus/mupen64plus_libretro.so --config /opt/retropie/configs/n64/retroarch.cfg %ROM%"
          

          You can see my default is lr-mupen64plus, but for many ROMs I change this in runcommand and Yoshi is one of them. Thanks again for your help.

          mituM 1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator @Ranma
            last edited by

            @Ranma I remember some time ago there were problems with corrupted emulators.cfg, can you check if there isn't anything funny/strange characters in the file where the override is saved ? I'll try to reproduce the problem also.

            1 Reply Last reply Reply Quote 0
            • RanmaR
              Ranma
              last edited by

              By this I think you mean /configs/all location? I've had a quick look and it all looks OK to me, no obvious corruption. I'll apologise now if I take a while to respond as I have to be up for work in the morning, but I will definitely reply here as I really appreciate your help Mitu.

              Like I say it seemed to work great at first but after playing a couple of different N64 games, changing one or two of their default emus, and then rebooting the system it seemed to reset the choice for Yoshi. See how you get on Mitu and thanks again. :-)

              quicksilverQ 1 Reply Last reply Reply Quote 0
              • quicksilverQ
                quicksilver @Ranma
                last edited by quicksilver

                @Ranma did you update mupen64plus recently?

                Edit: so I just tried to run Yoshi's story on my pi and even when I choose gles2n64 it forces me to use gliden64. Very likely the Yoshi's story was added to the gles2n64 blacklist. You can remove it from the blacklist by editing your mupen64plus.sh file located at: /opt/retropie/emulators/mupen64plus/bin

                Though I suspect there was a good reason for it to be put on that list

                1 Reply Last reply Reply Quote 1
                • mituM
                  mitu Global Moderator
                  last edited by

                  @quicksilver is almost right, Yoshi is part of the blacklist for glesn64rice (defined here), but not gles2n64. I haven't got around testing it, but will try tonight to give it a go.

                  quicksilverQ 1 Reply Last reply Reply Quote 0
                  • quicksilverQ
                    quicksilver @mitu
                    last edited by

                    @mitu are u sure? I just checked and "story" is on my gles2n64 blacklist. Or is that referencing a different game?

                    mituM 1 Reply Last reply Reply Quote 0
                    • mituM
                      mitu Global Moderator @quicksilver
                      last edited by

                      @quicksilver Not sure yet, haven't got around testing on the Pi. A cursory look (hence the reply and the link) shows

                          # these games do not run with rice
                          local glesn64rice_blacklist=(
                              yoshi
                              rogue
                              squadron
                              gauntlet
                          )
                      

                      I don't see any entries for story in any blacklist present in the default mupen64plus.sh (https://github.com/RetroPie/RetroPie-Setup/blob/master/scriptmodules/emulators/mupen64plus/mupen64plus.sh).

                      quicksilverQ 1 Reply Last reply Reply Quote 0
                      • quicksilverQ
                        quicksilver @mitu
                        last edited by

                        @mitu that's really odd. I'll check mine again. I may have updated from source a week or two ago but that wouldn't affect the mupen64plus.sh file right? That's maintained as part of retro pie correct?

                        mituM 1 Reply Last reply Reply Quote 0
                        • mituM
                          mitu Global Moderator @quicksilver
                          last edited by

                          @quicksilver said in N64 - something overriding my emu choice...?:

                          That's maintained as part of retro pie correct?

                          Yes, that's part of the mupen64plus emulator package, it's not part of the upstream source.

                          quicksilverQ 1 Reply Last reply Reply Quote 0
                          • quicksilverQ
                            quicksilver @mitu
                            last edited by

                            @mitu I just checked and Yoshi's story is not on my gles2n64 blacklist (could have sworn I saw it on there as "story", guess I'm losing it). However my list doesn't match what you posted, I have about 9 games on my gles2n64 blacklist.

                            mituM 1 Reply Last reply Reply Quote 0
                            • mituM
                              mitu Global Moderator @quicksilver
                              last edited by mitu

                              @quicksilver I posted the list for glesn64rice, the glesn64 list has indeed more entries:

                                  local glesn64_blacklist=(
                                      zelda
                                      paper
                                      kazooie
                                      tooie
                                      instinct
                                      beetle
                                      rogue
                                      squadron
                                      gauntlet
                              )
                              
                              quicksilverQ 1 Reply Last reply Reply Quote 0
                              • quicksilverQ
                                quicksilver @mitu
                                last edited by

                                @mitu man I'm just out of it today. I'm going to stop trying to help now haha

                                1 Reply Last reply Reply Quote 0
                                • mituM
                                  mitu Global Moderator
                                  last edited by

                                  @Ranma ok, so the problem seems that yoshi appears in the glesn64rice_blacklist list, but the startup script tests the ROM blacklist for both glesn64rice and glesn64altogether. Since yoshi appears in one of them, the video plugin is overriden and switched to mupen64plus-video-GLideN64 (which is what you noticed).

                                  From the startup script

                                      "mupen64plus-video-n64"|"mupen64plus-video-rice")
                                              for game in "${glesn64_blacklist[@]}"; do
                                                  if [[ "${ROM,,}" == *"$game"* ]]; then
                                                      VIDEO_PLUGIN="mupen64plus-video-rice"
                                                  fi
                                              done
                                              for game in "${glesn64rice_blacklist[@]}"; do
                                                  if [[ "${ROM,,}" == *"$game"* ]]; then
                                                      VIDEO_PLUGIN="mupen64plus-video-GLideN64"
                                                  fi
                                              done 
                                  

                                  It looks like a bug, but there may be another reason why this was coded this way. @gizmo98 was this on purpose or it's just a bug ? If we switch the test for the video plugin blacklist individually, when starting with mupen64plus-video-64, the ROM would not be tested with glesn64rice_blacklist and the video plugin override would not be applied.

                                  1 Reply Last reply Reply Quote 0
                                  • RanmaR
                                    Ranma
                                    last edited by Ranma

                                    That is very interesting. All I can tell you is that when it did work at first, Yoshi ran extremely well on gles2n64. The best I'd ever seen it run tbh, so I'm sad this has been coded this way. Can I change this manually? Also, thanks again to Mitu for your Holmesian work here. :-)

                                    We have our men working on it now...

                                    1 Reply Last reply Reply Quote 0
                                    • mituM
                                      mitu Global Moderator
                                      last edited by

                                      The thing is, I don't understand how it run in the first place ? If my 'analysis' is correct, you wouldn't have been able to run it - when I started it myself it would still load the Glide64 plugin.

                                      RanmaR 1 Reply Last reply Reply Quote 0
                                      • mituM
                                        mitu Global Moderator
                                        last edited by mitu

                                        You can change

                                        "mupen64plus-video-n64"|"mupen64plus-video-rice")
                                                    for game in "${glesn64_blacklist[@]}"; do
                                                        if [[ "${ROM,,}" == *"$game"* ]]; then
                                                            VIDEO_PLUGIN="mupen64plus-video-rice"
                                                        fi
                                                    done
                                                    for game in "${glesn64rice_blacklist[@]}"; do
                                                        if [[ "${ROM,,}" == *"$game"* ]]; then
                                                            VIDEO_PLUGIN="mupen64plus-video-GLideN64"
                                                        fi
                                                    done 
                                        

                                        to

                                        "mupen64plus-video-n64")
                                                    for game in "${glesn64_blacklist[@]}"; do
                                                        if [[ "${ROM,,}" == *"$game"* ]]; then
                                                            VIDEO_PLUGIN="mupen64plus-video-rice"
                                                        fi
                                                    done
                                          ;; 
                                        "mupen64plus-video-rice")
                                                    for game in "${glesn64rice_blacklist[@]}"; do
                                                        if [[ "${ROM,,}" == *"$game"* ]]; then
                                                            VIDEO_PLUGIN="mupen64plus-video-GLideN64"
                                                        fi
                                                    done 
                                        

                                        and it should work - no more GLideN64 override.
                                        The file is /opt/retropie/emulators/mupen64plus/bin/mupen64plus.sh. It will be overwritten when you update the mupen64plus package, but hopefully we can find a fix for it and update the package - if it's just a bug.

                                        1 Reply Last reply Reply Quote 1
                                        • RanmaR
                                          Ranma @mitu
                                          last edited by

                                          @mitu Hmmm, yeah that is odd. Maybe I'm mistaken but it definitely did not run the Gliden64 plugin on my first play. I got to about level three (lightweight!), chuffed to bits with the performance, before powering down for the evening. I had also tried other emulators before settling on gles2n64.

                                          Thanks so much for your fix above Mitu and all the assistance you have given me here on Retropie Forums. You are always one of the first to reply and always get it sorted for me. :-)

                                          quicksilverQ 1 Reply Last reply Reply Quote 0
                                          • quicksilverQ
                                            quicksilver @Ranma
                                            last edited by

                                            @Ranma so I removed Yoshi's story from the rice blacklist and I was able to run it with gles2n64 but it runs terribly. Missing textures and backgrounds make it pretty much unplayable. Are you sure it was gles2n64 you were using?

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.