...3 GHz is required to run most games, and still even some lag. Why would emulation require 30x the clock speed of the original OS to work? I realize the code's gotta be translated, but it's usually 2-4x the original CPU.
...3 GHz is required to run most games, and still even some lag. Why would emulation require 30x the clock speed of the original OS to work? I realize the code's gotta be translated, but it's usually 2-4x the original CPU.
Depends on the hardware being emulated and how complex the hardware really is. Yes, the Nintendo 64 is very complex. "Usually" more like 10x+ faster than the original CPU is required, not 2x-4x, regardless of the hardware being emulated.
32-bit PC applications take twice as more cycles to run on a 64-bit PC for example. I was just curious why it's that intense for the N64. The roms are essentially written in C++/Assembly, right?
The ROM is "written" in VR4300 machine code. Those basic instructions have to be translated into x86 machine code, and then executed. The translation itself takes time, and usually the produced code cannot be as efficient as the original, due to architectural differences. (An operation that could be accomplished on the N64 using 2 instructions and last for 2 cycles might require 30 instructions and 40 cycles to be accurately reproduced on an x86 PC, for example.) So, the actual execution of the translated code also is much more intensive than on the original platform. For these reasons, the host platform must often be many times more powerful than the emulated platform to ensure real-time emulation.
That said, if you're having trouble reaching full speed on a 3 GHz machine though, there's a special reason, because my old 1.6 GHz Pentium 4 could run just about any game I threw at it at full speed. (Even Goldeneye and other intensive titles.)
Why do you say the n64 is 100 mhz ?
the r4300i is running at 97 mhz .. if you take out the rest I am sure it will take a lot less requirements ...
the r4300i is also 64 bit machine .. which is being emulated on a 32 bit system.
is a dual core cpu .. the second cpu the RSP is 67 mhz which has heaps of vector processing ops.
then I bet your not displaying the gfx in 320x240 ?
You are also running through an OS which adds extra overheads as well.
Last edited by zilmar; September 27th, 2008 at 04:41.
Well, a lot of Native N64 Games (like Goldeneye, Perfect Dark) had tremendous amounts of lag.
You quote 2 games which make heavy use of the TLB in a way that causes slow down in emulators. Then say a lot of games .. these do not make good examples .. It is some of the Rare games that do this .. like maybe 5 games that has this issue. There is tricks to help this but this has nothing to do with clock speed.
Obligatory "if you can do better let me see" and "they aren't paid for this" comments. How much I miss the excessive free-time I had back at the University.![]()
-Azimer
"I am not a teacher: only a fellow traveler of whom you asked the way.
I pointed ahead -- ahead of myself as well as of you." (George Bernard Shaw)
You forget it also depends on what type of emulation is being done. HLE is a whole fuckload faster than LLE.
!REVENGE!, your system has serious problems if you're not able to emulate games at full speed if you've got a CPU like that. Pretty much every 3 GHZ CPU, even a Northwood Core Celeron(I've had one of those. Used it for years. They are slow as can be.), can do fullspeed N64 emulation if you have a semi-decent graphics card(Anything above a GeForce 2 MX series card). Also, remember that a lot of N64 games had serious frame rate problems. Goldeneye and PD are the best examples among games that everyone knows about and/or has played. You can get fullspeed N64 emulation and still only get 13 FPS in the game itself.
Sad but true.
Guys, I'm not bitching about emulator bloat or nuthin like that. My old 1.5 GHz can run every game at fullspeed (except Goldeneye) with occasional but very minimal lag during intense scenes, and my new 3 GHz was problematic because my onboard video card was a cheap piece of shit that didn't support 3D textures. I was just wondering why it's so difficult to emulate the N64 system -- and wanted more insight in general, as the ins and outs of Nintendo consoles have always been full of wonders and very interesting to me.
How do x86 instructions differ from VR4300, and how come that architecture was chosen for the N64? Is the programming language they use to write the games automatically compiled to the VR4300 machine code?