What's new

Mupen64 0.3 feedback thread

Soggie

New member
Hacktarux said:
yep, it's released and i'm waiting your bug reports in this thread ;)

A few gui_gtk glitches I noticed:

- The rombrowser column width settings are stored only if the main gui_gtk window is closed (in callback_mainWindowDeleteEvent(...)). The File -> Exit menu item directly calls gtk_main_quit(), without a callback that stores gui_gtk.conf. In configdialog.c, the file gui_gtk.conf is written, but without first updating the g_Config structure using the GTK allocation widths, resulting in gui_gtk.conf to be written with all column widths set to '0' (and if you then exit mupen64 with File->Exit or due to a crash, upon startup these 0-width values are read and set).

Suggested fix:
1. Add callback_fileExitEvent(..), similar to callback_mainWindowDeleteEvent(..)
2. Refactor the g_Config update code out of mainWindowDeleteEvent(..) into a seperate function and call this from configdialog.c as well, before config_write()
3. Allow graceful handling of old (broken) gui_gtk.conf files, by changing gui_gtk/config.c, to use something like:

(line 120)
int readValue=0;
sscanf( p, "%d", &readValue );
if (readValue>0) g_Config.iRomBrowserColWidth=readValue;


- The stored rom browser column widths grow by 1 pixel each time.
This is probably due to GTK+-1.2 not providing a reliable, theme-independent way to obtain current CList column widths. A quickfix is changing to g_Config.iRomBrowserColWidth = w-1, but I'm afraid that won't work with all themes.
 

mojo

New member
A quick and neat feedback for Linux version.

The seg fault issues has not been resolved. Play a rom then press ESC then play another rom then segfault occur.

Now StarWar Rogue Squardon paritally work with glN64 0.41. Great work!

Rice's plugin runs so slow on my PC. And 3 times freeze up my Linux when running Diddy Kong racing and Legend Zelda Majora Mask.

The sound seems better in this version although still has bad quality sound.

And I think Mupen should change the icon used in the Linux version, it looks a bit ...jerky, ugly, so Windows style which is not favoured by Linux user. Mupen should change to those simple icons such as 1964 icons or competely migrate to GTK2 with BlueCruve Icon.
 

blight

New member
soggie: it was kinda my first gtk project ;) i am pretty sure the config dialog update g_Config before writing configuration, but i am going to change a few things sometime in the future (better config file format, more features)

mojo: which icons? which plugin do you use when you get that segfault? how often do i have to tell you that we do not want to move to gtk+-2 atm because of the plugins and i think gtk+-1.2 is installed on nearly every system with X
if you want a gtk2 gui go ahead and define _GTK2 or something and you get a gtk2 gui which will work, but when plugins then call gtk2 functions while compiled for gtk1.2 you will get nice segfaults and warnings/errors - have fun
 

mojo

New member
To blight: glN64 and Rice both causes seg fault. It's weird because I didn't encouter that bug on my brother SuSE 8.2. Most plugin for Linux causes those weird seg fault on RedHat. And about the sound, could you write any sound plugin based on SDL like your pad plugin? The UltraHLE sound is not good at speed and performance.
 

blight

New member
if most plugins segfault then it's your distributions fault i guess
i have not ported rice daedalus, hacktarux has done it
i do not know much about sound and hacktarux once told me SDL isn't good for n64 audio output but someone told me he ported hacks plug to also and it's GPL - go get the source
 

Soggie

New member
blight said:
but someone told me he ported hacks plug to also

My ALSA patch for mupen64_sound should be attached to this message (if all goes well). (you might want to remove the '-DM64_DEBUG' flag from the CFLAGS)

I'm suspecting some plugin crashes have to do with LinuxThreads vs NPTL (Native POSIX Threading library), which has some different semantics. Switching mupen64 to use SDL_thread (and foregoing on pthread_kill etc) might resolve this whilst retaining binary compatibility between LinuxThreads and NPTL mupen64 setups.
The XMMS Plugin tutorial provides an example of how this would look.
 

blight

New member
just FYI: SDL's threads use pthreads on linux - so does the gtk gui... seems like it's not possible to pause a thread with SDL but it's needed for emulation pause
 

blight

New member
you were asking for a SDL plugin so i told you someone ported the mupen OSS one to ALSA - i guess you use one of these 2
if you read my post carefully you would have noticed that i told you it might be your distributions fault - compile some versions with debugging symbols or give us a coredump
 

dpw2atox

New member
ive noticed that 0.3 crashes on zelda 2 right about 10 o'clock on the final day. Ive tried different plugins and different options but no luck.

edit: oh this is for the linux version....i haven't tried the windows version.
 

Raede

M00pen sistay foor!
Hello! I recently used your Emulator and it looks promising! I am having a problem though.
I was recently using the MM rom, and it took me two days to get it work! I was so happy when it started working, (It was loading at around 6-24 FPS) but when I selected my name. The game crashed and killed it's self! Here are my specs. Please help me.


Processer: P3 733MHZ, OS: Gentoo Linux, Video card: Geforce 2 MX, Memory: 128 MB DDR RAM.
 
OP
Hacktarux

Hacktarux

Emulator Developer
Moderator
Raede: you can try again with various gfx plugins for example.... there are also various sound problems, browse the message board to find various plugin to try if it's the problem. Another possibility is if you are using gentoo's emerge script and if they have a problem with flashram : in this case it would crash because you aren't authorized to write a file in the folder mupen64 is expecting to write.
 

Raede

M00pen sistay foor!
Well. I have the plug-in's working, and got them setup. But we noticed a big problem. When we try to play a game, we looked at the log and noticed it is trying to save the savestates/gamesaves to root. So it's chrashing it because it doesn't have permission to save it to root, and we can't figure out how to make it save to a home directory. And we can't find a config to fix that problem, but if you could help us. That would be great. :)
 
OP
Hacktarux

Hacktarux

Emulator Developer
Moderator
Raede said:
Well. I have the plug-in's working, and got them setup. But we noticed a big problem. When we try to play a game, we looked at the log and noticed it is trying to save the savestates/gamesaves to root. So it's chrashing it because it doesn't have permission to save it to root, and we can't figure out how to make it save to a home directory. And we can't find a config to fix that problem, but if you could help us. That would be great. :)

Open main/gui_gtk/main_gtk.c file. You should find two functions : get_current_path and get_savespath. If you modify these functions you should be able to modify configuration as you want. The reason i have things like they are right now is because i have multiple version of mupen64 with different configurations.... It's much more convenient for developpement. In the future i guess i'll probably include an alternative that's storing config files in home folder.
 

Top