# Nintendo-64-Emulator

Ein Nintendo-64-Emulator ist ein Computerprogramm, das die Spielkonsole Nintendo 64 auf einem PC emuliert und damit N64-Spiele auf einem PC lauffähig macht. Neben dem einfachen Emulieren des Originalsystems versuchen Mitglieder der Emulatorszene auch, durch Erweiterungen die Grafik- und Soundqualität zu verbessern. Dabei werden neben höheren Auflösungen teilweise auch gänzlich neue Texturen in die Spiele eingebracht.

## Überblick und Entwicklung

Der erste Emulator für N64 war UltraHLE im Jahr 1999, drei Jahre nach Erscheinen der Konsole. Das Projekt stützte sich auf die von 3dfx entwickelte Glide-Schnittstelle. Die Funktionen des N64 wurden nicht alle emuliert, sondern mit eigenen Bibliotheken an die PC-Architektur angepasst. Diese High-Level-Emulation machte die Emulatoren recht instabil und führte zu häufigen Anpassungen für einzelne Spiele. So wurden immer wieder Anpassungen (Hacks) an den HLE-Emulatoren gemacht, um Spiele lauffähig zu bekommen, wobei die genaue Emulation übersprungen, sondern mittels Abkürzungen und Rückgaben einfach die Funktion nachgestellt wurde. Eine Low-Level-Emulation, bei der die komplette Hardware des Systems simuliert wird, war jedoch erst mit deutlichen leistungsfähigeren PCs möglich. Dem UltraHLE-Team gelang es schrittweise, Super Mario 64 und einige andere Spiele ablaufen zu lassen, die Entwicklung hörte jedoch bald auf. Im Jahr 2002 wurde der Quelltext von UltraHLE, welcher nicht freigegeben ist, entwendet und ist seitdem im Internet zu finden. Mittlerweile geht die Entwicklung bei N64-Emulatoren weg von der unvollständigen Emulation mittels High-Level-Emulation hin zu der Entwicklung von Low-Level-Emulation, welche die gesamte Hardware darstellt.

## Bekannte aktuelle Emulatoren
### Project64

Das Project64 ist der meistgenutzte freie Emulator des Spielesystems Nintendo 64 unter Windows. Die erste Version des Emulators erschien am 26. Mai 2001. Mittlerweile ist der Emulator in der Version 2.3 erhältlich. Ebenfalls liegt der Quellcode der Version 1.4 und 2.2 vor. Project64 ist allgemein als hervorragender Nintendo64-Emulator bekannt und ist besonders unter Einsteigern beliebt. Die neueste Version ist unter der GNU GPLv2+ (Lizenz) verfügbar.
Der Project64 ist modular aufgebaut, das heißt, dass er sich aus mehreren Modulen zusammensetzt, welche von anderen Entwicklern geschrieben und erweitert werden können. So ist es zum Beispiel möglich, dass man sich Grafikmodule sucht und verwendet, welche die Möglichkeit der Verwendung von hochauflösenden Texturen bieten. Die Software bietet nach Herstellerangaben bis zu 95 Prozent Kompatibilität zum Originalsystem. Der Fork Project64k basiert auf Version 1.4 des Project64 und erweitert das Programm um Netzwerkunterstützung, vor allem für das Kaillera-Netz.

### 1964

1964 ist einer der bekanntesten und verbreitetsten Emulatoren, da dieser Emulator eine Unterstützung für nahezu alle je veröffentlichten Spiele bietet. Der Emulator wurde seit längerem nicht weiterentwickelt, da er einen Stand erreicht hat, in dem die Entwickler eine solide Basis sehen. Der Entwickler Rice ist einer der bekanntesten, denn er entwickelt aktiv das wohl inzwischen meistgenutzte Plug-in für Grafik, welches für Nintendo-64-Emulatoren entwickelt wurde.
1964 hat eine hohe Grundlast, welche auf die immer noch schwierige und rechenintensive Emulation des MIPS R4300i des Nintendo 64 zurückgeht. Es wird allgemein eine Verwendung von Windows-NT-basierten Betriebssystemen empfohlen, da der Emulator unter Windows-9x-Systemen die Eigenschaft hat, das System zum Absturz zu bringen, wenn nicht unterstützte Opcodes emuliert werden sollen.

### Mupen64

Mupen64 wurde ursprünglich nur für GNU/Linux entwickelt und wandelte sich langsam in ein freies Projekt, welches es sich zur Aufgabe gemacht hat, portabel zu sein und so auf verschiedenen Systemen lauffähig zu sein. Einen wesentlichen Beitrag zur Ermöglichung dieses Vorhabens ist die Verwendung und Nutzung von SDL.
Dieses Projekt ist ebenfalls Plug-in kompatibel, was bedeutet, dass die entwickelten Grafik- und Sound-Plug-ins verwendet werden können. Mupen64 ist bisher für Windows, GNU/Linux, BSD, Android und macOS erschienen. Dieses soll nur eine Auswahl darstellen, denn Mupen64 ist so konzipiert, dass das Projekt auf allen Systemen kompiliert werden kann, welche die SDL-Bibliothek bieten. Da die Entwicklung von Mupen64 mittlerweile eingestellt wurde (letztes Release 26. August 2005), entstand mit Mupen64Plus ein Fork, welcher vorerst ausschließlich für Linux-Systeme verfügbar war. Seit Mai 2008 gibt es auch eine Portierung für Windows-Systeme. Die aktuelle Version 2.5 von Mupen64Plus erschien am 17. April 2015 und steht unter der GNU GPLv2+. Der Fork Mupen64K bietet ebenso wie Project64k hauptsächlich Netzwerkunterstützung, aber auch andere Verbesserungen.

### Daedalus

Daedalus ist ein Nintendo64-Emulator, der ursprünglich als Emulator für PC-Systeme entwickelt wurde und vom Autor auch auf die Xbox portiert wurde. Jedoch wurde das wegen geringer Unterstützung und Interesse später aufgegeben. Da der Quellcode offen und gut verständlich war, wurde die Entwicklung von Daedalus für die PlayStation Portable wiederaufgenommen. Daedalus funktioniert auf jeder PSP bis Firmware 6.20 und kann mithilfe eines Exploits oder einer Customfirmware ausgeführt werden. Der Emulator läuft flüssig und stabil und unterstützt eine Vielzahl von Spielen. Seit März 2011 gibt es Daedalus auch in signierter Fassung zum Herunterladen und lässt sich somit auf jedem Modell der PSP (auch ohne CFW) abspielen.

### Sixtyforce

Der Sixtyforce ist ein Emulator für Macintosh-Systeme, welche Mac OS X verwenden. Die Besonderheit an diesem Emulator ist, dass er kommerziell ist und man dafür eine Lizenzgebühr zahlen muss (Shareware). Bis zum Erwerb einer Lizenz kann mit dem Emulator trotzdem N64 Programme ausgeführt werden, jedoch ohne der Möglichkeit zu Speichern, mit auf 5 Minuten pro Spiel begrenztem Gamepad-Support und es wird das Logo des Programmierers am unteren Rand eingeblendet. Ungeachtet dessen unterstützt der Emulator nur eine geringe Anzahl an Spielen.

### Virtual Console

Die Virtual Console war der von Nintendo auf der Wii eingebaute Multi-System-Emulator. Ein Classic- oder GameCube-Controller ist dort für Nintendo-64-Spiele notwendig. Dabei handelte es sich um einen Dienst, der, bis zur Einstellung, offiziell von Nintendo unterstützt wurde.