Why in emulateion do you only have interpert and dyn recompiler. would it not be possable to read the whole game and convert it to the binary format needed or at least a intermate langauge for the emulator to use.
Theoretically you probably could do something like that, especially if you were willing to help it along on a game by game basis. Practically you want to look up something called the halting problem. There are some great advancements happening (decompilation of C is surprisingly useful these days) but you are still going to run into the halting problem.
This process is called static recompilation and is possible in some cases. There is a good article about doing it with NES games here. There are many problems with this approach though, if code modifies itself for example (it is not uncommon for binaries to be decompressed at runtime).
From the conclusion of the article:
After completing this project, I believe that static recompilation does not have a practical application for video game emulation. It is thwarted by the inability to completely disassemble a game without executing it as well as the fact that multiple systems are executing in parallel, possibly causing interrupts in the game code. There is a constant struggle between correctness and optimized code. Nearly all optimizations must be tossed out the window in the interest of correctness. Even more compromises would have to be made to start supporting advanced emulator features such as saving state or rewinding.