N64 Emulator In The Work For Pandora


Exophase said:
Ari64 said:
Exophase said:
There's no audio right now right? What could be taking up so many cycles outside of recompiled code??
That was with audio.

I wonder if the audio plugin used can be optimized further any either. At any rate, people (not me) are often willing to play without audio if it means the difference between fullspeed and not very full speed.

Doubt it. You need both for the full experience...

Well, at least you know my opinion ;)
 
Last edited by a moderator:
MrBlais said:
Doubt it. You need both for the full experience...

Well, at least you know my opinion ;)
I'm with you there, I prefer full audio for the full experience as well. I'll usually suffer with a few fps loss if I can have sound. I mean, a lot of the memories I have of games are often because the audio was memorable. Reduced quality audio, now that's a bit different. I'd settle for 22KHz sound over 44KHz sound if it means I'll get better speed.
 
Last edited by a moderator:
The sounds and music in a game like Zelda is so much of the experience...

The DSP for audio isnt going to work?

Has an overclock been tried yet?

Rather then customizing the emulator for specific games would it be possible just to use pandoras dynamic clock speed (overclock) to prevent slowdowns?
 
MDave said:
Ari64 said:
cb88 said:
acutally the reason it only runs 1/5 speed is because that is all that is needed for most games... they don't use the full cpu power
Nothing on N64 uses the full cpu power, because the memory is too slow.

I wonder what sort if games we would of seen if the hardware flaws (correct me if I'm wrong?) didn't exist :p What a waste of a good CPU.
Not so much hardware flaws as cost-cutting measures. Unlike Sony, Nintendo does not sell their hardware at a loss. Fast memory and a larger cache would have been more expensive.

You could say the same thing about a lot of their other decisions, like dropping the SNES coprocessor, or reusing the Gamecube design in the Wii.
 
Last edited by a moderator:
Sony is a large enterprise, while Nintendo's main source of revenue is their consoles, so while Sony can afford to just make profits on royalties on games, Nintendo cannot.
 
I meant having audio OPTIONALLY OFF for a WIZ port. Get a grip people.

So long as it's not an LLE audio plugin being used then reducing the sound sample rate should have an almost linear reduction in CPU time.

Really, Nintendo could have dropped some of the features on the N64 to free transistors for more internal memory. Making the CPU 64bit was completely frivolous (except for marketting.. which I doubt would have mattered if they just glossed over it with something else, hell, their next two consoles were 32bit!) and it really didn't need an MMU that much either. Porbably didn't reall need an FPU. With such small texture memory mip-mapping wasn't very useful, and I also think coverage features were less important than higher detail textures. They probably would have been well off making smarter memory than just more/faster, ie some associativity in the CPU L1 cache and making a texture cache instead of small texture RAM. And split the memory away from a unified architecture - what was the point when the texture memory wasn't part of the unification? May as well have just made the main memory (make it non-RDRAM at that) 2-3MB and give the RDP some memory for framebuffer/backbuffer/whatever.

Nintendo had a lot of features in the SNES that were rarely used that could have been dropped from design too, like a lot of graphical features and 6502 compatibility mode (granted, that really came with the CPU).
 
I totally agree Expophase, Nintendo added a lot of frills to their design with quite a blatant flaw staring them right in the face. But I'm sure there was a reason they didn't rectify it, although I don't know why, perhaps you can enlighten me in this regard.
 
Hindsight is 20/20 and they were taking things in pretty new directions with new technologies. 3D console gaming in particular was still pretty young. They're also not the only company to get burned by RAMBUS.. on the other hand, PS2 did pretty well with it.
 
I believe one of the things (besides of course great soundtracks stemming from large cd data capacity) that kept the PS1 on par/better in some aspects than the N64 is the far better textures. I.E some relatively early ps1 games like Soul edge, also known as Soul blade in some areas had quite good textures and didn't have blocky models either. Whereas quite a few N64 games used Gorraud shading.
 
Luftwaffles said:
I believe one of the things (besides of course great soundtracks stemming from large cd data capacity) that kept the PS1 on par/better in some aspects than the N64 is the far better textures. I.E some relatively early ps1 games like Soul edge, also known as Soul blade in some areas had quite good textures and didn't have blocky models either. Whereas quite a few N64 games used Gorraud shading.

/me points at the skyboxes in Spyro :)

D.
 
Last edited by a moderator:
Ari64 said:
MDave said:
Ari64 said:
cb88 said:
acutally the reason it only runs 1/5 speed is because that is all that is needed for most games... they don't use the full cpu power
Nothing on N64 uses the full cpu power, because the memory is too slow.

I wonder what sort if games we would of seen if the hardware flaws (correct me if I'm wrong?) didn't exist :p What a waste of a good CPU.
Not so much hardware flaws as cost-cutting measures. Unlike Sony, Nintendo does not sell their hardware at a loss. Fast memory and a larger cache would have been more expensive.

You could say the same thing about a lot of their other decisions, like dropping the SNES coprocessor, or reusing the Gamecube design in the Wii.


Ari64, do you have a paypal account so we can make donations? I'm sure one or two of us would like to make a small donation for your hard work....
 
Last edited by a moderator:
jonlad1 said:
Ari64, do you have a paypal account so we can make donations? I'm sure one or two of us would like to make a small donation for your hard work....
I'd also like to thank you that way, but i pay as soon i see videos! :p ;)
 
Last edited by a moderator:
Atually I realised the bottleneck was the ram.. but that doesn't mean it was a cost cutting measure you see RDRAM is expensive (perhaps it wasn't at the time though I doubt that since my friend paid a pretty penny for it in his PII system back around that same time)  RDRAM was ill engineered from what I have heard heat issues and small size in Mb and latency plagued it I figure it is the latency that makes it soo inefficient since the theoretical throughput was arround 600Mb/s according to wikipedia  correct me if I am wrong on this but it probably would have been better to have used slow clocked PC100 or perhaps even PC66 since that would still be around 240MB/s (i calculated wrong apprently theoretically it could do twice that http://worldlingo.com/ma/enwiki/en/PC66) with lower latency for the PC66 I wonder how those would have compared pricewise at the time probably not too bad for 4Mb
 
Exophase said:
Making the CPU 64bit was completely frivolous (except for marketting.. which I doubt would have mattered if they just glossed over it with something else, hell, their next two consoles were 32bit!)
Nintendo 32 soesn't really have the same ring to it
 
Last edited by a moderator:
atomicthumbs said:
Exophase said:
Making the CPU 64bit was completely frivolous (except for marketting.. which I doubt would have mattered if they just glossed over it with something else, hell, their next two consoles were 32bit!)
Nintendo 32 soesn't really have the same ring to it
True, but they could call it Nintendo(any number), it doesn't have to reflect anything about the architecture. It's not like the Xbox 360 is 360 bits or anything.
 
Last edited by a moderator:
Hey! I made a crappy video of Super Mario 64 running on an IPAQ H2210 running Ubuntu!
http://www.youtube.com/watch?v=ZU7RVEVgIVo
I plan on re-doing it when I get a REAL camera, but until then, feast your eyes on it!
I had to change two lines of assembly to make it work: I replaced the Thumb-2 instruction UXTH with its ARMv5 equivalent.
All OpenGL rendering is done on the CPU, hence this is SLOW. It did run fast with the dummy video plugin - I could actually hear the sounds!
Anyway, stay tuned - I might get this playable! (If I can get the Soft GFX plugin to work... fat chance.)

Gilberto
 
Last edited by a moderator:
Gilberto Tanzola said:
Hey! I made a crappy video of Super Mario 64 running on an IPAQ H2210 running Ubuntu!
http://www.youtube.com/watch?v=ZU7RVEVgIVo
I plan on re-doing it when I get a REAL camera, but until then, feast your eyes on it!
I had to change two lines of assembly to make it work: I replaced the Thumb-2 instruction UXTH with its ARMv5 equivalent.
All OpenGL rendering is done on the CPU, hence this is SLOW. It did run fast with the dummy video plugin - I could actually hear the sounds!
Anyway, stay tuned - I might get this playable! (If I can get the Soft GFX plugin to work... fat chance.)

Gilberto
What's the ARMv5 equivalent to uxth? Or did you use two bic instructions? I guess I should make compiling this conditional if people want to run this on various devices.

It shouldn't be that hard to sw render N64 if someone wanted to write an optimized renderer. 100k polygons and a few million texels per second is probably within the capabilities of a lot of CPUs. Maybe not a 400Mhz PXA250 though.
 
Last edited by a moderator:
Gilberto Tanzola said:
Hey! I made a crappy video of Super Mario 64 running on an IPAQ H2210 running Ubuntu!
http://www.youtube.c...h?v=ZU7RVEVgIVo
I plan on re-doing it when I get a REAL camera, but until then, feast your eyes on it!
I had to change two lines of assembly to make it work: I replaced the Thumb-2 instruction UXTH with its ARMv5 equivalent.
All OpenGL rendering is done on the CPU, hence this is SLOW. It did run fast with the dummy video plugin - I could actually hear the sounds!
Anyway, stay tuned - I might get this playable! (If I can get the Soft GFX plugin to work... fat chance.)

Gilberto

Unfortunately, appropriately software rendering something N64 level is quite demanding and a device of that caliber will never be able to pull it off at a very good speed, even with recompiled combiners. But if you take several major image quality cheats, like throwing out texture filtering and perspective correct texturing, maybe even shading altogether, then that might be a somewhat different story. If it had a PXA270 then you could use WMMX too, but it doesn't. Pandora probably wouldn't be able to handle software rendering N64 either.

Conventional wisdom states that PXA255 was not as fast per-clock as its competitors. Then again, neither is the ARM9 in the Wiz. I think both are pretty bus limited. But the iPaq might be even more so. It'd be interesting to benchmark it against the Wiz for this, with video not running on either, of course.
 
Last edited by a moderator:
Exophase are you programming or giving advice on the port?

Edit: Just wondering, i am trying to gauge progress. Wish there was a main repo for the project.
 
Back
Top