Go Back   Project64 Forums > General Discussion > Open Discussion

Reply
 
Thread Tools Display Modes
  #11  
Old 10th May 2013, 03:21 AM
shunyuan's Avatar
shunyuan shunyuan is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Apr 2013
Posts: 491
Default

Quote:
Originally Posted by FatCat View Post
"Dynarec" is an abbreviation for "dynamic re-compile".

An interpreter emulates a CPU's instruction cache on a linear, step-by-step instruction graduation process. Easier to keep track of cycles and timing among other accuracies.

A dynamic recompiler only invokes methods to generate the compiled/assembled Intel x86 (in this case) code to the instruction cache on the host machine (our PC) used to emulate the target machine (the N64), then executes that code block directly without calling a function each time.

Interpreter is more stable, usually more accurate, and avoids more issues/bugs.
Last question, thank for your reply in advance.

did you mean when using pj64 interpreter CPU core, project64 still recomiles N64 instructions to x86 instructions but one instruction by one instruction.

or the interpreter is exclusive from dynamic recompiling and dynamic recompiling only happen when using recompiler CPU core.

or interpreter and dynarec are irrelevant, depends on how the emulator is designed.

I still feel confusing.
__________________
---------------------
CPU: Intel U7300 1.3 GHz
GPU: Mobile Intel 4 Series (on board)
AUDIO: Realtek HD Audio (on board)
RAM: 4 GB
OS: Windows 7 - 32 bit

Last edited by shunyuan; 10th May 2013 at 03:26 AM.
Reply With Quote
  #12  
Old 10th May 2013, 03:30 AM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,256
Default

Uh, the second one that you said.

Interpreting an N64 machine operation follows the usual algorithm of the Fetch-Decode-Execute cycle of life. The virtual instruction copy of the real N64 MIPS instruction is executed in pure software (a function call per iteration).

Recompiling an N64 machine operation reads the real N64 MIPS instruction and writes the hardware equivalent of it on our own Intel PCs to our physical processors' instruction cache; thus it is executed in pure hardware (a function call per entire code block).

The two are entirely separate enough that one option is completely separate from the other in most cases.
You use only either one or the other.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 05:55 AM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.