What's new

M64Py - Python frontend for Mupen64Plus

OP
G

gen2brain

New member
Release 0.2.0 is uploaded. Please test and report if there are problems.
OSX users should delete plist files from ~/Library/Preferences . If something doesn't work, send also the version and system you are using, what did you tried, console output etc.
If you are using ubuntu/debian in combination with nvidia card and you are getting black screen, try to install python-opengl.
 

Zing

New member
First of all, thank youuuu for making this app, you have no idea how amazing it is to have a proper emulator GUI for mupen64Plus.. when the devs of Mupen64Plus stripped all GUI code out of Mupen64 they always talked about how people would create GUI's for it and such, but every GUI that was made for it was crappy to say the least, until i found your work... Just... marvelous. Thanks to it Mupen64Plus is a usable emulator by the masses and not just devs who are good with the command line. Everything about this frontend is epic, from it playing the game within the emulator window itself like most emus do, to having GUI config panels for the plugins, this fronted is like the missing piece of Mupen64Plus!

I do have a suggestion however... In most N64 emulators it shows a game list within the emulator, its something all N64 emus have in common and its what makes them all a breeze to use, M64Py however has its game list in a completely separate way, its more like... its game list works in a really strange way, in a future version wouldnt it be best to have it be part of the main window? say like how Mupen, PJ64 etc... used to have it? To me its the thing thats basically missing from this emulator tbh.
 

mendus

New member
Hi gen2brain,

I did not find any way to choose the configuration directory on the user interface (windows). There are all the rest of the directories (plugin, data, etc.) but not config. Did I miss something or is it not implemented?

I guess it could still be done with the command line, but so far I have been unable. I tried:
" F:\n64\m64py\mupen64plus --configdir F:\n64\m64py\mupen64plus" and "F:\n64\m64py\mupen64plus --configdir F:\n64\m64py\mupen64plus oot12.z64" but nothing happened. Is the sintax correct?

Also, when I try to run from the command line, I get a runtime error of the Visual C++ (R6034) that says: "An application has made an attempt to load the C runtime library incorrectly". I do not have this problem when running from the user interface nor when I run the original files Mupen64Plus from command line (I mean those downloaded from the website of the project).

Very nice interface so far! Keep up the good work.
 

Storm-Shadow

New member
Great work. This is my first time trying to use Mupen64plus and this program makes it easy to configure. The only problem i have is the Input configuration. I have an Afterglow xbox 360 controller but i can't map any buttons. I also tried my ps3 controller but the same thing happens, it's like there is a button that is automatically pressed and i can't use any button.
 

tony971

New member
I'm also having trouble with button mapping. I use a controller adapter for original N64 controllers. After I finish mapping and start running a game, the buttons have all been re-numbered/named. Therefore, these buttons don't function correctly in-game.
 
OP
G

gen2brain

New member
New version is released:

* Greatly speed up reading ROM list
* Check if core supports DelaySI/CountPerOp options
* Add support for OpenBSD plugin paths
* Fix search for cheats in mupencheats.txt

[MENTION=110738]Zing[/MENTION] Reading roms is now much faster, get_rom_settings is used, it reads only header of file. This works fast now even for 7z and zip archives (in Linux you should install pylzma). I will maybe add option to have romlist in main window, but only as an option.

[MENTION=106194]mendus[/MENTION] configdir is not implemented, it is confusing enough for a user if it has to configure paths manually. Mupen64Plus already saves config in correct place for all operating systems.
 

Zing

New member
[MENTION=110738]Zing[/MENTION] Reading roms is now much faster, get_rom_settings is used, it reads only header of file. This works fast now even for 7z and zip archives (in Linux you should install pylzma). I will maybe add option to have romlist in main window, but only as an option.

Thank you for considering it! :D And thanks again for the new version!
 

dgarcia106

New member
Great work. This is my first time trying to use Mupen64plus and this program makes it easy to configure. The only problem i have is the Input configuration. I have an Afterglow xbox 360 controller but i can't map any buttons. I also tried my ps3 controller but the same thing happens, it's like there is a button that is automatically pressed and i can't use any button.
I am having the same issue and I can't configure it properly. Please help. I am currently using Windows 8.1 with M64Py version 0.2.1. I haven't touched any other plugins so please help.
 

Net_Bastard

New member
I'm also having trouble button mapping. I'm using a Dualshock 4, both with and without an Xinput wrapper. I tried asking this question on the Sourceforge forum, but no one answered and a new version was released without the problem being fixed. It's a shame, because Mupen64 literally won't let me configure it without a UI. I go to the config file in my appdata folder with every plugin installed and then the command line spouts out a bunch of errors and launches it with the default plugins. So I kinda do need this thing to work, because it's the only good UI that isn't abandoned by the dev. I could use JoyToKey but then I won't have analog controls.
 

Zuzma

New member
Okay this is a really nice frontend, but it does have some problems.

*Why do the video plugins not scale with the window?
*Why do some video plugins not work in fullscreen?
*When I browse the menus while a game is running the audio stutters. Maybe having the emulator pause itself would be nicer.
*Why are there descriptions like GhqHirsCmpr for the glide64mk2 settings? Labeling it GPU texture compression might be better. Having to see what it actually means with a tooltip is odd. Tooltips are usually used for extra information like how it might effect emulation or your machine.
*It might be a good idea to update it with sdl 2.0.3. There's been several fixes related to joysticks since 2.0.0.

If I'm wrong about something please correct me, thanks.
 
Last edited:

V1del

New member
@Zizma
1. Limitation of SDL and/or OpenGL context creation, worked around in Rice at least, not yet implemented for the other plugins
2. Examples? They all should be able to (if you set the setting to start emulation with fullscreen and disable Video Extension just to be safe), runtime switching has the same problem as 1.
3. Probably has to do with hardware, don't experience this on an i73770, but is minor and an implementation/preference detail
4. This is given by the parameternames and helptext in the cfg. Helptext can get rather long and as the dialogs are dynamically built this could lead to inconsistent spacing with different lengths, so it's better to use the shorter names and keep the helptext in the tooltip.
5. Pretty sure that 2.0.3 is API/ABI compatible with 2.0.0 so that should be automatically used (if you are on windows with a statically built SDL you could try to replace the dll with the 2.0.3 dll yourself)
 

Zuzma

New member
Thanks very much for the help V1del!
1. Ah no wonder, it'll be nice once it works with the other plugins.
2. Hmm fullscreen still didn't work with glide64mk2 even after disabling video extensions! I'm using m64py 0.2.1 in windows 7 64bit with a geforce 9800M GTS btw. (could be my video drivers fault, but I can't update them either)
3. That's probably likely since I'm using a logitech usb headset. It doesn't affect the gameplay and was mostly just cosmetic.
4. I'll just leave this one alone for now, haha.
5. Okay I didn't know that! That's cool!

Edit: nevermind disabling video extensions worked after I restarted the frontend. Also why is each individual video resolution listed twice in the drop down box? Another thing I noticed was gonig to file quit doesn't work, but clicking x button on the window does.
 
Last edited:

Climinhigh

New member
command line question

Hi, you can always manually point to mupen64plus library. I don't use Ubuntu and I tried only in 12.04.
There, library is installed in some strange place (/usr/lib/i386-linux-gnu), but m64py will look there too.

Can you try this, install apt-file, sudo apt-file update, and then:
apt-file list mupen64plus | grep libmupen64plus.so

Sorry if this is a dumb question, but do I have to uninstall mupen64plus first then run these commands or will it just reinstall and set up correctly to run with m64py? I am still learning my command line skills :/
 

Moshroum

New member
They only show you where the core should have been installed. It doesn't change the installed packages at all. Short version (without apt-file) of the above commands would be:

dpkg -L libmupen64plus2|grep libmupen64plus.so.2
 
OP
G

gen2brain

New member
New version is released:

- Initial Python3 support
- Add special SDL2 joystick event system for input config
- Add support for non-native rom files in romlist
- Many bug fixes, full log http://git.io/yRePKw
 
OP
G

gen2brain

New member
Thank you. Most of the fixes/features for this release are done by Fayvel, he was very active recently. And generally, there are more contributions since repository is moved to be part of official repo. I hope it will continue to be like that :)
 

SedrynTyros

New member
Great frontend, but not having the --configdir option is a significant hinderance in terms of making the package portable, gen2brain. You may not see the need for it but rest assured that many others will.

Thanks for the great work so far!
 

phly95

New member
Windows needs serious fixing of the Xbox 360 controller. Keys don't map properly, and there's no rumble feature. Being a console emulator, this is a critical feature.
 

Top