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. HLE was done even before the UltraHLE emulator (to emulate the BIOS, and the SNES enhancement chips). But UltraHLE introduced aggressive optimization and time-savers which go beyond traditional HLE. 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 other than UltraHLE eventually adopted variants of high-level emulation as well. For example, the
Dolphin emulator, which emulates the
GameCube and
Wii, uses HLE to reimplement the Wii's IOS operating system (not to be confused with the
iOS operating system by
Apple), and it also has an option for HLE of the GameCube's audio
DSP. The iPhone OS emulator
touchHLE also implemented high-level emulation where the emulator itself takes the place of the original operating system and provides all the libraries needed by the app being executed, thus avoiding any dependency on copyrighted Apple binaries. ==Nintendo's response and UltraHLE's discontinuation==