Difference between pages "Cellphone emulators" and "Recommended N64 plugins"

From Emulation General Wiki
(Difference between pages)
Jump to navigation Jump to search
(Emulators)
(Tags: Mobile edit, Mobile web edit)
 
(Added a bit stating what to look for in evaluating the comparison images)
 
Line 1: Line 1:
Before the smartphones we know today were staples of mainstream culture, mobile phones, and their technology were pretty rudimentary and often relied on apps made in Java seeing as the language was designed to be portable (though Windows Mobile and Symbian were also somewhat popular as proto-smartphone platforms of choice). This didn't keep games from being developed for these platforms. Casual simplistic games and rip-offs of retro franchises thrived, but it attracted some genuinely fun games that forever remained obscure, such as those from Gameloft.
+
{{Outdated}}
  
The situation is quite different in Japan where mobile hardware was much more developed, only loosely Java-based, and major video game developers were much more invested in creating unique and high-quality content that's most obscure and unpreserved, let alone emulated, today. Those are the very different [[wikipedia:Galapagos syndrome|Galapagos mobile phones]] (like NTT DoCoMo i-mode, DeNa, RoID...). Some of these games got ported to the inferior Western hardware but these are in the tiny minority.
+
The N64 emulation scene had previously been described as a broken mess, the very definition of plugin hell. With recent developments in the scene, however, the situation has markedly improved, and it is no longer considered necessary to have multiple emulators and plugins on hand to get most games to work. This page will outline the best plugins currently available for the benefit of both the casual and enthusiast looking to get their N64 emulation fix.
  
<code>.JAR</code> files of Java-based non-Japanese cell phones can be still found online with some effort, namely on WAP sites offering (pirated) mobile content e.g. [http://dedomil.net dedomil.net], [http://phoneky.com phoneky.com], [http://mobiles24.co mobiles24.co]
+
==The Plugin Specs==
 +
To understand the current plugin situation, and why there are several competing emulators that all appear to use the same plugins but said plugins are not compatible across emulators, a bit of history is in order.
  
==Java 2 Micro Edition <small>(J2ME)</small>==
+
Historically, the majority of N64 emulators all shared the same plugin spec (known as the zilmar spec, after the creator of Project64, the first emulator to use it), and could therefore all use the same plugins, meaning you could take a plugin DLL file, use it on one emulator, then take that DLL and use it on another, and it would also work there. Of these, the big three emulators were Project64, 1964 and Mupen64. Each had advantages and disadvantages, and some games worked well in one only to not work in another, even when using the same plugin configuration. This necessitated having all of these emulators and sometimes even older or modified versions of them, along with a great many plugins, to be able to play most of the N64 library with the least amount of issues possible - though admittedly a good amount of games (particularly the most popular ones) were playable with just the best few of them. To illustrate the point, [http://bhemuhelp.unaux.com/n64mgcl/N64ConfigList.html here] is a site that, as late as 2012, was dedicated to documenting the exact emulator, plugin and settings combination necessary to get each and every game to at least a playable state, if at all possible.
  
»» A free cross-platform language capable of working in devices with highly reduced capabilities. It was basically Java stripped down to the bare essentials.
+
However, as time went on, things began to change, slowly at first. 1964's development eventually ceased, and it completely fell off the radar. Mupen64 was forked into Mupen64Plus and developed its own plugin spec that was incompatible with the older zilmar spec, making it unable to use existing plugins unless they were specifically ported to it. This left only Project64 as the only relevant and active emulator still using the zilmar spec. For some time, then, this left the fledgling Mupen64Plus missing out on most cutting-edge plugin development, as most people were still using Project64.
While originally not intended for games (until its more advanced game-oriented API came), it became the ''de facto'' market standard for cell phone gaming - due in no small part to the SDK being free and without licensing costs.
 
  
»» Sony Ericsson 3D Engine (Mascot Capsule 3D) rendering engine enables real-time processing of 3D graphics for applications running on a wide variety of embedded devices such as mobile phones, handheld games, arcade game equipment, etc. It can be implemented on any OS and platforms to create 3D expressions that are far more versatile than 2D, in the environment with limited resources.
+
A semblance of parity began to come about as a result of several major developments: first, Mupen64Plus itself was forked by the libretro team, which made many improvements to the core emulator, and integrated its plugins into the core itself. Second, gonetz, the developer of Glide64, unveiled his newest plugin, GLideN64, which would officially support both the zilmar and Mupen64Plus specs from the beginning. Third, the Angrylion plugin, which is the most accurate and compatible (and slowest) plugin there is, began to be ported both for use with standard Mupen64Plus and the libretro fork. Finally, Themaister, one of the creators of libretro and RetroArch, began developing a unique plugin initially exclusive to libretro known as ParaLLEl-RDP, essentially Angrylion running on the GPU through Vulkan compute shaders, enabling near-perfect N64 graphics emulation at actually playable speeds. Add to this the fact that most PCs and many mobile devices are now more than capable enough of running the most advanced plugins, and the plugin situation, once considered a labyrinth, has been greatly simplified to just needing a few for the vast majority of use cases.
  
===Emulators===
+
All that said, the issue is that there are now three plugin standards to account for:
  
Currently, [[KEmulator]] and [[FreeJ2ME]] should suffice for most games, but there's a minority of games making use of obscure vendor-specific APIs supported only on their respective SDK tools. Given the scarcity of such tools, this list aims to comprehensively list the available ones for convenience.
+
*The zilmar spec - Utilized by Project64 and most other legacy emulators; only Project64 still uses it today.
 +
 
 +
*The Mupen64Plus spec - Utilized by Mupen64Plus and most of its forks.
 +
 
 +
*Libretro - Not really a spec per se, as the plugins are integrated directly into the libretro core, so there's no DLL files to download or add.
 +
 
 +
As of right now, not all plugins are readily available on all three. Consult the table below for reference:
  
 
{| class="wikitable" style="text-align:center;"
 
{| class="wikitable" style="text-align:center;"
|-
 
 
! scope="col"|Name
 
! scope="col"|Name
! scope="col"|Platform(s)
+
! scope="col"|Latest Version
! scope="col"|Version
+
! scope="col"|Project64
! scope="col"|<abbr title="Sony Ericsson 3D Engine">Mascot Capsule 3D</abbr>
+
! scope="col"|Mupen64Plus
! scope="col"|[[Emulation Accuracy|Accuracy]]
+
! scope="col"|Libretro
! scope="col"|VM
+
! scope="col"|HLE
! scope="col"|Derived from
+
! scope="col"|LLE
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
+
! scope="col"|Widescreen Hack
! scope="col"|Active
+
! scope="col"|Custom Texture Packs
! scope="col"|[[Recommended Emulators|Recommended]]
+
! scope="col"|Recommended
 
|-
 
|-
!colspan="10"|PC / x86
+
!colspan="13"|Video Plugins
 
|-
 
|-
|[[KEmulator]]
+
|ParaLLEl-RDP
|align=left|{{Icon|Windows}}
+
|[https://github.com/Themaister/parallel-rdp git]
|[https://archive.org/details/KEmulator103 1.0.3]<br>[https://github.com/ancient-empires-resources/KEmulator git]
 
|{{✗}}
 
|Mid
 
|?
 
|?
 
|{{✗}}
 
|{{✗}}
 
|{{✓}}
 
|-
 
|[[FreeJ2ME]]
 
|align=left|{{Icon|Java|LiA|Libretro}}
 
|[https://sourceforge.net/projects/freej2me/files/ 2018/09/07][https://github.com/hex007/freej2me git]
 
|{{✗}}
 
|Mid
 
|Host JVM
 
|?
 
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
|-
 
|[[Kahvibreak]]
 
|align=left|{{Icon|Windows|Linux}}
 
|[https://bluemaxima.org/kahvibreak/Kahvibreak%201.5.zip Stable]<br/>[https://bluemaxima.org/kahvibreak/Kahvibreak%20Brewer%201.5.10.zip Dev]<br/>[https://bluemaxima.org/kahvibreak/linux-testing/index.html Linux]<small> (Beta)</small>
 
 
|{{✗}}
 
|{{✗}}
| Mid
 
| Host JVM (FreeJ2ME)
 
| ?
 
 
|{{✓}}
 
|{{✓}}
|{{✓}}
 
|{{✓}}<small> (WIP)</small>
 
|-
 
|SJ Boy Emulator
 
|align=left|{{Icon|Windows}}
 
|[https://web.archive.org/web/20061120062624/http://www.sjboy.cn:80/setup.zip Beta 4]
 
 
|{{✗}}
 
|{{✗}}
|Low
 
|?
 
|?
 
|?
 
 
|{{✗}}
 
|{{✗}}
|{{~}}
 
|-
 
|[[SquirrelJME]]
 
|align=left|{{Icon|Java|Libretro}}
 
|{{SquirrelJMEVer}}
 
|{{✗}}
 
|{{SquirrelJMEAccuracy}}
 
|Custom (Java)
 
| -
 
|{{✓}}
 
 
|{{✓}}
 
|{{✓}}
|?<small> (WIP)</small>
 
 
|-
 
|-
|Jademula
+
|GLideN64
|align=left|{{Icon|Windows}}
+
|[https://github.com/gonetz/GLideN64/releases/tag/github-actions github-actions]
|[https://github.com/RobDangerous/Jademula git]
 
|{{✗}}
 
|Mid
 
|?
 
|?
 
 
|{{✓}}
 
|{{✓}}
|{{✗}}
 
|{{✗}}
 
|-
 
|[http://me4se.org ME4SE]
 
|align=left|{{Icon|Java}}
 
|[https://sourceforge.net/projects/kobjects/files/me4se/2.2.0 2.2.0]
 
|{{✗}}
 
|Mid
 
|?
 
|?
 
 
|{{✓}}
 
|{{✓}}
|{{✗}}
 
|{{✗}}
 
|-
 
|Pstros
 
|align=left|{{Icon|Java}}
 
|[https://web.archive.org/web/20060720210353/http://www.volny.cz/molej/pstros/download.htm 1.6.0]
 
|{{✗}}
 
|Mid
 
|?
 
|?
 
|?
 
|{{✗}}
 
|{{✗}}
 
|-
 
|MicroEmu
 
|align=left|{{Icon|Java|Windows|mcOS|Lin}}
 
|[https://github.com/artem-frolov/microemu git]
 
|{{✗}}
 
|Mid
 
|Host JVM
 
| -
 
 
|{{✓}}
 
|{{✓}}
|{{✗}}
 
|{{✗}}
 
|-
 
|MiniSoyo
 
|align=left|{{Icon|Windows}}
 
|[https://web.archive.org/web/20061026100050/http://www.sjboy.cn:80/images/minisoyo_en.zip 1.0]
 
|{{✗}}
 
|Low
 
|?
 
|?
 
|?
 
|{{✗}}
 
|{{✗}}
 
|-
 
|MidpX (NHAL)
 
|align=left|{{Icon|Windows}}
 
|[https://web.archive.org/web/20070831144240/http://kwyshell.myweb.hinet.net 1.0.1]
 
|{{✗}}
 
|Low
 
|?
 
|?
 
|?
 
|{{✗}}
 
|{{✗}}
 
|-
 
|MPowerPlayer
 
|align=left|{{Icon|Windows|Linux|Mac}}
 
|[https://web.archive.org/web/20070126100250/http://mpowerplayer.com:80/mppwin.zip 2.0]
 
|{{✗}}
 
|Low
 
|?
 
|?
 
|?
 
|{{✗}}
 
|{{✗}}
 
|-
 
|Midp-Emulator
 
|align=left|{{Icon|Windows}}
 
|[https://web.archive.org/web/20070729182344/http://www.perimind.com/midpEmul.zip 1.31]<br/>[https://github.com/ichisadashioko/midp-emulator git]
 
|{{✗}}
 
|Low
 
|?
 
|?
 
 
|{{✓}}
 
|{{✓}}
|{{✗}}
 
|{{✗}}
 
|-
 
|GameMagic S60
 
|align=left|{{Icon|Windows}}
 
|[https://gamemagic-s60.download.it 1.2.1]
 
|{{✗}}
 
|Low
 
|?
 
|?
 
|?
 
|{{✗}}
 
|{{✗}}
 
|-
 
|N-GAGE COOL!
 
|align=left|{{Icon|Windows|Lin}}
 
|[https://web.archive.org/web/20060214111930/http://www.amazingmobile.com:80/DownFiles/NgageCool(Trial).zip 1.2.1 (Trial)]
 
|{{✗}}
 
|Low
 
|?
 
|?
 
|?
 
|{{✗}}
 
|{{✗}}
 
|-
 
|Nokia SDKs
 
|align=left|{{Icon|Windows}}
 
|[https://archive.org/details/nokia_sdks_n_dev_tools Part 1] <br/>[https://archive.org/details/nokia_sdks_n_dev_tools2 Part 2]<br/>[https://archive.org/details/nokia_sdks_n_dev_tools3 Part 3]
 
|{{✗}}
 
|Mid
 
|?
 
|?
 
|?
 
|{{✗}}
 
|{{~}}
 
|-
 
|Sony Ericsson SDKs
 
|align=left|{{Icon|Windows}}
 
|[https://drive.google.com/file/d/1xHSPbVOGSG84y1hlvGDI0RC4iGiCQ7HP/view?usp=sharing 2.5.0.6]
 
|{{✗}}
 
|Mid
 
|?
 
|?
 
|?
 
|{{✗}}
 
|{{~}}
 
|-
 
|Siemens SDKs
 
|align=left|{{Icon|Windows}}
 
|[https://archive.org/details/siemens-club.ru-siemens-emulators Site 1]<br/>[http://www.siemensmania.cz/emulatory.php Site 2]
 
|{{✗}}
 
|Mid
 
|?
 
|?
 
|?
 
|{{✗}}
 
|{{~}}
 
|-
 
|Motorola SDKs
 
|align=left|{{Icon|Windows}}
 
|[https://web.archive.org/web/20070213084711if_/http://trix2.cellmania.com:80/downloads/downloads/files/sdk41ga.zip 4.1]<br/>[https://web.archive.org/web/20051106121510if_/http://trix2.cellmania.com:80/downloads/downloads/files/SDK521.zip 5.2.1]
 
|{{✗}}
 
|Mid
 
|?
 
|?
 
|?
 
|{{✗}}
 
|{{~}}
 
|-
 
|Motorola iDEN SDK
 
|align=left|{{Icon|Windows}}
 
|[https://motorola-iden-sdk-for-j2me.software.informer.com Mirror]
 
|{{✗}}
 
|Mid
 
|?
 
|?
 
|?
 
|{{✗}}
 
|{{~}}
 
 
|-
 
|JS2ME
 
|align=left|{{Icon|FirefoxOS}}, JavaScript
 
|[https://github.com/szatkus/js2me git]
 
|{{✗}}
 
|?
 
|?
 
|?
 
|?
 
|{{✓}}
 
|?
 
|-
 
|Pluotsorbet
 
|align=left|{{Icon|FirefoxOS}}, JavaScript
 
|[https://github.com/mozilla/pluotsorbet git]
 
|{{✗}}
 
|?
 
|?
 
|?
 
|?
 
 
|{{✓}}
 
|{{✓}}
|?
 
|-
 
!colspan="10"|Mobile / ARM
 
|-
 
|[[J2ME Loader]]
 
|align=left|{{Icon|Android}}
 
|[https://play.google.com/store/apps/details?id=ru.playsoftware.j2meloader 1.7.2-play]<br/>
 
[https://github.com/nikita36078/J2ME-Loader/releases {{JLVer}}]<br/>
 
[https://install.appcenter.ms/users/nikita36078/apps/j2me-loader/distribution_groups/testers 1.7.2-dev-1555]
 
|{{✗}}
 
|High
 
|Host JVM
 
| -
 
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|-
 
|-
|[[JL-Mod]]
+
|Angrylion RDP Plus
|align=left|{{Icon|Android}}
+
|[https://github.com/ata4/angrylion-rdp-plus/releases/tag/v1.6 1.6]
|[https://github.com/woesss/JL-Mod/releases {{JL-ModVer}}]
 
|{{~}}
 
|High
 
|Host JVM
 
|J2ME-Loader
 
|{{✓}}
 
|{{✓}}
 
 
|{{✓}}
 
|{{✓}}
|-
 
|Java J2ME MiDlet Runner
 
|align=left|{{Icon|Android}}
 
|[https://docs.google.com/uc?export=download&id=0B0WSQzohaqtBa0ZpSHUwUUxqYXM 2.0.3.7]<br/>[https://web.archive.org/web/20110223233807/http://www.netmite.com/android Netmite.com]
 
|{{✗}}
 
|Low
 
|?
 
|?
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|-
 
|Jbed
 
|align=left|{{Icon|Android}}
 
| [https://forum.xda-developers.com/attachments/jbed-zip.668332 2.3.1]
 
|{{✗}}
 
|Low
 
|?
 
|?
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|-
 
|Jblend
 
|align=left|{{Icon|Android}}
 
| [https://forum.xda-developers.com/attachments/jblend-rar.589116 0.1]
 
|{{✗}}
 
|Low
 
|?
 
|?
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|-
 
|Project Kava
 
|align=left|{{Icon|KaiOS}}
 
|[https://gitlab.com/suborg/project-kava git]
 
|{{✗}}
 
|Mid
 
|?
 
|?
 
 
|{{✓}}
 
|{{✓}}
|{{✗}}
 
|{{✗}}
 
|-
 
|PhoneME
 
|
 
|[https://archive.org/details/phoneme-svn.dump SVN Dump]
 
|Vendor Specific
 
|Reference Implementation
 
|KVM (Reference Implementation)
 
|Reference Implementation
 
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
|{{✗}}
 
|-
 
|PhoneME (unofficial)
 
|align=left|{{Icon|Android|Maemo|MeeGo|WinMobile|PocketPC|WinCE}}
 
|[https://github.com/nikita36078/phoneME-android git]<br/>[https://web.archive.org/web/20180305064344/http://davy.preuveneers.be/phoneme/?q=node/10  b168 rev20547]
 
|{{✗}}
 
|Low
 
|PhoneME
 
|PhoneME Advanced (unofficial)
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|-
 
|KarinME <small> (Based on MicroEmu)</small>
 
|align=left|{{Icon|Maemo}}
 
|[https://openrepos.net/content/karinzhao/karinme 3.0.1]
 
|{{✗}}
 
|Mid
 
|?
 
|?
 
|{{✗}}
 
|{{✗}}
 
|{{~}}
 
|-
 
|MicroEmu <small> (Converter)</small>
 
|align=left|{{Icon|Android|Maemo}}
 
|[http://microemu.blogspot.com/2009/08/converting-javame-applications-to.html?m=1 Android]<br/>[https://code.google.com/archive/p/microemu/wikis/Maemo.wiki Maemo]
 
|{{✗}}
 
|Low
 
|Host JVM
 
| -
 
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
|-
 
|PhoneME-featuredevices (unofficial)
 
|align=left|{{Icon|Symbian|WinCE}}
 
|[https://github.com/hbao/phonemefeaturedevices git]
 
|{{✗}}
 
|Low
 
|phoneME CLDC
 
|phoneME Feature
 
 
|{{✓}}
 
|{{✓}}
|{{✗}}
 
|{{✗}}
 
|-
 
!colspan="10"|Consoles
 
 
|-
 
|-
|[[PSPKVM]]
+
|Glide64
|align=left|{{Icon|PSP}}
+
|Final
|[http://sourceforge.net/projects/pspkvm/files/latest/download 0.5.5 Final Edition]<br/>[https://github.com/vadosnaprimer/pspkvm git]
 
|{{✗}}
 
|Mid
 
|phoneME CLDC
 
|phoneME Feature
 
 
|{{✓}}
 
|{{✓}}
|{{✗}}
 
 
|{{✓}}
 
|{{✓}}
|-
 
|Bittboy-j2me
 
|align=left|{{Icon|Bitt-Boy}}<br>{{Icon|Pocket-Go}}<small>(Miyoo)</small>
 
|[https://github.com/pthalin/bittboy-j2me git]
 
|{{✗}}
 
|Mid
 
|phoneME CLDC
 
|phoneME Advanced
 
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
|{{~}}
 
|-
 
|Midpath
 
|align=left|{{Icon|RetroFW}}
 
|[https://github.com/jbanes/midpath git]
 
 
|{{✗}}
 
|{{✗}}
|Mid
 
|?
 
|?
 
|{{✓}}
 
|{{✓}}
 
|{{~}}
 
|-
 
|PhoneME (unofficial)
 
|align=left|{{Icon|GP2X|Wiz}}<br>{{Icon|Caanoo}}
 
|[https://github.com/j2me-preservation/phoneME-GP2X-SDL git]
 
 
|{{✗}}
 
|{{✗}}
|Mid
 
|phoneME CLDC
 
|phoneME Feature
 
 
|{{✓}}
 
|{{✓}}
|{{~}}
 
 
|{{~}}
 
|{{~}}
 
|-
 
|-
|Pstros-nds
+
|Jabo's Direct3D8
|align=left|{{Icon|NDS}}
+
|1.7.0.57-ver5
|[https://www.gamebrew.org/wiki/Pstros_NDS 0.7.2 r6][https://github.com/ole00/pstros-nds git]
 
|{{✗}}
 
|Low
 
|?
 
|?
 
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
|}
 
 
;Emulators via ~
 
 
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|Via
 
! scope="col"|<abbr title="Sony Ericsson 3D Engine">Mascot Capsule 3D</abbr>
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|VM
 
! scope="col"|Derived from
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|[[PSPKVM]]
 
|align=left|{{Icon|Android|iOS|Windows|macOS|Lin|LiA}}
 
{{Icon|PSVita|Switch}}
 
{{Icon|Symbian|BB|MeeGo|Pandora|Pyra}}
 
|[http://sourceforge.net/projects/pspkvm/files/latest/download 0.5.5 Final Edition]<br/>[https://github.com/vadosnaprimer/pspkvm git]
 
| PSVita : [https://github.com/TheOfficialFloW/Adrenaline/releases Adrenaline]<br/>
 
Other : [[PPSSPP]]
 
|{{✗}}
 
|Mid
 
|phoneME CLDC
 
|phoneME Feature
 
 
|{{✓}}
 
|{{✓}}
|{{✗}}
 
 
|{{✓}}
 
|{{✓}}
|-
 
|[[SquirrelJME]]
 
|align=left|{{Icon|Windows|Linux|Mac}}
 
{{Icon|APK|iOS|Vita|PS2}}
 
{{Icon|3DS|Wii|WiiU|GCN|NX}}<ref group=N name=libretro>Only available as a libretro core (e.g. [[RetroArch]]).</ref>
 
|{{SquirrelJMEVer}}
 
| [[RetroArch]]
 
|{{✗}}
 
|{{SquirrelJMEAccuracy}}
 
|Custom (Java)
 
| -
 
 
|{{✓}}
 
|{{✓}}
|{{✓}}
 
|?<small> (WIP)</small>
 
|-
 
|SJ Boy Emulator
 
|align=left|{{Icon|Mac|Lin}}
 
|[https://web.archive.org/web/20061120062624/http://www.sjboy.cn:80/setup.zip Beta 4]
 
| [[Wine]]
 
 
|{{✗}}
 
|{{✗}}
|Low
 
|?
 
|?
 
|?
 
 
|{{✗}}
 
|{{✗}}
|{{~}}
 
|}
 
 
<references group=N />
 
 
;[[FreeJ2ME]] — Free and open-source
 
:Has fewer features than [[KEmulator]], but better compatibility. It is recommended for games that don't work with [[KEmulator]]. It has an optional [[libretro]] core and development is active. Games that freeze on [[KEmulator]], such as Wolfenstein RPG and Doom 2 RPG, run on FreeJ2ME with no issues, although compatibility and accuracy are not as good as [[J2ME Loader]]. Some games run too fast and require tinkering with the frame rate options. No 3D support.
 
 
;[[KEmulator]] — Closed-source
 
:Has more features and compatibility than other ones, as well as 3D emulation. Has support for custom resolutions and full screen (View/Options). You can even set a proxy server for mobile Java apps that connect to the internet under options. Requires Java Runtime Environment installed. It is a recommended emulator if you're on a Windows PC, although some games (such as Wolfenstein RPG and Doom 2 RPG) freeze indefinitely on the loading screen. Last update was in 2012.
 
 
;Nokia SDKs
 
:A set of different device emulators released by Nokia along with their J2ME SDKs. Keyboard bindings are not friendly for playing games. Some of them are buggy. The Nokia 3410 SDK emulator is capable of running some ancient black&white J2ME games no other emulator can.
 
 
;Sony Ericsson SDKs
 
:Device emulators released by Sony Ericsson along their J2ME SDKs. Some of them have support for Mascot Capsule V3 3D APIs. Can run some games at better framerates than the original devices
 
 
;Siemens SDKs
 
:Device emulators released by Siemens along their J2ME SDKs. Can run some older games that depend on old Siemens APIs
 
 
;Motorola SDKs
 
:J2ME development kits released by Motorola. Can run some older games that depend on Motorola-specific APIs
 
 
;Motorola iDEN SDK
 
:J2ME development kit released by Motorola. Can run some older games that depend on iDEN-specific APIs
 
 
;Pstros
 
:Haves support for some obscure vendor-specific APIs that other emulators don't support.
 
 
;Sj Boy
 
:More compatible than MidpX. Can take snapshots. More resolutions (but still buggy). Appears to run correctly some older games [[FreeJ2ME]] and [[KEmulator]] don't.
 
 
;Minisoyo
 
:Experimental emulator from the SJBoy authors. Appears to properly emulate transparency on older games making use of Nokia APIs. To open a game, drag and drop the JAR file onto the MiniSoyo window.
 
 
;MidpX
 
:One of the older emulators. Fixed low resolution (176x220) and compatibility, no handler app support. The installer may contain adware.
 
 
;MPowerPlayer
 
:Emulator from a company that used to develop solutions to allow users to try J2ME game demos on their computer before purchasing them. Doesn't have any known advantageous features. Requires [https://www.java.com/en/download/manual.jsp JRE].
 
 
;[[SquirrelJME]] — Free and open-source
 
:Project developing a full JVM implementation + Java ME 8 APIs. Full compatibility with old J2ME software and high portability are among its main goals. Under heavy development.
 
 
;[[J2ME Loader]] — Free and open-source
 
:This is currently the highest-compatibility J2ME emulator available. Converts .jar files offline using its own resources. Easily launches both 2D & 3D apps. Samsung & Nokia API implemented. Supports different keyboard layouts and customization. It is highly accurate, with the right frame rate for each game, as well as vibration. Has slightly improved performance through hardware acceleration, but games won't run too fast. Runs almost every Nokia game, even ones that don't work with [[KEmulator]] or [[FreeJ2ME]], but fails with Sony Ericsson 3D engine (Mascot Capsule), due to the fact that the mascot capsule is almost impossible to port. This is common with most of other emulators as well.
 
 
;[[JL-Mod]] — Free and open-source
 
:This is the experimental mod of the J2ME Loader app with Mascot Capsule 3D (MC3D V3) support. Has some new and experimental features. Converts .jar files offline using its own resources. Easily launches both 2D & 3D apps. Samsung & Nokia API implemented. Supports different keyboard layouts and customization. It is highly accurate, with the right frame rate for each game, as well as vibration. Has slightly improved performance through hardware acceleration, but games won't run too fast. Runs almost every Nokia game, even ones that don't work with [[KEmulator]] or [[FreeJ2ME]], as well as Sony Ericsson 3D engine (Mascot Capsule).
 
 
;Java J2ME Runner
 
:Old tool, launches Java Applications on Android using native library. Apps have to be converted first, using [http://www.netmite.com/android/srv/2.0/getapk.php Netmite.com]. Overall 2D stability is acceptable, but 3D support almost does not work. Different types of keyboard & screen stics are included. Unfortunately, often experiences troubles with *Jar conversion.
 
 
;Netmite.com
 
:This is a Android J2ME MIDP RUNNER so that any J2ME or MIDP applications can run without modification. Developers can enter the Android Market quickly. You can use your familiar development environment such as J2ME and MIDP or easily port your existing J2ME Application to Android with minimum code change. Users can use java applications directly inside Android
 
 
;[[PSPKVM]] — Free and open-source
 
:Available for cellphones. Might be the first one that's open-source. Last update was in 2011 <small>(0.5.5 Final Edition)</small>. PSPKVM is a [[Emulators on PSP|PSP]] port of Sun's open-source JavaME implementation phoneME Feature.
 
 
;phoneME
 
This is the reference implementation of J2ME made initially by Sun Microsystems, now owned by Oracle Corporation.
 
 
;phoneME (unofficial ports)
 
:phoneME for Windows CE/Mobile and Android is an implementation of the phoneME open source J2ME application platform for your Windows Mobile phone or Android handheld device. There are two different platforms of the phoneME Virtual machine : <u>phoneME Feature</u> and <u>phoneME Advanced</u>. Beyond precompiled binaries of these VMs for WinCE and Android based operating systems, this website provides information, patches and instructions in order to compile the phoneME sources yourself.
 
 
==Symbian and N-Gage <small>(Nokia)</small>==
 
 
Originally a joint Nintendo-Nokia cellphone handheld hybrid project slated for 2005, Nintendo backed away from the project (and its plans for NES/Game Boy ports for mobile were repurposed for their Virtual Engine project). Nokia continued the project on their own anyways and released N-Gage on October 7, 2003, for <abbr title="$377.10 in 2018 money">$299</abbr> as the most powerful handheld of its time, that is up until the DS and PSP came along and ended Nokia's hopes at dominating the handheld gaming market. It had an ARM920T CPU at 104 MHz.
 
 
However, while gaining support through GBA/PS1 ports (including the only English version of the JP-only Xanadu series until 2016) and a few original exclusives, the thing suffered from huge design flaws, from the button layout to the display and cell phone functionality.
 
 
Has a revision called the QD which was unveiled on April 14, 2004, with an ARM9E CPU. ROM dumps of Symbian and N-Gage games are available.
 
 
===Emulation===
 
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
!colspan="7"|PC / x86
 
 
|-
 
|-
|[[EKA2L1]]
+
|Rice Video
|align=left|{{Icon|Windows|Linux|macOS|}}
+
|0.4.4
|[https://github.com/EKA2L1/EKA2L1/releases {{EKA2L1Ver}}]
 
|Mid
 
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
|-
 
|Engemu
 
|align=left|{{Icon|Windows}}
 
|[https://github.com/mrRosset/Engemu git]
 
|None
 
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
|-
 
|NGEmu
 
|align=left|{{Icon|Windows}}
 
|[https://github.com/NGEmu/NGEmu git]
 
|None
 
 
|{{✓}}
 
|{{✓}}
|{{✗}} <small>(see below)</small>
 
|{{✗}}
 
|-
 
|N-Gage COOL!
 
|align=left|{{Icon|Windows}}
 
|[https://ngage-cool.soft32.com 1.2.1] ($)
 
|Terrible
 
|{{✗}}
 
|{{✗}}
 
 
|{{✗}}
 
|{{✗}}
 
|-
 
|-
!colspan="7"|Mobile / ARM
+
|glN64
|-
+
|0.4.1
|[[EKA2L1]]
 
|align=left|{{Icon|Android|}}
 
|[https://github.com/EKA2L1/EKA2L1/releases {{EKA2L1Ver}}]
 
[https://play.google.com/store/apps/details?id=com.github.eka2l1 0.0.6]
 
|Mid
 
|{{✓}}
 
|{{✓}}
 
 
|{{✓}}
 
|{{✓}}
|}
 
 
;[[EKA2L1]] — Free and open-source
 
:A Symbian OS emulator with [https://www.reddit.com/r/emulation/comments/8aotzq/eka2l1_a_symbian_os_emulator high-level emulation], 25 Symbian games (6 N-Gage Games) have been labeled In-Game, 9 have been tagged Playable, and many more have yet to be tested.(Note : The Elder Scrolls Travels: Shadowkey and Ashen are among 6 N-Gage Games that go In-Game.)
 
 
;Engemu
 
:A Nokia N-Gage focused emulator with [https://www.reddit.com/r/emulation/comments/8aotzq/eka2l1_a_symbian_os_emulator/ low-level emulation].
 
 
;NGEmu
 
:The [https://github.com/NGEmu/NGEmu/commit/7500b41959c686e65eaed871490c97b2de5da0d6 first] known Nokia N-Gage emulator (with high-level emulation), although it is currently on hiatus due to a lack of information required to further development. Linux support is planned for the future.
 
 
;N-Gage COOL!
 
:A dead payware emulator for Windows. It only partially emulated the J2ME-based Nokia N-Gage exclusives and nothing else from the rest of the bunch.
 
 
==Execution Engine <small>(ExEn)</small>==
 
 
A freeware solution developed by French mobile game developer [https://www.insightpartners.com/portfolio/in-fusio#:~:text=B2C%20Prior%20Investment%20IN%2DFUSIO,130%20carriers%20and%20portals%20worldwide. In-Fusio] around 2000. It was a Java-based solution presenting itself as an alternative to the limitations of J2ME's game development (offering missing feautures like sprite zooming, parallax scrolling, rotations...).
 
 
It achieved relative success and widespread hardware support in Europe, and was also used in China.
 
 
===Emulation===
 
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|EXEN-V2 Generic Simulator
 
|align=left|{{Icon|Windows}}
 
|?
 
|Low
 
|?
 
 
|{{✗}}
 
|{{✗}}
|}
 
 
;EXEN-V2 Generic Simulator
 
:A very old dead emulator for ExEn software. While many games will go in-game, they'll crash at various points.
 
 
==Classic BlackBerry OS==
 
 
===Emulators===
 
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|BlackBerry Simulator Series
 
|align=left|{{Icon|Windows}}
 
|[https://www.softpedia.com/dyn-search.php?search_term=blackberry+simulator Varies]
 
|Cycle
 
|?
 
 
|{{✓}}
 
|{{✓}}
|}
 
 
==Palm OS==
 
 
===Emulators===
 
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
!colspan="7"|PC / x86
 
|-
 
|Mu
 
|align=left|{{Icon|Windows|Libretro}}
 
|[https://palmdb.net/app/mu 1.0.0]
 
|?
 
|{{✗}}
 
 
|{{✓}}
 
|{{✓}}
|{{~}}
 
|-
 
|POSE
 
|align=left|{{Icon|Windows}}
 
|[https://palmdb.net/app/palm-emulator Varies]
 
|?
 
|?
 
|{{~}}
 
 
|{{✗}}
 
|{{✗}}
|-
 
|Palm Simulator
 
|align=left|{{Icon|Windows}}
 
|[https://palmdb.net/app/palm-simulator Varies]
 
|?
 
|?
 
|{{~}}
 
 
|{{✗}}
 
|{{✗}}
|-
 
!colspan="7"|Mobile / ARM
 
|-
 
|PHEM
 
|align=left|{{Icon|Android}}
 
|[https://play.google.com/store/apps/details?id=com.perpendox.phem 1.43a]
 
|?
 
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
|{{~}}
 
 
|-
 
|-
|StyleTap
+
|z64gl
|align=left|{{Icon|WinMobile|Android|Windows|macOS|Lin}}
+
|R17
|[https://newsblog.styletap.com/index.php 0.8.033]
 
|?
 
|{{✗}}
 
|{{✗}}
 
|{{~}}
 
|}
 
 
 
==Mediatek Runtime Environment <small>(MRE)/MAUI</small>==
 
 
 
Being the turnkey solutions firm that they are known for, as their chips are used on millions and millions of el-cheapo "Shanzhai" devices all over the world (especially counterfeit Nokias and Goophones among other things), Mediatek has also come up with their own mobile platform and API known as the [http://news.softpedia.com/news/Opera-Mini-Arrives-on-MediaTek-s-Runtime-Environment-MRE-238105.shtml Mediatek Runtime Environment], aka MAUI. It is targeted for so-called "smart" feature phones, i.e. those that offer similar functionality to standard mobile operating systems like Android, but are watered down for entry-level users. An SDK is available on their [http://mre.mediatek.com/en/sdk/2.0 developer site] for members, and <code>.VXP</code> files for games and other applications appear to be available on the usual WAP sites.
 
 
 
===Emulation===
 
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|Mediatek MRE SDK
 
|align=left|{{Icon|Windows}}
 
|[http://mre.mediatek.com/en/sdk/2.0 3.0]
 
|?
 
|?
 
 
|{{✓}}
 
|{{✓}}
|}
 
 
==Mophun==
 
 
'''Mophun''' was an even more hardware-efficient free European-centric mobile gaming solution developed by Swedish company Synergetix. It was supported on various devices, such as the Sony Ericsson T2xx, T3xx and T6xx series, Symbian S60v1, S60v2, S60v3 and UIQ3 phones, and Windows Mobile Smartphones running at a resolution of 176x220 or 240x320. There are 303 known games,<ref>[https://docs.google.com/spreadsheets/d/1AXmupwvgxuI_NRINDsN8azlKtONcQYf6CD6HfKYc8gM Mophun Game List]</ref> of which 255 have been released, 41 are unknown to have been released, 3 are demos and 5 are unreleased. It was later overtaken by advances in J2ME that came with the MIDP 2.0 framework.<ref>[https://twitter.com/sczther/status/1345476460107194368 Mophun preservation thread on Twitter]</ref>
 
 
===Emulators===
 
 
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
!colspan="7"|PC / x86
 
|-
 
|4Mophun
 
|align=left|{{Icon|WinMobile}}
 
|1.1
 
|{{✗}}
 
|?
 
|{{✗}}
 
 
|{{✓}}
 
|{{✓}}
|-
 
|[[mophun]]
 
|align=left|{{Icon|Windows}}
 
|[https://cdn.discordapp.com/attachments/793085042020450324/803269504859766814/Mophun_emulator_2.5.4__games.zip 2.5.4]
 
 
|{{✗}}
 
|{{✗}}
|?
 
|{{✗}}
 
|{{✓}}
 
|-
 
|MoRePhun
 
|align=left|N/A
 
|[https://github.com/Luca1991/MoRePhun git]
 
|{{✓}}
 
 
|{{✗}}
 
|{{✗}}
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
|-
 
!colspan="7"|Mobile / ARM
 
|-
 
|Mophun Games Launcher
 
|align=left|{{Icon|Symbian}}
 
|[https://andredream13.wordpress.com/2012/07/13/mophun-games-launcher-v1-01-s60v3-12-games-in-one 1.01]
 
|{{✗}}
 
|?
 
|{{✗}}
 
|{{✓}}
 
|}
 
 
;Mophun Games Launcher
 
:only compatible with 13 games, all of which use the 3D engine and were released for Symbian. The emulator is available for S60v3.
 
 
;4Mophun
 
:does not work with games that are locked (e.g. have a predefined IMEI recognition algorithm) or do not use the 3D engine.
 
 
;[[mophun]]
 
:an official emulator, designed for development and demos. As such, encrypted or compressed games do not boot. However, this has been worked around, both by decrypting the files and decompressing them (except for compressed resources), and modifying the emulator to perform decryption on the fly, albeit only when opening them via the Open menu. Exile is not known to work in any found version of the emulator.
 
 
;MoRePhun
 
:a new, open source emulator by Luca91. It is only a proof of concept, as only a few opcodes and a couple of SDK APIs are emulated, and there is no heap. There is sprite and input support, as well as support for the collision API. It is compatible with a few small homebrews. Luca91 mentions the SDK API handler needs to be better organized.
 
 
==Japanese cellphones==
 
 
Several Japanese-centric mobile game technologies spawned during the 00's as part of convoluted all-in-one technological solutions, mostly based on Java.
 
 
* NTT DoCoMo released <b>DoJa</b> (later renamed to Star), based on Java ME CLDC, but not MIDP. Applications come in the form of .JAR files accompained by a .JAM descriptor.
 
 
* KDDI released <b>ezplus</b> (later renamed to "EZ-appli (Java)"), based on Java ME extended with propietary APIs. Applications come in the form of .KJX files. It was later replaced with a BREW-based solution called "EZ-appli (BREW)"
 
 
* J-PHONE released <b>J-SKY</b>, based on standard J2ME MIDP extended with several propietary 3D/sound/gfx APIs. It was later renamed to "Vodafone Live!" and "Yahoo! Keitai" as the company got purchased by Vodafone and SoftBank, respectively. Applications come in the form of .JAR and .JAD files.
 
 
It is possible to develop applications that work both under ezplus, J-SKY and standard J2ME devices by using only MIDP1.0 APIs
 
 
===i-mode (DoJa)===
 
 
Japanese mobile manufacturer NTT DoCoMo released [https://en.wikipedia.org/wiki/DoJa DoJa] (DoCoMo's Java) as part of their i-mode set of standards for mobile telephony. It is based on Java ME CLDC, but not MIDP. The profile received several updates, being later renamed to "Star". It was used on DoCoMo's mova and FOMA series of mobile phones, being first featured on the mova 503i from 2001.
 
 
While i-mode phones were made available in a limited fashion in Europe, the game apps weren't exported, the i-mode specific features were mainly used for enhancing web pages for mobile browsers and even the Java API is the different more limited "Overseas Edition". The main reason behind this was the fierce push back by Nokia and other western mobile hardware manufacturers refusing to support the DoJa software standard until very late.
 
 
DeNa (Mobage), Namco (Tales of Mobile) and Level-5 (RoiD) set up Steam-like game distribution portals specific to some cell-phone models yet i-mode based. The different names are to confuse dirty gaijin, probably.
 
 
Applications were denominated "i-αppli" (Japanese : iアプリ) and come in the form of .JAR files accompained by a .JAM descriptor text file.
 
 
====Emulators====
 
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
!colspan="7"|PC / x86
 
|-
 
|DoJa SDKs
 
|align=left|{{Icon|Windows}}
 
|Various
 
|Mid
 
|?
 
|{{✗}}
 
|{{~}}
 
|-
 
|DoJa Overseas Edition SDK
 
|align=left|{{Icon|Windows}}
 
|[https://web.archive.org/web/20070614131147/http://www.doja-developer.net/downloads/index.php?node=41 1.03]
 
|Low (DoJa 2.5 OE)
 
|?
 
|{{✗}}
 
|{{✗}}
 
|-
 
|[https://web.archive.org/web/20030407232654/http://www.zentek.com/jpn/products/mobile/jade/index.html i-JADE]
 
|align=left|{{Icon|Windows}}
 
|[https://web.archive.org/web/20040618195810if_/http://www.mobilejava.co.kr:80/bbs/temp/midpboard/i-JADEsetup0.exe 1.2.3]
 
|Low (DoJa 1.X)
 
|?
 
|{{✗}}
 
|{{✗}}
 
|-
 
|Jade
 
|align=left|{{Icon|Java}}
 
|[https://web.archive.org/web/20151127190756/http://mujweb.cz/molej/jade/index.htm 0.1.7]
 
|Low (DoJa 1.5)
 
|?
 
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|-
 
|-
|[[SquirrelJME]]
+
|Angrylion (Official)
|align=left|{{Icon|Windows|Linux|Mac|Java|}}
+
|r114
|{{SquirrelJMEVer}}
 
|{{SquirrelJMEAccuracy}}
 
|{{✓}}
 
 
|{{✓}}
 
|{{✓}}
|?
 
|-
 
!colspan="7"|Mobile / ARM
 
|-
 
|iApp Archives <br/>(i-appli)
 
|align=left|{{Icon|Android}}
 
|[https://m.apkpure.com/jp/%E6%87%90%E3%81%8B%E3%81%97%E3%81%AEi%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92%E3%81%8A%E6%89%8B%E8%BB%BD%E5%AE%9F%E6%B3%81%E3%83%97%E3%83%AC%E3%82%A4%EF%BC%81i%E3%82%A2%E3%83%97%E3%83%AA%E3%83%BB%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96%E3%82%B9/com.develga.iapp 2.6]
 
|Low
 
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
|}
 
 
;DoJa SDKs
 
:Official development kit from NTT DoCoMo, featuring a device emulator. Several releases were archived by Wayback Machine ::[https://web.archive.org/web/20051125214529if_/http://communaute.imode.fr:80/pages/13/idk_doja1.5_vers_1.0.6.zip DoJa 1.5] [https://web.archive.org/web/20060519052212if_/http://www.nttdocomo.co.jp:80/binary/archive/service/imode/make/content/download/contract/emu504_1.03_021217.zip DoJa 2.?] [https://web.archive.org/web/20060519052212if_/http://www.nttdocomo.co.jp/binary/archive/service/imode/make/content/download/contract/emudoja2.1f_1.00_021217.zip DoJa 2.1] [https://web.archive.org/web/20060519052212if_/http://www.nttdocomo.co.jp/binary/archive/service/imode/make/content/download/contract/emufordoja3_0_322_p.zip DoJa 3.0] [https://web.archive.org/web/20060519052212if_/http://www.nttdocomo.co.jp/binary/archive/service/imode/make/content/download/contract/emufordoja3_5_222_p.zip DoJa 3.5] [https://web.archive.org/web/20060519052212if_/http://www.nttdocomo.co.jp/binary/archive/service/imode/make/content/download/contract/emufordoja4_0_205_p.zip DoJa 4.0] [https://web.archive.org/web/20060519052212if_/http://www.nttdocomo.co.jp:80/binary/archive/service/imode/make/content/download/contract/emufordoja4_1_111_p.zip DoJa 4.1 (111)] [https://web.archive.org/web/20060519052212if_/http://www.nttdocomo.co.jp/binary/archive/service/imode/make/content/download/contract/emufordoja4_1_201.zip DoJa 4.1 (201)] [https://web.archive.org/web/20060519052212if_/http://www.nttdocomo.co.jp/binary/archive/service/imode/make/content/download/contract/emufordoja5_0_3_00.zip DoJa 5.0] [https://web.archive.org/web/20000426191235if_/http://www.nttdocomo.co.jp/binary/archive/service/developer/make/content/iappli/tool/star/star20/download/emuforstar2_0_1_01.zip Star 2.0]
 
 
;DoJa Overseas Edition SDK
 
:SDK for the stripped down Overseas Edition DoJa profile
 
 
;i-JADE
 
:iappli development kit from Zentek
 
 
;Jade
 
:Open-source project implementing several DoJa 1.5 APIs. Low compatibility
 
 
;[[SquirrelJME]]
 
:Open source emulator that can run J2ME software, will be adding i-Mode support in 2022.
 
 
===KDDI ezplus===
 
 
Japanese carrier KDDI/Au released ezplus as part of their EZweb set of standards for mobile telephony. It is based on Java ME extended with propietary APIs. The first device supporting it was released on 2001 (Hitachi C451H).
 
ezplus was later renamed to "EZ-appli (Java)" (Japanese : "EZアプリ (Java)") and gradually replaced with a BREW-based solution called "EZ-appli (BREW)" until 2004 when the last ezplus device was released.
 
 
In 2006 an Open Application Player (Japanese: オープンアプリプレイヤー) feature was added allowing to run MIDP 2.0 Java apps on the BREW devices, which were often denominated as オープンアプリ. It lacks support for the original propietary extensions of ezplus. On 2011, Open Application Player was updated and renamed to "EZ-appli (J)" along EZ-appli (BREW) which became "EZ-appli (B)"
 
 
Applications were denominated "ezplusアプリ" (during the ezplus name era) and come in the form of .KJX files.
 
 
====Emulators====
 
 
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|ezplus emulator
 
|align=left|{{Icon|Windows}}
 
|[https://web.archive.org/web/20070202203659if_/http://www.au.kddi.com/ezfactory/tec/spec/exe/ezplus_emulator.exe 1.0]
 
|Mid
 
|?
 
|{{~}}
 
|}
 
 
;ezplus emulator
 
:Official development tool from KDDI, developed by Zentek
 
 
===J-SKY===
 
 
Japanese service provider J-PHONE released the J-SKY platform as part of their set of standards for mobile telephony. It was based on J2ME and MIDP extended with several propietary 3D/sound/gfx APIs called JSCL.
 
J-PHONE had been purchased by Vodafone on 2001, which two years later took over the original branding renaming the carrier to Vodafone KK.  The J-SKY technology became then known as "Vodafone Live!" and it was extended with the VSCL set of APIs.
 
On 2006, Vodafone KK was purchased by SoftBank Group, getting this technology rebranded again as "Yahoo! Keitai".
 
 
Applications were called "Java™ App" (Japanese : Java™アプリ) during the J-SKY era, "V-Appli" (Japanese : Vアプリ) during the Vodafone era and "S! Appli" (Japanese : S!アプリ) during the SoftBank era. They come in the form of .JAR accompained by a .JAD descriptor text file.
 
 
====Emulators====
 
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|J-SKY Application Emulator
 
|align=left|{{Icon|Windows}}
 
|[https://web.archive.org/web/20040201023001/http://www.mobilejava.co.kr:80/bbs/temp/midpboard/J-SKY_Application_Emulator-1_3_B.exe 1.3]
 
|Mid
 
|?
 
|{{~}}
 
|}
 
 
;J-SKY Application Emulator
 
:Official development tool from J-PHONE, developed by Zentek. It does not supports any of the later APIs.
 
 
==Korean cellphones==
 
 
===Wireless Internet Platform for Interoperability <small>(WIPI)</small>===
 
 
WIPI a national middleware platform standard in South Korea. Almost all cellphone games released in South Korea from 2002 to 2009 were developed as WIPI.
 
 
==Chinese cellphones==
 
 
 
===MiniJ<small> (MRP Platform)</small>===
 
 
'''MiniJ''' is a mobile platform widespread in China (and in other countries). It is analog of java for phones with MTK CPU. Games for this platform are in <code>.mrp</code> format.
 
There is many original Contra games for this platform, created by different companies. It also has some Konami's mobile game.
 
 
===Emulators===
 
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
!colspan="7"|PC / x86
 
|-
 
|vmrp
 
|align=left|{{Icon|Windows}}
 
|[https://github.com/zengming00/vmrp git]
 
|Mid
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|-
 
!colspan="7"|Mobile / ARM
 
|-
 
|Mythras
 
|align=left|{{Icon|Android}}
 
|[https://github.com/CounsellorPolonius/mythras git]<br/>[https://github.com/Yichou/mrpoid2018 mrpoid2018]
 
|Mid
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|}
 
 
===KaiOS===
 
 
'''KaiOS''' is a mobile operating system, based on Linux, for keypad feature phones. It is developed by KaiOS Technologies (Hong Kong) Limited.
 
 
==Binary Runtime Environment for Wireless <small>(BREW)</small>==
 
 
A mobile development platform by Qualcomm, originally intended for CDMA handsets such as those sold by Verizon. Unlike Java ME, applications and games for BREW use native code as opposed to running in a virtual machine in the case of Java ME. Also, BREW development has a higher barrier to entry due to stringent certification requirements, which led it to be significantly less popular than Java ME even in markets where CDMA has a significant market share, such as in North America. To top it all off, downloaded BREW apps are tied to an individual handset via a digital signature, making piracy or sideloading difficult if not impossible; it is however possible to unlock certain BREW-enabled CDMA phones to run backups and pirated apps, though downloads for BREW apps and games are rare and hard to find compared to Java ME.
 
 
The Zeebo, a video game console and online distribution platform developed and released with developing markets in mind, also runs on BREW. Dumps of the Zeebo and its games exist, and gameplay footage of them have been uploaded on YouTube.
 
 
===Emulators===
 
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|[[Infuse]]
 
|align=left|{{Icon|WinMobile}}
 
|? (POC)
 
|Low
 
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
|-
 
|Melange
 
|align=left|{{Icon|Android}}
 
|[https://gitlab.com/usernameak/brewemulator/ ? (Prototype)]
 
|?
 
|{{✓}}
 
|{{~}}<ref>Contains proprietary Qualcomm components</ref>
 
|{{✗}}
 
|}
 
 
==Danger OS==
 
 
Developed by Danger Incorporated, Danger OS was a Java-based OS used on phones that Danger designed themselves. These devices were sold under many names such as Hiptop, Mobiflip, Sharp Jump, and (most notably) T-Mobile Sidekick. While it could run some J2ME apps (from version 2.3 onward), it also used its own proprietary J2SE-based APIs and SDK; for this reason, anything built using these APIs won't run on a standard J2ME emulator.
 
 
===Emulators===
 
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|[https://archive.org/details/hiptop_sdk Danger Hiptop/Sidekick SDK]
 
|align=left|{{Icon|Windows|Linux|Mac}}
 
|?
 
|Mid
 
 
|{{✗}}
 
|{{✗}}
|?
 
|{{✓}}
 
 
|}
 
|}
  
;Danger Hiptop/Sidekick SDK
+
==Video==
:Official SDK from Danger Incorporated
+
===Currently Recommended Plugins===
 +
The following are the current best video plugins for use on modern PCs and devices.
  
==Dark Age of Monochrome Mobile Phones==
+
[[File:SuperMario64-Comparison.png|thumb|right|Jabo's Direct3D8 (left) compared with angrylion's RDP with OpenGL (right), while playing ''Super Mario 64''.]]
 +
*[https://github.com/Themaister/parallel-rdp ParaLLEl-RDP] - An LLE video plugin based on Angrylion's RDP plugin, ported to run on the GPU through the use of the Vulkan API's compute shaders. Currently considered the best video plugin by most measures. It is just as accurate and compatible as Angrylion's RDP, but much faster. Like most Angrylion forks, it allows disabling of VI features such as anti-aliasing and blur. Unlike the software-rendered Angrylion, however, it also allows a number of enhancements, including hi-res upscaling, resulting in a sharp, high-definition picture while simultaneously retaining accuracy, essentially what the N64 output would look like if the original console could render in HD. It has higher system requirements than the other plugins, however. It requires a GPU with Vulkan support (most GPUs from 2014 onwards are covered) and up-to-date drivers, and upscaling increases the GPU requirements even further, far more than GLideN64. At native resolution, however, a modest PC with Vulkan support can handle it without much issue, even on integrated graphics. Due to its LLE nature, it does not support widescreen hacks or high-res textures - try GLideN64 if you seek to use such features.
 +
*[https://github.com/gonetz/GLideN64/ GLideN64] - A hybrid HLE/LLE plugin developed by the maker of Glide64, though its code is actually originally based on gln64 (with combiner hacks from Glide64 and LLE code from z64gl). This is the best HLE plugin by far. The plugin currently supports mip-mapping, emulation of low-level triangles, microcode of every game, gamma correction, flat and prim shading, VI emulation, and LLE graphics (though defaults to HLE). It is the only plugin that has [[Nintendo_64_emulators#High-level_vs._low-level_graphics|implemented HLE support]] of microcodes for every N64 game (including the infamous Factor 5 and BOSS games) to enable fast performance and graphical enhancements. It currently fixes numerous long-standing issues in games and is capable of smoothly emulating advanced framebuffer effects in hardware that Glide64 and Jabo could not. It also supports several enhancements, such as hi-res custom [[Texture_Packs|texture support]], AA and AF, a [[Widescreen_Hack|widescreen hack]], and even some shaders. There is support for an "[[Overscan]]" feature that helps the users to [[Widescreen_Hack#Nintendo_64|remove black borders around a game's visual output]]. It requires at least OpenGL 3.3 in the latest versions to run, and OpenGL 4.x for some advanced functions, making this plugin more demanding than the plugins that came before it, though modern GPUs should be ok, even on mobile. It is not without its share of issues to this day, however. There are still several HLE bugs left to resolve, and its LLE mode, while much improved over z64gl's, is still not quite as developed as its HLE mode, and some of the plugin's enhancement features are disabled in this mode. Since it is hardware-rendered even in LLE, there are issues that may never be quite resolved due to inherent differences between the N64 hardware and the OpenGL API. It is advisable to use this over ParaLLEl-RDP only if you are unable to run the latter in HD at full speed or if further enhancements such as widescreen hacks and hi-res textures are desired.
 +
*[https://github.com/ata4/angrylion-rdp-plus/releases Angrylion RDP Plus] - This is a fork of Angrylion's RDP that supports multithreading. It now uses OpenGL 3.3 and also supports Linux. The multi-threading helps boost performance significantly, but some games are still not full speed even on a Core i7-8700K. This fork has at least one accuracy regression, compared to the official version of Angrylion. It also allows you to disable VI filters. Since it is a CPU-bound, software-rendered plugin, it has no enhancement options of any kind - what you see is what you get, exactly like on a real N64. Use this only if running a relatively fast CPU and ParaLLEl-RDP does not work with your GPU for whatever reason.
 +
*Glide64 - The former best general-use plugin. While it is no longer updated and is far less accurate and compatible than the newer offerings, it still has a few use cases, such as better support for older ROM hacks. It works relatively well for many (most?) games, has support for hi-res textures, and it is also faster than the newer plugins, which makes it suitable for slower devices such as the older Raspberry Pis. Otherwise, stick to either ParaLLEl-RDP or GLideN64. Note that the version included with Project64 has been renamed to Project64 Video.
  
Earlier black & white cellphone games (both in Japan and worldwide) didn't get as much love either when it comes to emulation and preservation of game binaries. There were, however, recreations of Snake and Space Impact for Nokia phones on their website at one time, along with remakes of the aforementioned games for Android and iOS. There are several Nokia phone models with MAME support, though they are preliminary at best with most models displaying a "CONTACT SERVICE" error if not a white screen.
+
===Deprecated Plugins===
 +
The following video plugins are old and deprecated, and should not be used or considered unless you have a VERY old or underpowered device that cannot handle the recommended plugins, or there's a very specific use case not covered by modern implementations.
  
 +
*Jabo's Direct3D8 - Comes with Project64, and was once its default video plugin. Very speedy, has built-in AA and AF options, and includes a [[Widescreen_Hack|widescreen hack]]. The version included with the most recent versions of Project64 (1.7.0.57-ver5) is somewhat buggy and has regressions, however. [http://www.jabosoft.com/articles/114 Jabo's 1.6.1 patch] is better, though version 1.7 can run in LLE mode, which can help with a few games. Sadly, it will likely never see another update again, and though it is still included in Project64 to this day, it is no longer the default, and should not be used unless you have a very old PC.
 +
*[http://www.emutalk.net/threads/54166-Rice-Video-Community-version Rice Video] - A fast, highly configurable video plugin once famous for its ability to load [[Texture_Packs|hi-res textures]], making it a popular plugin within the N64 emulation community. The 1964 team at one point annexed it as its official video plugin, renaming it 1964Video. There are many versions and forks of it floating around, either to fix issues or add features. It eventually lost favor to Glide64, which can also load hi-res textures, and its compatibility as a whole is subpar even for an HLE plugin. As such, none of its variations are recommended for general use unless there's a very specific fringe case (such as some really old texture packs or ROM hacks), you're using a very, very old toaster, or are trying to emulate on a severely underpowered mobile device or handheld.
 +
*[http://www.emutalk.net/threads/40640-Z64-a-LLE-graphics-plugin z64gl] - A hardware-rendered, low-level plugin developed by ziggy, derived from MAME's N64 driver. It was once notable for being one of the only plugins that could play games without an HLE microcode implementation such as Rogue Squadron. However, it was rather glitchy, had higher system requirements than the HLE plugins, needed an LLE RSP plugin to work (such as the bundled z64 RSP or Project64's RSP plugin set to LLE graphics), and configuration required editing the config file directly. A [https://github.com/purplemarshmallow/z64/tree/angrylion-integration fork] cropped up that aimed at improving it, but it did not go very far. Nowadays, it's obsolete, as GLideN64 can now play every game through HLE (thus subverting z64gl's only selling point), and its LLE has been surpassed by Angrylion-derived plugins and even GLideN64's LLE mode.
 +
*[https://sourceforge.net/p/angrylions-stuff/code/HEAD/tree/ Official Angrylion RDP] - A software-rendered, hardware-accurate plugin, developed by angrylion (though derived from MAME, much like z64gl). This is the most accurate N64 video plugin in existence, emulating every facet of the N64's RDP precisely and thus making it capable of playing almost every single game in the N64 library with no issues, fixing even notorious cases such as the ''Pokémon Snap'' red dot and the ''Body Harvest'' bridge. This, however, comes at the cost of insane CPU requirements while making games look like, well, N64 games running on real hardware, which means native resolution, no widescreen, no hi-res textures - just the N64 in its full, vaseline-covered glory. Since this particular version is single-threaded, uses DirectDraw and is Windows only, it is recommended to use Angrylion RDP Plus or ParaLLEl-RDP instead, which offer much more reasonable performance. Only try it out if you have a tricked-out rig and want to test your CPU's mettle, or if you can compile it from source and need it for testing/debugging purposes, as the latest updates are always made to this version first.
 +
*[http://www.emutalk.net/threads/55481-angrylion-s-Per-Pixel-RDP-with-OpenGL HatCat/angrylion's Pixel-Accurate N64 Plugin] - This is a fork of Angrylion's RDP, done by HatCat. It has some optimizations not present in the official code, but is outdated and lacking some accuracy improvements and optimizations written by Angrylion. It has the option to disable the VI filters (which gives a speed boost), as well as the ability to set custom resolutions. Also, this version uses OpenGL 1.x instead of Direct Draw and supports Linux. Obsoleted by newer forks such as Angrylion RDP Plus.
  
==TTPcom's Wireless Games Engine <small>(WGE)</small>==
+
Below is a gallery comparing how many of these plugins handle Mario Tennis, a hard-to-emulate game with many special effects that few plugins get right. Pay attention to the scoreboard on the top left, the MPH indicator on the top right, the NPCs on the back, shadows below the characters, and the trail and sparkle effects on the tennis ball and rackets:
 
 
==Firefox OS==
 
 
 
===Emulators===
 
{{No current emulators|OS}}
 
 
 
==Fire OS==
 
 
 
===Emulators===
 
{{No current emulators|OS}}
 
 
 
==Tizen==
 
 
 
===Emulators===
 
{{No current emulators|OS}}
 
 
 
==webOS==
 
 
 
===Emulators===
 
{{No current emulators|OS}}
 
 
 
==Bada OS==
 
 
 
===Emulators===
 
{{No current emulators|OS}}
 
 
 
==Windows Phone==
 
 
 
===Emulators===
 
{{No current emulators|OS}}
 
 
 
 
 
==Windows Mobile series==
 
 
 
===Windows Mobile<small> (Earlier)</small>===
 
 
 
Released in 2000 by Microsoft as their first mobile OS, originally called "Pocket PC" and made to run on PDA's, the name changed to Windows Mobile when the PDA market began to shrink. WM was initially based on Windows CE before evolving into something unique. It was mainly designed for business users, so it didn't have a lot of games for it.
 
 
 
===Emulators===
 
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|Microsoft Device Emulator
 
|align=left|{{Icon|Windows}}
 
|[https://www.mediafire.com/file/u6g8z7sq2lb82re/MSDeviceEmu.zip/file 3.0]
 
|?
 
|?
 
|{{✓}}
 
|}
 
 
 
Images are required. They can be downloaded [https://archive.org/details/WM614Emulator here]
 
  
===Windows 10 Mobile===
+
<gallery widths="300" mode="packed">
 +
Mario Tennis Rice.png|Mario Tennis running on ParaLLEl-N64 using Rice. Missing various effects, heavily glitched court.
 +
Mario Tennis Glide64.png|Mario Tennis running on ParaLLEl-N64 using Glide64. Missing various effects and shadows, some glitches.
 +
Mario Tennis glN64.png|Mario Tennis running on ParaLLEl-N64 using glN64. Missing various effects; shadows are present, but glitched.
 +
Mario Tennis GLideN64 HLE.png|Mario Tennis running on Mupen64Plus-Next using GLideN64 in HLE mode with 16xMSAA. Minor text cutoff on bottom of scoreboard.
 +
Mario Tennis GLideN64 LLE.png|Mario Tennis running on Mupen64Plus-Next using GLideN64 in LLE mode with 16xMSAA. Minor text cutoff on bottom of scoreboard. Has slight polygon jitter not present in HLE.
 +
Mario Tennis ParaLLEl 1x.png|Mario Tennis running on Mupen64Plus-Next using ParaLLEl-RDP at native resolution. Pixel-perfect representation of real hardware.
 +
Mario Tennis ParaLLEl 4x Downsampled.png|Mario Tennis running on Mupen64Plus-Next using ParaLLEl-RDP rendering at 4x resolution, then downsampled back to native resolution.
 +
Mario Tennis ParaLLEl 4x.png|Mario Tennis running on Mupen64Plus-Next using ParaLLEl-RDP rendering at 4x resolution. Has very slight polygon jitter, though less than GLideN64 in LLE.
 +
</gallery>
  
==Acknowledgments==
+
==Audio==
 +
This section will only cover the zilmar spec plugins, as Mupen64Plus does not have any alternative audio plugins besides the default, and neither do the libretro forks.
  
* [https://books.google.com/books?id=tCxvX60J8OAC&lpg=PP1&pg=PA145#v=onepage&q&f=false Micro Java Game Development], mentions Japanese i-mode emulators that are currently dead, like i-tool.
+
*Project64 Audio - The default audio plugin for Project64, apparently loosely based off of code from Mupen64Plus's HLE RSP. Very barebones, with no options to speak off.
 +
*Jabo's DirectSound - Comes with Project64. It works fine for the most part, but some games may not play nice with it. It is a low-level plugin, so it needs an accompanying LLE RSP plugin. Will probably never be updated again.
 +
*[http://www.emutalk.net/threads/27610-Audio-v0-56-WIP2-Download-Feedback Azimer's HLE Audio] - This popular HLE audio plugin boasts high compatibility. Version 0.56WIP2 is old as hell, but it is the tried and true standard to which audio plugins are compared against. Recently, [https://github.com/Azimer/AziAudio Azimer open sourced his plugin], and there are plans to integrate it into Project64 and eventually replace Jabo's as its official audio plugin. The latest development versions have a few issues, however.
 +
*[http://forum.pj64-emu.com/showthread.php?t=3644 Shunyuan's HLE Audio] - An audio plugin, apparently based on 1964Audio and HatCat's RSP plugin. Can run in both LLE and HLE modes despite the name, though the HLE mode just makes it run a baked-in version of HatCat's RSP, which makes it not a true HLE plugin. Has been abandoned after charges of just taking others' code without revealing a source. If games run at a weird speed using this plugin, go to the ROM's Game Settings, and disable Fixed Audio Timing and Sync using Audio. Despite its Frankenstein nature, it actually works surprisingly well, although modern development versions of Project64 no longer work with it, apparently due to it depending on a bug that has now been fixed.
  
* [https://www.gamedev.net/articles/programming/general-and-gameplay-programming/the-clash-of-mobile-platforms-j2me-exen-moph-r1944 A 2003 article from GameDev.net] about the major Western mobile phone systems.
+
==Input==
 +
*Jabo's DirectInput - Comes with Project64, but now removed in favor of NRage Input. It isn't too bad, but it may have some compatibility problems with some controllers. Should work just fine with the keyboard if you're one of those masochists who emulates without a controller. Only standard controller emulation with nothing attached to it. As usual, do not expect any updates.
 +
*[https://sourceforge.net/projects/nragev20/ NRage Input] - Also comes with Project64 as of version 2.2. Hands down the best input plugin as it is more feature complete than Jabo's DirectInput. Has a ton of options and great controller compatibility, including XInput support for use with Xbox 360 controllers. It can't emulate the microphone that is required by ''Hey You, Pikachu'' or the printer required for the ''Pokémon Snap Station''. It has the ability to emulate Controller Pak (''Mario Kart 64'''s ghost saves), Rumble Pak (''Star Fox 64''), and Transfer Pak (''Pokémon Stadium'' series) functionality fairly well. Version 2.3 of Project64 introduced a version of the plug-in that can emulate the N64's mouse accessory designed for the 64DD to coincide with Project64's newest ability to emulate the 64DD accessory. Surprisingly, ''Mario Artist: Paint Studio'' can use the Japanese ''Game Boy Camera'' (called ''Pocket Camera'') in Transfer Pak mode, but the camera function doesn't work as it displays static, although importing captured images still works technically.
 +
*[https://www.raphnet-tech.com/products/raphnetraw/index.php/ Raphnetraw] - This open source plugin allows streamlined use of N64 controller(s) via raphnet [https://www.raphnet-tech.com/products/n64_usb_adapter_gen3/index.php N64-to-USB v3+ adapters]. It supports rumble and is available for Project64 and mupen64plus. Also contains various DLLs for special port arrangements [https://www.raphnet.net/programmation/mupen64plus-input-raphnetraw/index_en.php#4 (link)].
  
* [http://www2.sys-con.com/itsg/virtualcd/Java/archives/0609/blut/index.html Article] about DoCoMo Java programming.
+
==RSP==
 +
*Zilmar's RSP - Comes with Project64. Very accurate, quite fast in Recompiler mode, and will work fine for every game. The version included in Project64 2.x can work with both LLE and HLE plugins by toggling the relevant options in the Plugins settings menu.
 +
*Mupen64 HLE RSP - Comes with Mupen64. A very fast and compatible HLE RSP plugin. Written by Hacktarux and Azimer. Has issues with some games, particularly those using MusyX microcode. MusyX support was later added to the Mupen64Plus version, but those changes have yet to be backported to the zilmar-spec version.
 +
*z64 RSP plugin pack - Largely deprecated. This set of RSP plugins comes with the z64 video plugin, each with their own purpose:
 +
**Ziggy-z64RSP - This RSP is based on the MAME/MESS RSP code. It is slower but more accurate.
 +
**Ziggy-PJ64 - Based on the Project64 1.4 RSP, this plugin is much faster.
 +
**angrylion - This RSP is a simple Interpreter, and is required for a few games like World Driver Championship to work correctly with z64gl.
 +
*[http://www.emutalk.net/threads/56919-quot-Static-quot-RSP-Interpreter-Plugin "Static" RSP Interpreter] - Made by HatCat and originally released in [http://forum.pj64-emu.com/showthread.php?t=3618 Project64 Forum]. as of the most recent release version, it is not only one of the most accurate RSP plugins, but also one of the fastest if using the SSSE3 version, though zilmar's RSP in Recompiler mode trumps it in speed. It also comes in SSE2 and non-SSE variations in case your PC does not support those instruction sets. It is capable of working with both HLE and LLE audio and video plugins via the following settings:
 +
**Send display lists to the graphics plugin - Check if using an HLE graphics plugin, uncheck if using LLE
 +
**Send audio lists to the audio plugin - Check if using an HLE audio plugin, uncheck if using LLE
 +
**Force CPU-RSP signals synchronization - Check if playing Gauntlet Legends, World Driver Championship, or Stunt Race 64. Only works with Project64 2.x.
 +
**Support CPU-RSP semaphore lock - Check to fix issues with Mario no Photopie. Only works with Project64 2.x.
 +
*Parallel RSP - A fast and accurate RSP based on the work of [https://github.com/Themaister/parallel-rsp Themaister] and is a RSP option mainly used in the [https://www.libretro.com/index.php/parallel-n64-with-parallel-rsp-dynarec-release-fast-and-accurate-n64-emulation/ Parallel N64 Libretro core] however it is also possible to use it with [[M64p]] and [[RMG]] as a plugin.
  
==References==
+
==Recommended N64 Setups==
{{Reflist}}
 
  
- <b><u>Moscot Capsule 3D Engine</b></u>
+
===Project64 and Others===
 +
*'''General Use'''
 +
**Glide64 2.0.0.1
 +
**Shunyuan's HLE Audio (set to LLE)
 +
**"Static" RSP Interpreter or Zilmar's RSP
 +
**Either of the RSP plugins should be fine for most games. HatCat's RSP is slightly more accurate. However, zilmar's is much faster. Keep in mind that Glide64 2.0.0.1 is the same as Glide64 Final. Glide64 2.0.0.1 is just a merge of Glide64, GlideHQ, and Glitch64 (which of course the final version has) to be one file, but limits you to certain settings that cannot be changed with the emulator.
 +
*'''Best Performance'''
 +
**Glide64 Final
 +
**Azimer's HLE Audio
 +
**Zilmar's RSP
 +
**Make sure you configure the graphics plugin to show texture enhancement options. Then you'll have an extra tab to change more options. Goto the texture enhancement tab and click on the button that gives the best performance and it should improve framerate once you saved the settings. There's also another button for best texture quality. There's no need to touch the other plugins. Recommended for most emulators.
 +
*'''Accuracy'''
 +
**angrylion's Pixel-Accurate N64 Plugin (RDP Plus)
 +
**Azimer's Audio NEW
 +
**"Static" RSP Interpreter
 +
**If you have a decent quad-core CPU, you can run many N64 games with pixel-perfect graphics at full speed, thanks to the new multithreaded version of angrylion's software plugin. The new Azimer's plugin (still WIP) works good in LLE. Since there's almost no visual difference, you may as well use PJ64's RSP to get better performance.
  
* [https://web.archive.org/web/20120203183920/http://www.mascotcapsule.com/en/products/ Moscot Capsule]
+
===Mupen64Plus===
 +
[[Mupen64Plus]] has its own set of plugins which are incompatible with plugins used in other emulators. Here is an overview of recommended setups.
 +
*'''General Use'''
 +
**Video: Glide64mk2
 +
**RSP: cxd4-ssse3 or Parallel RSP
 +
**Glide64mk2 is just Glide64 with additional tweaks and enhancements for use with Mupen64Plus. cxd4 is one of HatCat's many names. The cxd4 plugin is a port of his RSP for zilmar-spec emulators. This appears to be the best combination for use with most games, though toasters may have performance issues.
 +
*'''Best Performance'''
 +
**Video: Rice
 +
**RSP: rsp-hle
 +
**These are Mupen64Plus's default plugins. Rice's Video is a plugin used on other N64 emulators, most known for its support for hi-res [[Texture_Packs|texture packs]], now enhanced for Mupen64plus. It is not quite up to Glide64's level, but it does well enough for many games and is quite fast. The default RSP plugin appears to be just an enhanced port of vanilla Mupen64's RSP. Use this combination if you have a lower end PC and can't handle the Commonly Used setup.
 +
*'''Accuracy/Rogue Squadron'''
 +
**Video: z64 or angrylion's Per-Pixel RDP with OpenGL
 +
**RSP: cxd4-ssse3 or Parallel RSP
 +
**z64 is a port of z64gl, a low-level emulation video plugin for N64 emulators. It comes with its own accompanying z64 RSP, but cxd4 (a port of HatCat's RSP Interpreter plugin) appears to be more accurate and very well optimized. This setup is capable of playing difficult games like Rogue Squadron with very few graphical glitches and faster than on Project64 to boot.
  
* [https://www.hicorp.co.jp/en/products_v3/ hicorp.co.jp V3]
+
Note: In some cases the cfg file may not appear, in which case you may do this:
 +
*Open terminal in emulator folder on in its respective directory
 +
*''mupen64plus --configdir'' /directory/where/you/want/it/to/be
  
 +
===Libretro===
 +
There are two N64 libretro emulator cores for use on libretro frontends such as [[RetroArch]]: Mupen64Plus-Next and ParaLLEl-N64. The former is up-to-date and is recommended for most use cases, while the latter is no longer updated and is only around for performance reasons. Note that GLideN64 is only available in Mupen64Plus-Next, while glN64, Rice and Glide64 are now only available in ParaLLEl-N64. Both can use Angrylion Plus and ParaLLEl-RDP, however.
 +
*'''General Use (LLE)'''
 +
**Core: Mupen64Plus-Next
 +
**Video: ParaLLEl-RDP
 +
**RSP: ParaLLEl-RSP
 +
**By default ParaLLEl-RDP will output at native resolution with all the VI filters on, making it look exactly like Angrylion and the real N64 console. Upscaling must therefore be enabled in the core options. You can also alternatively render at a high resolution and downsample to a lower one if you want to improve 3D without making it stick out from 2D elements too much.
 +
*'''General Use (HLE)'''
 +
**Core: Mupen64Plus-Next
 +
**Video: GLideN64
 +
**RSP: HLE
 +
**While GLideN64 also works with the ParaLLEl and CXD4 RSP plugins, using them will cause GLideN64 to switch to its LLE mode, which is currently glitchier and slower than the HLE mode, for few compatibility or accuracy benefits, if any. As such, it is recommended to stick with the HLE RSP for GLideN64.
 +
*'''Best Performance'''
 +
**Core: ParaLLEl-N64
 +
**Video: Glide64
 +
**RSP: HLE
 +
**For slow, low-end devices and old PCs only. If further speed is desired or needed, you may try glN64 or Rice, but using them comes at a steep cost in compatibility and accuracy, and the majority of low-end devices in use today ought to be able to handle Glide64 just fine.
 +
*'''Accuracy'''
 +
**Core: Mupen64Plus-Next
 +
**Video: Angrylion
 +
**RSP: CXD4
 +
**Just like the developers intended! If you want to go all out, set the CPU core to Pure Interpreter, turn off multi-threading and set thread sync level to High in Angrylion's options for the real 30 VI/s experience. Closest you'll get to real hardware until a complete cycle-accurate N64 emulator surfaces.
  
[[Category:Mobiles]]
+
[[Category:Recommendations]]
[[Category:Cellphone emulators|*]]
 
<!-- [[Category:Not yet emulated]]
 
[[Category:Very early emulation]] -->
 

Revision as of 03:22, 3 November 2021

The N64 emulation scene had previously been described as a broken mess, the very definition of plugin hell. With recent developments in the scene, however, the situation has markedly improved, and it is no longer considered necessary to have multiple emulators and plugins on hand to get most games to work. This page will outline the best plugins currently available for the benefit of both the casual and enthusiast looking to get their N64 emulation fix.

The Plugin Specs

To understand the current plugin situation, and why there are several competing emulators that all appear to use the same plugins but said plugins are not compatible across emulators, a bit of history is in order.

Historically, the majority of N64 emulators all shared the same plugin spec (known as the zilmar spec, after the creator of Project64, the first emulator to use it), and could therefore all use the same plugins, meaning you could take a plugin DLL file, use it on one emulator, then take that DLL and use it on another, and it would also work there. Of these, the big three emulators were Project64, 1964 and Mupen64. Each had advantages and disadvantages, and some games worked well in one only to not work in another, even when using the same plugin configuration. This necessitated having all of these emulators and sometimes even older or modified versions of them, along with a great many plugins, to be able to play most of the N64 library with the least amount of issues possible - though admittedly a good amount of games (particularly the most popular ones) were playable with just the best few of them. To illustrate the point, here is a site that, as late as 2012, was dedicated to documenting the exact emulator, plugin and settings combination necessary to get each and every game to at least a playable state, if at all possible.

However, as time went on, things began to change, slowly at first. 1964's development eventually ceased, and it completely fell off the radar. Mupen64 was forked into Mupen64Plus and developed its own plugin spec that was incompatible with the older zilmar spec, making it unable to use existing plugins unless they were specifically ported to it. This left only Project64 as the only relevant and active emulator still using the zilmar spec. For some time, then, this left the fledgling Mupen64Plus missing out on most cutting-edge plugin development, as most people were still using Project64.

A semblance of parity began to come about as a result of several major developments: first, Mupen64Plus itself was forked by the libretro team, which made many improvements to the core emulator, and integrated its plugins into the core itself. Second, gonetz, the developer of Glide64, unveiled his newest plugin, GLideN64, which would officially support both the zilmar and Mupen64Plus specs from the beginning. Third, the Angrylion plugin, which is the most accurate and compatible (and slowest) plugin there is, began to be ported both for use with standard Mupen64Plus and the libretro fork. Finally, Themaister, one of the creators of libretro and RetroArch, began developing a unique plugin initially exclusive to libretro known as ParaLLEl-RDP, essentially Angrylion running on the GPU through Vulkan compute shaders, enabling near-perfect N64 graphics emulation at actually playable speeds. Add to this the fact that most PCs and many mobile devices are now more than capable enough of running the most advanced plugins, and the plugin situation, once considered a labyrinth, has been greatly simplified to just needing a few for the vast majority of use cases.

All that said, the issue is that there are now three plugin standards to account for:

  • The zilmar spec - Utilized by Project64 and most other legacy emulators; only Project64 still uses it today.
  • The Mupen64Plus spec - Utilized by Mupen64Plus and most of its forks.
  • Libretro - Not really a spec per se, as the plugins are integrated directly into the libretro core, so there's no DLL files to download or add.

As of right now, not all plugins are readily available on all three. Consult the table below for reference:

Name Latest Version Project64 Mupen64Plus Libretro HLE LLE Widescreen Hack Custom Texture Packs Recommended
Video Plugins
ParaLLEl-RDP git
GLideN64 github-actions
Angrylion RDP Plus 1.6
Glide64 Final ~
Jabo's Direct3D8 1.7.0.57-ver5
Rice Video 0.4.4
glN64 0.4.1
z64gl R17
Angrylion (Official) r114

Video

Currently Recommended Plugins

The following are the current best video plugins for use on modern PCs and devices.

Jabo's Direct3D8 (left) compared with angrylion's RDP with OpenGL (right), while playing Super Mario 64.
  • ParaLLEl-RDP - An LLE video plugin based on Angrylion's RDP plugin, ported to run on the GPU through the use of the Vulkan API's compute shaders. Currently considered the best video plugin by most measures. It is just as accurate and compatible as Angrylion's RDP, but much faster. Like most Angrylion forks, it allows disabling of VI features such as anti-aliasing and blur. Unlike the software-rendered Angrylion, however, it also allows a number of enhancements, including hi-res upscaling, resulting in a sharp, high-definition picture while simultaneously retaining accuracy, essentially what the N64 output would look like if the original console could render in HD. It has higher system requirements than the other plugins, however. It requires a GPU with Vulkan support (most GPUs from 2014 onwards are covered) and up-to-date drivers, and upscaling increases the GPU requirements even further, far more than GLideN64. At native resolution, however, a modest PC with Vulkan support can handle it without much issue, even on integrated graphics. Due to its LLE nature, it does not support widescreen hacks or high-res textures - try GLideN64 if you seek to use such features.
  • GLideN64 - A hybrid HLE/LLE plugin developed by the maker of Glide64, though its code is actually originally based on gln64 (with combiner hacks from Glide64 and LLE code from z64gl). This is the best HLE plugin by far. The plugin currently supports mip-mapping, emulation of low-level triangles, microcode of every game, gamma correction, flat and prim shading, VI emulation, and LLE graphics (though defaults to HLE). It is the only plugin that has implemented HLE support of microcodes for every N64 game (including the infamous Factor 5 and BOSS games) to enable fast performance and graphical enhancements. It currently fixes numerous long-standing issues in games and is capable of smoothly emulating advanced framebuffer effects in hardware that Glide64 and Jabo could not. It also supports several enhancements, such as hi-res custom texture support, AA and AF, a widescreen hack, and even some shaders. There is support for an "Overscan" feature that helps the users to remove black borders around a game's visual output. It requires at least OpenGL 3.3 in the latest versions to run, and OpenGL 4.x for some advanced functions, making this plugin more demanding than the plugins that came before it, though modern GPUs should be ok, even on mobile. It is not without its share of issues to this day, however. There are still several HLE bugs left to resolve, and its LLE mode, while much improved over z64gl's, is still not quite as developed as its HLE mode, and some of the plugin's enhancement features are disabled in this mode. Since it is hardware-rendered even in LLE, there are issues that may never be quite resolved due to inherent differences between the N64 hardware and the OpenGL API. It is advisable to use this over ParaLLEl-RDP only if you are unable to run the latter in HD at full speed or if further enhancements such as widescreen hacks and hi-res textures are desired.
  • Angrylion RDP Plus - This is a fork of Angrylion's RDP that supports multithreading. It now uses OpenGL 3.3 and also supports Linux. The multi-threading helps boost performance significantly, but some games are still not full speed even on a Core i7-8700K. This fork has at least one accuracy regression, compared to the official version of Angrylion. It also allows you to disable VI filters. Since it is a CPU-bound, software-rendered plugin, it has no enhancement options of any kind - what you see is what you get, exactly like on a real N64. Use this only if running a relatively fast CPU and ParaLLEl-RDP does not work with your GPU for whatever reason.
  • Glide64 - The former best general-use plugin. While it is no longer updated and is far less accurate and compatible than the newer offerings, it still has a few use cases, such as better support for older ROM hacks. It works relatively well for many (most?) games, has support for hi-res textures, and it is also faster than the newer plugins, which makes it suitable for slower devices such as the older Raspberry Pis. Otherwise, stick to either ParaLLEl-RDP or GLideN64. Note that the version included with Project64 has been renamed to Project64 Video.

Deprecated Plugins

The following video plugins are old and deprecated, and should not be used or considered unless you have a VERY old or underpowered device that cannot handle the recommended plugins, or there's a very specific use case not covered by modern implementations.

  • Jabo's Direct3D8 - Comes with Project64, and was once its default video plugin. Very speedy, has built-in AA and AF options, and includes a widescreen hack. The version included with the most recent versions of Project64 (1.7.0.57-ver5) is somewhat buggy and has regressions, however. Jabo's 1.6.1 patch is better, though version 1.7 can run in LLE mode, which can help with a few games. Sadly, it will likely never see another update again, and though it is still included in Project64 to this day, it is no longer the default, and should not be used unless you have a very old PC.
  • Rice Video - A fast, highly configurable video plugin once famous for its ability to load hi-res textures, making it a popular plugin within the N64 emulation community. The 1964 team at one point annexed it as its official video plugin, renaming it 1964Video. There are many versions and forks of it floating around, either to fix issues or add features. It eventually lost favor to Glide64, which can also load hi-res textures, and its compatibility as a whole is subpar even for an HLE plugin. As such, none of its variations are recommended for general use unless there's a very specific fringe case (such as some really old texture packs or ROM hacks), you're using a very, very old toaster, or are trying to emulate on a severely underpowered mobile device or handheld.
  • z64gl - A hardware-rendered, low-level plugin developed by ziggy, derived from MAME's N64 driver. It was once notable for being one of the only plugins that could play games without an HLE microcode implementation such as Rogue Squadron. However, it was rather glitchy, had higher system requirements than the HLE plugins, needed an LLE RSP plugin to work (such as the bundled z64 RSP or Project64's RSP plugin set to LLE graphics), and configuration required editing the config file directly. A fork cropped up that aimed at improving it, but it did not go very far. Nowadays, it's obsolete, as GLideN64 can now play every game through HLE (thus subverting z64gl's only selling point), and its LLE has been surpassed by Angrylion-derived plugins and even GLideN64's LLE mode.
  • Official Angrylion RDP - A software-rendered, hardware-accurate plugin, developed by angrylion (though derived from MAME, much like z64gl). This is the most accurate N64 video plugin in existence, emulating every facet of the N64's RDP precisely and thus making it capable of playing almost every single game in the N64 library with no issues, fixing even notorious cases such as the Pokémon Snap red dot and the Body Harvest bridge. This, however, comes at the cost of insane CPU requirements while making games look like, well, N64 games running on real hardware, which means native resolution, no widescreen, no hi-res textures - just the N64 in its full, vaseline-covered glory. Since this particular version is single-threaded, uses DirectDraw and is Windows only, it is recommended to use Angrylion RDP Plus or ParaLLEl-RDP instead, which offer much more reasonable performance. Only try it out if you have a tricked-out rig and want to test your CPU's mettle, or if you can compile it from source and need it for testing/debugging purposes, as the latest updates are always made to this version first.
  • HatCat/angrylion's Pixel-Accurate N64 Plugin - This is a fork of Angrylion's RDP, done by HatCat. It has some optimizations not present in the official code, but is outdated and lacking some accuracy improvements and optimizations written by Angrylion. It has the option to disable the VI filters (which gives a speed boost), as well as the ability to set custom resolutions. Also, this version uses OpenGL 1.x instead of Direct Draw and supports Linux. Obsoleted by newer forks such as Angrylion RDP Plus.

Below is a gallery comparing how many of these plugins handle Mario Tennis, a hard-to-emulate game with many special effects that few plugins get right. Pay attention to the scoreboard on the top left, the MPH indicator on the top right, the NPCs on the back, shadows below the characters, and the trail and sparkle effects on the tennis ball and rackets:

Audio

This section will only cover the zilmar spec plugins, as Mupen64Plus does not have any alternative audio plugins besides the default, and neither do the libretro forks.

  • Project64 Audio - The default audio plugin for Project64, apparently loosely based off of code from Mupen64Plus's HLE RSP. Very barebones, with no options to speak off.
  • Jabo's DirectSound - Comes with Project64. It works fine for the most part, but some games may not play nice with it. It is a low-level plugin, so it needs an accompanying LLE RSP plugin. Will probably never be updated again.
  • Azimer's HLE Audio - This popular HLE audio plugin boasts high compatibility. Version 0.56WIP2 is old as hell, but it is the tried and true standard to which audio plugins are compared against. Recently, Azimer open sourced his plugin, and there are plans to integrate it into Project64 and eventually replace Jabo's as its official audio plugin. The latest development versions have a few issues, however.
  • Shunyuan's HLE Audio - An audio plugin, apparently based on 1964Audio and HatCat's RSP plugin. Can run in both LLE and HLE modes despite the name, though the HLE mode just makes it run a baked-in version of HatCat's RSP, which makes it not a true HLE plugin. Has been abandoned after charges of just taking others' code without revealing a source. If games run at a weird speed using this plugin, go to the ROM's Game Settings, and disable Fixed Audio Timing and Sync using Audio. Despite its Frankenstein nature, it actually works surprisingly well, although modern development versions of Project64 no longer work with it, apparently due to it depending on a bug that has now been fixed.

Input

  • Jabo's DirectInput - Comes with Project64, but now removed in favor of NRage Input. It isn't too bad, but it may have some compatibility problems with some controllers. Should work just fine with the keyboard if you're one of those masochists who emulates without a controller. Only standard controller emulation with nothing attached to it. As usual, do not expect any updates.
  • NRage Input - Also comes with Project64 as of version 2.2. Hands down the best input plugin as it is more feature complete than Jabo's DirectInput. Has a ton of options and great controller compatibility, including XInput support for use with Xbox 360 controllers. It can't emulate the microphone that is required by Hey You, Pikachu or the printer required for the Pokémon Snap Station. It has the ability to emulate Controller Pak (Mario Kart 64's ghost saves), Rumble Pak (Star Fox 64), and Transfer Pak (Pokémon Stadium series) functionality fairly well. Version 2.3 of Project64 introduced a version of the plug-in that can emulate the N64's mouse accessory designed for the 64DD to coincide with Project64's newest ability to emulate the 64DD accessory. Surprisingly, Mario Artist: Paint Studio can use the Japanese Game Boy Camera (called Pocket Camera) in Transfer Pak mode, but the camera function doesn't work as it displays static, although importing captured images still works technically.
  • Raphnetraw - This open source plugin allows streamlined use of N64 controller(s) via raphnet N64-to-USB v3+ adapters. It supports rumble and is available for Project64 and mupen64plus. Also contains various DLLs for special port arrangements (link).

RSP

  • Zilmar's RSP - Comes with Project64. Very accurate, quite fast in Recompiler mode, and will work fine for every game. The version included in Project64 2.x can work with both LLE and HLE plugins by toggling the relevant options in the Plugins settings menu.
  • Mupen64 HLE RSP - Comes with Mupen64. A very fast and compatible HLE RSP plugin. Written by Hacktarux and Azimer. Has issues with some games, particularly those using MusyX microcode. MusyX support was later added to the Mupen64Plus version, but those changes have yet to be backported to the zilmar-spec version.
  • z64 RSP plugin pack - Largely deprecated. This set of RSP plugins comes with the z64 video plugin, each with their own purpose:
    • Ziggy-z64RSP - This RSP is based on the MAME/MESS RSP code. It is slower but more accurate.
    • Ziggy-PJ64 - Based on the Project64 1.4 RSP, this plugin is much faster.
    • angrylion - This RSP is a simple Interpreter, and is required for a few games like World Driver Championship to work correctly with z64gl.
  • "Static" RSP Interpreter - Made by HatCat and originally released in Project64 Forum. as of the most recent release version, it is not only one of the most accurate RSP plugins, but also one of the fastest if using the SSSE3 version, though zilmar's RSP in Recompiler mode trumps it in speed. It also comes in SSE2 and non-SSE variations in case your PC does not support those instruction sets. It is capable of working with both HLE and LLE audio and video plugins via the following settings:
    • Send display lists to the graphics plugin - Check if using an HLE graphics plugin, uncheck if using LLE
    • Send audio lists to the audio plugin - Check if using an HLE audio plugin, uncheck if using LLE
    • Force CPU-RSP signals synchronization - Check if playing Gauntlet Legends, World Driver Championship, or Stunt Race 64. Only works with Project64 2.x.
    • Support CPU-RSP semaphore lock - Check to fix issues with Mario no Photopie. Only works with Project64 2.x.
  • Parallel RSP - A fast and accurate RSP based on the work of Themaister and is a RSP option mainly used in the Parallel N64 Libretro core however it is also possible to use it with M64p and RMG as a plugin.

Recommended N64 Setups

Project64 and Others

  • General Use
    • Glide64 2.0.0.1
    • Shunyuan's HLE Audio (set to LLE)
    • "Static" RSP Interpreter or Zilmar's RSP
    • Either of the RSP plugins should be fine for most games. HatCat's RSP is slightly more accurate. However, zilmar's is much faster. Keep in mind that Glide64 2.0.0.1 is the same as Glide64 Final. Glide64 2.0.0.1 is just a merge of Glide64, GlideHQ, and Glitch64 (which of course the final version has) to be one file, but limits you to certain settings that cannot be changed with the emulator.
  • Best Performance
    • Glide64 Final
    • Azimer's HLE Audio
    • Zilmar's RSP
    • Make sure you configure the graphics plugin to show texture enhancement options. Then you'll have an extra tab to change more options. Goto the texture enhancement tab and click on the button that gives the best performance and it should improve framerate once you saved the settings. There's also another button for best texture quality. There's no need to touch the other plugins. Recommended for most emulators.
  • Accuracy
    • angrylion's Pixel-Accurate N64 Plugin (RDP Plus)
    • Azimer's Audio NEW
    • "Static" RSP Interpreter
    • If you have a decent quad-core CPU, you can run many N64 games with pixel-perfect graphics at full speed, thanks to the new multithreaded version of angrylion's software plugin. The new Azimer's plugin (still WIP) works good in LLE. Since there's almost no visual difference, you may as well use PJ64's RSP to get better performance.

Mupen64Plus

Mupen64Plus has its own set of plugins which are incompatible with plugins used in other emulators. Here is an overview of recommended setups.

  • General Use
    • Video: Glide64mk2
    • RSP: cxd4-ssse3 or Parallel RSP
    • Glide64mk2 is just Glide64 with additional tweaks and enhancements for use with Mupen64Plus. cxd4 is one of HatCat's many names. The cxd4 plugin is a port of his RSP for zilmar-spec emulators. This appears to be the best combination for use with most games, though toasters may have performance issues.
  • Best Performance
    • Video: Rice
    • RSP: rsp-hle
    • These are Mupen64Plus's default plugins. Rice's Video is a plugin used on other N64 emulators, most known for its support for hi-res texture packs, now enhanced for Mupen64plus. It is not quite up to Glide64's level, but it does well enough for many games and is quite fast. The default RSP plugin appears to be just an enhanced port of vanilla Mupen64's RSP. Use this combination if you have a lower end PC and can't handle the Commonly Used setup.
  • Accuracy/Rogue Squadron
    • Video: z64 or angrylion's Per-Pixel RDP with OpenGL
    • RSP: cxd4-ssse3 or Parallel RSP
    • z64 is a port of z64gl, a low-level emulation video plugin for N64 emulators. It comes with its own accompanying z64 RSP, but cxd4 (a port of HatCat's RSP Interpreter plugin) appears to be more accurate and very well optimized. This setup is capable of playing difficult games like Rogue Squadron with very few graphical glitches and faster than on Project64 to boot.

Note: In some cases the cfg file may not appear, in which case you may do this:

  • Open terminal in emulator folder on in its respective directory
  • mupen64plus --configdir /directory/where/you/want/it/to/be

Libretro

There are two N64 libretro emulator cores for use on libretro frontends such as RetroArch: Mupen64Plus-Next and ParaLLEl-N64. The former is up-to-date and is recommended for most use cases, while the latter is no longer updated and is only around for performance reasons. Note that GLideN64 is only available in Mupen64Plus-Next, while glN64, Rice and Glide64 are now only available in ParaLLEl-N64. Both can use Angrylion Plus and ParaLLEl-RDP, however.

  • General Use (LLE)
    • Core: Mupen64Plus-Next
    • Video: ParaLLEl-RDP
    • RSP: ParaLLEl-RSP
    • By default ParaLLEl-RDP will output at native resolution with all the VI filters on, making it look exactly like Angrylion and the real N64 console. Upscaling must therefore be enabled in the core options. You can also alternatively render at a high resolution and downsample to a lower one if you want to improve 3D without making it stick out from 2D elements too much.
  • General Use (HLE)
    • Core: Mupen64Plus-Next
    • Video: GLideN64
    • RSP: HLE
    • While GLideN64 also works with the ParaLLEl and CXD4 RSP plugins, using them will cause GLideN64 to switch to its LLE mode, which is currently glitchier and slower than the HLE mode, for few compatibility or accuracy benefits, if any. As such, it is recommended to stick with the HLE RSP for GLideN64.
  • Best Performance
    • Core: ParaLLEl-N64
    • Video: Glide64
    • RSP: HLE
    • For slow, low-end devices and old PCs only. If further speed is desired or needed, you may try glN64 or Rice, but using them comes at a steep cost in compatibility and accuracy, and the majority of low-end devices in use today ought to be able to handle Glide64 just fine.
  • Accuracy
    • Core: Mupen64Plus-Next
    • Video: Angrylion
    • RSP: CXD4
    • Just like the developers intended! If you want to go all out, set the CPU core to Pure Interpreter, turn off multi-threading and set thread sync level to High in Angrylion's options for the real 30 VI/s experience. Closest you'll get to real hardware until a complete cycle-accurate N64 emulator surfaces.