Do you know what it takes to recompile code? It takes A LOT of CPU just to play N64 games on PC, you need like an 800 mhz Pentium III for Project 64, and the original console was only 93 mhz + 33 mhz RSP (it was the first 64-bit dual core console
)
You have to basically translate all the code to x86-machine code... that's right, or assembly at the least. It has to be something that's executable on your current architecture and thus it's all about knowing your target code. Playstation 2 developers wouldn't be able to make an emulator any better than the coders at PCSX2... actually they couldn't do near as good considering they programmed mainly in a format that the Emotion Engine could read.
Emulation takes 10-15x the original amount of CPU on average... that's why emulating a 333 mhz Emotion Engine takes up to a 3.5 ghz Dual Core or more.
Emulation isn't perfect either, at best it's maybe about 95% accurate with occasional bugs in the rendering or computation.. your never going to get perfect unless your using the original console, which is weak compared to your PC.
Really if your PC is too slow, your better off playing PC ports of the games...
I love GTA: San Andreas on PC, I used to play it all the time on PS2 but on PC it's spectacular, I'm sure it probably wouldn't run full speed on my crap Pentium IV, but you know.... you can't always win when it comes to emulation..
I can't run Goldeneye 007 full speed using the interpreter on Project 64 1.6... I get double the framerate PCSX2 gives me without speedhacks, but it still isn't enough. The recompiler gives me up to 3-4x the speed the interpreter does.
On PCSX2 if I use all interpreters I get like 3-4 FPS... that's terrible.