From Wikipedia, the free encyclopedia
  (Redirected from High-level emulation)
Jump to navigation Jump to search
Developer(s) RealityMan and Epsilon
Stable release
1.0.0 / January 28, 1999 (1999-01-28)
Operating system Microsoft Windows
Type Video game console emulator
License Freeware
Website www.emuunlim.com/UltraHLE

UltraHLE is an 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.[1][2]

The HLE technique[edit]

Earlier emulators had concentrated on accurately emulating all of the low level operations of the target machine. This worked well enough for older consoles such as the Super NES (although truly hardware-accurate emulation wouldn't appear until bsnes) and Genesis.

Co-authors Epsilon and RealityMan realized that since N64 games were programmed in C, 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, and the technique is not used in purist emulation projects such as MAME. 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, which has since fallen out of use due to being specific to 3dfx 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 had its drawbacks. At the time of release, UltraHLE was only able to emulate approximately 20 games to a playable standard.[3] 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.

Nintendo's response and UltraHLE's discontinuation[edit]

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.[4] Speaking to PC Zone, Nintendo representative Beth Llewellwyn commented: "Nintendo is very disturbed that Reality Man 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."[5] Despite this, UltraHLE had grown beyond either its authors' or Nintendo's control. Subsequently, Epsilon and RealityMan abandoned their pseudonyms and went silent.[6]

After the source code was leaked in 2002,[7] 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.[8]

See also[edit]


  1. ^ Hadden, Briton; Luce, Henry Robinson (1999). Time. Time Inc. Retrieved 26 April 2017. 
  2. ^ The Bulletin. J. Haynes and J.F. Archibald. 2000. 
  3. ^ "UltraHLE". Retrieved 15 August 2012. 
  4. ^ Maclachlan, Malcolm (February 2, 1999). "Nintendo May Sue Emulator Makers". techweb.com. Archived from the original on May 2, 1999. Retrieved January 26, 2018. 
  5. ^ "Mario Goes to War". PC Zone. April 1999. Retrieved January 26, 2018 – via Internet Archive. 
  6. ^ "Emulating Mario". IGN. Retrieved 15 August 2012. 
  7. ^ "UltraHLE Source Code 1.0.0". Archived from the original on 2002-08-12. Retrieved 2012-08-15. 
  8. ^ "UltraHLE 2064". Archived from the original on 2008-12-04. Retrieved 2012-08-15. 

External links[edit]