High-level emulation

From Wikipedia, the free encyclopedia

High-level emulation (HLE) is a top-down design methodology for constructing an emulator. The HLE methodology is selected for use when the system to be emulated is sufficiently complex, and knowledge of the operational details about the system are largely unknown. This methodology stands in contrast to low-level emulation (LLE), a bottom-up design methodology for constructing an emulator.

The term HLE originates from UltraHLE, the first emulator for the Nintendo 64 video game console that ran commercial games. Initial discussion about HLE occurred to give context for the reasons behind some video games not functioning properly with the emulator.

[edit] Criteria for High-Level Emulation

HLE is selected for systems that contain many components, but only a subset of the components are necessary for satisfactory system performance. Software engineers initially focus on the subset of necessary components, and later expand the design to incorporate the other components.

Systems of lower complexity often contain only the components necessary for the operation of the system. For HLE, this is a degenerate case where no optional components exist. Applying HLE to such a system may be the result of over-engineering.

Software engineers began selecting HLE for video game console emulation as the complexity of video game consoles increased. Consoles prior to the fifth generation lacked the complexity required to use an HLE methodology to create an emulator.

[edit] References