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

    Mupen64plus-GlideN64 Control help

    Scheduled Pinned Locked Moved Help and Support
    mupen64plus
    19 Posts 3 Posters 3.8k 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.
    • mituM
      mitu Global Moderator @Drdave79
      last edited by mitu

      @Drdave79 Are you really sure you're running the libretro core for N64 ?
      You can delete the /opt/retropie/configs/all/n64/retroarch.cfg file and then re-install the lr-mupen64plus-next package, which will generate the config file.

      D 2 Replies Last reply Reply Quote 0
      • D
        Drdave79 @mitu
        last edited by Drdave79

        @mitu Alright, progress! Thank you @mitu. That allowed me to access the Retroarch menu. However, this emulator is running really slow and choppy with the default graphical options. Do you have any recommended settings for this on an non-overlocked Pi? When I was using mpuen64plus-GLideN64, the gameplay was pretty smooth, though graphics suffered a bit.

        1 Reply Last reply Reply Quote 0
        • S
          sleve_mcdichael @Drdave79
          last edited by sleve_mcdichael

          @Drdave79 said in Mupen64plus-GlideN64 Control help:

          Since some games use the N64 joystick and some use the dpad for movement, there's got to be another way to change this per game besides editing the .ini file manually every time you want to play each game?

          pi@retropie:/opt/retropie/emulators/mupen64plus/bin $ ./mupen64plus -h
           __  __                         __   _  _   ____  _             
          |  \/  |_   _ _ __   ___ _ __  / /_ | || | |  _ \| |_   _ ___ 
          | |\/| | | | | '_ \ / _ \ '_ \| '_ \| || |_| |_) | | | | / __|  
          | |  | | |_| | |_) |  __/ | | | (_) |__   _|  __/| | |_| \__ \  
          |_|  |_|\__,_| .__/ \___|_| |_|\___/   |_| |_|   |_|\__,_|___/  
                       |_|         https://mupen64plus.org/               
          Mupen64Plus Console User-Interface Version 2.5.9
          
          Usage: ./mupen64plus [parameters] [romfile]
          
          Parameters:
              --noosd                : disable onscreen display
              --osd                  : enable onscreen display
              --fullscreen           : use fullscreen display mode
              --windowed             : use windowed display mode
              --resolution (res)     : display resolution (640x480, 800x600, 1024x768, etc)
              --nospeedlimit         : disable core speed limiter (should be used with dummy audio plugin)
              --cheats (cheat-spec)  : enable or list cheat codes for the given rom file
              --corelib (filepath)   : use core library (filepath) (can be only filename or full path)
              --configdir (dir)      : force configation directory to (dir); should contain mupen64plus.cfg
              --datadir (dir)        : search for shared data files (.ini files, languages, etc) in (dir)
              --debug                : launch console-based debugger (requires core lib built for debugging)
              --plugindir (dir)      : search for plugins in (dir)
              --sshotdir (dir)       : set screenshot directory to (dir)
              --gfx (plugin-spec)    : use gfx plugin given by (plugin-spec)
              --audio (plugin-spec)  : use audio plugin given by (plugin-spec)
              --input (plugin-spec)  : use input plugin given by (plugin-spec)
              --rsp (plugin-spec)    : use rsp plugin given by (plugin-spec)
              --emumode (mode)       : set emu mode to: 0=Pure Interpreter 1=Interpreter 2=DynaRec
              --savestate (filepath) : savestate loaded at startup
              --testshots (list)     : take screenshots at frames given in comma-separated (list), then quit
              --set (param-spec)     : set a configuration variable, format: ParamSection[ParamName]=Value
              --gb-rom-{1,2,3,4}     : define GB cart rom to load inside transferpak {1,2,3,4}
              --gb-ram-{1,2,3,4}     : define GB cart ram to load inside transferpak {1,2,3,4}
              --dd-ipl-rom           : define 64DD IPL rom
              --dd-disk              : define disk to load into the disk drive
              --core-compare-send    : use the Core Comparison debugging feature, in data sending mode
              --core-compare-recv    : use the Core Comparison debugging feature, in data receiving mode
              --nosaveoptions        : do not save the given command-line options in configuration file
              --pif (filepath)       : use a binary PIF ROM (filepath) instead of HLE PIF
              --verbose              : print lots of information
              --help                 : see this help message
          
          (plugin-spec):
              (pluginname)           : filename (without path) of plugin to find in plugin directory
              (pluginpath)           : full path and filename of plugin
              'dummy'                : use dummy plugin
          
          (cheat-spec):
              'list'                 : show all of the available cheat codes
              'all'                  : enable all of the available cheat codes
              (codelist)             : a comma-separated list of cheat code numbers to enable,
                                       with dashes to use code variables (ex 1-2 to use cheat 1 option 2)
          
          

          Could you do it with the --datadir (and/or --configdir) flags? If you're willing to experiment a little, try this:

          • Put the config back to how it was so the joystick is read as the analog axes.

          • In /opt/retropie/configs/n64/, make a sub-directory called dpad. Copy the following into this dpad dir:

          font.ttf
          *.conf
          *.ini
          
          • Now edit the dpad/InputAutoConfig.ini file with your D-pad fix from before.

          Now you have two config dirs: n64 with the standard analog control, and n64/dpad with D-pad control instead.

          • Next, edit the file /opt/retropie/configs/n64/emulators.cfg. We will add another entry to it, to use this new config dir. Find the line for GLideN64:
          mupen64plus-GLideN64 = "/opt/retropie/emulators/mupen64plus/bin/mupen64plus.sh mupen64plus-video-GLideN64 %ROM% %XRES%x%YRES% 0 --set Video-GLideN64[UseNativeResolutionFactor]\=1"
          
          • Copy that, change the name to mupen64plus-GLideN64-dpad and add the --datadir (path) param to the command:
          mupen64plus-GLideN64-dpad = "/opt/retropie/emulators/mupen64plus/bin/mupen64plus.sh mupen64plus-video-GLideN64 %ROM% %XRES%x%YRES% 0 --set Video-GLideN64[UseNativeResolutionFactor]\=1 --datadir /opt/retropie/configs/n64/dpad"
          
          • Launch the game; press a button to open runcommand launch menu, choose "select the emulator for ROM" and select mupen64plus-GLideN64-dpad.

          The only reason I can think why this shouldn't work is the mupen64plus.sh launch script already sets a --datadir param, so this will have it in there twice. I'm hoping it will just honor the last one used, but it might instead use the first one, or just break.

          If that's the case, you could probably still do it, just a little different.

          • Still do everything up to making the "dpad" entry in emulators.cfg, but don't add the --datadir param to the command there; instead, just change the name and change the specified launch script file from mupen64plus.sh to mupen64plus-dpad.sh:
          mupen64plus-GLideN64-dpad = "/opt/retropie/emulators/mupen64plus/bin/mupen64plus-dpad.sh mupen64plus-video-GLideN64 %ROM% %XRES%x%YRES% 0 --set Video-GLideN64[UseNativeResolutionFactor]\=1"
          
          • Now go into the binaries dir:
          cd /opt/retropie/emulators/mupen64plus/bin
          
          • Copy the launch script. You have to use sudo to make any changes in this root directory:
          sudo cp mupen64plus.sh mupen64plus-dpad.sh
          
          • Edit this new copy:
          sudo nano mupen64plus-dpad.sh
          
          • Navigate to line 447:
          SDL_AUDIODRIVER=${SDL_AUDIODRIVER} SDL_VIDEO_RPI_SCALE_MODE=${SDL_VIDEO_RPI_SCALE_MODE} "$rootdir/emulators/mupen64plus/bin/mupen64plus" --noosd $PARAMS ${WINDOW_MODE} --rsp ${RSP_PLUGIN}.so --gfx ${VIDEO_PLUGIN}.so --audio ${AUDIO_PLUGIN}.so --configdir "$configdir/n64" --datadir "$configdir/n64" "$ROM"
          
          • Change the --datadir parameter from "$configdir/n64" to "$configdir/n64/dpad"
          SDL_AUDIODRIVER=${SDL_AUDIODRIVER} SDL_VIDEO_RPI_SCALE_MODE=${SDL_VIDEO_RPI_SCALE_MODE} "$rootdir/emulators/mupen64plus/bin/mupen64plus" --noosd $PARAMS ${WINDOW_MODE} --rsp ${RSP_PLUGIN}.so --gfx ${VIDEO_PLUGIN}.so --audio ${AUDIO_PLUGIN}.so --configdir "$configdir/n64" --datadir "$configdir/n64/dpad" "$ROM"
          

          That should be it. Again, you would launch the game and select the "dpad" variant in the emulators menu, for each game that requires D-pad control.

          D 1 Reply Last reply Reply Quote 0
          • D
            Drdave79 @sleve_mcdichael
            last edited by Drdave79

            @sleve_mcdichael wow, that's a lot of information. Yes, let me give this a go and see how it goes. Need to make a backup of my build first though :)

            That being said, if I could find settings that made lr-mupen64plus-next run smoother, it'd be a great solution as well. Going to spend sometime looking into this as well.

            1 Reply Last reply Reply Quote 0
            • D
              Drdave79 @mitu
              last edited by

              @mitu said in Mupen64plus-GlideN64 Control help:

              lr-mupen64plus-next

              @mitu @sleve_mcdichael Upon further testing, lr-mupen64plus-next run pretty slow. lr-mupen64plus without the next actually runs pretty well. Much better than the "next" version. And since they're lib cores, I can edit the controls directly in the menu!

              S 1 Reply Last reply Reply Quote 0
              • S
                sleve_mcdichael @Drdave79
                last edited by

                @Drdave79 said in Mupen64plus-GlideN64 Control help:

                Upon further testing, lr-mupen64plus-next run pretty slow. lr-mupen64plus without the next actually runs pretty well. Much better than the "next" version. And since they're lib cores, I can edit the controls directly in the menu!

                I think with N64, it's really going to come down to the individual title. Some will work just fine in the default lr--next, but some others that are unplayable in that one, may still work in one of the others.

                I think the thing with the "next"/"no next" versions is that "next" is still actively developed, while "no next" is abandoned. If it works, it works, but don't expect any updates (which is not necessarily a bad thing, as long as it does work.)

                D 1 Reply Last reply Reply Quote 0
                • D
                  Drdave79 @sleve_mcdichael
                  last edited by

                  @sleve_mcdichael That's interesting. I tested around 10 titles and almost every one worked smooth with no next. I had to use mupen64-plus-GlideN64 for Star Wars Rogue Squadron for smooth gameplay and control, but that was the only exception. Almost seems like the "next" team is going in the wrong direction.

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

                    @Drdave79 said in Mupen64plus-GlideN64 Control help:

                    Almost seems like the "next" team is going in the wrong direction.

                    No, it's not. The direction is to achieve accurancy and better emulation of the original N64, not speed. That's not specific to N64 emulation only.

                    D 1 Reply Last reply Reply Quote 0
                    • D
                      Drdave79 @mitu
                      last edited by Drdave79

                      @mitu I didn't mean to offend anyone by my statement. I know everyone involved in these projects work very hard whether paid or volunteers. It was just an observation that the non-next version, which apparently is no longer supported seems to work better. At least, for my testing.

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

                        @Drdave79 said in Mupen64plus-GlideN64 Control help:

                        It was just an observation that the non-next version, which apparently is no longer supported seems to work better.

                        No offence taken, and it's normal that is runs better, since the performance requirements are lower. This is why it's still available in RetroPie.

                        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.