What's new

your games are hanging every seconds or so on linux while sound is still smooth ?

OP
Hacktarux

Hacktarux

Emulator Developer
Moderator
are u using savestates or native saves ? I'd really like to have the save file you're using a few minutes before it happens.... otherwise i don't see how i can try to fix it :/
 

linemu

New member
Hacktarux said:
are u using savestates or native saves ? I'd really like to have the save file you're using a few minutes before it happens.... otherwise i don't see how i can try to fix it :/

Just tested something. You don't need a special savestate. Just start a new game and play around for a while. After about 5 minutes or more it should freeze up. Actually it was strange this time... first the sound plugin died (sound shut off) and the game started going at HHIIIGHH speed. Then the sound re-initialized and the game froze. WEIRD. It froze up in the little area where the kokiri sword is.
 
OP
Hacktarux

Hacktarux

Emulator Developer
Moderator
Concerning the main topic of this thread... i need some people to test this audio plugin (by leaving the new_frame and new_vi functions commented).....

And if you didn't see, there's also a gfx plugin to test posted in the middle of the zelda bug discussion in this thread.
 

linemu

New member
Hacktarux said:
Concerning the main topic of this thread... i need some people to test this audio plugin (by leaving the new_frame and new_vi functions commented).....

And if you didn't see, there's also a gfx plugin to test posted in the middle of the zelda bug discussion in this thread.

Seems more like a NO SOUND plugin. When I enable this, sound fails to initialize many games are incompatible, and things run at outragous speeds.
 

mafiosnik

New member
YES! u did it hack! games run at fullspeed without any problems and this ist great. :)

sound is pretty bad and some games which worked before do not work now. hope i could help u a bit.

ricedeadalus still does not work :(

Initializing OpenGL Device Context
(II) Initializing SDL video subsystem...
(II) Getting video info...
(II) Setting video mode 800x600...
NVIDIA Corporation - GeForce2 GTS/AGP/3DNOW! : 1.4.0 NVIDIA 44.96
demarrage r4300
interprétation
Signal number 4 caught:
errno = 0 (Success)
Xlib: unexpected async reply (sequence 0x7b50)!
gentoo mupen64-0.3 #
 
Last edited:

Gaenya

New member
mafiosnik said:
YES! u did it hack! games run at fullspeed without any problems and this ist great. :)

sound is pretty bad and some games which worked before do not work now. hope i could help u a bit.

ricedeadalus still does not work :(

Initializing OpenGL Device Context
(II) Initializing SDL video subsystem...
(II) Getting video info...
(II) Setting video mode 800x600...
NVIDIA Corporation - GeForce2 GTS/AGP/3DNOW! : 1.4.0 NVIDIA 44.96
demarrage r4300
interprétation
Signal number 4 caught:
errno = 0 (Success)
Xlib: unexpected async reply (sequence 0x7b50)!
gentoo mupen64-0.3 #
Same here ....
:cry:
 

Soggie

New member
Hacktarux said:
test this audio plugin (by leaving the new_frame and new_vi functions commented).....

Tested with mupen-0.3 binary (as released), with tr64 and/or mupen64_gfx, with the binary mupen64_audio.so, I get:

rom size: 8388608 bytes (or 8 Mb or 64 Megabits)
file found
rom size: 8388608 bytes (or 8 Mb or 64 Megabits)
byteswaping rom...
rom byteswaped
rom loaded succesfully
80 37 12 40
ClockRate=f
Version:1444
CRC: 635a2bff 8b022326
name: SUPER MARIO 64
Manufacturer: Nintendo
Cartridge_ID: 4d53
Country : United States
size: 4096
PC= 80246000
md5 code:20B854B239203BAF6C961B850A4A51A2
init timer!
memory initialized
[blight's SDL input plugin]: version 0.0.8 initialized.
demarrage r4300
interpréation
error getting sample count
error getting sample count
error getting sample count
error getting sample count
[...]
(ad infinitum..)

The output window is open, but stays black.

Starting mupen with './mupen64 &> /dev/null' fixes this (all those (f)printfs take too much time on an anti-aliased gnome-terminal, I guess)

The sound works, and gameplay is smooth (no more halting every second). The Mario64 intro screen (with the light reflections on Mario's head) now runs at 22fps, as opposed to 12fps with new_vi and new_frame. (The other parts of Mario64 run at about 30fps, both with new_vi+new_frame+old-mupen64_audio and binary-mupen64-0.3+test-mupen64_audio)

The sound in the other parts of Mario64 (ie, not the intro) sounds more 'crackled' with the new mupen64_audio plugin you posted than with new_vi + new_frame + old mupen64_audio plugin.

(version numbers for mupen64_audio test releases might clear up confusion)
 
OP
Hacktarux

Hacktarux

Emulator Developer
Moderator
mafiosnik said:
hope i could help u a bit.

You can and i've already said what i need... someone who can test the plugin without SSE option and someone who can compile mupen64 and the plugins with -g option (don't forget to comment strip command line in the makefile when you compile) and try it using gdb... then gdb will tell what's the line in the source code that's making things crashing, finally type "where" and give me the gdb output.
 
OP
Hacktarux

Hacktarux

Emulator Developer
Moderator
Here is another audio plugin to test... let's call it mupen64 0.1b to understand what we're talking about but don't consider it as a stable release.... it's only there for testing purpose ;)

I've slightly improved sync and i've added an option to configure the buffer size, try it and tell me the best value on your system.
 

Gaenya

New member
Hacktarux said:
You can and i've already said what i need... someone who can test the plugin without SSE option and someone who can compile mupen64 and the plugins with -g option (don't forget to comment strip command line in the makefile when you compile) and try it using gdb... then gdb will tell what's the line in the source code that's making things crashing, finally type "where" and give me the gdb output.
Hacktarux, if you post a step by step of how to do the debug maybe i could help, i havent used gdb so i dont know how to use it, but i want to help.
 
OP
Hacktarux

Hacktarux

Emulator Developer
Moderator
Gaenya: you have to recompile every plugins and the core with debug options : edit the Makefile, add -g option in gcc options line and remove the that's calling strip command.

After everything is compiled and ready, go in mupen64 folder and type:
"gdb mupen64"

run the application by typing:
"run"

when it crashes gdb will tell at which line it's crashing
after that type
"where"
it'll give some additionnal informations that will help me hopefully.
Finally give me everything that has been outputed by gdb :)
 

Gaenya

New member
Hacktarux said:
Gaenya: you have to recompile every plugins and the core with debug options : edit the Makefile, add -g option in gcc options line and remove the that's calling strip command.

After everything is compiled and ready, go in mupen64 folder and type:
"gdb mupen64"

run the application by typing:
"run"

when it crashes gdb will tell at which line it's crashing
after that type
"where"
it'll give some additionnal informations that will help me hopefully.
Finally give me everything that has been outputed by gdb :)

Im getting this when compiling the rice plugin
Code:
g++  -DUSE_GTK `sdl-config --cflags` `gtk-config --cflags` -O3 -mcpu=athlon -ffast-math -funroll-loops -fomit-frame-pointer -msse -mmmx  -c -o DaedalusGraphics.o DaedalusGraphics.cpp
unique.h: In static member function `static T* CUnique<T>::Get() [with T = 
   CProfiler]':
DaedalusGraphics.cpp:308:   instantiated from here
unique.h:80: error: `assert' undeclared (first use this function)
unique.h:80: error: (Each undeclared identifier is reported only once for each 
   function it appears in.)
unique.h: In static member function `static void CUnique<T>::Destroy() [with T 
   = CProfiler]':
DaedalusGraphics.cpp:769:   instantiated from here
unique.h:72: error: `assert' undeclared (first use this function)
make: *** [DaedalusGraphics.o] Error 1
Keep in mind that gentoo upgraded gcc to 3.3.1, so maybe thats the problem.

So far this is the info i could give you
Code:
rom size: 8388608 bytes (or 8 Mb or 64 Megabits)
file found
rom size: 8388608 bytes (or 8 Mb or 64 Megabits)
byteswaping rom...
rom byteswaped
rom loaded succesfully
80 37 12 40
ClockRate=f
Version:1444
CRC: 635a2bff 8b022326
name: SUPER MARIO 64      
Manufacturer: Nintendo
Cartridge_ID: 4d53
Country : United States
size: 4096
PC= 80246000

md5 code:20B854B239203BAF6C961B850A4A51A2
init timer!
[New Thread 32769 (LWP 4449)]
[New Thread 16386 (LWP 4450)]
memory initialized
Initializing OpenGL Device Context
(II) Initializing SDL video subsystem...
(II) Getting video info...
(II) Setting video mode 640x480...
NVIDIA Corporation - GeForce4 MX 420/AGP/3DNOW! : 1.4.0 NVIDIA 44.96
[New Thread 32771 (LWP 4451)]
demarrage r4300
interprétation
Program received signal SIGILL, Illegal instruction.
[Switching to Thread 16386 (LWP 4450)]
0x40d998e9 in SetVIScales() ()
   from /mnt/datos/downloads/emu64/plugins/ricedaedalus.so
(gdb) where
#0  0x40d998e9 in SetVIScales() ()
   from /mnt/datos/downloads/emu64/plugins/ricedaedalus.so
#1  0xc3a00000 in ?? ()
 
Last edited:

mafiosnik

New member
compiled all plugins without problems including ricedeadalus! (gcc version 3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r1, propolice))

after emulator crashes and typing "where":

Initializing OpenGL Device Context
(II) Initializing SDL video subsystem...
(II) Getting video info...
(II) Setting video mode 640x480...
NVIDIA Corporation - GeForce2 GTS/AGP/3DNOW! : 1.4.0 NVIDIA 44.96
[New Thread 32771 (LWP 22952)]
demarrage r4300
interprétation

Program received signal SIGILL, Illegal instruction.
[Switching to Thread 16386 (LWP 22951)]
0x40d828a7 in SetVIScales () at DaedalusGraphics.cpp:472
472 if( abs((int)(windowSetting.fViWidth - width) ) < 8 )
Current language: auto; currently c++
(gdb) where
#0 0x40d828a7 in SetVIScales () at DaedalusGraphics.cpp:472
(gdb)


where are the outputfiles of gdb? could not find anything.
 

blight

New member
the output is right in front of your eyes :p gdb doesn't creaty any files unless you tell it to ;)
maybe you can disassemble the function?
(gdb) disassemble 0x40d828a7

Program received signal SIGILL, Illegal instruction.
[Switching to Thread 16386 (LWP 22951)]
0x40d828a7 in SetVIScales () at DaedalusGraphics.cpp:472
the red number is the address to disassemble - it might change every time you run it
 

mafiosnik

New member
oh.. good to know blight ;) ok.. here comes the disassembe output.

have fun :p

EDIT:
hmm.. seems to be too long ... i can send u an e-mail if u want.
 
Last edited:

blight

New member
or just paste the part at address 0x40d828a7 or whatever (plus some lines above and below of course ;))

hmm... what if it happens in another thread and we're looking at the wrong place? i have seen GDB do weird things ;)
 

mafiosnik

New member
ah.. the new audio plugin is cool! best configuration for me is to set the sample rate to 12-13! much better then the previous one! :) at 16 the sound is great but mupen still hangs.
 

Top