Beta Mupen64Plus


Yod4z

Member
Joined
Feb 16, 2006
Messages
916
Age
43
Location
France
ok a havbe enabled the notaz oss sound plugin on the menu and now sound playing :D
 

God Ginrai

Godmaster
Joined
Nov 27, 2005
Messages
5,466
Website
Visit site
Yod4z said:
ok a havbe enabled the notaz oss sound plugin on the menu and now sound playing :D

You can use the dpad in the file selector if you don't want to use the touchscreen. ;)

-God Ginrai
 
Last edited by a moderator:

God Ginrai

Godmaster
Joined
Nov 27, 2005
Messages
5,466
Website
Visit site
Yod4z said:
yes but need too tab to have the selection on rom name

No you don't. You can do everything with the dpad. I've been doing it for days ever since I realized it.

-God Ginrai
 
Last edited by a moderator:

IzzehO

Still Fresh
Joined
Jul 5, 2010
Messages
16
Hey awesome Pandora devs! Hows progress going?

N900 now has the GTK GUI with a full installer. Getting some nice speeds on games thanks to Rev20 (several have already beaten 1080 Snowboarding) and they are all grateful for your work :p We've got PS3 controllers, accelerometers and Wiimotes syncing up with this beast of an emulator, so its proving to be a great portable multiplayer console.

As such, I'd have one small request to look at Golden Eye multiplayer, as it runs very nicely... just the top screen has white, seizure inducing, flickering. Granted a lot of games are still buggy, but this seems like a pretty small issue thats holding back an entire game.
 

EvilDragon

Administrator
Staff member
Joined
Mar 4, 2003
Messages
29,923
Age
45
Location
Ingolstadt
Rev20? Is that a new version out for the N900 yet but not for the Pandora?
Speedups sound good :)

Well, just tried notaz Sound plugin and have to say: Nice work :) Crystal clear sound, way less stuttering :D
 

Exophase

Nothing good will ever come of Exophase.
Joined
Sep 21, 2006
Messages
10,307
Age
39
Location
Cleveland OH
Hum, so the audio plugin really is just streaming resampled music, no HLE included... I'm surprised this ever took a very noticeable amount of CPU at all, much less one that was any cause for concern.

Indeed, resampling to the closest rate is probably the worst choice in terms of audio quality, especially when using nearest neighbor like this is. Sticking with 44100 or 48000 (whichever is more likely to be what's actually used on the N64, I guess) and using some resampling filter would probably sound a lot better. If speed is actually a concern than a simple NEON based resampler with prefetching would probably be a lot faster, but it's really hard for me to imagine resampling to less than 200KB a second being a drain if pixel doubling nearly 9MB/s to 36MB/s is only a couple ms at most.
 

God Ginrai

Godmaster
Joined
Nov 27, 2005
Messages
5,466
Website
Visit site
EvilDragon said:
Well, just tried notaz Sound plugin and have to say: Nice work :) Crystal clear sound, way less stuttering :D

Seriously? None of you guys are getting that popping noise? I stopped using notaz's version because when the normal sound plugin would just pause while it was overwhelmed with sound data, notaz's would make this popping sound that seemed damaging to my speaker.

-God Ginrai
 
Last edited by a moderator:

ari64

Magic Emulator Fairy
Joined
Aug 26, 2009
Messages
560
Adventus said:
It works perfectly up until you hit someone in the game. If i remember correctly, At that point it throws an assert
See if this fixes Super Smash Bros:

Code:
--- ../Mupen64Plus-1-5-src-arm-20100627/r4300/new_dynarec/new_dynarec.c	2010-06-27 16:38:55.000000000 -0400
+++ r4300/new_dynarec/new_dynarec.c	2010-07-13 09:31:14.453000100 -0400
@@ -8584,6 +8584,7 @@
       if(i<slen-1) {
         for(hr=0;hr<HOST_REGS;hr++) {
           if(regmap_pre[i+1][hr]>=0&&get_reg(regs[i+1].regmap_entry,regmap_pre[i+1][hr])<0) nr&=~(1<<hr);
+          if(regs[i].regmap[hr]!=regmap_pre[i+1][hr]) nr&=~(1<<hr);
           if(regs[i].regmap[hr]!=regmap_pre[i][hr]) nr&=~(1<<hr);
           if(regs[i].regmap[hr]<0) nr&=~(1<<hr);
         }
 
Last edited by a moderator:

notaz

Certified Guru
Joined
Aug 23, 2005
Messages
4,913
Location
Lithuania
Website
notaz.gp2x.de
Exophase said:
Hum, so the audio plugin really is just streaming resampled music, no HLE included... I'm surprised this ever took a very noticeable amount of CPU at all, much less one that was any cause for concern.
It's something to do with SDL overheads, getting rid of that does give noticeable improvement.

Exophase said:
Sticking with 44100 or 48000 (whichever is more likely to be what's actually used on the N64, I guess) and using some resampling filter would probably sound a lot better.
It's resampling to closest higher rate than the one setup on N64 by games. But for some reason resampling to 44kHz when game sets 32kHz (like Mario64 does) seems to sound better than just outputing 32kHz (which is mostly passthrough). I think it has something to do with pandora's DAC.
 
Last edited by a moderator:

silver

Member
Joined
Oct 12, 2008
Messages
174
notaz said:
It's something to do with SDL overheads, getting rid of that does give noticeable improvement.

Does this apply to all SDL programs? (I believe the Mame106 build and uae4all also use SDL)
 
Last edited by a moderator:

Exophase

Nothing good will ever come of Exophase.
Joined
Sep 21, 2006
Messages
10,307
Age
39
Location
Cleveland OH
notaz said:
It's something to do with SDL overheads, getting rid of that does give noticeable improvement.

Are you sure it's SDL and not dmix? I haven't noticed performance improvements when not using SDL, but I'm still using the same callback style in a separate thread that it uses. This might not match well with the emulator.

At any rate, you should definitely use some kind of filtering when resampling.
 
Last edited by a moderator:

Adventus

GP Mania
Joined
Oct 1, 2007
Messages
487
Age
34
Location
Canberra, Australia
Heres a new version: Mupen64Plus R1B3

I'll update the gles2n64 SVN when it stops giving me this error "Error: Server sent unexpected return value (500 Internal Server Error) in response to Error: MKACTIVITY request for '/svn/!svn/act/9c47c7ce-e1cd-0e45-82e1-ed3724f4ce3d' "

Changes from previous:
- Improved triangle buffering. Due to the low amount of RAM the RSP had access to it could only store ~32 (64 in FZero X's case) transformed vertices at one time. This meant that some programs loaded in 32 vertices and drew them, then directly after loaded in the next 32. My optimisation involved dynamically mapping these 32 vertex locations to a 256 sized buffer and only flushing the buffer when a state change occurs or its full. I used this size so i could continue using UNSIGNED_BYTE index buffers in GL (and i don't think many models actually exceeded 256 verts). With my current fairly naive implementation, The initial scene of Super Mario's Bob-Bomb battlefield (the first level) went from 318 draw calls (21 vertices per call) to 116 draw calls (57 vertices per call) which resulted in it going from ~18 fps to ~21 fps. This is pretty much best case scenario though, Other games do not show any improvement ie Banjo Kazooie. Anyway it makes a noticeable difference in some games.
- More robust frame skip. Should work with most games now.
- Added support for noise and k4/k5 in combiner. I haven't been able to test noise yet though, i can't find anywhere where its used.... apparently the invisibility effect of sm64 uses it.... but i'm not up to that bit yet.
- Redid texture cache. Added support for using IA textures. For some reason though using IA texture in some games causes a null pointer exception, so they're off by default.
- Fixed Wave Race 64 menu, have no idea how i did it...
- I also broke clipping so don't enable it. :)
- Various other fixes.

I planned on making a bigger release, trying to fix tony hawk / starcraft, but i guess there not much point keeping it to my self.

I've noticed SDL audio plugin has a bit of overhead, so I wrote my own that I think is more tuned for pandora:
Thanks, seems to be a bit better. I have included it in the newest release.

See if this fixes Super Smash Bros:
Nice one, it works perfectly now. I will include the change in the next release.

As such, I'd have one small request to look at Golden Eye multiplayer, as it runs very nicely... just the top screen has white, seizure inducing, flickering. Granted a lot of games are still buggy, but this seems like a pretty small issue thats holding back an entire game.
Hmmmm I see what you mean. Looks like its updating the the bottom screen on every even frame and the top one on every odd frame.

Rev20? Is that a new version out for the N900 yet but not for the Pandora?
Speedups sound good
rev20 refers to the graphics plugin, its basically the same except with more robust frameskip code (so 1080 snowboarding works, etc).

Edit: Nice catch Notaz, that could have confused some people....
 

notaz

Certified Guru
Joined
Aug 23, 2005
Messages
4,913
Location
Lithuania
Website
notaz.gp2x.de
Exophase said:
Are you sure it's SDL and not dmix? I haven't noticed performance improvements when not using SDL, but I'm still using the same callback style in a separate thread that it uses. This might not match well with the emulator.
It's either SDL or the way it's being used. I'm sure the drop is much more than 2-3% that was previously measured on dmix.

Adventus said:
Heres a new version: Mupen64Plus R1B3
Looks like you used the old link, right one is here.
 
Last edited by a moderator:

IzzehO

Still Fresh
Joined
Jul 5, 2010
Messages
16
Adventus said:
I'll update the gles2n64 SVN when it stops giving me this error "Error: Server sent unexpected return value (500 Internal Server Error) in response to Error: MKACTIVITY request for '/svn/!svn/act/9c47c7ce-e1cd-0e45-82e1-ed3724f4ce3d' "

Fantastic. We N900 users will be waiting :D

Australia for the win by the way, cold in Canberra at the moment? :p

EDIT: Super Smash Bros appears to run bug free for me. With frameskip=3 its practically full speed.
 
Last edited by a moderator:

PokeParadox

Founder of Pirate Games - Penjin Coder
Staff member
Joined
Dec 8, 2005
Messages
6,603
Age
39
Location
UK
Website
pokeparadox.itch.io
WEBSITE
https://github.com/pokeparadox
YOUTUBE
pokeparadox
Adventus said:
Heres a new version: Mupen64Plus R1B3
Well definitely feels faster.
So far I've noticed:
F Zero X - the spinning track preview now doesn't render properly. (But it's very very playable in game with sound!)
Wave Race - the Green "Go!" lights are set too far down. But congrats on fixing the menus :D
EDIT: Forsaken runs PERFECTLY! although... very tricky to control on nubs...
 
Last edited by a moderator:

javispedro

Still Fresh
Joined
Mar 6, 2010
Messages
16
Location
Barcelona
A slight gles2n64 question: shouldn't 800x480 be the default framebuffer.width/height now that viewport scaling is the default (instead of offscreen framebuffer)?

OGL.scaleX is calculated from framebuffer.width (400 by default) which causes the viewport to fill only a quarter of the display.

(I don't have a Pandora so I can't test it there).
 

neogramps

Member
Joined
Aug 31, 2008
Messages
131
Age
39
Location
Glasgow, Scotland
Website
grampsart.deviantart.com
Just tried out Ocarina of time Master Quest with the new version, using Notaz's audio plugin, and a frame render of 2 - it loads, and gets into menu, then when selecting a game file it crashes and flashed up an error about a memory error, and a possible invalid setting in a plugin. Tried to replicate again, but now it just plain old crashes to a black screen with no message and it needs a hard reboot to recover

Also, playing Mario Kart, it seems to double-up my button presses in the menu - so you can't select 1P time trials, because when you select it once, it takes you through to the next screen - not a deal breaker, but annoying. In game is awesome, sound is great, just a little slow down here and there (@750), but very playable
 

john4p

Active Member
Joined
Feb 29, 2008
Messages
992
Location
Germany
Ocarina of Time: Sound is a bit crackly now whereas it's clear with Beta 2 + notaz' sound-plugin (set to framebuffer 320x240).

Can load the progress in both versions fine though.
 
Top