|Developer(s)||RealityMan and Epsilon|
1.0.0 / January 28, 1999
|Operating system||Microsoft Windows|
|Type||Video game console emulator|
UltraHLE is a discontinued emulator for the Nintendo 64. It was hailed by gamers as a massive step forward in emulation technology on 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 on the hardware of the time.
The HLE technique
Earlier emulators had sought to accurately emulate all low-level operations of a target machine; this worked well for consoles such as the Super NES and Genesis that were substantially simpler than the computer running the emulator.
Co-authors Epsilon and RealityMan realized that since N64 games were programmed in C, they could intercept (the far fewer) C library calls rather than machine-level operations, and simply reimplement the libraries. Thus UltraHLE is an emulator that is partly implemented as a simulator, in contrast to projects such as MAME. However it paved the way for playable emulators of recent consoles that require considerable graphical computational power which could be simulated easily with available PC graphic cards.
The final implementation was written in C and used the Glide API, specific to 3dfx adapters. Due to the emulator's popularity, several Glide to DirectX translation utilities were made specifically for UltraHLE for non-3dfx video cards.
UltraHLE's high-level emulation had its drawbacks; at the time of its release it was able to emulate only approximately 20 games to a playable standard as it emulated and simulated only those calls required by those specific games; it was necessary to adapt the emulator for games that used different parts of the N64 hardware. Nevertheless it supported many more titles than other contemporaneous N64 emulation projects such as Project Unreality.
Emulators of platforms other than the Nintendo 64 eventually adopted variants of high-level emulation as well. For example, the Dolphin emulator, which emulates the Nintendo GameCube and Wii, uses HLE to reimplement the IOS operating system, and it also has an option for HLE of the GameCube's audio DSP.
Nintendo's response and UltraHLE's discontinuation
Also notable for its time, UltraHLE was capable of playing commercial games while the console was still commercially viable, a feat which was ultimately noticed by Nintendo. In February 1999, Nintendo began the process of filing a lawsuit against the emulator's authors, along with the website hosting the emulator. Speaking to PC Zone, Nintendo representative Beth Llewellwyn commented: "Nintendo is very disturbed that RealityMan and Epsilon have widely distributed a product designed solely to play infringing copies of copyrighted works developed by Nintendo and its third-party licensees. We are taking measures to further protect and enforce our intellectual property rights which, of course, includes the bringing of legal action." Despite this, UltraHLE had grown beyond either its authors' or Nintendo's control. Subsequently, Epsilon and RealityMan abandoned their pseudonyms and went silent.
After the source code was leaked in 2002, an 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.
- Hadden, Briton; Luce, Henry Robinson (1999). Time. Time Inc. Retrieved 26 April 2017.
- The Bulletin. J. Haynes and J.F. Archibald. 2000.
- "UltraHLE". Retrieved 15 August 2012.
- Michael Larabel (23 September 2013). "Dolphin Emulator 4.0 Released For GameCube, Wii". Phoronix. Retrieved 14 July 2019.
- Maclachlan, Malcolm (February 2, 1999). "Nintendo May Sue Emulator Makers". techweb.com. Archived from the original on May 2, 1999. Retrieved January 26, 2018.
- "Mario Goes to War". PC Zone. April 1999. Retrieved January 26, 2018 – via Internet Archive.
- "Emulating Mario". IGN. Retrieved 15 August 2012.
- "UltraHLE Source Code 1.0.0". Archived from the original on 2002-08-12. Retrieved 2012-08-15.
- "UltraHLE 2064". Archived from the original on 2008-12-04. Retrieved 2012-08-15.