Changes

Jump to navigation Jump to search

Nintendo 64 emulators

179 bytes added, 04:04, 21 February 2016
High-level vs. low-level graphics
One of the biggest hurdles in the road to proper N64 emulation has been accurately emulating the N64's graphics hardware, known as the Reality Display Processor, itself a part of the N64's Reality Co-Processor. The N64's RDP was the first real 3D accelerator GPU on consoles. In fact, it was the most powerful consumer-grade GPU in the world at the time it came out. It is very hard to emulate all of its functions accurately due to the RDP's complexity & flexibility. Many RDP functions in addition have to be reproduced in software for accuracy, which takes a lot of processing power.
For this reason, most developers have instead opted to approximate the RDP's functions using high-level emulation (HLE) through various APIs such as Direct3D, OpenGL, and even Glide. While this results in much more reasonable system requirements for emulation along with prettier, higher resolution graphics, this method can be hit and miss, often requiring per-game tweaks and settings to prevent graphical glitches on many games. Some games that implemented custom graphics microcode (which has yet to be reverse-engineered) such as Factor 5's games do not work no matter what using high-level graphics plugins. Other games may have issues such as framebuffer access, various VI issues as well issues with how combiner/blender modes are emulated (such as noise issues and combiner accuracy).
Low level emulation can be handled in two ways, complete low level software emulation, or a hybrid approach of LLE RDP emulation which involves using graphics APIs to simulate the RDP while using low level RSP emulation to emulate the graphics microcode. Low level software emulation of the RDP involves replicating all RDP functionality in software, which allows for very high accuracy, but can suffer from major performance issues, unless optimizations such as vectorization and multithreading are performed. Hybrid LLE emulation can allow for performance enhancement over low level software RDP emulation, but can suffer from various problems due to things such as replicating the N64's numerous blending/combine modes, emulating framebuffer access and replicating how polygons are rasterized to the screen.
10
edits

Navigation menu