Register caching is a process in which native registers (x86) are allocated to represent emulated virtual machine registers (N64 MIPS). When Register Caching is set to No, this feature is off, and the process is simple: for the current ROM instruction, load the emulated virtual machine registers into native machine registers, perform an operation, and then write the result back to the proper emulated register located in memory.
This method is effective, but slow because at each instruction we need to load data from memory and write data back to memory. With register caching, a data structure is used to remember which native registers correspond to what emulated registers. This way, we can use registers to perform multiple instructions in sequence without the need to load and store them at every instruction. The end result is more speed.
Use Register Caching = int(0, 1, 2)
Use Register Caching=1
- On is faster. It is an advanced part of the dynarec, and briefly explained in the 1964 compiler doc.
|1964 Settings||1964 0.85||1964 1.1|