Zum Inhalt springen

Emulator

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 28. Oktober 2004 um 17:01 Uhr durch Asserty (Diskussion | Beiträge) (Emulierte Systeme). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Als Emulation 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 nachgebildete System. Ein Emulator ist ein System, das ein anderes emuliert. 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: Ein Faxmodem emuliert für den Computer einen Drucker, wird also über einen speziellen Druckertreiber angesprochen. Dem Telefonnetz gegenüber emuliert es ein Faxgerät.

Ein Software-Emulator ist eine virtuelle Maschine. Im Vordergrund steht aber, dass nicht nur die CPU, sondern die komplette Hardware eines anderen Systems virtuell und möglichst exakt nachgebildet wird.

Beispiele:
  • der 68000er-Emulator, den Apple mit seinen PowerPC-basierten Betriebssystemversionen mitliefert (Mac OS)
  • MacOnLinux, 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 80er Jahren wieder zum leben erweckt

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-Rechner wird mittels Bochs, VMware bzw. VirtualPC ein PC emuliert, auf dem Windows installiert werden kann. Die meiste bisher gekaufte Windowssoftware 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 dem 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.
  • Ausbildung: Ein Emulator erlaubt es, sich in Systeme einzuarbeiten, deren Anschaffung sonst sehr aufwändig wäre.
    • Beispiel: Mit dem Hercules-Emulator wird auf einem PC ein S/370 emuliert, auf dem ein komplettes MVS installiert wird.
  • Zur Langzeitarchivierung digitaler Objekte stellt die Emulation eine Alternative zur Migration bzw. Konvertierung dar.
  • Freizeit/Hobby: Alte Konsolenspiele aus den frühen achtziger Jahren können dank geeigneter Emulatoren 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 beim Game Boy Emulator auf einem PC ist besser als bei einem realen Game Boy.

Siehe auch: Simulator, Bochs, Dosbox, PearPC

Emulierte Systeme

Emulatoren existieren für fast jedes System, so z.B. für

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.

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. Ähnlich wird 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.

Datei:VisualBoyAdvance.gif

Verschiedene Dateiendungen verweisen auf bestimmte ROM-Formate:

  • .adf -- Amiga Disk Files
  • .nes -- Nintendo Entertaiment System
  • .bin -- Image einer Standard-CD, etwa einer Playstation
  • .d64 -- C64 Disk Image

Der bekannteste Emulator und der mit Abstand beliebteste, ist MAME. Mame steht für "Multiple Arcade Machine Emulator" und emuliert in der aktuellen Version 0.86 insgesamt ca. 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 immer mal 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 da! Innerhalb dieser bildete sich auch die Translations-Szene die sich vorwiegend mit dem übersetzen vom japanischen Nintendo und Sega Roms ins Englische beschäftigen oder etwa jap./engl. ins Deutsche, die von den Herstellern früher hier nie lokalisiert wurden.