Mupen64Plus

Last updated
Developer(s) richard42g
Initial releaseDecember 10, 2001;22 years ago (2001-12-10) (as MUPEN64)
Stable release
2.6.0 / July 14, 2024;16 days ago (2024-07-14) [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 free and open-source Unix-like environment and command-line interface for Microsoft Windows. The project also provides a software repository containing many open-source packages. Cygwin allows source code for Unix-like operating systems to be compiled and run on Windows. Cygwin provides native integration of Windows-based applications.

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

Qt is cross-platform application development framework 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.

<span class="mw-page-title-main">Advanced Linux Sound Architecture</span> Software framework

Advanced Linux Sound Architecture (ALSA) is a software framework and part of the Linux kernel that provides an application programming interface (API) for sound card device drivers.

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">Text-based user interface</span> Type of interface based on outputting to or controlling a text display

In computing, text-based user interfaces (TUI), is a retronym describing a type of user interface (UI) common as an early form of human–computer interaction, before the advent of bitmapped displays and modern conventional graphical user interfaces (GUIs). Like modern GUIs, they can use the entire screen area and may accept mouse and other inputs. They may also use color and often structure the display using box-drawing characters such as ┌ and ╣. The modern context of use is usually a terminal emulator.

<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.

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.

newLISP

newLISP is a scripting language which is a dialect of the Lisp family of programming languages. It was designed and developed by Lutz Mueller. Because of its small resource requirements, newLISP is excellent for embedded systems applications. Most of the functions you will ever need are already built in. This includes networking functions, support for distributed and multicore processing, and Bayesian statistics. newLISP is free and open-source software released under the GNU General Public License, version 3 or later.

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">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">PPSSPP</span> PSP emulator

PPSSPP is a free and open-source PSP emulator for Windows, macOS, Linux, iOS, Android, Nintendo Wii U, Nintendo Switch, BlackBerry 10, MeeGo, Pandora, Xbox Series X/S and Symbian with a focus on speed and portability. It was 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.

<span class="mw-page-title-main">RetroArch</span> Emulator and media player frontend

RetroArch is a free and open-source, cross-platform frontend for emulators, game engines, video games, media players and other applications. It is the reference implementation of the libretro API, designed to be fast, lightweight, portable and without dependencies. It is licensed under the GNU GPLv3.

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.6.0". GitHub . Retrieved July 18, 2024.
  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.