Time To Rejoyce? N64 Goldeneye!?


Pickle said:
Update: Ive been able to run goldeneye through the demo, the ingame demo was slow and the graphics blurred at points. I ran without sound.
Also the gtk gui works.
Super mario speed seems about the same.
Have not overclocked.
Input isnt working, think i need the latest plugin from Fox
 
Last edited by a moderator:
Ari64 said:
Checking the page table on every memory access slows it down about 5%. Saving all the registers whenever a potentially non-mapped memory access is detected, in case a page fault occurs, adds another 1% or so.

If the game never enables the TLB, then we can avoid that 5% slowdown. There is also some overhead for self-modifying code detection, but this varies from game to game. Many games use the TLB only for data and not executable code.

If the memory subsystem was faster, the performance difference would be a bit more than 5% (I saw around 7-8% on x86).
Sounds like that's not too bad, then. Thanks for the clarification!

(I wish I knew more about this stuff, and more to the point, remembered it - I learned generally about virtual memory and TLBs and so forth in an introductory class, but it was very little, and not taught in such a way as to be useful.)
 
Last edited by a moderator:
What exactly does this mean? Playable speeds of Goldeneye on Pandora?

Sorry, it's quite early! (YEah, 12 is early... for the weekend anyway). :p
 
Tokiopop said:
What exactly does this mean? Playable speeds of Goldeneye on Pandora?

Sorry, it's quite early! (YEah, 12 is early... for the weekend anyway). :p

See this is why I was telling kingoddball to stop being so unclear about what he was saying. No, it doesn't mean playable speeds. It means it's runnable. There's a lot more work to be done, and it's possible with overclocking and once some bugs are fixed it'll be playable, but don't ASSUME it will be.
 
Last edited by a moderator:
rabidpoobear said:
Tokiopop said:
What exactly does this mean? Playable speeds of Goldeneye on Pandora?

Sorry, it's quite early! (YEah, 12 is early... for the weekend anyway). :p

See this is why I was telling kingoddball to stop being so unclear about what he was saying. No, it doesn't mean playable speeds. It means it's runnable. There's a lot more work to be done, and it's possible with overclocking and once some bugs are fixed it'll be playable, but don't ASSUME it will be.
Okay, thanks for clearing that up!

Still, it's fantastic that it will run.
 
Last edited by a moderator:
JayFoxRox said:
(04:17:53 PM) Pickle: man golden eye is slow :)
It seems to run okay until it hits something that invalidates the cache and then it ends up recompiling a lot. I plan to restructure the dynarec cache so that it's physically indexed, that way writes to code pages in virtual memory will only invalidate the one page that actually got written to.

Goldeneye is kind of unique in how it maps a lot of code pages. Other games which use the TLB, but keep most of their code in direct-mapped memory work okay (eg Paper Mario, Killer Instinct).

I did also get Banjo-Tooie to work. This game does not use the TLB at all. Instead it has what can be described as a DLL loader and dynamic linker. It loads code modules and patches a big jump table. When it frees memory, it replaces the jump instructions with syscalls which cause the functions to be re-loaded on demand.
 
Last edited by a moderator:
Ari64 said:
Other games which use the TLB, but keep most of their code in direct-mapped memory work okay (eg Paper Mario, Killer Instinct)
Oooh, Paper Mario! What kind of speeds are we talking about here?

Get this guy a Pandora! :D
 
Last edited by a moderator:
It's just another step towards our goal. I can't even pretend to understand a lot of the things that you're all trying to do, to make it work. Keep up the *great* work.
 
God Ginrai said:
... Is Lunatic even a dev? Just because one user says something doesn't mean it's truth. I wouldn't take much stockn in a comment like that unless it came from someone like Ari, Exophase, Squidge, etc.

-God Ginrai
Yes, please take anything I say with a grain of salt. Especially when it comes to emulation. I just made that comment because Banjo Kazooie and others have been somewhat unplayable on several emulators for a long time.

Edit: hopefully by this time next year once I've taken some assembly classes I can be a better source of information.
 
Last edited by a moderator:
Awakening said:
Oooh, Paper Mario! What kind of speeds are we talking about here?
Paper Mario speed is fine but the graphics are glitched.

Trying to optimize Goldeneye is really frustrating. The virtual->physical mapping in the code cache is just one issue. The game is so large that it tends to fill the cache and cause evictions, and the current hash table is not optimal for something this large. Also needs frameskip to keep up with the rendering.
 
Last edited by a moderator:
Thanks for the new Ari!
Any news is good news!

Do you think it will ever be playable? Does perfect dark have the same issues? It's virtually Goldeneye 2.
 
Perfect dark is hell on emulators. It's Goldeneye + quite a bit more.
One step at a time, let's all just wait and see if Goldeneye will run.

Thanks for all the (extremely) hard work!
 
Goldeneye is a very difficult game to emulate correctly. In addition to putting all its code in virtual memory, it also disables interrupts a lot, which was causing the emulator to lose interrupts. This problem should be fixed in the latest version.
 
Ari64 said:
Goldeneye is a very difficult game to emulate correctly. In addition to putting all its code in virtual memory, it also disables interrupts a lot, which was causing the emulator to lose interrupts. This problem should be fixed in the latest version.
i just hope perfect dark will run fine :D
 
Last edited by a moderator:
Goldeneye! I think i'd still be happy enough playing it at half fps, just to be able to play it portably. Besides, I tend to notice things like frameskip less and less the smaller the screen :D
 
Viral18 said:
Goldeneye! I think i'd still be happy enough playing it at half fps, just to be able to play it portably. Besides, I tend to notice things like frameskip less and less the smaller the screen :D
At this point, I guess they'd be lucky to get half speed, much less full speed with half FPS.
 
Last edited by a moderator:
I don't know but it seems that N64 on the Pandora is a dissapointment. I know it is early but it is sounding more and more like N64 will be to Pandora as PSX was to Wiz, barely playable and for only a few games. I mean playing games with no sound, just to be honest, sucks. I guess the Pandora SoC is just not quite powerful enough to pull it off. I am hoping at least PSX will be much more doable.
 
Back
Top