Difference between pages "Cellphone emulators" and "Nintendo 64 emulators"

From Emulation General Wiki
(Difference between pages)
Jump to navigation Jump to search
(MiniJ)
(Tags: Mobile edit, Mobile web edit)
 
m (Emulators: Avoid redirect)
 
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.
+
{{Infobox console
 +
|title = Nintendo 64
 +
|logo = Nintendo64Console.png
 +
|developer = [[:Nintendo]]
 +
|type = [[:Category:Home consoles|Home video game console]]
 +
|generation = [[:Category:Fifth-generation video game consoles|Fifth generation]]
 +
|release = 1996
 +
|discontinued = 2002
 +
|predecessor = [[Super Nintendo emulators|SNES]]
 +
|successor = [[GameCube emulators|GameCube]]
 +
|emulated = {{✓}}
 +
}}
 +
The '''Nintendo 64''' is a 64-bit fifth-generation console released by Nintendo on September 29, 1996 for {{inflation|USD|199.99|1996}}.
  
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 DoCoMo i-mode, DeNa, RoID...). Some of these games got ported to the inferior Western hardware but these are in the tiny minority.
+
Nintendo was the second company approached by Silicon Graphics Inc. (SGI), who wanted to roll out their previously enterprise-only technology in the consumer space. They originally pitched their idea to Sega, but it's assumed that Nintendo's offer was more appealing. With the NEC VR4300 CPU clocked at 93.75 MHz, 4MB of RAM,<ref group=N>Though a separate add-on was later released called the "Expansion Pak" that added an additional 4MB of RAM, totaling 8MB.</ref> and an SGI RCP GPU, Nintendo had finalized much of the hardware at least a year before launch, preventing video games from needing drastic rewrites as a result of architectural changes. The development workstations were often Unix-based, something that would later help reverse engineers in some projects.
  
<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]
+
==Emulators==
 
 
==Dark Age of Monochrome Mobile Phones==
 
Earlier black-and-white cell phone 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.
 
 
 
==Classic BlackBerry OS==
 
 
 
===Emulators===
 
 
{| class="wikitable" style="text-align:center;"
 
{| class="wikitable" style="text-align:center;"
|-
 
 
! scope="col"|Name
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Platform(s)
! scope="col"|Version
+
! scope="col"|Latest Version
! scope="col"|[[Emulation Accuracy|Accuracy]]
+
! scope="col"|Plugins
! scope="col"|[[Recommended Emulators|Recommended]]
+
! scope="col"|Controller Pak
|-
+
! scope="col"|Rumble Pak
!colspan="5"|PC / x86
+
! scope="col"|Transfer Pak
|-
+
! scope="col"|64DD
|BlackBerry Simulator Series
+
! scope="col"|[[libretro|Libretro Core]]
|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"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|-
!colspan="7"|PC / x86
+
!colspan="13"|PC / x86
 
|-
 
|-
|Mu
+
|[[m64p]] (ParaLLEl)
|align=left|{{Icon|Windows|Libretro}}
+
|align=left|{{Icon|Windows|Linux}}
|[https://palmdb.net/app/mu 1.0.0]
+
|[https://github.com/loganmc10/m64p/releases/latest git]
|?
+
|{{✓}}
|{{}}
+
|{{✓}}
 +
|{{✓}}
 +
|{{✓}}
 +
|{{✓}}
 +
|{{✓}}
 +
|{{}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|-
 
|-
|POSE
+
|m64p (Final GLideN64)
|align=left|{{Icon|Windows}}
+
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://palmdb.net/app/palm-emulator Varies]
+
|[https://github.com/loganmc10/m64p/releases/tag/v2021.5.30 Final GLideN64]
|?
+
|{{✓}}
|?
+
|{{✓}}
|{{~}}
+
|{{✓}}
 +
|{{✓}}
 +
|{{✓}}
 +
|{{✓}}
 +
|{{}}
 
|{{✗}}
 
|{{✗}}
 +
|{{✓}}
 
|-
 
|-
|Palm Simulator
+
|ParaLLEl
|align=left|{{Icon|Windows}}
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[https://palmdb.net/app/palm-simulator Varies]
+
|[https://www.retroarch.com/ 2.0-rc2]
|?
+
|{{✓}}
|?
+
|{{✓}}
|{{~}}
+
|{{}}
 
|{{✗}}
 
|{{✗}}
 +
|{{✓}}
 +
|{{✓}}*
 +
|{{✓}}
 +
|{{✓}}
 +
|{{✓}}
 
|-
 
|-
!colspan="7"|Mobile / ARM
+
|[[RMG]]
|-
+
|align=left|{{Icon|Windows|Linux}}
|PHEM
+
|[https://github.com/Rosalie241/RMG git]
|align=left|{{Icon|Android}}
+
|{{✓}}
|[https://play.google.com/store/apps/details?id=com.perpendox.phem 1.43a]
+
|{{✓}}
|?
+
|{{✓}}
|{{}}
+
|{{✓}}
 +
|{{}}
 
|{{✗}}
 
|{{✗}}
 
|{{✓}}
 
|{{✓}}
|-
 
|StyleTap
 
|align=left|{{Icon|WinMobile|Android|Windows|macOS|Lin}}
 
|[https://newsblog.styletap.com/index.php 0.8.033]
 
|?
 
|{{✗}}
 
|{{✗}}
 
|{{~}}
 
|}
 
 
==J2ME <small>(Java 2 Micro Edition)</small>==
 
A free cross-platform language capable of working in devices with highly reduced capabilities. It was basically Java stripped down to the bare essentials.
 
 
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.
 
 
===Emulators===
 
 
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.
 
 
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! 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]]
 
|-
 
!colspan="9"|PC / x86
 
|-
 
|[[FreeJ2ME]]
 
|align=left|{{Icon|Java|LiA|Libretro}}<br/><small> (libretro)</small>
 
|[https://sourceforge.net/projects/freej2me/files/ 2018/09/07][https://github.com/hex007/freej2me git]
 
|Mid
 
|Host JVM!
 
|?
 
 
|{{✓}}
 
|{{✓}}
|{{✓}}<small> (libretro)</small>
 
 
|{{✓}}
 
|{{✓}}
 
|-
 
|-
|[[KEmulator]]
+
|[[Project64]]
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[https://archive.org/details/KEmulator103 1.0.3][https://github.com/ancient-empires-resources/KEmulator git]
+
|[https://www.pj64-emu.com/public-releases {{Project64Ver}}]<br >[https://www.pj64-emu.com/nightly-builds Dev]
|Mid
+
|{{✓}}
|?
+
|{{✓}}
|?
+
|{{✓}}
|{{}}
+
|{{✓}}
 +
|{{}}
 
|{{✗}}
 
|{{✗}}
 
|{{✓}}
 
|{{✓}}
|-
 
|Jademula
 
|align=left|{{Icon|Windows}}
 
|[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
+
|[[ares]]
|align=left|{{Icon|Java}}
+
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://web.archive.org/web/20060720210353/http://www.volny.cz/molej/pstros/download.htm 1.6.0]
+
|[https://github.com/ares-emulator/ares/releases {{aresVer}}]
|Mid
 
|?
 
|?
 
|?
 
 
|{{✗}}
 
|{{✗}}
 +
|{{✓}}
 
|{{~}}
 
|{{~}}
|-
 
|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 (Nokia-only)
 
|?
 
|?
 
|?
 
|{{✗}}
 
 
|{{~}}
 
|{{~}}
|-
 
|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 (Siemens-only)
 
|?
 
|?
 
|?
 
 
|{{✗}}
 
|{{✗}}
 +
|{{✓}}
 +
|{{✓}}
 
|{{~}}
 
|{{~}}
 
|-
 
|-
|Motorola SDKs
+
|[[CEN64]]
|align=left|{{Icon|Windows}}
+
|align=left|{{Icon|Windows|Linux|macOS}}
|[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]
+
|[https://github.com/tj90241/cen64 git]
|Mid (Motorola-only)
 
|?
 
|?
 
|?
 
 
|{{✗}}
 
|{{✗}}
|{{~}}
+
|{{}}
|-
+
|{{✓}}
|Motorola iDEN SDK
+
|{{✓}}
|align=left|{{Icon|Windows}}
+
|{{}}
|[https://motorola-iden-sdk-for-j2me.software.informer.com Mirror]
 
|Mid (iDEN-only)
 
|?
 
|?
 
|?
 
 
|{{✗}}
 
|{{✗}}
 +
|{{✓}}
 +
|{{✓}}
 
|{{~}}
 
|{{~}}
 
|-
 
|-
|MicroEmu
+
|[[Mupen64Plus]]
|align=left|{{Icon|Java|Windows|mcOS|Lin}}
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[https://github.com/artem-frolov/microemu git]
+
|[https://github.com/mupen64plus/mupen64plus-core/releases git]
|Mid
+
|{{✓}}
|Host JVM
+
|{{✓}}
| -
+
|{{✓}}
 +
|{{✓}}
 +
|{{✓}}
 +
|{{✓}}
 +
|{{✓}}
 
|{{✓}}
 
|{{✓}}
|{{✗}}
 
|{{✗}}
 
|-
 
|SJ Boy Emulator
 
|align=left|{{Icon|Windows}}
 
|[https://web.archive.org/web/20061120062624/http://www.sjboy.cn:80/setup.zip Beta 4]
 
|Low
 
|?
 
|?
 
|?
 
|{{✗}}
 
 
|{{~}}
 
|{{~}}
 
|-
 
|-
|MiniSoyo
+
|[[Project64 Netplay]]
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[https://web.archive.org/web/20061026100050/http://www.sjboy.cn:80/images/minisoyo_en.zip 1.0]
+
|[https://pj64netplay-emu.ml/download.html {{Project64NetplayVer}}]
|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
 
|?
 
|?
 
|?
 
 
|{{✗}}
 
|{{✗}}
|{{✗}}<small> (Required : [https://www.java.com/en/download/manual.jsp JRE)]</small>
 
|-
 
|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
+
|[[BizHawk]]
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[https://gamemagic-s60.download.it 1.2.1]
+
|[http://tasvideos.org/BizHawk/ReleaseHistory.html {{BizHawkVer}}]
|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)]<small> ($)</small>
 
|Low
 
|?
 
|?
 
|?
 
 
|{{✗}}
 
|{{✗}}
 +
|{{✓}}
 +
|{{✓}}
 
|{{✗}}
 
|{{✗}}
 
|-
 
|-
|[[SquirrelJME]]
+
|[[1964]]
|align=left|{{Icon|Windows|Linux|Mac|Java|Libretro}}
+
|align=left|{{Icon|Windows}}
|{{SquirrelJMEVer}}
+
|[http://www.emulation64.com/files/getfile/936/ 1.1] (Official)<br />[http://files.emulation64.fr/Emulateurs/EMU_1964_146.zip 1.2 r146] (Unofficial SVN)
|{{SquirrelJMEAccuracy}}
+
|{{}}
|Custom (Java)
 
| -
 
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
|{{✗}}<small> (WIP)</small>
 
|-
 
|[[Kahvibreak]]<small> (Launcher)</small>
 
|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 (Beta)]
 
| Mid
 
| Host JVM (FreeJ2ME)
 
| ?
 
 
|{{✓}}
 
|{{✓}}
 +
|{{✗}}
 +
|{{✗}}
 
|{{✓}}
 
|{{✓}}
|{{}}<small> (WIP)</small>
+
|{{✗}}
 +
|{{✗}}
 
|-
 
|-
!colspan="9"|Mobile / ARM
+
|[[DaedalusX64]]
|-
+
|align=left|{{Icon|Linux}}
|[[J2ME Loader]]
+
|[https://github.com/DaedalusX64/daedalus/releases/latest git]
|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]]
+
|[[Sixtyforce]]
|align=left|{{Icon|Android}}
+
|align=left|{{Icon|macOS}}
|[https://github.com/woesss/JL-Mod/releases {{JL-ModVer}}]
+
|[http://sixtyforce.com/download/ {{SixtyforceVer}}]
|High
+
|?
|Host JVM
 
|J2ME-Loader
 
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 
|{{✓}}
 
|{{✓}}
 +
|{{✗}}
 
|-
 
|-
|Java J2ME MiDlet Runner
+
|Larper64
|align=left|{{Icon|Android}}
+
|align=left|{{Icon|Windows|Linux|macOS}}
|[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]<small> (Convert .Jar ~ .Apk)</small>
+
|[https://drive.google.com/file/d/1IWyw5UG9Uf24KG0zrcXSFoOmcQoHWmyc/view {{Larper64Ver}}]
|Low
 
|?
 
 
|?
 
|?
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|-
 
|-
|Jbed
+
|[[UltraHLE]]
|align=left|{{Icon|Android}}
+
|align=left|{{Icon|Windows}}
| [https://forum.xda-developers.com/attachments/jbed-zip.668332 2.3.1]
+
|[https://web.archive.org/web/20070312015944/http://www.emuunlim.com/UltraHLE/ultrahle.zip 1.0]
|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
+
|[[MAME]]
|align=left|{{Icon|Android|Maemo|MeeGo|WinMobile|PocketPC|WinCE}}
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[https://github.com/nikita36078/phoneME-android git]<br/>[https://web.archive.org/web/20180305064344/http://davy.preuveneers.be/phoneme/?q=node/10  b168 rev20547]
+
|[http://www.mamedev.org/release.html {{MAMEVer}}]
|Low
 
|phoneME CLDC
 
|phoneME Advanced
 
|{{}}<small> (Android only)</small>
 
 
|{{✗}}
 
|{{✗}}
|?
 
|-
 
|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
 
|align=left|{{Icon|Symbian|WinCE}}
 
|[https://github.com/hbao/phonemefeaturedevices git]
 
|Low
 
|phoneME CLDC
 
|phoneME Feature
 
|{{✓}}
 
 
|{{✗}}
 
|{{✗}}
|?
 
|-
 
!colspan="9"|Consoles
 
|-
 
|[[PSPKVM]]
 
|align=left|{{Icon|PSP}}
 
|[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}}(Miyoo)
 
|[https://github.com/pthalin/bittboy-j2me git]
 
|Mid
 
|phoneME CLDC
 
|phoneME Advanced
 
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 +
|{{✗}}
 
|-
 
|-
|Midpath
+
|[[Ryu64]]
|align=left|{{Icon|RetroFW}}
+
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/jbanes/midpath git]
+
|[https://github.com/Ryu64Emulator/Ryu64 git]
|Mid
 
|?
 
 
|?
 
|?
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 
|{{✓}}
 
|{{✓}}
|{{}}
+
|{{}}
|{{✓}}
+
|{{}}
|-
 
|PhoneME
 
|align=left|{{Icon|GP2X|Wiz}}<br>{{Icon|Caanoo}}
 
|[https://github.com/j2me-preservation/phoneME-GP2X-SDL git]
 
|Mid
 
|phoneME CLDC
 
|phoneME Feature
 
|{{✓}}
 
|{{~}}
 
|{{~}}
 
 
|-
 
|-
|Pstros-nds
+
|R64Emu
|align=left|{{Icon|NDS}}
+
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://www.gamebrew.org/wiki/Pstros_NDS 0.7.2 r6][https://github.com/ole00/pstros-nds git]
+
|[https://github.com/rasky/r64emu git]
|Low
 
 
|?
 
|?
|?
 
|{{✓}}
 
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
|}
+
|{{}}
 
+
|{{}}
{| class="wikitable" style="text-align:center;"
+
|{{}}
|-
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|Via
 
! 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|PS3|Xbox|Xbox360}}
 
{{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
 
 
|{{✓}}
 
|{{✓}}
|{{✗}}
 
 
|{{✓}}
 
|{{✓}}
|-
 
|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
 
|?
 
|?
 
|?
 
 
|{{✗}}
 
|{{✗}}
|{{~}}
 
|}
 
 
;[[FreeJ2ME]]
 
: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 on Android. Some games run too fast and require tinkering with the frame rate options. Free and Open source.
 
;[[KEmulator]]
 
: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, closed-source.
 
;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 b&w 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 MascotCapsule 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.
 
;SjBoy
 
: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. Haves not any known advantageous feature.
 
;[[SquirrelJME]]
 
: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]]
 
: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]]
 
:This is the experimental mod of the J2ME Loader app with Mascot Capsule 3D 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 Website]. 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.
 
;[[PSPKVM]]
 
:Available for cell-phones. Might be the first one that's open-source. Last update was in 2009.
 
;phoneME
 
: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: phoneME Feature and phoneME Advanced.
 
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.
 
;Netmite
 
: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
 
 
 
====Moscot Capsule 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.
 
MascotCapsule product line-up consists of seven different engines to accommodate various hardware operating environments: MascotCapsule V1, V2, V3, V4, nano, eruption, and Renderion.
 
 
{| class="wikitable" style="text-align:center;"
 
 
|-
 
|-
! scope="col"|Name
+
!colspan="13"|Mobile / ARM
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! 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]]
 
 
|-
 
|-
|[[JL-Mod]]
+
|[[Mupen64Plus]] FZ
 
|align=left|{{Icon|Android}}
 
|align=left|{{Icon|Android}}
|[https://github.com/woesss/JL-Mod/releases {{JL-ModVer}}]
+
|[https://play.google.com/store/apps/details?id=org.mupen64plusae.v3.fzurita 3.0.291 (beta)]
|High
+
|?
|Host JVM
 
|J2ME-Loader
 
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
|}
 
 
==ExEn <small>(Execution Engine)</small>==
 
A freeware solution developed by French mobile game developer 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"|[[Recommended Emulators|Recommended]]
 
|-
 
!colspan="5"|PC / x86
 
|-
 
|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.
 
 
 
==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 .mrp format.
 
There is many original Contra games for this platform, created by different companies. It also has some Konami's mobile game.
 
An MRP file is an app created for the Mythroad mobile platform used by China Mobile and Cherry Mobile phones. It contains a program, typically a game, and all of the resources required by the program to run. MRP files are similar to .VXP files and may come pre-installed on the phone or may be downloaded from the Internet and installed on the phone.
 
 
 
===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
+
|[[Mupen64Plus]]-pandora/Pyra
|-
+
|align=left|{{Icon|Pandora|Pyra}}
|Mythras
+
|[https://pyra-handheld.com/boards/threads/mupen64plus-2-2.72661 Pandora Build]<br/>[https://pyra-handheld.com/repo/apps/39 Pyra Build]
|align=left|{{Icon|Android}}
+
|?
|[https://github.com/CounsellorPolonius/mythras git][https://github.com/Yichou/mrpoid2018 mrpoid2018]
 
|Mid
 
 
|{{✓}}
 
|{{✓}}
 +
|?
 +
|?
 +
|{{✗}}
 +
|{{✗}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
|}
 
 
==Mediatek Runtime Environment (MRE)/MAUI==
 
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"|[[Recommended Emulators|Recommended]]
 
|-
 
!colspan="5"|PC / x86
 
|-
 
|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
+
!colspan="13"|Consoles
! 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]]
 
 
|-
 
|-
|Mophun Games Launcher
+
|[[Virtual Console]]
|align=left|{{Icon|Symbian}}
+
|align=left|{{Icon|Wii|WiiU}}
|[https://andredream13.wordpress.com/2012/07/13/mophun-games-launcher-v1-01-s60v3-12-games-in-one 1.01]
+
|N/A
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 
|{{✗}}
 
|{{✗}}
|?
 
 
|{{✗}}
 
|{{✗}}
|{{✓}}
 
|-
 
|4Mophun
 
|align=left|{{Icon|WinMobile}}
 
|1.1
 
 
|{{✗}}
 
|{{✗}}
|?
 
 
|{{✗}}
 
|{{✗}}
 +
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|-
 
|-
|[[mophun]]
+
|Not64
|align=left|{{Icon|Windows}}
+
|align=left|{{Icon|GCN|Wii}}
|[https://cdn.discordapp.com/attachments/793085042020450324/803269504859766814/Mophun_emulator_2.5.4__games.zip 2.5.4]
+
|[https://github.com/Extrems/Not64/releases/latest git]
|{{✗}}
 
 
|?
 
|?
|{{✗}}
 
 
|{{✓}}
 
|{{✓}}
|-
 
|MoRePhun
 
|align=left|N/A
 
|[https://github.com/Luca1991/MoRePhun git]
 
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
|{{✓}}
 
 
|{{✗}}
 
|{{✗}}
|}
+
|{{}}
 
 
===Comparisons===
 
*Mophun Games Launcher is 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]] is 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.
 
*[https://github.com/Luca1991/MoRePhun MoRePhun] is 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.
 
 
 
==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]]
 
|align=left|{{Icon|Windows|Linux|macOS|}}
 
|[https://github.com/EKA2L1/EKA2L1/releases {{EKA2L1Ver}}]
 
|Mid
 
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|-
 
|-
|Engemu
+
|[[DaedalusX64]]
|align=left|{{Icon|Windows}}
+
|align=left|{{Icon|PSP|3DS}}<br>{{Icon|Vita|PS2}}
|[https://github.com/mrRosset/Engemu git]
+
|[https://github.com/DaedalusX64/daedalus/releases/latest PSP]<br/>[https://github.com/masterfeizz/DaedalusX64-3DS/releases 3DS]<br/>[https://github.com/Rinnegatamante/DaedalusX64-vitaGL/releases VitaGL]<br/>[https://www.ps2-home.com/forum/viewtopic.php?f=99&p=39957#p39957 PS2]
|None
+
|?
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✓}}
 +
|{{✓}}
 +
|{{~}}
 
|-
 
|-
|NGEmu
+
|Surreal64 CE
|align=left|{{Icon|Windows}}
+
|align=left|{{Icon|Xbox}}
|[https://github.com/NGEmu/NGEmu git]
+
|[https://digiex.net/threads/surreal64-ce-b6-0-download-n64-emulator-for-xbox.13677 Beta 6.0]
|None
+
|?
 +
|{{✓}}
 
|{{✓}}
 
|{{✓}}
|{{✗}} <small>(see below)</small>
 
|{{✗}}
 
|-
 
|N-GageCool
 
|align=left|{{Icon|Windows}}
 
|[https://ngage-cool.soft32.com/ 1.2.1] ($)
 
|Terrible
 
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
|-
 
!colspan="7"|Mobile / ARM
 
|-
 
|[[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]]: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-GageCool: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.
 
 
==Japanese cell phones==
 
Several Japanese-centric mobile game technologies spawned during the 00's as part of convoluted all-in-one technological solutions, mostly based on Java.
 
 
* DoCoMo released DoJa (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 ezplus (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 J-SKY, 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 SDK
 
|align=left|{{Icon|Windows}}
 
|Various
 
|Mid
 
|?
 
 
|{{✗}}
 
|{{✗}}
 
|{{~}}
 
|{{~}}
 
|-
 
|-
|DoJa Overseas Edition SDK
+
|mupen64-360
|align=left|{{Icon|Windows}}
+
|align=left|{{Icon|Xbox360}}
|[https://web.archive.org/web/20070614131147/http://www.doja-developer.net/downloads/index.php?node=41 1.03]
+
|[https://digiex.net/threads/mupen64-360-xbox-360-nintendo-64-n64-emulator-download.9352 0.96 beta]
|Low (DoJa 2.5oe)
 
 
|?
 
|?
 +
|{{✗}}
 +
|{{✓}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
|-
 
|[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
+
|[https://code.google.com/p/mupen64gc/ Wii64]
|align=left|{{Icon|Java}}
+
|align=left|{{Icon|GCN|Wii}}
|[https://web.archive.org/web/20151127190756/http://mujweb.cz/molej/jade/index.htm 0.1.7]
+
|[https://code.google.com/archive/p/mupen64gc/downloads 1.1 beta]
|Low (DoJa 1.5)
 
 
|?
 
|?
 +
|{{✓}}
 +
|{{✓}}
 +
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
|-
 
|[[SquirrelJME]]
 
|align=left|{{Icon|Windows|Linux|Mac|Java|}}
 
|{{SquirrelJMEVer}}
 
|{{SquirrelJMEAccuracy}}
 
 
|{{✓}}
 
|{{✓}}
|{{}}
+
|{{}}
|?
+
|{{✗}}
 
|}
 
|}
;DoJa SDK
 
: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===
+
<nowiki>* Available exclusively as a libretro core</nowiki>
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.
+
===Comparisons===
 +
Although many Nintendo 64 emulators have been made and many games can be run between them, complete compatibility and/or accuracy still leaves a bit to be desired. For half a decade, Mupen64Plus and Project64 have vied for the most playable emulator, and which has been more compatible has depended on when and in what configuration each emulator has been tested. Both emulators default to lackluster plugins, but, as of August 2017, both emulators have roughly equal graphical accuracy when running with GLideN64.
 +
 
 +
;[[Mupen64Plus]]:A multi-platform emulator based on Hacktarux's Mupen64. It's about as accurate as Project64,<ref>loganmc10. [https://github.com/mupen64plus/mupen64plus-core/pull/336 ''Ignore TLB write if TLB entry is unmapping itself'']. "By the way, once this, along with the other PR's I have waiting are merged, we are at "compatibility parity" with Project64 as far as I can tell. I don't know of any game that doesn't boot with mupen64plus that works in PJ64."</ref> when both emulators are run with GLideN64. However, Mupen64Plus lacks a native GUI, instead being launched either from the command line or by dragging and dropping ROMs onto the executable and editing the config with a text editor. [[BizHawk]] and [[OpenEmu]] use forks of Mupen64Plus and its plugins for their N64 emulation, but they seem to be shallow.
  
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)"
+
:;ParaLLEl:A heavily-modified fork developed as a [[libretro]] core. It introduces many features and optimizations not present in mainline alongside [[RetroArch]]'s general features, including Project64-style overclocking for faster frame rates, 3-point texture filtering, superior A/V sync and latency, and even an exclusive LLE Vulkan renderer based on Angrylion's pixel-perfect RDP plugin, making it a better alternative to the standalone version in some cases, especially if accuracy is the goal. ParaLLEl has a special "[https://www.youtube.com/watch?v=mzR93F9gPdc Super VI Mode]" option which, if used, can make the visuals of N64 games look less blurry with fairly mitigated jaggies even at their native resolutions. Although, it may need a [https://www.youtube.com/watch?v=z7_D_D419S0 powerful GPU]. It also offers native high-resolution rendering, only available in integer scales of the original N64 resolution.
  
Applications were denominated "ezplusアプリ" (during the ezplus name era) and come in the form of .KJX files.
+
:;[[m64p]]:Probably the easiest "out of the box" solution for Nintendo 64 emulation. It comes with Parallel RDP, as well as its own custom GUI and input plugin.
  
====Emulators====
+
:;[[RMG]]:Rosalie's Mupen GUI is a project aiming to close the gap between Project64 and Mupen64Plus in terms of user experience.
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
!colspan="5"|PC / x86
 
|-
 
|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===
+
:;Wii64 and Not64:Both are based on Mupen64, with Not64 being a fork of Wii64. Not64 claims to be better optimized as well as having higher compatibility and more frequent updates. N64 emulation on Wii is not very good, and it is recommended to stick with the Virtual Console releases whenever possible.
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.
+
;[[Project64]]:An open-source emulator for Windows. Its official release builds are more up-to-date than Mupen64Plus', and the current version, 3.0.1, is roughly as accurate as the development versions of Mupen64Plus when both are played with recommended plugins. It has a more user-friendly interface than the Mupen64Plus attempts and supports more features such as overclocking and Transfer Pak emulation. It does come with GLideN64 out-of-the-box, but the default audio plugin isn't even the best in the box. For the most part, it works well in [[Wine]], but, if you're on a different platform, use Mupen64Plus instead.
  
====Emulators====
+
;[[CEN64]]:Aims for cycle accuracy while, at the same time, aiming to eventually be usable on modern PC hardware. It currently lacks many features and has spotty compatibility, but it's gradually improving. It can already emulate some well-known edge cases such as the picture recognition in Pokemon Snap.
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
!colspan="5"|PC / x86
 
|-
 
|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.
 
  
==Binary Runtime Environment for Wireless <small>(BREW)</small>==
+
;[[1964]]:Along with its various versions and forks, it was once a decent, speedy open-source alternative to Project64 and Mupen64, though it usually lagged behind the two compatibility-wise. Nowadays it has completely fallen off the radar as development has halted, and there is no longer a central code repo to speak of. There is little reason to use it nowadays outside of historical purposes, very specific edge cases, or if your device is too slow to run Mupen64Plus or Project64. However, a fork named 1964 GEPD is regularly updated and remains the go-to choice for emulation of 007 Goldeneye and Perfect Dark. This is for a number of reasons, the most notable are a 60 FPS hack and a mouse injector plugin, which happens to include an FOV slider.
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.
+
;Daedalus:is a Nintendo 64 emulator for PC which was ported to the PSP under the name of DaedalusX64. The PSP version later became the main version and got ported to platforms such as the Dreamcast, the PS2, the PS Vita, and the 3DS. On PSP, several games are able to reach full speed and most of them work with few emulation issues.
  
===Emulators===
+
;[[Sixtyforce]]:is macOS-only, closed-source, and asks you to pay for full access to its features. It was once one of the only choices for Mac users, particularly those with older Macs since it's the only emulator with a <abbr title="Power PC">PPC</abbr> [[Dynamic recompilation|dynarec]]), but, with the switch to x86 and Mupen64Plus being ported to macOS, it has now become less relevant. However, development is still ongoing and is currently in its [https://sixtyforce.com/rosetta/ third rewrite] to support the upcoming [https://en.wikipedia.org/wiki/Apple-designed_processors Apple Silicon].
{| 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"|[[Recommended Emulators|Recommended]]
 
|-
 
|[[Infuse]]
 
|align=left|{{Icon|WinMobile}}
 
|? (POC)
 
|Low
 
|{{✓}}
 
|{{✗}}
 
|}
 
  
==Danger OS==
+
;[[UltraHLE]]:marked a milestone in Nintendo 64 emulation, in that it was the first to play some popular N64 titles at full speed on hardware made at the time of its release through [[High/Low-level emulation|high-level emulation]]; it isn't without its drawbacks though - pressure from users, combined with legal threats from Nintendo, forced them to discontinue development. Besides being for historical value, there's not much to expect from this emulator anyway due to compatibility issues.
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===
+
;[[Ryu64]]:is a Nintendo 64 emulator made in C#. The 'Ryu' word is named after the "RyuJIT" used in both Visual Basic & C#. But it might have been inspired by the lead author's sole (so far) [https://github.com/Ryujinx/Ryujinx/commits?author=Dudejoe870 commit] at Switch emulator, [[Ryujinx]]'s Git repository, and his depreciated [https://github.com/Dudejoe870/RyujinxAutoUpdate Ryujinx Auto Updater] tool. "86RYU", an x86 JIT compiler, is being developed alongside this emulator too.
{| 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"|[[Recommended Emulators|Recommended]]
 
|-
 
|[https://archive.org/details/hiptop_sdk Danger Hiptop/Sidekick SDK]
 
|align=left|{{Icon|Windows|Linux|Mac|}}
 
|?
 
|Mid
 
|{{✗}}
 
|{{✓}}
 
|}
 
;Danger Hiptop/Sidekick SDK
 
:Official SDK from Danger Incorporated
 
  
==WIPI (Wireless Internet Platform for Interoperability)==
+
==Emulation issues==
 +
{{Main|Recommended N64 plugins}}
  
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.
+
The Nintendo 64 emulation scene can be described as a hot mess. It got to that point because of the overall emulation scene's climate in the early days, which was to stub off certain components of the emulated hardware as plugins. (Other consoles weren't immune to this phenomenon; it also happened to [[PlayStation emulators|the first PlayStation]].) Developers underestimated the complexity of the system, and with little demand for improvements beyond getting the popular titles working from beginning to end, most emulator developers stuck with the codebases they knew for as long as possible and never integrated any of the plugins that were needed to make up a full project, or merge their codebases into one project. And because almost no documentation is available for clean-room reverse engineers, figuring out how the hardware actually functioned had to be done manually, which took longer. The unfortunate result of this is that many games require specific plugin arrangements and specific emulators in order to run well, and there is no viable alternative that isn't just an iteration on the existing plugin-based emulators.
  
===Emulators===
+
===[[High/Low level emulation|High-level vs. low-level]] graphics===
{{No current emulators|OS}}
 
  
==Firefox OS==
+
One of the biggest hurdles to emulating the Nintendo 64 is the Reality Display Processor (RDP), one of two components in the Reality Coprocessor made by SGI. The Reality Display Processor was the most powerful consumer-grade GPU at the time of the console's release; this was a selling point that Nintendo wanted to emphasize as a result of working with SGI. However, reverse engineering efforts for popular Nintendo 64 games showed that Nintendo's software development kit included a common microcode for the RDP. It's possible Nintendo didn't want to give developers access at a lower level out of fears that doing so would damage consumer units, but that meant most of the effort spent emulating the RDP would go towards figuring out how to handle the microcode.
  
===Emulators===
+
* Most developers in 1999 and the early 2000s opted to approximate functions through various APIs such as Direct3D, OpenGL, and even Glide. While this resulted in much more reasonable system requirements for emulation, along with prettier, higher resolution graphics, this method proved to be hit and miss, often requiring per-game tweaks and settings to prevent graphical glitches on many games. Some games flat out didn't work, because it wasn't clear what the microcode did or why, and required extensive hardware testing.
{{No current emulators|OS}}
+
* On the low-level side, developers would either completely emulate the RDP or autodetect the microcode and use an appropriate implementation for the game. The former would mean a software renderer accurate to the hardware but major performance bottlenecks unless optimizations like vectorization and multi-threading were implemented. The latter would mean faster performance but developers would still have to figure out how to account for edge cases.
  
==Fire OS==
+
gonetz and one or two assistants have spent a large portion of development improving GlideN64's handling of microcode throughout 2016-2018.<ref name="gliden64_blog-1">{{cite web|url=https://gliden64.blogspot.com/2017/|title=Public Release 3.0|publisher=Blogspot|accessdate=2018-06-17|date=2017-12-29}}</ref><ref name="ZSortBOSS">{{cite web|url=https://github.com/gonetz/GLideN64/issues/1685#issuecomment-364436534|title=Initial implementation of BOSS ZSort ucode (WDC, Stunt Racer)|publisher=GitHub|accessdate=2018-06-17|date=2018-02-10}}</ref> This means that [https://youtu.be/HfCOnmRHI0o Factor 5]'s games are now working in the high-level graphics mode.<ref name="Indiegogo">{{cite web|url=https://www.indiegogo.com/projects/indiana-j-infernal-machine-high-level-emulation#/updates/all|title="Indiana J. & Infernal Machine" HLE|publisher=Indiegogo|accessdate=2018-06-17|date=2018-05-17}}</ref><ref name="gliden64_blog-2">{{cite web|url=https://gliden64.blogspot.com/2018/05/hle-implementation-of-microcodes-for.html|title=HLE implementation of microcodes for "Indiana Jones" and "Battle for Naboo" completed.|publisher=Blogspot|accessdate=2018-06-17|date=2018-05-26}}</ref> Other games may still have issues with RDP quirks like frame buffer/depth buffer access (issues with how the frame buffer is used as well as performance issues), VI emulation, and how combine/blending modes are emulated (such as noise issues and combiner accuracy).
  
===Emulators===
+
It should be noted that most games technically work through the HLE method, but it's not an accurate representation of what the video output actually looked like, but rather a rough approximation by your graphics card. Whether this is an improvement or not is subjective.
{{No current emulators|OS}}
+
<gallery widths="300" mode="packed">
 +
Majora's mask accurate.png| Low-level emulation of Majora's Mask using SoftGraphic
 +
Project64 2013-07-26 14-20-17-55.png| High-level emulation of Majora's Mask using Jabo's Direct3D
 +
</gallery>
  
==Tizen==
+
===[[Texture filtering]]===
 +
The Nintendo 64 was the first consumer device to be able to filter textures when rendering 3D objects. However, unlike every console and PC graphics card made after the N64, its implementation of bilinear was primitive in that, in order to reduce strain on the system, it only used three samples as opposed to four, resulting in slightly jagged textures. Instead of faithfully applying this "imperfect" version of bilinear filtering, HLE plugins instead apply conventional filtering, interpolating straight from the source texture up to the output resolution the same way a PC game would. While that method is technically superior, it can result in textures that look even blurrier than on real hardware.
  
===Emulators===
+
Another issue lies with the appliance of texture filtering per quad on static images, text, and sprites. Because each quad is filtered separately, this can cause some visual inconsistencies. Text and UI elements often look as though their edges cut off abruptly, and static images, such as pre-rendered backgrounds or menu screens, may look as though they are separated into squares. Some plugins allow the user to turn off texture filtering to remedy this, but, unfortunately, this also applies to textures in the game world, exposing their oftentimes low resolutions.
{{No current emulators|OS}}
 
  
==webOS==
+
RetroArch's Mupen64Plus core has taken some steps which help remedy these problems. It is the only emulator that implements N64-style three-point texture filtering, which results in a more faithful look. It is also capable of rendering at 320x240, which sidesteps the issues with filtered text, UI elements, and menu screens, while still retaining texture filtering. Pixel-accurate plugins do not have these problems at all.
 +
<gallery widths="300" mode="packed">
 +
Project64_2013-06-26_17-44-58-31.png|Conker's Bad Fur Day copyright screen, displaying issues with filtered text.
 +
Mupen64plus_2013-08-18_20-35-50-08.png|Ocarina of Time's menu subscreen, displaying issues with filtering. Note how the Quest Status screen appears to be divided into a grid.
 +
</gallery>
  
===Emulators===
+
===Voice Recognition Unit emulation===
{{No current emulators|OS}}
+
The Voice Recognition Unit (VRU) is an accessory used primarily by ''Hey You, Pikachu''. No emulator or input plugin supports this, although there is an on-going effort to get it working.<ref name="emutalk">{{cite web|url=http://www.emutalk.net/threads/55279|title=Hey You! Pikachu - Possible HLE Implementation|publisher=emutalk|accessdate=2018-06-17|date=2014-10-27, Last edit: 2016-04-04}}</ref>
 +
===''Densha De Go!'' Controller===
 +
Also available for the [[PlayStation emulators|PlayStation]], ''Densha De Go! 64'' is a Japan-only train simulator released by [[Wikipedia:Taito|Taito]] that is compatible with an optional special controller that plugs into the player 3 port.<ref name="ArcadeUSA">{{cite web|url=https://www.youtube.com/watch?v=cCcPAGhcnck|title=Densha De Go! Nintendo 64 Controller!|publisher=YouTube|accessdate=2018-06-17|date=2017-01-20}}</ref> No emulator supports it.
  
==Bada==
+
===Pokémon Snap Station===
 +
There was a special kiosk designed to promote ''Pokémon Snap'' called the ''Pokémon Snap Station'', which is also compatible with the North American ''Pokémon Stadium'' with its gallery mode. It is just a Nintendo 64 with special hardware designed for the station.<ref name="Sixty Formula">{{cite web|url=https://www.youtube.com/watch?v=AMbjvGvPkV4|title=The Pokemon Snap Station|publisher=YouTube|accessdate=2018-06-17|date=2016-05-21}}</ref><ref name="MetalJesusRocks">{{cite web|url=https://www.youtube.com/watch?v=5_UGpRN6AnM&t=3m35s|title=VIDEO GAME KIOSKS - Extreme Game Collecting!|publisher=YouTube|accessdate=2018-06-17|date=2016-05-25}}</ref> Although the special cartridge boots in emulators compatible with the regular version, the printing functions are inaccessible due to no emulation of the printer for the player 4 slot, credit system, or the special board to switch between the regular and special cartridges.
  
===Emulators===
+
===Transfer Pak emulation===
{{No current emulators|OS}}
+
A few games use the Transfer Pak such as ''Mario Golf'', ''Mario Tennis'', ''Mario Artist: Paint Studio'', and the ''Pokémon Stadium'' games. Mostly, this can be done with NRage's input plugin, but a couple of things aren't emulated:
  
==Windows Phone==
+
*Taking pictures with the Japanese ''Game Boy Camera'' (called ''Pocket Camera'') while in Transfer Pak mode playing ''Mario Artist: Paint Studio'' displays static.
  
===Emulators===
+
===64DD emulation===
{{No current emulators|OS}}
+
The 64DD (an abbreviation for "64 Disk Drive") was a peripheral which allowed a proprietary disk format to be used with the N64. These disks had more space at a cheaper manufacturing cost. The peripheral was a commercial failure and was never released outside of Japan. Internal evidence suggests that, much like the GBA e-Reader, it wasn't even intended for a European release.
  
==Windows 10 Mobile==
+
Expansion disks are region-coded to either Japan or the US (obviously unused) and won't work with N64 games from the wrong region.  Only F-Zero X has full support for this feature, but dummied-out expansion data in Ocarina of Time and Mario Party 2 (JP/PAL) exist as well.
  
===Emulators===
+
The special AV-In cartridge (NUS-028) that ''Mario Artist: Talent Studio'' can use doesn't work because it requires an RCA cable signal.
{{No current emulators|OS}}
 
  
==Windows Mobile==
+
Recently, there has been an effort to emulate the 64DD, and now [[Project64]] and [[MAME]] can run several commercial 64DD games as part of its N64 emulator. This is being ported to [[CEN64]] with the help of [https://twitter.com/LuigiBlood LuigiBlood]. The latest newcomer is Mupen64Plus which is the base of other emulators such as [[m64p]] and [[RMG]].
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;"
 
{| class="wikitable" style="text-align:center;"
 
|-
 
|-
 
! scope="col"|Name
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Platform(s)
! scope="col"|Version
+
! scope="col"|Latest Version
! scope="col"|[[Emulation Accuracy|Accuracy]]
+
! scope="col"|N64 Mouse
 +
! scope="col"|64DD Emulation
 +
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|-
!colspan="5"|PC / x86
+
! colspan="7"|PC / x86
 +
|-
 +
|ParaLLEl
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 +
|[https://www.retroarch.com/ 2.0-rc2]
 +
|{{✓}}
 +
|Mid/High
 +
|{{✓}}
 +
|{{✓}}
 
|-
 
|-
|Microsoft Device Emulator
+
|[[Project64]]
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[https://www.mediafire.com/file/u6g8z7sq2lb82re/MSDeviceEmu.zip/file 3.0]
+
|[https://github.com/project64/project64 {{Project64Ver}}]<br >[https://64dd.org/downloads.html 64DD.org Builds]
 +
|{{✓}}
 +
|Mid
 +
|{{✓}}
 +
|{{✓}}
 +
|-
 +
|[[CEN64]]
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://github.com/tj90241/cen64 git]
 +
|{{✓}}
 +
|Mid
 +
|{{✓}}
 +
|{{✗}}
 +
|-
 +
|[[m64p]]
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
||[https://github.com/loganmc10/m64p/releases git]
 +
|{{✓}}
 
|?
 
|?
 
|{{✓}}
 
|{{✓}}
 +
|{{✗}} (WIP)
 +
|-
 +
|[[MAME]]
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 +
|[http://www.mamedev.org/release.html {{MAMEVer}}]
 +
|{{✗}}
 +
|Mid
 +
|{{✓}}
 +
|{{✗}}
 
|}
 
|}
  
Images are required. They can be downloaded [https://archive.org/details/WM614Emulator here]
+
* Project64's latest versions emulate the N64 mouse and can load Zoinkity's hacked 64DD cartridge conversions at playable speeds. You'll need to set every game to have 8MB of Memory by default manually. Games do not save, some need "32-bit engine" to be unchecked (like Talent Studio), and some (like Polygon Studio to fix models and Paint Studio to fix stamps) need the Angrylion GFX plugin rather than GlideN64, which does the job for the rest.
 +
**The 64DD hardware started to be emulated around 2.3's release with the help of [https://github.com/LuigiBlood LuigiBlood]. Saving works but in the form of NDR files. NDR files are copied versions of NDD images with save data included as to not write to the clean unaltered images. In order to play 64DD games in their original forms, 8MB of memory is still needed because the real hardware needed the Expansion Pak upgrade. The IPL is also needed.
 +
 
 +
* MAME includes early basic 64DD emulation as well but is much slower. Disk images need to be in head/track format. See [https://github.com/Happy-yappH/ddconvert.git here] for more information. It does not currently support disk swapping or saving disk to files. Writes only update the copy in memory, and, once the MAME process ends, the changes are lost. Current usage: <code>mame n64dd -quickload disk -cart cart -nodrc</code> (both disk and cart are optional)
 +
 
 +
* CEN64, like Project64, had 64DD emulation ported to it from MAME. However, it focuses on accuracy and plays much slower than other emulators, aside from the 64DD emulation itself is imperfect.
 +
 
 +
===iQue Player emulation===
 +
Before the GBA, DS, and 3DS, Nintendo released a modified version of their Nintendo 64 system for the Chinese market, which was called the iQue Player, through their not-quite-subsidiary iQue. Fourteen games were translated into Simplified Chinese, including Sin and Punishment, Ocarina of Time (the Majora's Mask port was canceled), Super Mario 64, and others.
 +
 
 +
Unlike the Chinese releases of their more recent systems and their games, iQue Player releases are regular N64 roms wrapped with several layers of encryption, as well as a ticket and signature system like that on Wii, DSi, 3DS, Wii U, and Switch. The Chinese ROM-hacking scene is very active though and has translated the Japanese regular N64 releases for many of these to their language already, which explains some of the Chinese ROMs floating for those. However, recently, almost all pieces of iQue Player software were decrypted to regular .z64 ROM format.
 +
 
 +
Several of the Chinese game localizations already run on N64 emulators, but as some hardware features of the iQue Player are not yet supported, some games, as well as the system menu and features in games such as saving, do not work yet.
 +
 
 +
===Aleck 64 arcade emulation===
 +
Nintendo collaborated with SETA to release an arcade system based on their Nintendo 64 system (kind of like their PlayChoice-10 for the NES, Super System arcade hardware for SNES, and later Triforce for GCN). The Nintendo 64-variant with more RAM, the Aleck 64, failed to catch on and bombed. It was never released outside Japan, even though one N64 port made it.
 +
 
 +
The Aleck 64 ROMs were dumped, and Zoinkity is working on converting them to regular N64 ROMs (with controls remapped to N64 controller buttons). They generally require an 8MB Expansion Pak to run at all and 4K EEPROM to save settings and scores. The ones covered by these patches are:
  
==Acknowledgments==
+
* Donchan Puzzle Hanabi de Doon!
 +
* Eleven Beat: World Tournament
 +
* Hi Pai Paradise
 +
* Kuru Kuru Fever
 +
* Magical Tetris Challenge
 +
* Mayjinsen 3 / Meijin-Sen
 +
* Star Soldier: Vanishing Earth (also ported to N64)
 +
* Super Real Mahjong VS
 +
* Tower & Shaft
 +
* Vivid Dolls (official eroge game on a Nintendo console)
  
* [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.
+
The already available [http://assemblergames.com/l/threads/aleck64-on-retail-consoles-poc.55041/ patches] to convert arcade ROM dumps to regular N64 ROM format can be found [http://micro-64.com/database/aleck64.shtml here].
  
* [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.
+
The remaining ones from the system's library not yet covered are:
 +
* Hi Pai Paradise 2
 +
* Rev Limit
 +
* Variant Schwanzer
  
* [http://www2.sys-con.com/itsg/virtualcd/Java/archives/0609/blut/index.html Article] about DoCoMo Java programming.
+
==Virtual Console games in Dolphin==
 +
Some N64 games are emulated well on a Virtual Console game through Dolphin. The system requirements are much higher, but it's doable for many games. The following games are on the N64 Virtual Console for Wii:
  
==References==
+
{|width="100%"
{{Reflist}}
+
|- valign="top"
 +
|
 +
* 1080 Snowboarding
 +
* Bomberman Hero
 +
* Cruis'n USA
 +
* Custom Robo V2 (Japan only)
 +
* F-Zero X
 +
* Kirby 64: The Crystal Stars
 +
* The Legend of Zelda: Majora's Mask
 +
* The Legend of Zelda: Ocarina of Time
 +
|
 +
* Mario Golf
 +
* Mario Kart 64
 +
* Mario Party 2
 +
* Mario Tennis
 +
* Ogre Battle 64: Person of Lordly Caliber
 +
* Paper Mario
 +
* Pokemon Puzzle League
 +
|
 +
* Pokemon Snap
 +
* Sin & Punishment (English)
 +
* Star Fox 64
 +
* Super Mario 64
 +
* Super Smash Bros.
 +
* Wave Race 64
 +
* Yoshi's Story
 +
|}
  
- <b><u>Moscot Capsule 3D Engine</b></u>
+
==Notes==
 +
<references group=N />
  
* [https://web.archive.org/web/20120203183920/http://www.mascotcapsule.com/en/products/ Moscot Capsule]
+
==References==
 +
<references/>
  
* [https://www.hicorp.co.jp/en/products_v3/ hicorp.co.jp V3]
+
{{Nintendo}}
  
[[Category:Mobiles]]
+
[[Category:Consoles]]
[[Category:Cellphone emulators|*]]
+
[[Category:Home consoles]]
<!-- [[Category:Not yet emulated]]
+
[[Category:Fifth-generation video game consoles]]
[[Category:Very early emulation]] -->
+
[[Category:Nintendo consoles]]
 +
[[Category:Nintendo 64 emulators|*]]

Revision as of 00:13, 30 October 2021

Nintendo 64
Nintendo64Console.png
Developer Nintendo
Type Home video game console
Generation Fifth generation
Release date 1996
Discontinued 2002
Predecessor SNES
Successor GameCube
Emulated

The Nintendo 64 is a 64-bit fifth-generation console released by Nintendo on September 29, 1996 for $199.99.

Nintendo was the second company approached by Silicon Graphics Inc. (SGI), who wanted to roll out their previously enterprise-only technology in the consumer space. They originally pitched their idea to Sega, but it's assumed that Nintendo's offer was more appealing. With the NEC VR4300 CPU clocked at 93.75 MHz, 4MB of RAM,[N 1] and an SGI RCP GPU, Nintendo had finalized much of the hardware at least a year before launch, preventing video games from needing drastic rewrites as a result of architectural changes. The development workstations were often Unix-based, something that would later help reverse engineers in some projects.

Emulators

Name Platform(s) Latest Version Plugins Controller Pak Rumble Pak Transfer Pak 64DD Libretro Core FLOSS Active Recommended
PC / x86
m64p (ParaLLEl) Windows Linux git
m64p (Final GLideN64) Windows Linux macOS Final GLideN64
ParaLLEl Windows Linux macOS FreeBSD 2.0-rc2 ✓*
RMG Windows Linux git
Project64 Windows 3.0.1
Dev
ares Windows Linux macOS v137 ~ ~ ~
CEN64 Windows Linux macOS git ~
Mupen64Plus Windows Linux macOS FreeBSD git ~
Project64 Netplay Windows 10/15/21 ?
BizHawk Windows 2.9.1
1964 Windows 1.1 (Official)
1.2 r146 (Unofficial SVN)
DaedalusX64 Linux git ?
Sixtyforce macOS 2.0.2 ?
Larper64 Windows Linux macOS 0.4 ?
UltraHLE Windows 1.0 ?
MAME Windows Linux macOS FreeBSD 0.264
Ryu64 Windows Linux macOS git ?
R64Emu Windows Linux macOS git ?
Mobile / ARM
Mupen64Plus FZ Android 3.0.291 (beta) ?
Mupen64Plus-pandora/Pyra Pandora Dragonbox Pyra Pandora Build
Pyra Build
? ? ?
Consoles
Virtual Console Wii Wii U N/A
Not64 GameCube Wii git ?
DaedalusX64 PSP Nintendo 3DS
Vita PlayStation 2
PSP
3DS
VitaGL
PS2
? ~
Surreal64 CE Xbox Beta 6.0 ? ~
mupen64-360 Xbox 360 0.96 beta ? ~
Wii64 GameCube Wii 1.1 beta ?

* Available exclusively as a libretro core

Comparisons

Although many Nintendo 64 emulators have been made and many games can be run between them, complete compatibility and/or accuracy still leaves a bit to be desired. For half a decade, Mupen64Plus and Project64 have vied for the most playable emulator, and which has been more compatible has depended on when and in what configuration each emulator has been tested. Both emulators default to lackluster plugins, but, as of August 2017, both emulators have roughly equal graphical accuracy when running with GLideN64.

Mupen64Plus
A multi-platform emulator based on Hacktarux's Mupen64. It's about as accurate as Project64,[1] when both emulators are run with GLideN64. However, Mupen64Plus lacks a native GUI, instead being launched either from the command line or by dragging and dropping ROMs onto the executable and editing the config with a text editor. BizHawk and OpenEmu use forks of Mupen64Plus and its plugins for their N64 emulation, but they seem to be shallow.
ParaLLEl
A heavily-modified fork developed as a libretro core. It introduces many features and optimizations not present in mainline alongside RetroArch's general features, including Project64-style overclocking for faster frame rates, 3-point texture filtering, superior A/V sync and latency, and even an exclusive LLE Vulkan renderer based on Angrylion's pixel-perfect RDP plugin, making it a better alternative to the standalone version in some cases, especially if accuracy is the goal. ParaLLEl has a special "Super VI Mode" option which, if used, can make the visuals of N64 games look less blurry with fairly mitigated jaggies even at their native resolutions. Although, it may need a powerful GPU. It also offers native high-resolution rendering, only available in integer scales of the original N64 resolution.
m64p
Probably the easiest "out of the box" solution for Nintendo 64 emulation. It comes with Parallel RDP, as well as its own custom GUI and input plugin.
RMG
Rosalie's Mupen GUI is a project aiming to close the gap between Project64 and Mupen64Plus in terms of user experience.
Wii64 and Not64
Both are based on Mupen64, with Not64 being a fork of Wii64. Not64 claims to be better optimized as well as having higher compatibility and more frequent updates. N64 emulation on Wii is not very good, and it is recommended to stick with the Virtual Console releases whenever possible.
Project64
An open-source emulator for Windows. Its official release builds are more up-to-date than Mupen64Plus', and the current version, 3.0.1, is roughly as accurate as the development versions of Mupen64Plus when both are played with recommended plugins. It has a more user-friendly interface than the Mupen64Plus attempts and supports more features such as overclocking and Transfer Pak emulation. It does come with GLideN64 out-of-the-box, but the default audio plugin isn't even the best in the box. For the most part, it works well in Wine, but, if you're on a different platform, use Mupen64Plus instead.
CEN64
Aims for cycle accuracy while, at the same time, aiming to eventually be usable on modern PC hardware. It currently lacks many features and has spotty compatibility, but it's gradually improving. It can already emulate some well-known edge cases such as the picture recognition in Pokemon Snap.
1964
Along with its various versions and forks, it was once a decent, speedy open-source alternative to Project64 and Mupen64, though it usually lagged behind the two compatibility-wise. Nowadays it has completely fallen off the radar as development has halted, and there is no longer a central code repo to speak of. There is little reason to use it nowadays outside of historical purposes, very specific edge cases, or if your device is too slow to run Mupen64Plus or Project64. However, a fork named 1964 GEPD is regularly updated and remains the go-to choice for emulation of 007 Goldeneye and Perfect Dark. This is for a number of reasons, the most notable are a 60 FPS hack and a mouse injector plugin, which happens to include an FOV slider.
Daedalus
is a Nintendo 64 emulator for PC which was ported to the PSP under the name of DaedalusX64. The PSP version later became the main version and got ported to platforms such as the Dreamcast, the PS2, the PS Vita, and the 3DS. On PSP, several games are able to reach full speed and most of them work with few emulation issues.
Sixtyforce
is macOS-only, closed-source, and asks you to pay for full access to its features. It was once one of the only choices for Mac users, particularly those with older Macs since it's the only emulator with a PPC dynarec), but, with the switch to x86 and Mupen64Plus being ported to macOS, it has now become less relevant. However, development is still ongoing and is currently in its third rewrite to support the upcoming Apple Silicon.
UltraHLE
marked a milestone in Nintendo 64 emulation, in that it was the first to play some popular N64 titles at full speed on hardware made at the time of its release through high-level emulation; it isn't without its drawbacks though - pressure from users, combined with legal threats from Nintendo, forced them to discontinue development. Besides being for historical value, there's not much to expect from this emulator anyway due to compatibility issues.
Ryu64
is a Nintendo 64 emulator made in C#. The 'Ryu' word is named after the "RyuJIT" used in both Visual Basic & C#. But it might have been inspired by the lead author's sole (so far) commit at Switch emulator, Ryujinx's Git repository, and his depreciated Ryujinx Auto Updater tool. "86RYU", an x86 JIT compiler, is being developed alongside this emulator too.

Emulation issues

Main article: Recommended N64 plugins

The Nintendo 64 emulation scene can be described as a hot mess. It got to that point because of the overall emulation scene's climate in the early days, which was to stub off certain components of the emulated hardware as plugins. (Other consoles weren't immune to this phenomenon; it also happened to the first PlayStation.) Developers underestimated the complexity of the system, and with little demand for improvements beyond getting the popular titles working from beginning to end, most emulator developers stuck with the codebases they knew for as long as possible and never integrated any of the plugins that were needed to make up a full project, or merge their codebases into one project. And because almost no documentation is available for clean-room reverse engineers, figuring out how the hardware actually functioned had to be done manually, which took longer. The unfortunate result of this is that many games require specific plugin arrangements and specific emulators in order to run well, and there is no viable alternative that isn't just an iteration on the existing plugin-based emulators.

High-level vs. low-level graphics

One of the biggest hurdles to emulating the Nintendo 64 is the Reality Display Processor (RDP), one of two components in the Reality Coprocessor made by SGI. The Reality Display Processor was the most powerful consumer-grade GPU at the time of the console's release; this was a selling point that Nintendo wanted to emphasize as a result of working with SGI. However, reverse engineering efforts for popular Nintendo 64 games showed that Nintendo's software development kit included a common microcode for the RDP. It's possible Nintendo didn't want to give developers access at a lower level out of fears that doing so would damage consumer units, but that meant most of the effort spent emulating the RDP would go towards figuring out how to handle the microcode.

  • Most developers in 1999 and the early 2000s opted to approximate functions through various APIs such as Direct3D, OpenGL, and even Glide. While this resulted in much more reasonable system requirements for emulation, along with prettier, higher resolution graphics, this method proved to be hit and miss, often requiring per-game tweaks and settings to prevent graphical glitches on many games. Some games flat out didn't work, because it wasn't clear what the microcode did or why, and required extensive hardware testing.
  • On the low-level side, developers would either completely emulate the RDP or autodetect the microcode and use an appropriate implementation for the game. The former would mean a software renderer accurate to the hardware but major performance bottlenecks unless optimizations like vectorization and multi-threading were implemented. The latter would mean faster performance but developers would still have to figure out how to account for edge cases.

gonetz and one or two assistants have spent a large portion of development improving GlideN64's handling of microcode throughout 2016-2018.[2][3] This means that Factor 5's games are now working in the high-level graphics mode.[4][5] Other games may still have issues with RDP quirks like frame buffer/depth buffer access (issues with how the frame buffer is used as well as performance issues), VI emulation, and how combine/blending modes are emulated (such as noise issues and combiner accuracy).

It should be noted that most games technically work through the HLE method, but it's not an accurate representation of what the video output actually looked like, but rather a rough approximation by your graphics card. Whether this is an improvement or not is subjective.

Texture filtering

The Nintendo 64 was the first consumer device to be able to filter textures when rendering 3D objects. However, unlike every console and PC graphics card made after the N64, its implementation of bilinear was primitive in that, in order to reduce strain on the system, it only used three samples as opposed to four, resulting in slightly jagged textures. Instead of faithfully applying this "imperfect" version of bilinear filtering, HLE plugins instead apply conventional filtering, interpolating straight from the source texture up to the output resolution the same way a PC game would. While that method is technically superior, it can result in textures that look even blurrier than on real hardware.

Another issue lies with the appliance of texture filtering per quad on static images, text, and sprites. Because each quad is filtered separately, this can cause some visual inconsistencies. Text and UI elements often look as though their edges cut off abruptly, and static images, such as pre-rendered backgrounds or menu screens, may look as though they are separated into squares. Some plugins allow the user to turn off texture filtering to remedy this, but, unfortunately, this also applies to textures in the game world, exposing their oftentimes low resolutions.

RetroArch's Mupen64Plus core has taken some steps which help remedy these problems. It is the only emulator that implements N64-style three-point texture filtering, which results in a more faithful look. It is also capable of rendering at 320x240, which sidesteps the issues with filtered text, UI elements, and menu screens, while still retaining texture filtering. Pixel-accurate plugins do not have these problems at all.

Voice Recognition Unit emulation

The Voice Recognition Unit (VRU) is an accessory used primarily by Hey You, Pikachu. No emulator or input plugin supports this, although there is an on-going effort to get it working.[6]

Densha De Go! Controller

Also available for the PlayStation, Densha De Go! 64 is a Japan-only train simulator released by Taito that is compatible with an optional special controller that plugs into the player 3 port.[7] No emulator supports it.

Pokémon Snap Station

There was a special kiosk designed to promote Pokémon Snap called the Pokémon Snap Station, which is also compatible with the North American Pokémon Stadium with its gallery mode. It is just a Nintendo 64 with special hardware designed for the station.[8][9] Although the special cartridge boots in emulators compatible with the regular version, the printing functions are inaccessible due to no emulation of the printer for the player 4 slot, credit system, or the special board to switch between the regular and special cartridges.

Transfer Pak emulation

A few games use the Transfer Pak such as Mario Golf, Mario Tennis, Mario Artist: Paint Studio, and the Pokémon Stadium games. Mostly, this can be done with NRage's input plugin, but a couple of things aren't emulated:

  • Taking pictures with the Japanese Game Boy Camera (called Pocket Camera) while in Transfer Pak mode playing Mario Artist: Paint Studio displays static.

64DD emulation

The 64DD (an abbreviation for "64 Disk Drive") was a peripheral which allowed a proprietary disk format to be used with the N64. These disks had more space at a cheaper manufacturing cost. The peripheral was a commercial failure and was never released outside of Japan. Internal evidence suggests that, much like the GBA e-Reader, it wasn't even intended for a European release.

Expansion disks are region-coded to either Japan or the US (obviously unused) and won't work with N64 games from the wrong region. Only F-Zero X has full support for this feature, but dummied-out expansion data in Ocarina of Time and Mario Party 2 (JP/PAL) exist as well.

The special AV-In cartridge (NUS-028) that Mario Artist: Talent Studio can use doesn't work because it requires an RCA cable signal.

Recently, there has been an effort to emulate the 64DD, and now Project64 and MAME can run several commercial 64DD games as part of its N64 emulator. This is being ported to CEN64 with the help of LuigiBlood. The latest newcomer is Mupen64Plus which is the base of other emulators such as m64p and RMG.

Name Platform(s) Latest Version N64 Mouse 64DD Emulation Active Recommended
PC / x86
ParaLLEl Windows Linux macOS FreeBSD 2.0-rc2 Mid/High
Project64 Windows 3.0.1
64DD.org Builds
Mid
CEN64 Windows Linux macOS git Mid
m64p Windows Linux macOS git ? ✗ (WIP)
MAME Windows Linux macOS FreeBSD 0.264 Mid
  • Project64's latest versions emulate the N64 mouse and can load Zoinkity's hacked 64DD cartridge conversions at playable speeds. You'll need to set every game to have 8MB of Memory by default manually. Games do not save, some need "32-bit engine" to be unchecked (like Talent Studio), and some (like Polygon Studio to fix models and Paint Studio to fix stamps) need the Angrylion GFX plugin rather than GlideN64, which does the job for the rest.
    • The 64DD hardware started to be emulated around 2.3's release with the help of LuigiBlood. Saving works but in the form of NDR files. NDR files are copied versions of NDD images with save data included as to not write to the clean unaltered images. In order to play 64DD games in their original forms, 8MB of memory is still needed because the real hardware needed the Expansion Pak upgrade. The IPL is also needed.
  • MAME includes early basic 64DD emulation as well but is much slower. Disk images need to be in head/track format. See here for more information. It does not currently support disk swapping or saving disk to files. Writes only update the copy in memory, and, once the MAME process ends, the changes are lost. Current usage: mame n64dd -quickload disk -cart cart -nodrc (both disk and cart are optional)
  • CEN64, like Project64, had 64DD emulation ported to it from MAME. However, it focuses on accuracy and plays much slower than other emulators, aside from the 64DD emulation itself is imperfect.

iQue Player emulation

Before the GBA, DS, and 3DS, Nintendo released a modified version of their Nintendo 64 system for the Chinese market, which was called the iQue Player, through their not-quite-subsidiary iQue. Fourteen games were translated into Simplified Chinese, including Sin and Punishment, Ocarina of Time (the Majora's Mask port was canceled), Super Mario 64, and others.

Unlike the Chinese releases of their more recent systems and their games, iQue Player releases are regular N64 roms wrapped with several layers of encryption, as well as a ticket and signature system like that on Wii, DSi, 3DS, Wii U, and Switch. The Chinese ROM-hacking scene is very active though and has translated the Japanese regular N64 releases for many of these to their language already, which explains some of the Chinese ROMs floating for those. However, recently, almost all pieces of iQue Player software were decrypted to regular .z64 ROM format.

Several of the Chinese game localizations already run on N64 emulators, but as some hardware features of the iQue Player are not yet supported, some games, as well as the system menu and features in games such as saving, do not work yet.

Aleck 64 arcade emulation

Nintendo collaborated with SETA to release an arcade system based on their Nintendo 64 system (kind of like their PlayChoice-10 for the NES, Super System arcade hardware for SNES, and later Triforce for GCN). The Nintendo 64-variant with more RAM, the Aleck 64, failed to catch on and bombed. It was never released outside Japan, even though one N64 port made it.

The Aleck 64 ROMs were dumped, and Zoinkity is working on converting them to regular N64 ROMs (with controls remapped to N64 controller buttons). They generally require an 8MB Expansion Pak to run at all and 4K EEPROM to save settings and scores. The ones covered by these patches are:

  • Donchan Puzzle Hanabi de Doon!
  • Eleven Beat: World Tournament
  • Hi Pai Paradise
  • Kuru Kuru Fever
  • Magical Tetris Challenge
  • Mayjinsen 3 / Meijin-Sen
  • Star Soldier: Vanishing Earth (also ported to N64)
  • Super Real Mahjong VS
  • Tower & Shaft
  • Vivid Dolls (official eroge game on a Nintendo console)

The already available patches to convert arcade ROM dumps to regular N64 ROM format can be found here.

The remaining ones from the system's library not yet covered are:

  • Hi Pai Paradise 2
  • Rev Limit
  • Variant Schwanzer

Virtual Console games in Dolphin

Some N64 games are emulated well on a Virtual Console game through Dolphin. The system requirements are much higher, but it's doable for many games. The following games are on the N64 Virtual Console for Wii:

  • 1080 Snowboarding
  • Bomberman Hero
  • Cruis'n USA
  • Custom Robo V2 (Japan only)
  • F-Zero X
  • Kirby 64: The Crystal Stars
  • The Legend of Zelda: Majora's Mask
  • The Legend of Zelda: Ocarina of Time
  • Mario Golf
  • Mario Kart 64
  • Mario Party 2
  • Mario Tennis
  • Ogre Battle 64: Person of Lordly Caliber
  • Paper Mario
  • Pokemon Puzzle League
  • Pokemon Snap
  • Sin & Punishment (English)
  • Star Fox 64
  • Super Mario 64
  • Super Smash Bros.
  • Wave Race 64
  • Yoshi's Story

Notes

  1. Though a separate add-on was later released called the "Expansion Pak" that added an additional 4MB of RAM, totaling 8MB.

References

  1. loganmc10. Ignore TLB write if TLB entry is unmapping itself. "By the way, once this, along with the other PR's I have waiting are merged, we are at "compatibility parity" with Project64 as far as I can tell. I don't know of any game that doesn't boot with mupen64plus that works in PJ64."
  2. Public Release 3.0. Blogspot (2017-12-29)
  3. Initial implementation of BOSS ZSort ucode (WDC, Stunt Racer). GitHub (2018-02-10)
  4. "Indiana J. & Infernal Machine" HLE. Indiegogo (2018-05-17)
  5. HLE implementation of microcodes for "Indiana Jones" and "Battle for Naboo" completed.. Blogspot (2018-05-26)
  6. Hey You! Pikachu - Possible HLE Implementation. emutalk (2014-10-27, Last edit: 2016-04-04)
  7. Densha De Go! Nintendo 64 Controller!. YouTube (2017-01-20)
  8. The Pokemon Snap Station. YouTube (2016-05-21)
  9. VIDEO GAME KIOSKS - Extreme Game Collecting!. YouTube (2016-05-25)