Testers Wanted: MP64+ Mac GUI
Edit: project has been moved and renamed to MupenRocket
I’ve thrown together a basic Mupen6Plus+ Mac GUI for anyone who’s interested (Snow Leopard only, I’m afraid). It’s an application that lets you choose your Mupen64Plus window resolution, whether to run Mupen64Plus fullscreen, and a button that will let you choose a rom file to open:
What’s new in this GUI:
- More intuitive interface
- Rom launcher works just like Command+O in any other application
- Allows control of Mupen64Plus’ default window resolution and fullscreen settings
- Volume up/down controls
- Save state controls
- Hi-res texture options (turn on/off, add texture folder)
It hasn’t been tested on another computer, so I don’t want to release it widely yet. Leave a comment if you’re interested in trying it out!
If you have been trying it out, leave a comment with your observations, comments, or issues. That way, we’ll be able to learn from each other.



It launches ROMS handily. But the resolution and fullscreen options don’t work for me. I can provide a video example if you’d like.
A video would be very helpful if we can’t figure it out easily. I know that changing the resolution and going fullscreen don’t work while a rom is running. The options really just change the default video settings. If they don’t change anything before launching a rom, could you fire up Console and see what comes out when you click those video settings buttons? The Sender[PID] column will have “SpeedofMac Mupen64Plus GUI” or something in it, and whatever appears to the right of that would be helpful to know.
Thanks for letting me know,
SpeedofMac
I would definitely be interested in trying this out. It will be nice to have a GUI for this, as it’s the first N64 emulator I’ve been able to get working.
Only thing that works is opening a ROM. Hi-res not working, fullscreen and resolutions not working.
Are save states and volume controls working? They’re managed differently from rom opening and video configuring. Could you tell me if anything happens when you run the following code in Terminal?
open -a TextEdit ~/.config/mupen64plus/mupen64plus.cfgThe GUI changes this config file to reflect your desired default settings, so if settings aren’t being changed, I imagine that the GUI can’t find or can’t edit the config file. Could you also open Console and see if anything prints comes up when you press a button that isn’t doing anything for you?
Could you also try out this code?
perl -pi -e 's/LoadHiResTextures = False/LoadHiResTextures = True/g' ~/.config/mupen64plus/mupen64plus.cfgI’m using perl commands like these to swap config options, so if they aren’t working properly for other people, that would explain why your settings aren’t changing.
Nothing worked. Except opening games.
Our SpeedofMac MP64+ Launcher has been updated and can be found at http://speedofmac.com/speedofmac_mp64+_launcher.html. This version includes the option to check for the “mupen64plus.cfg” file, and if it isn’t present on your system, it downloads and installs it for you.
This should fix a problem users have had changing Mupen64Plus default configurations (e.g., video size).
I can only open the games with your third release from today. The rest doesn’t work. Impossible to change the Window size. It’s still in 640×480. No possiblity to modify anything but I can play in a small window.
Thanks for your work.
Do you know of any launcher that works with original Leopard?
Thanks.
Nevermind, I wrote one, using the script you posted on the main page as a starter. Anyone that wants to use it, it will ask you to open a rom, or edit the controller or mupen configs, and if you choose to open, it will ask which plugin to use. Enjoy:
display dialog “What would you like to do today?” buttons {“Open N64 ROM”, “Controller Config”, “Mupen64Plus Config”}
copy the result as list to the menuChoice
if the menuChoice is {“Open N64 ROM”} then
set romPath to choose file with prompt “Select a rom file to open (.n64, .v64, .z64)”
set romFile to quoted form of (POSIX path of romPath)
display dialog “Which plugin would you like to use?” buttons {“Glide”, “Rice”, “Arach”}
copy the result as list to the pluginChoice
tell application “Terminal” to activate
tell application “System Events” to keystroke “cd /Applications/Mupen64Plus” & return
tell application “System Events” to keystroke “./run_” & pluginChoice & “.sh ” & romFile & return
else if the menuChoice is {“Controller Config”} then
tell application “Terminal” to activate
tell application “System Events” to keystroke “open -a TextEdit /Applications/Mupen64Plus/mupen64plus.app/Contents/Resources/InputAutoCfg.ini” & return
else if the menuChoice is {“Mupen64Plus Config”} then
tell application “Terminal” to activate
tell application “System Events” to keystroke “open -a TextEdit ~/.config/mupen64plus/mupen64plus.cfg” & return
end if
Great work!
I’ve tweaked a few things in Mike’s code for Leopard users to open the config files faster:
display dialog "What would you like to do today?" buttons {"Open N64 ROM", "Controller Config", "Mupen64Plus Config"}
copy the result as list to the menuChoice
if the menuChoice is {"Open N64 ROM"} then
set romPath to choose file with prompt "Select a rom file to open (.n64, .v64, .z64)"
set romFile to quoted form of (POSIX path of romPath)
display dialog "Which plugin would you like to use?" buttons {"Glide", "Rice", "Arach"}
copy the result as list to the pluginChoice
tell application "Terminal" to activate
tell application "System Events" to keystroke "cd /Applications/Mupen64Plus" & return
tell application "System Events" to keystroke "./run_" & pluginChoice & ".sh " & romFile & return
else if the menuChoice is {"Controller Config"} then
do shell script "open -a TextEdit /Applications/Mupen64Plus/mupen64plus.app/Contents/Resources/InputAutoCfg.ini"
else if the menuChoice is {"Mupen64Plus Config"} then
do shell script "open -a TextEdit ~/.config/mupen64plus/mupen64plus.cfg"
end if
I use Leopard but am not coding savvy. How do I use Mike’s tweaked coding? Also, I’m more than happy to be a tester as far as Leopard is concerned. I currently run OSX ver 10.5.8. Thanks!
So I’ve tried opening the LauncherAppDelegate.scpt file I found, guessing this is where to place the coding. Before making any changes, I hit Compile. It results with — Syntax Error – Expected end of line but found “”" –. The ” highlighted are on the line ‘property parent : class “NSObject”.’
Deleting “NSObject” allows it to compile just fine, even after adding the tweaked coding a few lines later. But running the SoM launcher after saving and closing still results in a crash. (And I’m sure “NSObject” serves some vital function, but having no coding experience, I’m just playing with stuff, lol)
I’m new to all of this coding stuff, too. Here’s how to make the Leopard code into an application:
Open up an application called AppleScript Editor, then copy and paste the code into the window that appears
Choose File -> Save, and in the slider that appears, choose File Format -> Application
If it saves without a hitch, that’s great! Then you’ll be able to double-click the application and choose games to run and settings to adjust from the dialog windows that pop up. If it doesn’t save, check to make sure that nothing funny happened to the code when it was copied from this site. When copying Mike’s code, I had to delete all of the quotation marks and write them in again because they weren’t recognised by AppleScript.
Using the code from my MP64+ Launcher won’t translate directly to a simple AppleScript application because stuff like “NSObject” is needed for the GUI (graphical user interface), and AppleScript won’t recognise this stuff. Good on you for tinkering, though! It’s a good way to learn, and I wouldn’t've been able to write the Launcher or any AppleScript without a lot of trial-and-error.
The code Mike came up should get you through until a proper GUI is put out (there’s one that’s really close to working on OS X). Let us know if you get the AppleScript application up and running or if you need a little more help!
- John
Dude THANK You so much for making this. This thing should honestly come right with Mupen64Plus. You can get by on ROMS and emulators with very little tech knowledge, but Mupen forced me to start learning what Terminal and Unix actually was.
For a first timer I was really struggling to make this thing work correctly.
Thanks for making this emu available to us computer noobs.
I’m still working with the controls, it seems to recognize my logitech dual action fine.
Can’t thank you enough.
Hey James,
You’re welcome! Mupen64Plus is a great application, and I wanted to make sure that everyone had the opportunity to use it, regardless of Terminal savvy. If you have any questions or you’d like to see a tutorial on something, just let me know!
- John (SpeedofMac)
Wow! Thanks to both John and Mike for helping us Leopard users get this working! I was so excited to see that Mupen64 was still in development, yet disappointed when I realized that it was terminal based. (I’m an artist, not a coder.) But your work here now really helps those who don’t know anything about coding. Again, thanks!
As an added note, for those who want to change up your controls (I’m setting mine up to be like sixtyforce
), but don’t know what the key numbers are, I found a little program that you can use: http://softwares.bajram.com/utilities/#Full_Key_Codes
Thanks again!
I’ve modded the applescript launcher so you can put the mupen64 app anywhere not just /applications directory. Place the launcher and optionally games in the same directory.
display dialog “What would you like to do today?” buttons {“Open N64 ROM”, “Controller Config”, “Mupen64Plus Config”}
copy the result as list to the menuChoice
if the menuChoice is {“Mupen64Plus Config”} then
do shell script “open -a TextEdit ~/.config/mupen64plus/mupen64plus.cfg”
return quit
end if
– place applescript launcher in same folder as mupen64plus.app
set mypath to path to me
tell application “Finder” to set myFolder to folder of mypath as alias
set myPOSIXFolder to quoted form of (POSIX path of myFolder)
if the menuChoice is {“Open N64 ROM”} then
– set default location to myFolder (myFolder has to be alias)
set romPath to choose file with prompt “Select a rom file to open (.n64, .v64, .z64)” default location myFolder
set romFile to quoted form of (POSIX path of romPath)
display dialog “Which plugin would you like to use?” buttons {“Glide”, “Rice”, “Arach”}
copy the result as list to the pluginChoice
tell application “Terminal” to activate
tell application “System Events” to keystroke “cd ” & myPOSIXFolder & return
tell application “System Events” to keystroke “./run_” & pluginChoice & “.sh ” & romFile & return
else if the menuChoice is {“Controller Config”} then
do shell script “open -a TextEdit ” & myPOSIXFolder & “mupen64plus.app/Contents/Resources/InputAutoCfg.ini”
end if
AppleScriptHTML output:
display dialog "What would you like to do today?" buttons {"Open N64 ROM", "Controller Config", "Mupen64Plus Config"}
copy the result as list to the menuChoice
if the menuChoice is {"Mupen64Plus Config"} then
do shell script "open -a TextEdit ~/.config/mupen64plus/mupen64plus.cfg"
return quit
end if
– place applescript launcher in same folder as mupen64plus.app
set mypath to path to me
tell application "Finder" to set myFolder to folder of mypath as alias
set myPOSIXFolder to quoted form of (POSIX path of myFolder)
if the menuChoice is {"Open N64 ROM"} then
– set default location to myFolder (myFolder has to be alias)
set romPath to choose file with prompt "Select a rom file to open (.n64, .v64, .z64)" default location myFolder
set romFile to quoted form of (POSIX path of romPath)
display dialog "Which plugin would you like to use?" buttons {"Glide", "Rice", "Arach"}
copy the result as list to the pluginChoice
tell application "Terminal" to activate
tell application "System Events" to keystroke "cd " & myPOSIXFolder & return
tell application "System Events" to keystroke "./run_" & pluginChoice & ".sh " & romFile & return
else if the menuChoice is {"Controller Config"} then
do shell script "open -a TextEdit " & myPOSIXFolder & "mupen64plus.app/Contents/Resources/InputAutoCfg.ini"
end if
Editing config so I can play with my keyboard.. What would I do, besides my custom buttons, to make my mouse the joystick? Would I make mouse = true? And what would I put for axis?
I just tested it out, and all you have to do is make mouse = true. Once you do that, the rest is taken care of!
I’d Like to try it out
@Jamill
Check out http://speedofmac.com/emulation/mupenrocket.php