was an emulator
In computing, an emulator is hardware or software or both that duplicates the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system...
for the Nintendo 64
The , often referred to as N64, was Nintendo′s third home video game console for the international market. Named for its 64-bit CPU, it was released in June 1996 in Japan, September 1996 in North America, March 1997 in Europe and Australia, September 1997 in France and December 1997 in Brazil...
. It was hailed as a massive step forward in emulation technology at its 1999 release. Emulating the N64 (which was only 3 years old at the time) made it the first of the N64 emulators to run commercial titles at a playable frame rate
Frame rate is the frequency at which an imaging device produces unique consecutive images called frames. The term applies equally well to computer graphics, video cameras, film cameras, and motion capture systems...
on the hardware of the time.
The HLE technique
Earlier emulators had concentrated on accurately emulating all of the low level operations of the target machine. This worked well for older consoles such as the Super Nintendo
The Super Nintendo Entertainment System is a 16-bit video game console that was released by Nintendo in North America, Europe, Australasia , and South America between 1990 and 1993. In Japan and Southeast Asia, the system is called the , or SFC for short...
and Sega Genesis.
realized that since N64 games were programmed in C
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
, they should concentrate on intercepting (the far fewer) C library calls instead of intercepting machine level operations, and write their own code to implement the libraries. Thus, UltraHLE software is in fact an emulator with some parts implemented as a simulation
Simulation is the imitation of some real thing available, state of affairs, or process. The act of simulating something generally entails representing certain key characteristics or behaviours of a selected physical or abstract system....
, and the technique is not used in purist emulation projects such as MAME
MAME is an emulator application designed to recreate the hardware of arcade game systems in software on modern personal computers and other platforms. The intention is to preserve gaming history by preventing vintage games from being lost or forgotten...
. However, it paved the way for creating playable emulators which use complex graphic routines that require considerable computation power which could be simulated easily with available PC graphic cards.
The final implementation was written in C and used the Glide API
Glide is a 3D graphics API developed by 3dfx Interactive for their Voodoo Graphics 3D accelerator cards. Although it originally started as a proprietary API, it was later open sourced by 3dfx. It was dedicated to gaming performance, supporting geometry and texture mapping primarily, in data...
, which has since fallen out of use due to being specific to 3dfx
3dfx Interactive was a company that specialized in the manufacturing of 3D graphics processing units and, later, graphics cards. It was a pioneer in the field for several years in the late 1990s until 2000 when it underwent one of the most high-profile demises in the history of the PC industry...
adapters. Due to its popularity, several Glide to DirectX translation utilities were made specifically for UltraHLE for non-3dfx video cards.
This high-level emulation
High-level emulation is an approach for construction of emulators, especially for video game consoles, which attempts to simulate the response of the system rather than accurately recreating its internal design....
had its drawbacks. At the time of release, UltraHLE was only able to emulate approximately 20 games to a playable standard. The software only emulated and simulated the calls that were required for specific games; it was required to adapt the software for games that used different parts of the N64 hardware. However, on its release, it was miles ahead of competing N64 emulator projects such as Project Unreality.
The demise of UltraHLE
Also notable for its time, UltraHLE was capable of playing commercial games while the console was still commercially viable. Concerned about potential piracy, Nintendo threatened the authors and the site hosting UltraHLE, EmuUnlim, with legal action. Despite this, UltraHLE had grown beyond either its authors' or Nintendo's control. Subsequently, Epsilon
abandoned their pseudonyms and went silent
In telecommunications, radio silence is a status in which all fixed or mobile radio stations in an area are asked to stop transmitting for safety or security reasons.The term "radio station" may include anything capable of transmitting a radio signal....
After the source code was leaked in 2002, an OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...
version of UltraHLE called UltraHLE 2064
was released, though it garnered little acclaim, as several more powerful emulators had subsequently been released. UltraHLE 2064 was available at its official site until the site was de-registered.