Mupen64Plus

Last updated
Developer(s) richard42g
Initial releaseDecember 10, 2001;22 years ago (2001-12-10) (as Mupen64-amd64)
Stable release
2.5.9 / February 10, 2019;5 years ago (2019-02-10) [1]
Repository
Written in C and C++
Operating system Android, [2] AROS, FreeBSD, Linux, macOS, Windows
Type Video game console emulator
License GPL-2.0-or-later
Website mupen64plus.org

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. [3]

Contents

History

Mupen64, the forerunner to Mupen64Plus, was released December 10, 2001 by Hacktarux. [4] 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). [5] 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. [6] 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. [3]

Branches

See also

Related Research Articles

<span class="mw-page-title-main">Cygwin</span> Unix-like environment for Windows

Cygwin is a Unix-like environment and command-line interface for Microsoft Windows.

<span class="mw-page-title-main">Qt (software)</span> Object-oriented framework for software development

Qt is cross-platform software for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying codebase while still being a native application with native capabilities and speed.

<span class="mw-page-title-main">Wine (software)</span> Windows compatibility software

Wine is a free and open-source compatibility layer to allow application software and computer games developed for Microsoft Windows to run on Unix-like operating systems. Developers can compile Windows applications against WineLib to help port them to Unix-like systems. Wine is predominantly written using black-box testing reverse-engineering, to avoid copyright issues. No code emulation or virtualization occurs. Wine is primarily developed for Linux and macOS.

<span class="mw-page-title-main">Windows API</span> Microsofts core set of application programming interfaces on Windows

The Windows API, informally WinAPI, is the foundational application programming interface (API) that allows a computer program to access the features of the Microsoft Windows operating system in which the program is running.

In computer science, dynamic recompilation is a feature of some emulators and virtual machines, where the system may recompile some part of a program during execution. By compiling during execution, the system can tailor the generated code to reflect the program's run-time environment, and potentially produce more efficient code by exploiting information that is not available to a traditional static compiler.

<span class="mw-page-title-main">Kodi (software)</span> Free software media player

Kodi is a free and open-source media player and technology convergence software application developed by the Kodi Foundation, a non-profit technology consortium. Kodi is available for multiple operating systems and hardware platforms, with a software 10-foot user interface for use with televisions and remote controls. It allows users to play and view most streaming media, such as videos, music, podcasts, and videos from the Internet, as well as all common digital media files from local and network storage media, or TV gateway viewer.

<span class="mw-page-title-main">UEFI</span> Operating system and firmware specification

Unified Extensible Firmware Interface is a specification that defines the architecture of the platform firmware used for booting the computer hardware and its interface for interaction with the operating system. Examples of firmware that implement the specification are AMI Aptio, Phoenix SecureCore, TianoCore EDK II, InsydeH2O. UEFI replaces the BIOS which was present in the boot ROM of all personal computers that are IBM PC compatible, although it can provide backwards compatibility with the BIOS using CSM booting. Intel developed the original Extensible Firmware Interface (EFI) specification. Some of the EFI's practices and data formats mirror those of Microsoft Windows. In 2005, UEFI deprecated EFI 1.10.

Homebrew, when applied to video games, refers to software produced by hobbyists for proprietary video game consoles which are not intended to be user-programmable. The official documentation is often only available to licensed developers, and these systems may use storage formats that make distribution difficult, such as ROM cartridges or encrypted CD-ROMs. Many consoles have hardware restrictions to prevent unauthorized development.

<span class="mw-page-title-main">Project64</span> Nintendo 64 emulation software

Project64 is a free and open-source Nintendo 64 emulator written in the programming languages C and C++ for Microsoft Windows. This software uses a plug-in system allowing third-party groups to use their own plug-ins to implement specific components. Project64 can play Nintendo 64 games on a computer reading ROM images, either dumped from the read-only memory of a Nintendo 64 ROM cartridge or created directly on the computer as homebrew.

Core Foundation is a C application programming interface (API) written by Apple Inc. for its operating systems, and is a mix of low-level routines and wrapper functions. Most Core Foundation routines follow a certain naming convention that deal with opaque objects, for example CFDictionaryRef for functions whose names begin with CFDictionary, and these objects are often reference counted (manually) through CFRetain and CFRelease. Internally, Core Foundation forms the base of the types in the Objective-C standard library and the Carbon API.

<span class="mw-page-title-main">Watcom C/C++</span>

Watcom C/C++ is an integrated development environment (IDE) product from Watcom International Corporation for the C, C++, and Fortran programming languages. Watcom C/C++ was a commercial product until it was discontinued, then released under the Sybase Open Watcom Public License as Open Watcom C/C++. It features tools for developing and debugging code for DOS, OS/2, and Windows, Linux operating systems, which are based upon 16-bit x86, 32-bit IA-32, or 64-bit x86-64 compatible processors.

<span class="mw-page-title-main">Dolphin (emulator)</span> Nintendo GameCube and Wii emulation software

Dolphin is a free and open-source video game console emulator for GameCube and Wii that runs on Windows, Linux, macOS, Android, Xbox One, Xbox Series X and Series S.

<span class="mw-page-title-main">PCSX-Reloaded</span> Video game console emulator

PCSX is a free and open-source, video game console emulator that allows software designed to be used with the Sony PlayStation to run on personal computers. Over the years, development changed hands several times with PCSX-Reloaded (PCSXR) now being the main version. As of 2021, the emulator seems to be no longer under active development. A newer, actively maintained fork of PCSX-Reloaded is PCSX-Redux.

<span class="mw-page-title-main">Kernel-based Virtual Machine</span> Virtualization module in the Linux kernel

Kernel-based Virtual Machine (KVM) is a free and open-source virtualization module in the Linux kernel that allows the kernel to function as a hypervisor. It was merged into the mainline Linux kernel in version 2.6.20, which was released on February 5, 2007. KVM requires a processor with hardware virtualization extensions, such as Intel VT or AMD-V. KVM has also been ported to other operating systems such as FreeBSD and illumos in the form of loadable kernel modules.

higan (emulator) Multi-system emulator

Higan is a free and open source emulator for multiple video game consoles, including the Super Nintendo Entertainment System. It was developed by Near. Originally called bsnes, the emulator is notable for attempting to emulate the original hardware as accurately as possible through low-level, cycle-accurate emulation and for the associated historical preservation efforts of the Super NES platform.

<span class="mw-page-title-main">GrafX2</span> Raster graphics editor

GrafX2 is a bitmap graphics editor inspired by the Amiga programs Deluxe Paint and Brilliance. It is free software and distributed under the GPL-2.0-only license.

<span class="mw-page-title-main">GTK</span> Free and open-source cross-platform widget toolkit for creating graphical user interfaces

GTK is a free software cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the Wayland and X11 windowing systems.

<span class="mw-page-title-main">PPSSPP</span> PSP emulator

PPSSPP is a free and open-source PSP emulator for Windows, macOS, Linux, iOS, Android, Nintendo WiiU, Nintendo Switch, BlackBerry 10, MeeGo, Pandora, Xbox Series X/S and Symbian with an increased focus on speed and portability. It was first released to the public on November 1, 2012, licensed under the GNU GPLv2 or later. The PPSSPP project was created by Henrik Rydgård, one of the co-founders of the Dolphin emulator.

mpv (media player) Free and open-source media player software

mpv is free and open-source media player software based on MPlayer, mplayer2 and FFmpeg. It runs on several operating systems, including Unix-like operating systems and Microsoft Windows, along with having an Android port called mpv-android. It is cross-platform, running on ARM, PowerPC, x86/IA-32, x86-64, and MIPS architecture.

References

  1. Goedeken, Richard. "Mupen64Plus v2.5.9". GitHub . Retrieved May 7, 2019.
  2. "Mupen64Plus, AE (N64 Emulator)". Google Play. 2013-07-09. Retrieved 2013-07-09.
  3. 1 2 Widder, Brandon (April 20, 2013). "Best Emulators (NES, SNES, Genesis, N64, and more)". Digital Trends . Archived from the original on October 5, 2013. Retrieved March 26, 2014.
  4. Mupen64 Homepage – News (with release dates)
  5. Richard42's first release of forked Mupen64 code
  6. Mupen64Plus v2.0 design proposal
  7. "Important Notice". GitHub . 24 February 2022.
  8. Zeis, Adam (June 21, 2012). "Mupen64Plus-PB - Nintendo 64 emulator for the BlackBerry PlayBook". CrackBerry. Archived from the original on November 2, 2016.
  9. Romano, Steven (December 27, 2012). "Booyah! OUYA Development Kits Could Arrive by Tomorrow". The Mary Sue . Archived from the original on March 18, 2015. Retrieved March 27, 2014.
  10. Romano, Steven (January 13, 2013). "OUYA Can Play Emulated Games, Will Likely Be Its Sole Purpose". The Mary Sue . Archived from the original on January 23, 2018. Retrieved March 27, 2014.