# Mupen64Plus

Mupen64Plus, formerly named Mupen64-64bit and Mupen64-amd64, is a free and open-source, cross-platform Nintendo 64 emulator, written in the programming languages C and C++. It allows users to play Nintendo 64 games on a computer by reading ROM images, either dumped from the read-only memory of a Nintendo 64 cartridge or created directly on the computer as homebrew.

## History

Mupen64, the forerunner to Mupen64Plus, was released December 10, 2001 by Hacktarux. Mupen64 was designed to be cross-platform, the first release running on both Linux and Windows operating systems. As the emulator progressed, support was added for FreeBSD, AROS, and OS X, but these ports were not maintained as much or as well as the Linux and Windows versions.
On August 26, 2005, Mupen64 version 0.5 was released. It was the last version of Mupen64 by Hacktarux, although several branches of the project were made, one of which was Mupen64Plus. In October 2007, Mupen64 was forked by Richard Goedeken (richard42). His work went through several releases before settling on the name Mupen64Plus.
Mupen64Plus originally aimed to provide a 64-bit recompiler and to fix bugs present in Mupen64 0.5. Over time, the emulator expanded, maintained and improved extant video plug-ins, and provided extra features beyond the project's original scope.
In late 2009, the Mupen64Plus project undertook a major re-design of the emulator's architecture. Like many N64 emulators (including Sixtyforce, 1964, and Project64), Mupen64Plus uses four modular plug-ins (dynamic libraries) which adhere to a specification written by Project64 developer Zilmar. This specification was originally written in the late 1990s, when all of the Nintendo 64 emulators ran only under Windows. The plug-in architecture used graphical user interface (GUI) specific code inside of each plug-in, which presents difficulties for programmers wishing to support many different operating systems. For this reason, the Mupen64Plus team presented a design proposal to modify the plugin application programming interface (API) to place all of the user interface code in one software module and make other improvements to streamline the operation of a cross-platform N64 emulator. This decision was then controversial, but the proposed changes were implemented, and the software has continued to evolve. December 14, 2009 saw the first beta release of Mupen64Plus with the revised API, version 1.99.1. Several other beta versions have been released since then. Mupen64Plus 2.0 is currently being developed. Its source can be downloaded from the project's git repository.

## Reception

Brandon Widdler of Digital Trends considers the emulator one of the best for the Nintendo 64 along with Project64, citing its cheat functions, dynamic recompilers for 32-bit and 64-bit machines, and speed adjustment feature.

## Branches

* Actively developed RetroArch/Libretro port.
* In June 2012, a fork for the BlackBerry Playbook was announced named Mupen64Plus-PB.
* In early 2013, Ouya announced the release of its console based on open-source Android technology built for game development. The console supported emulation and the first showcase session presented Super Mario 64 and Street Fighter 2 emulated on Mupen64Plus and SuperGNES, respectively.