Emulator

As an emulator ( " mimic" of Latin aemulare ) is in computer engineering refers to a system that mimics another in specific aspects.

The simulated system receives the same data, performs similar programs and achieves the same results as possible in relation to specific issues such as the system to be emulated.

Software emulators are programs that emulate a computer, making it possible to use software for this computer on a computer with a different architecture. So can run of games for older game consoles on a PC or a newer game console. Another example: A software developer can in the development of a program for a device (eg a mobile phone) that has a different architecture than the development computer, test this in the emulator and correct without it copy every time the device need to.

A hardware emulator is an electronic device that can emulate a system such as a printer or a processor ( CPU) functionally, electrically or mechanically (housing and pins). The connection to the processor module is created using base and matching plug. It is also referred to as an In - Circuit Emulator (ICE).

A terminal emulator is a software that simulates the function of a terminal (data input / output screen ), so you can access, for example, from a PC to any appropriate application.

The history of the emulation

In 1962, was heard for the first time by a (processor ) emulator. IBM arranged numerous computer tests in La Grande (France ) to check the compatibility of their new products to its predecessors. For this purpose, we used a combination of hardware and software that has been designated by IBM engineer Larry Moss as an emulator. 1965 finally the System/360-Linie was officially released. They also included the first emulator - the " 7070 emulator " enables the use of programs for the older model IBM 7070th

In 1985, the Atari ST appeared with a new for the home computer market 68000 CPU and the operating system Atari TOS. Initially there was little application software for this hardware. The transition from the then popular 8 -bit software under CP / M for the new 16- bit world was facilitated by Atari through the CPMZ80 emulator supplied free of charge. This pure software emulator generated on the 68000 hardware, a virtual, full Z80 CPU and a compatible with CP / M 2.2 operating system. This problem-free operation was possible in popularity as existing software.

Mega Drive in 1994, was the first video game emulator, which was made ​​available to the public. As the name suggests, he imitates SEGA's eponymous product, but supports only a game: not very good Sonic the Hedghehog, and also the. The work on Mega Drive, however, was not continued because the programmer had lost the source code. In the same year, was developed by Chris George with the first ( non-working ) version of VSMC, the first Super Nintendo emulator.

Printer emulation

The most common today in the computer emulations printer or plotter emulations. Almost all high-quality laser printers emulate currently a Hewlett -Packard LaserJet printer (HP PCL), as well as dot-matrix printer to emulate. Frequently are also still the emulation Epson ESC / P, IBM Proprinter, and Other.

Terminal emulation

A classic terminal emulation allows the interaction with text-based programs running on a remote computer, via an external interface, usually a serial line or a modem connection. Today, however, are network connections via TCP / IP the rule. Terminal emulations were programmed to mimic the behavior of a "dumb" terminals, so a simple data display and input device. In addition to the text-based terminal emulation solutions for remote editing with graphical user interface (Citrix, MS Remote Desktop, X terminal ) are used increasingly today. Through this graphical emulations for example, Unix users can use directly from their workplace programs that are available only for Windows ( and vice versa). The administration easier, since the essential maintenance and installation work is carried out only on a system, the terminal server.

Virtual machine

A virtual machine (in short: VM) is often mistakenly referred to as the emulator also. The special software on a host computer generates a runtime environment, the actual virtual machine that maps the hardware interface of the computer ( or similar machine ). A guest operating system is running - as usual - on the CPU of the host computer, but all accesses are redirected to the input and output hardware to software interface of the host operating system. This makes it possible to carry out, under the existing operating system another in a window. In professional applications run under a hypervisor, a special form of the VM, even in parallel multiple guest operating systems on a single existing hardware; actually doing so a single machine is divided into several.

Examples:

  • Mac -on-Linux running on a PowerPC machine reproduces an Apple Macintosh, for example,
  • Parallels Desktop for Mac, which allows you to run Windows and the appropriate software for Mac OS X
  • Parallels Workstation
  • VMware Workstation
  • Windows Virtual PC, Microsoft Virtual PC emulates various Windows systems in a window on a computer

Compatibility layer

Strictly speaking, also be distinguished from the emulator is the " compatibility layer " that does not try to emulate a whole system, but is limited to the emulation of software interfaces. A well-known example is Wine that has a variety of software interface of Windows provides Unix -like operating systems, so that a number of Windows programs running under the operating system actually strange.

See also: run-time environment and programming

Applications

Emulators are used for different purposes:

  • Investment protection: software that has been designed for older systems, can run on modern systems on. Example: on a Linux-/Apple-/Amiga-Rechner emulates a PC using Bochs, QEMU, VMware and Windows Virtual PC can be installed on Windows. Most of the previously purchased Windows software could be used.
  • The open- source project Wine, however, emulates only the interfaces of the Windows operating system to the application.
  • Example Server of Digital Equipment Corporation: Because of the high cost are the PDP -11, VAX DEC Alpha server including the operating system OpenVMS often been around for over twenty years now. With emulators like Charon the operating system and associated applications can be maintained unchanged while the emulators themselves are installed on standard servers.
  • It is possible for other systems to develop software and test. For example, programs that are developed for Palm OS on a PC can be tested with a Palm emulator.
  • Example: The emulator " Bochs " provides a debug interface. With this you can check ( or watch for teaching purposes ), how / if something works.
  • Example: The Hercules emulator emulating a S/370 on a PC on which is installed a complete MVS.
  • Example: The picture with the Game Boy emulators on a PC is better than a real Game Boy.

See also: Simulation, Bochs, DOSBox, MESS, PearPC, QEMU

Hardware emulators

Hardware emulators allow the development of machine-oriented software, as no emulation software of the developing Software " faked" by the target system, but usually makes a special hardware that the software is running in a "real" environment. The emulation hardware usually provides ways to keep the software to set break conditions, etc. without the run-time behavior of the software to change. Most options usually offers an In- Circuit Emulator, in which a specially equipped microprocessor is used in the real target hardware to software development.

  • HP terminal
  • Memorex Telex terminal
  • JANUS (Atari hardware emulator for the PC of 1995)
  • Siemens DS078, VDU2000, DISIT, DS075 terminals
  • Virtual Drive
  • Floppy Drive Emulator

Known Software Emulators

Emulation of x86 platforms

  • Bochs
  • DOSBox
  • DOSEMU
  • QEMU
  • TeemTalk of Hewlett -Packard (formerly Pericom )
  • Windows Virtual PC from Microsoft ( emulates an x86 platform on Macintosh systems )
  • Win4lin of Netraverse

Emulating other platforms

  • Hercules, an emulator for various IBM mainframes, such as the System/360 370 / 390th
  • M.A.M.E. emulates various arcade machines
  • M.E.S.S. emulates various game consoles and home computer models
  • PearPC emulates G3 and G4 PowerPC platforms (PPC )
  • SIMH emulates various minicomputer and mainframe
  • CPMZ80 forms on the Atari ST computers a Z80 CPU and a CP / M 2.2 operating system after
  • UAE emulates Commodore Amiga systems (Motorola 68k processors and custom chips )
  • Epsxe is the hardware environment of the Playstation 1 on x86 systems from

Hybrid systems that emulate and virtualize

VMware Server, Microsoft Virtual Server and Windows Virtual PC (the version for Microsoft Windows systems ) are all mixed systems, in which essentially only the processor is virtualized. The rest of the PC platform, such as network card, BIOS, etc., however, is emulated.

Regardless of the real hardware installed (eg NE2000 ), for example, the VMWare server using either a 100BASE-TX PCI network card from AMD, alternatively, a 1000BaseTX ( Gigabit) PCI Network Card from Intel or a virtual card using VMWare be emulated 's own drivers. As a Phoenix BIOS version is always emulated.

The emulated by Microsoft Virtual PC LAN card based, also independent of the chipset the card of the Virtual PC hosts, always on a DEC/Intel-21 * 4 * - ( TULIP ) chip. Likewise, the sound card is always based on a Sound Blaster 16

Often thought so, but no emulators

The following software - mainly virtualization solutions - is often mistaken for emulation software:

  • VMware ESX Server is not one of the emulators, as this is virtualization, not emulation of systems and neither soft nor hardware is emulated. Rather, the hardware is virtualized
  • Wine ( WINE Is Not an Emulator ) - not an emulator, since only API functions are emulated ( but the code is executed directly as such )
  • Cedega - see WINE
  • LINE - like WINE Not an Emulator
  • Xen - as well as the VMware ESX Server hypervisor to a virtualizer.
  • E / OS
  • Mac-on- Linux, SheepShaver (formerly Shapeshifter or Basilisk II), Plex86
  • SCO UNIX - an operating system
  • ScummVM - which is merely a kind of interpreter for various used of adventure games scripting languages.
  • Hyper- V - see Xen

Systems and advantages of the emulation

Emulators exist for almost any system. Popular are emulators for home computers, such as the VICE for the Commodore 64 or the UAE for the Amiga. However, there are also countless other emulators for computers, handhelds, arcade machines and game consoles, see also MESS.

Lately emulators play a significant role in the freeware scene. For example, offers the Game Boy Advance by its relative ease of programming the opportunity to develop games and applications that can then be used on an emulator.

For the user who, for example, using emulators to run old commercial computer games, the problem is that these also are still under the protection of copyright if it no longer exists for several years now.

Compared with the real, original hardware have game consoles emulators some advantages. These include the excellent image quality, digitally processed, thus no loss of recordable sound. Further, the ease of the actual systems expanding aspects are, for example, improving the video output (eg, blur and filters of graphics in consoles like Super Nintendo or PlayStation, although these systems never supported these techniques, let calculate because could ) or the use of savestates for quick saving and loading savegames - at any time during the term of the game.

Disadvantages of software emulation

The biggest drawback of SW emulations is that they produce a high computational load on the emulated system. Thus, even on modern computers, as old classic games sometimes not run smoothly. The software development of such emulations is very expensive.

Another disadvantage is that without frame limiter games can run too fast when the system power is sufficient, with significantly more images per second to represent the game as originally intended. Most emulators have, however, a technique against this which limits the processing power artificially.

Software

Software older computer systems, especially the games consoles is often available only in the form of ROM blocks. Since ROMs are relatively easy to read, work emulators usually trouble with so-called ROM files (or ROM images ) present in different file formats. One obstacle to the free use and distribution, however, is that ROMs ( games ) are copyrighted as a rule, and some are even used commercially. Some emulators (for example, in zip format ) also read compressed files that can contain multiple files.

Unzip refer different file extensions to specific ROM formats, such as:

  • . nds - Nintendo DS
  • . nes - Nintendo Entertainment System
  • Am -. certain ROM blocks ( for example, Arcade, A2600 ) occasionally used for any image.
  • . crt - C64 Cartridge Image, ROMinhalt a plug-in module for the expansion port
  • . a26 - Atari 2600 cartridge
  • . smc - Super Nintendo ROM
  • . n64, Z64 -. Nintendo64 ROM ( in zip format )
  • . sms - Sega Master System

Images of disks

The situation is similar with copies of software that shipped on tapes or disks. Here are widespread Images or disk images for use with an emulator tape.

  • . adf, adz, dms, dmz -. .. Amiga disk file ( adf for Acorn Disc File. )
  • .. p00, s00, u00, r00 -. . C64 file type ( PRG for programs SEQ for sequential files, USR (user files) and REL for files with relative ( = random ) access )
  • . msa - Atari ST Disk Image
  • . sid - C64 tune in SID format
  • . t64 - C64 container format an extensible tape image
  • . tap - C64 converted original tape file a Datasette (8- 16x greater than PRG)
  • . img, dsk -. Images from various storage media
  • . vfd - floppy image 3.5 "floppy

Some emulators (such as MESS) also true tones of cassettes can read as a wav file.

M.A.M.E.

A popular emulator is M.A.M.E. ( " Multiple Arcade Machine Emulator "), which emulates thousands of well-known arcade games like Pac -Man.

213577
de