Mupen64
From Wikipedia, the free encyclopedia
Mupen64 | |
---|---|
Mupen64 on Debian GNU/Linux running the game Super Smash Bros. |
|
Developed by | Hacktarux |
Latest release | 0.5.1 / August 26th 2005 |
OS | Cross-platform |
Genre | Emulator |
License | GNU General Public License |
Website | http://mupen64.emulation64.com/index.htm |
Mupen64 (Multi Platform Emulator for the N64) is a Nintendo 64 game console emulator.
Mupen64 was originally developed on and for Linux, but is designed to be cross-platform. It has been ported to other operating systems supported by the SDL library, including Microsoft Windows, BeOS, Mac OS X, and FreeBSD. Released under the terms of the GNU General Public License, Mupen64 is free software.
Mupen64's popularity became known after the website Goldeneye Forever used its online functionality to start tournaments.[1]
Contents |
[edit] History
In 2001, Mupen64 was first publicly released. It originally advertised itself as a multiplatform emulator written using SDL, with a dynamic recompiler and a Microsoft Windows port. 8 days later it was announced that there would be a BeOS port of the emulator, which was released; however, it was not updated after version 0.0.4.
Mupen64 was enhanced over time, gaining features like Recording, Sound Synchronization, and a GTK 2 GUI. Hacktarux had been working on the project actively until its last official release in 2005: Mupen64 0.5.1.
A fork was created in 2007 to add multiplayer support to Mupen64, named Mupen64k Recently, the project has been forked off again to create an improved version of Mupen64, resulting in Mupen64Plus.
[edit] Core
In the core of Mupen64 there exist 3 different CPU emulators. An interpreter style CPU, an x86 dynamic recompiler, and a pure interpreter.
The interpreter CPU emulator is an optimized interpreter that caches opcodes to become faster than a pure interpreter. The dynamic recompiler CPU emulator consists of a dynamically recompiling CPU core that recompiles N64 code into native machine code dynamically. The pure interpreter CPU emulator is a plain interpreter. It is slower and less efficient than the other cores.
Because a dynamic recompiler has to be specialized for a specific host processor, sometimes it may be necessary to use the interpreter when the CPU you are using does not have a corresponding dynamic recompiler. In the case of Mupen64, all x86 computers should be able to run with the dynamic recompiler.
[edit] Mupen64k
Mupen64k is a patch for Mupen64 adding Kaillera Multiplayer support. Although it is out of date, the source is missing, and it is only available for Windows (as is Kaillera), it is still the only branch of Mupen64 with network capability. Mupen64k was developed by okaygo, who has joined the Mupen64Plus project. However, due to the loss of the Mupen64k source code, no attempts have been made to add multiplayer to Mupen64Plus.
Mupen64k was packaged with SupraClient for Kaillera and had support for full speed AVI capture.
[edit] Mupen64Plus
Mupen64Plus is a project which aims to improve the Mupen64 0.5 code. Originally it was developed to add a 64-bit recompilation core; however, it was decided soon after its creation that it would become a much larger project. Currently housing its own plugins in a Subversion repository, it includes a 64-bit recompiler, a port of Glide64 Wonder Plus, slightly bug fixed and up to date versions of Rice Video and glN64, continuations of JttL's SDL Audio Plugin and Mupen64's own Audio Plugin, a continuation of Blight's SDL Input Plugin, the original Mupen64 Input plugin, and the Mupen64 HLE RSP plugin.
Its source is stored in a home repository while its homepage is stored at Google Code, where it has a Google group and a Wiki.
Additionally, a Windows port has been released by demand. It is still a work in progress.