„Emulator" – Versionsunterschied
Version vom 14. August 2006, 08:22 Uhr
Als Emulation (von lat. aemulari nachahmen) wird in der Computertechnik das funktionelle Nachbilden eines Systems durch ein anderes bezeichnet. Das nachbildende System erhält die gleichen Daten, führt die gleichen Programme aus und erzielt die gleichen Ergebnisse wie das originale System. Ein Emulator ist ein System, das ein anderes nachahmt. Zu unterscheiden sind Hardware- und Software-Emulatoren.
Ein Hardware-Emulator ist ein elektronisches Gerät, das einen Mikroprozessor (CPU) funktionell, elektrisch und mechanisch (Gehäuse und Pins) nachbilden kann. Die Verbindung zur Prozessorbaugruppe wird mittels Sockel und passendem Stecker erstellt. Er wird auch als In-Circuit-Emulator (ICE) bezeichnet.
- Beispiel 1: Ein Terminal emuliert für den PC einen Host/Mainframe, wird also über einen speziellen Terminalemulation angesprochen. Dem Host/Mainframe gegenüber emuliert es ein Terminal über einen DTC (Digital Terminal Controller) und einen MDP (Multiple Digital Port).
Eine Virtuelle Maschine (VM) wird oft fälschlicherweise als Emulator bezeichnet. Bei einer VM wird aber die gesamte Hardware, also Prozessor, Arbeitsspeicher etc. eines anderen Systems (Hostrechner) virtuell und möglichst exakt nachgebildet. So ist eine VM vergleichsweise komplexer aufgebaut als andere Emulatoren und wird daher nicht zu selbigen gezählt.
- Beispiele:
- der 68000er-Emulator, den Apple mit seinen PowerPC-basierten Betriebssystemversionen mitliefert (Mac OS)
- Mac-on-Linux, das z. B. einen Pegasos-Rechner in einen PowerPC-basierten Macintosh-Clone verwandelt
- Der Emulator atari800, der unter Linux den Atari 800 und den 800 XL aus den 1980er Jahren wieder zum Leben erweckt
- DAEMON Tools emulieren CD-/DVD-Laufwerke am Windows-PC
Eine Terminalemulation erlaubt die Interaktion mit textorientierten Programmen, die auf einem entfernten Rechner laufen, über eine externe Schnittstelle, meist eine serielle Leitung oder eine Modemverbindung. Terminalemulationen wurden programmiert, um das Verhalten eines „dummen" Terminals, also eines einfachen Datensicht- und Eingabegerätes, nachzuahmen. Terminalemulationen existieren auch für Rechner mit graphischer Oberfläche.
Anwendungsbereiche
Emulatoren werden für verschiedene Zwecke eingesetzt:
- Investitionsschutz: Software, die für ältere Systeme entwickelt worden ist, kann auf modernen Systemen weiter laufen.
- Beispiel: auf einem Linux-/Apple-/Amiga-Rechner wird mittels Bochs, QEMU, VMware bzw. VirtualPC ein PC emuliert, auf dem Windows installiert werden kann. Die meiste bisher gekaufte Windows-Software kann weiter eingesetzt werden.
- Das Open-Source-Projekt Wine dagegen emuliert nur die Schnittstellen der Windows-Betriebssystems zur Anwendung.
- Softwareentwicklung:
- Es ist möglich, Software für andere Systeme zu entwickeln und zu testen.
- Beispiel: Programme, die für Palm OS auf einem PC entwickelt werden, können mit einem Palm-Emulator getestet werden.
- Es ist möglich, ein Betriebssystem zu testen.
- Beispiel: Der Emulator „Bochs" bietet eine Debug-Schnittstelle an. Hiermit kann man prüfen (oder für Lehrzwecke beobachten), wie/ob etwas funktioniert.
- Es ist möglich, Software für andere Systeme zu entwickeln und zu testen.
- Ausbildung: Ein Emulator erlaubt es, sich in Systeme einzuarbeiten, deren Anschaffung sonst sehr aufwändig wäre.
- Zur Langzeitarchivierung digitaler Objekte stellt die Emulation eine Alternative zur Migration bzw. Konvertierung dar (siehe auch Elektronische Archivierung).
- Freizeit/Hobby: Alte Konsolenspiele aus den frühen achtziger Jahren können dank geeigneter Emulatoren wie z. B. MESS auf moderner Hardware laufen.
- Ergonomie: Software, die normalerweise nur auf Systemen mit unergonomischen Ein-/Ausgabegräten läuft (LC-Displays), kann auf Systemen mit komfortablen Bildschirmen laufen.
- Beispiel: Die Bildwiedergabe bei Game-Boy-Emulatoren auf einem PC ist besser als bei einem realen Game Boy.
Siehe auch: Simulator, Bochs, DOSBox, MESS, PearPC, QEMU
Bekannte Hardware-Emulatoren
- HP Terminal
- Memorex Telex Terminal
- JANUS (Atari-Hardwareemulator für den PC von 1995)
- Siemens DS078, VDU2000, DISIT, DS075 Terminals
Bekannte Software-Emulatoren
- Bochs
- DOSBox
- DOSEMU
- M.A.M.E. Multiple Arcade Machine Emulator
- MESS
- QEMU
- Teemtalk von Neoware früher Pericom
- VirtualPC von Microsoft für Macintosh Systeme
- Win4Lin von Netraverse
Oft dafür gehalten, jedoch keine Emulatoren
Folgende Software wird fälschlicherweise oft für Emulations-Software gehalten:
- VMware und VirtualPC (die Version für Microsoft Windows Systeme) – zählen nicht zu den Emulatoren, da es sich hierbei um Virtualisierung, nicht Emulation, von Systemen handelt und weder Soft- noch Hardware emuliert wird. Vielmehr wird die Hardware virtualisiert
- WINE (WINE Is Not an Emulator) – kein Emulator, da lediglich API-Funktionen emuliert werden (der Code als solches jedoch direkt ausgeführt wird)
- CrossOver Office – siehe WINE
- Cedega – siehe WINE
- LINE – wie WINE kein Emulator
- Xen – ist auch kein Emulator, sondern ein Monitoring-Programm, das hier der Vollständigkeit halber aufgeführt wird
- E/OS
- Mac-on-Linux, ShapeShifter, Plex86
- SCO UNIX
- ScummVM
Emulierte Systeme
Emulatoren existieren für fast jedes System, so z. B. für:
- Acorn
- Atari 2600
- Atari ST
- C64 (Bsp. Emulator: VICE)
- DOS
- Amiga
- GameBoy (und Gameboy Advance) (Bsp. Emulator: Visual Boy Advance)
- GameBoy Advance (Bsp. Emulator: VBALink)
- SCUMM (Game-Engine vieler LucasArts-Spiele)
- Macintosh (68000 und PowerPC)
- IBM Großrechner (S/360 bis zSeries) (siehe Hercules (Emulator))
- Intel x86
- NES
- SNES (Bsp. Emulator: Snes9x)
- Nintendo 64 (Bsp. Emulator: Project64)
- Nintendo DS (Bsp. Emulator: DeSmuME)
- Sega Master System
- Sega Mega Drive
- Palm
- PlayStation (Bsp. Emulator: ePSXe)
- PlayStation 2 (Bsp. Emulator: PCSX2)
- Sinclair ZX81 und ZX Spectrum
- PC Engine
- Neo Geo
- Siemens SICOMP R30, M26, M56, M70, M80
Sämtliche emulierte Systeme zu nennen würde den Rahmen hier sprengen.
In letzter Zeit spielen Emulatoren auch in der Freeware-Szene eine bedeutende Rolle. So bietet etwa der GameBoy Advance durch seine relativ einfache Programmiersprache (eine vereinfachte Version von C) die Möglichkeit, Spiele und Anwendungen zu programmieren, die dann auf einem Emulator genutzt werden.
Für den Nutzer, der Emulatoren z. B. zum Ausführen von alten, kommerziellen Computer- und Videospielen einsetzt, ist problematisch, dass diese auch dann noch unter dem Schutze des Urheberrechts stehen, wenn es sie seit mehreren Jahren nicht mehr zu kaufen gibt.
Gegenüber der echten, ursprünglichen Hardware besitzen Spielkonsolen-Emulatoren einige Vorteile. Dazu zählen die exzellente Bildqualität, der digital verarbeitete und somit verlustlos aufnehmbare Ton. Weitere, die Benutzerfreundlichkeit der eigentlichen Systeme erweiternde Aspekte sind z. B. das Verbessern der Videoausgabe (z. B. Weichzeichnen und Filtern von Grafiken bei Konsolen wie Super Nintendo oder Playstation, obwohl diese Systeme niemals diese Techniken unterstützten, geschweige denn berechnen könnten) oder das Verwenden von Savestates zum schnellen Speichern und Laden von Spielständen – jederzeit während der Laufzeit des Spieles.
Software
ROMs
Software älterer Computersysteme, besonders der Spielekonsolen, ist häufig nur in Form von ROM-Bausteinen verfügbar. Da sich ROMs relativ einfach auslesen lassen, arbeiten Emulatoren in der Regel problemlos mit so genannten ROM-Dateien (oder auch ROM Images), die in verschiedenen Dateiformaten vorliegen.
Entpackt verweisen verschiedene Dateiendungen auf bestimmte ROM-Formate, beispielsweise:
- .gcm – Nintendo Gamecube Image
- .nes – Nintendo Entertainment System
- .smc – Super Nintendo Entertainment System
- .nds – Nintendo DS, DS Lite
- .bin – manche ROM-Bausteine (z. B. Arcade, A2600) gelegentlich auch für beliebige Images verwendet auch CDs und DVDs (siehe unten)
- .crt - C64 CaRTridge Image, ROMinhalt eines Steckmodules für den Expansionsport
- .gb .gbc .gba – Gameboy, Gameboy Color & Gameboy Advance
- .z64 .v64 .n64 – Nintendo 64
- .smd – Sega Genesis / Megadrive Image
- .a26 - Atari 2600 Steckmodul
- .a78 - Atari 7800 Steckmodul
Images von Datenträgern
Ähnlich verhält es sich mit Kopien von Software, die auf Bändern oder Disketten ausgeliefert wurden. Auch hier sind Tape Images bzw. Disk Images für die Benutzung mit einem Emulator verbreitet.
- .adf .adz .dms .dmz – Amiga Disk Files
- .adf – Acorn Disc Files
- .d64 – C64 Disk Image einer Floppy 1541 - 5,25" einseitig - ~170kB)
- .d71 - C64 Disk Image einer Floppy 1571 - 5,25" doppelseitig - ~340kB)
- .d81 - C64 Disk Image einer Floppy 1581 - 3,5" doppelseitig - ~800kB)
- .g64 - C64 Disk Image einer Floppy 1541 im GCR-Format (bis 42 Tracks und Half-Tracks, andere Trackgröße, etc.)
- .p00/s00/u00/r00 - C64 Dateityp (PRG für Programme, SEQ für sequentielle Dateien, USR (User-Dateien) und REL für Dateien mit relativem (=wahlfreiem) Zugriff)
- .sid - C64 Musikstück im SID-Format
- .t64 – C64 Containerformat eines erweiterbaren Tape Images
- .tap – C64 konvertiertes Original Tape File einer Datasette (8-16x größer als PRG)
- .iso - Image einer CD oder auch DVD, wie sie in der PlayStation bzw. PlayStation 2 eingesetzt werden
Manche Emulatoren (z. B. M.E.S.S.) können auch echte Töne von Cassetten als .wav-Datei einlesen.
M.A.M.E. und Co.
Der bekannteste Emulator und der mit Abstand beliebteste, ist MAME. Mame steht für „Multiple Arcade Machine Emulator" und emuliert in der aktuellen Version über 2.500 Arcade-Automaten (ohne Clones und nicht funktionierende Spiele).
Ein Problem ist allerdings, dass nicht alle ROMs copyrightfrei sind und noch kommerziell genutzt werden. Das MAME-Open-Source-Projekt nimmt deswegen keine Roms auf, die jünger als 2 Jahre sind, auch um Neuentwicklungen nicht zu gefährden. Wobei das nicht ausschließt, dass alternative MAME-Versionen das hin und wieder tun – mit mehr oder weniger Erfolg. Neuere, erst wenige Monate alte ROMs zwingen in der Regel jeden PC in die Knie und werden nur mangelhaft emuliert.
Ältere wie Pacman, Mr. Do, Popeye und Polyplay (der einzige Arcade-Automat der DDR) laufen hingegen wie auf den Original-Automaten, das einzige was fehlt ist der klassische Münzeinwurf. Es gibt allerdings Nachbauten im Gehäuse eines normalen Automaten, die einen PC enthalten, auf dem MAME läuft und der explizit an die Hardware des Automaten angepasst wurde.
Die Szene der Emulationsfans ist sehr groß, wächst, unterhält viele Foren und stellt eine große Konkurrenz zum kommerziellen PC-Spiele-Sektor dar. Innerhalb dieser bildete sich auch die Translations-Szene, die sich vorwiegend mit dem Übersetzen vom japanischen Nintendo- und Sega-ROMs ins Englische beschäftigt oder etwa japanische/englische ins Deutsche, da die Spiele von den Herstellern selber für den deutschen Markt nie lokalisiert wurden.
Eine der wenigen bekannten Seiten die sich ausschließlich mit legalen ROMs beschäftigen ist PDRoms. Dort werden seit 1998 alle möglichen homebrew-Spiele und -Demos für verschiedene Systeme zusammengetragen. Aktuell beherbergt diese Seite über 2000 Dateien in über 20 Kategorien.
Siehe auch
Weblinks
- Nintendo über ROMs und Emulatoren (englisch)
- RETROBASE.NET – Datenbank für klassische Videospiele mit Screenshots
- Emubase e.V. – deutscher Verein für Freunde und Interessenten von Emulation