Cellphone emulators

From Emulation General Wiki
Jump to navigation Jump to search

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.

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 Galapagos mobile phones (like NTT DoCoMo i-mode, DeNa, RoID...). Some of these games got ported to the inferior Western hardware but these are in the tiny minority.

Platform(s) File extension
J2ME .jar (.jad descriptor)
Symbian .sis, .sisx
N-Gage .blz (BLZ Installer required)
N-Gage 2.0 .n-gage
ExEn .exn
Mophun .mpn
Flash Lite .swf
BlackBerry OS .bar, .cod (.alx descriptor)
WebOS .ipk
MRE (privious VRE) .axf, .vxp (later)
UMI .jra
MORE .moz, .mz
PalmOS .prc, .pdb
MiniJ .mrp
Windows Mobile

(older than 7)

.cab, .zip
Windows Mobile

(newer)

.xap
Windows Phone .xap, .appx (later), .appxbundle
Android .apk (.apks, .apkm, .xapk), .obb, .aab
iOS .ipa, .app, .pxl (legacy), .deb (jailbroken apps)
MotoEZX .pkg (.mpkg)
MotoMAGX .mgx, .mpkg, .pep
BREW

(and later EZweb)

.mod (.mif descriptor)
i-mode (Doja) .jar (.jam descriptor)
EZplus .kjx
WIPI .jar
Maemo .deb
MeeGo .deb
Danger Hiptop .bndl
WGE .wga (.wgc descriptor)
Tizen .tpk

.JAR files of Java-based non-Japanese cell phones can be still found online with some effort, namely on WAP sites offering (pirated) mobile content.

Oracle[edit]

Java 2 Micro Edition (J2ME)[edit]

J2ME / Java ME
J2ME.png
Developer SunOracle
Type Cellphone / Mobile
Generation 6th generation - 8th generation
Release date 2000
Discontinued 2020 (Gameloft)
Emulated
This page is about emulating J2ME on other systems. For the inverse, see Emulators on J2ME.

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.

Mascot Capsule 3D is a proprietary 3D graphics engine developed by Hi Corporation. It was mostly used in Japanese cellphone devices, but it also made it overseas featured in many Sony Ericsson devices. Many developers made use of this tech to bring higher quality 3D graphics on the Sony Ericsson version of their J2ME games.

Currently, the Android-exclusive J2ME Loader is able to run most of the 2D and 3D (with Mascot Capsule 3D exclusive) J2ME games. On desktops 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.

If you don't want to mess with these J2ME emulators, just use Kahvibreak - preservation project focusing on games for J2ME (including Mophun and Nokia 3310 software and emulators).
Name Platform(s) Version Mascot Capsule 3D Accuracy VM Derived from FLOSS Active Recommended
PC / x86 (Emulators)
KEmulator Windows 1.0.3
2.15 (nnmod)
(nnmod)[1] Mid Host JVM (nnmod)
MahoLator Windows Linux 2024.216.3 Mid ? ~
FreeJ2ME Java Linux ARM git ~ Mid Host JVM
SJ Boy Windows Beta 4
Special Edition
Mid-Low ? ~
EKA2L1 Windows Automatic CI builds Mid
(Only MIDP 1.0 - S60v1)
SquirrelJME Java 0.2.0
libretro core
Aims for 100% Custom (Java) ~ (WIP)
Jademula Windows 0.23git Mid Host JVM ?
ME4SE Java 2.2.0 Mid Host JVM ?
Pstros Java 1.5.2
1.6.1
Mid Host JVM ? ?
Micro Emulator Java Windows Linux git2.0.4 Mid Host JVM
Minisoyo Windows 0.0.2 Low ? ?
MidpX (NHAL Win32 Emulator) Windows 1.0.1
midp2exe
Low ? ?
MPowerPlayer
MPowerPlayer SDK
Windows Linux macOS 2.0
Build 1185
Low ? ?
Midp-Emulator Windows 1.31git Low ? ?
GameMagic S60 Windows 1.2.1 Low ? ?
N-GAGE COOL! Windows Linux 1.2.1 (Trial) ($) Low ? ?
midp-emulator Java git Low Host JVM ?
PC / x86 (SDKs)
Nokia SDKs Windows Part 1
Part 2
Part 3
Mid ? ? ~
Sony Ericsson SDKs Windows 2.5.0.6
Mirror
Mid ? ? ~
Siemens SDKs Windows Site 1
Site 2
Mid ? ? ~
Motorola SDKs Windows 4.1
5.2.1
Mid ? ? ~
Motorola iDEN SDK Windows Mirror Mid ? ? ~
LG SDK Windows 1.5 Mirror Mid ? ? ~
Samsung Java SDK Windows 1.2.2 Mirror Mid ? ? ~
Zucotto Wireless Whiteboard SDK Windows 2.0 Low ? ?
Mobile / ARM
J2ME Loader Android 1.7.9

git
dev

High Host JVM
(Dalvik dynarec)
JL-Mod (JL fork) Android 0.86-ALPHA

Development build

High Host JVM
(Dalvik dynarec)
J2ME-Loader
Zhixiaoyou (JL fork) Android 1.2 Mid Host JVM
(Dalvik dynarec)
J2ME-Loader
J2ME Runner Android 2.0.3.7
Netmite.com
midp2apk
Low ? ?
Jbed Android Windows Mobile 2.3.1 (Android)
2010 (WinMobile)
Low ? ?
Jblend Android Windows Mobile 0.1 (Android)
Full-screen (WinMobile)
Low ? ?
Project Kava KaiOS git Low ? J2meJS
J2meJS KaiOS FirefoxOS git Low ? ?
phoneME - SVN Dump Vendor Specific Reference
Implementation
KVM (Reference
Implementation)
Reference
Implementation
phoneME (unofficial) Android Maemo
MeeGo
Windows Mobile Windows CE
git
b168 rev20547
Low PhoneME PhoneME Advanced
(unofficial)
KarinME (Based on MicroEmu) Maemo 3.0.1 Mid ? ? ~
midpath4dingoo Dingoo 3.0 ? ? ?
midp4palm PalmOS 1.0 ? ? ?
Coretek Delta java manager Windows Mobile 2006d ? ? ?
Esmertec Java (jeodek) Windows Mobile 20070425 build ? ? ?
TAO Intent Java MIDlet manager Windows Mobile 1.1 build ? ? ?
IBM J9 Windows Mobile 6.1.0 ? ? ?
Mitac JVM Windows Mobile Build ? ? ?
CrEme JVM Windows Mobile 4.12 ? ? ?
Micro Emulator (Converter) Android Maemo Android
Maemo
Low Host JVM
phoneME-feature devices (unofficial) Symbian Windows CE git Low phoneME CLDC phoneME Feature
Consoles
PSPKVM PSP 0.5.5 Final Edition
git
Mid phoneME CLDC phoneME Feature
Bittboy-J2ME Bitt-Boy
Pocket-Go (Miyoo)
git Mid phoneME CLDC phoneME Advanced ~
Midpath RetroFW git Mid ? ? ~
phoneME (unofficial) GP2X GP2X Wiz
Caanoo
git Mid phoneME CLDC phoneME Feature ~ ~
Pstros-nds Nintendo DS 0.7.2 r6git Low ? ?
Browser
JS2ME FirefoxOS git ? ? ? ?
Pluotsorbet FirefoxOS git ? ? ? ?
To play J2ME games on Emulator through Emulator.
Name Platform(s) Version Through Mascot Capsule 3D Accuracy VM Derived? FLOSS Active Recommended
J2ME Loader Switch Windows Linux 1.7.9

git
dev

Windows/Linux :
Android emulators

Nintendo Switch :
Switchroot

High Host JVM
(Dalvik dynarec)
JL-Mod (JL fork) Switch Windows Linux 0.86-ALPHA

Development build

Windows/Linux :
Android emulators

Nintendo Switch :
Switchroot

High Host JVM
(Dalvik dynarec)
J2ME-Loader
PSPKVM Android iOS Windows macOS Linux
Linux ARM Vita Switch
Symbian BlackBerry
MeeGo Pandora Dragonbox Pyra [N 1]
0.5.5 Final Edition
git
Vita : Adrenaline

Others : PPSSPP

Mid phoneME CLDC phoneME Feature
SquirrelJME Windows Linux macOS
Android iOS Vita
PlayStation 2 GameCube Switch
Nintendo 3DS Wii Wii U [N 2]
0.2.0 RetroArch Aims for 100% Custom (Java) ? (WIP)
SJ Boy macOS Linux Beta 4
Special Edition
Wine Mid-Low ? ? ? ~
  1. Run J2ME apps on BlackBerry 10 - J2ME loader (and possibly PlayBook through PPSSPP)
  2. Only available as a libretro core (e.g. RetroArch).
FreeJ2ME — Open-source
Has fewer features than KEmulator, but better compatibility. It's recommended for games that don't work with KEmulator. It has an optional libretro core and development is active. Games that freeze on KEmulator, such as Wolfenstein RPG and Doom 2 RPG, run on FreeJ2ME with no issues, although compatibility and accuracy are not as good as J2ME Loader. Some games run too fast and require tinkering with the frame rate options. No 3D support.
KEmulator — Closed-source
Has more features than others, as well as 3D emulation (Compared with SJ Boy and midp2exe, KEmulator has better performance). It's feature-packed with debugging features, like HTTP proxying. Requires Java Runtime Environment installed. It is a recommended emulator if you're on a Windows, although some games (such as Wolfenstein RPG and Doom 2 RPG) freeze indefinitely on the loading screen. Last update was in 2012, brought by Gameloft.
J2ME Loader & JL-Mod (Compatibility) — Open-source
This is currently the highest compatibility J2ME emulator available. Converts .JAR files offline using its own resources. Easily launches both 2D & 3D apps. Samsung & Nokia API implemented. Supports different keyboard layouts and customization. It is highly accurate, with the right frame rate for each game, as well as vibration. Has slightly improved performance through hardware acceleration, but games won't run too fast. Runs almost every Nokia game, even ones that don't work with KEmulator or FreeJ2ME, but as well as Sony Ericsson's 3D engine (Mascot Capsule 3D).
Nokia SDKs
A set of different device emulators released by Nokia along with their J2ME SDKs. Keyboard bindings are not friendly for playing games. Some of them are buggy. The Nokia 3410 SDK emulator is capable of running some ancient black & white J2ME games no other emulator can.
Sony Ericsson SDKs
Device emulators released by Sony Ericsson along their J2ME SDKs. Some of them have support for Mascot Capsule 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.
Samsung Java SDK
J2ME development kit released by Samsung. Can run some older games that depend on Samsung-specific APIs, mostly Samsung AudioClip.
LG SDK
J2ME development kit released by LG for their devices.
Zucotto Wireless Whiteboard SDK
J2ME development kit released by Zucotto Wireless, provider of hardware-based Java bytecode execution solutions.
Pstros
Haves support for some obscure vendor-specific APIs that other emulators don't support.
SJ Boy
More compatible than MidpX. Can take snapshots. More resolutions (but still buggy). Appears to run correctly some older games FreeJ2ME and KEmulator don't and available for Windows only (play SJ Boy on Linux and Mac through Wine ). Also available Special Edition, it has chinese bootleg games support.
Minisoyo
Experimental emulator from the SJ Boy 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 (MPowerPlayer SDK)
Emulator from a company that used to develop solutions to allow users to try J2ME game demos on their computer before purchasing them. Doesn't have any known advantageous features. Requires : JRE.
N-GAGE COOL! — Paid ($)
Early attempt at a commercial J2ME and N-Gage emulator. Haves no real benefits over other offerings.
Micro Emulator — Open-source
It's a pure Java implementation of Java ME.
SquirrelJME — Open-source
Project developing a full JVM implementation + Java ME 8 APIs. Full compatibility with old J2ME software and high portability are among its main goals. Under heavy development.
J2ME Runner
Old tool, launches J2ME Applications on Android using native library. Apps have to be converted first, using Netmite.com. Overall 2D stability is acceptable, but 3D support almost does not work. Different types of keyboard & screen stics are included. Unfortunately, often experiences troubles with .JAR conversion Here and Catalog of games for Java J2ME Runner
Netmite.com
This is a Android J2ME 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. J2ME apps converted found here
PSPKVM
Might be the first one that's open-source. Last update was in 2011. PSPKVM is a J2ME emulator for PlayStation Portable, port of Sun's open-source JavaME implementation phoneME Feature.
phoneME
This is the reference implementation of J2ME made initially by Sun Microsystems, now owned by Oracle Corporation.
phoneME (unofficial ports)
phoneME for Windows CE/Mobile and Android is an implementation of the phoneME open source J2ME application platform for your Windows Mobile phone or Android mobile 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.

Nokia[edit]

Symbian and N-Gage[edit]

Nokia-Gage
N-Gage logo.png
N-Gage 2.0.png
Developer Nokia
Type Cellphone & Mobile
Generation 6th generation
Release date 7 October 2003
Discontinued 24 February 2006
Successor N-Gage 2.0
Emulated
This page is about emulating Symbian/N-Gage on other systems. For the inverse, see Emulators on Symbian.

N-Gage is a mobile phone and a handheld game device developed and designed by Nokia Corporation, announced on 4 November 2002 and released on 7 October 2003.
N-Gage QD introduced in 2004 as a redesign of the original "N-Gage Classic", fixing widely criticized issues and design problems. 'N-Gage' was discontinued in February 2006, with Nokia moving its gaming capabilities onto selected Series 60 smartphones.
N-Gage 2.0 was announced in 2007.

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 $299 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. Furthermore, as a derivative of business-oriented devices, it didn't even have any dedicated video or sound hardware, so not unlike many of the PC MS-DOS games, the main CPU had to take care of it, severely limiting its full potential.

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.

Emulators[edit]

Name Platform(s) Version N-Gage N-Gage 2.0 Accuracy FLOSS Active Recommended
PC / x86
EKA2L1 Windows Linux macOS Automatic CI builds ~[N 1] Mid
Engemu Windows git ? ?
NGEmu Windows git ? ? (see below)
N-GAGE COOL! Windows 1.2.1 ($) ? Low
Mobile / ARM
EKA2L1 Android Automatic CI builds
0.1.0
~[N 1] Mid
  1. 1.0 1.1 Required: N-Gage 2.0 Installer
EKA2L1
An open-source high-level Symbian and N-Gage emulator, supported OS S60v1, S60v2, S60v3, S60v5, S^3 and S80.
Engemu
A Nokia N-Gage focused emulator with low-level emulation.
NGEmu
The first known Nokia N-Gage emulator (with high-level emulation), although it is currently on hiatus due to a lack of information required to further development. Linux support is planned for the future.
N-GAGE COOL! — Paid ($)
Early attempt at a commercial N-Gage emulator. Haves no real benefits over other offerings

Monochrome mobile phones[edit]

Earlier black & white cellphone games (both in Japan and worldwide) didn't get as much love either when it comes to emulation and preservation of game binaries. There were, however, recreations of Snake and Space Impact for Nokia phones on their website at one time, along with remakes of the aforementioned games for Android and iOS. There are several Nokia phone models with MAME support, though they are preliminary at best with most models displaying a "CONTACT SERVICE" error if not a white screen.

There however exists an SDK for the Nokia 3410, an enhanced variant of the infamous 3310 with a higher-resolution screen and support for MIDP applications. A fixed rip of the simulator can be downloaded on the Internet Archive, though it may have some issues especially on later Windows versions.

Name Platform(s) Version Accuracy FLOSS Recommended
Nokia 3410 SDK Windows 1.0 Mid ~

Maemo[edit]

Name Platform(s) Version FLOSS Active Recommended
The Maemulator Linux Web 23.2.25 ? ~
The Maemulator
A compatibility layer for running Bounce Evolution on modern Linux-based systems using qemu user-space emulation. This is not an official port.
QEMU
See http://www.rkeene.org/projects/info/wiki/106 for how to do it

MeeGo[edit]

Jolla[edit]

Sailfish OS[edit]

In-Fusio[edit]

Execution Engine (ExEn)[edit]

ExEn was a freeware solution developed by French company In-Fusio around 2000 and later the company re-developed the ExEn V2 engine in 2002, which further improved the speed and expressiveness of mobile. It was first Java-based game engine entirely dedicated to mobile devices itself as an alternative to the limitations of J2ME's game development (offering missing feautures like sprite zooming, parallax scrolling, rotations).

The API is based on Java and is very similar to J2ME, but is optimized for game development and deployment instead. Even the programming style is almost the same. Its significance is very similar to the Mophun platform. The ExEn API has various gaming specific classes that are absent from J2ME. ExEn was the first mass market downloadable game engine to be made available in Europe. It achieved relative success and widespread hardware support in Europe, and was also used in China. It's not as widely distributed though, and according to In-Fusio's website, it isn't available on Nokia, Sony Ericsson, Samsung or Motorola handsets.

Name Platform(s) Version Accuracy FLOSS Recommended
EXEN-V2 Generic Simulator Windows 0.1 Low
EXEN-V2 Generic Simulator
A very old emulator for ExEn software, taken from SDK. While many games will go in-game, they'll crash at various points and fps drop.

BlackBerry[edit]

BlackBerry OS[edit]

BlackBerry 9900 Simulator

A QNX based operating system used in BlackBerry devices.

Name Platform(s) Version FLOSS Recommended
BlackBerry Simulator Series Windows BlackBerry 10
Blackberry 7
Blackbery 6
Various (Official)
Various (B8kifB73erD's archive)
Lunar (The BlackBerry Preservation Project)
CrackBerry Forum
?

Palm[edit]

Palm OS[edit]

PalmOS is a mobile operating system developed by Palm, Inc., for personal digital assistants (PDAs) in 1996.

Name Platform(s) Version Accuracy FLOSS Active Recommended
PC / x86
Mu Linux 1.0.0git Mid NC
StyleTap Windows macOS Linux 0.8.034 ($) ? ~
POSE Windows Varies ? ? ~
Palm Simulator Windows Varies ? ? ~
cloudpilot Web 1.10.1 Mid ~
Mobile / ARM
StyleTap Android Windows Mobile iOS Symbian 0.8.034 ($)
0.8.034 (Cracked) (Android only)
? (Android only) ~
PHEM Android 1.44 ? ~
PalmOS Emulator Pandora 1.0.2.0 ? ~
Garnet VM Maemo Maemo ? ~
QCopilot Sharp Zaurus 0.5 ? ~


LG[edit]

webOS[edit]

Palm launched webOS, then called Palm webOS, in January 2009 as the successor to Palm OS. The first webOS device was the original Palm Pre, released by Sprint in June 2009. In April 2010, HP acquired Palm, then in 2013 LG acquired them to make webOS for TV, Smartwatch, and Smartfridge. For LG's webOS see Smart TV Emulators.

TODO: this section is broken, check the history of this section and restore the present metadata but keep the emulator images.

Name Platform(s) Version Accuracy FLOSS Active Recommended
PC / x86
webOS SDK emulator Windows macOS Linux 5.0
webOS SDK simulator Windows macOS Linux 6.0
Mobile / ARM
webOS Emulator images Maemo Wiki0.6.9
preenv 0.1.7git
High?
Image
Preenv here Mid ~

Also see https://liliputing.com/phoenix-devices-gets-open-webos-to-run-as-an-android-app/

WebOS Ports[edit]

LuneOS[edit]

Samsung[edit]

Bada[edit]

Bada (바다) is a mobile operating system developed by Samsung Electronics for devices such as mid- to high-end smartphones and tablet computers. The name is derived from "바다 (bada)", meaning "ocean" or "sea" in Korean. All phones running Bada were branded with the name Wave, unlike Samsung's Android devices which are branded as Galaxy.

Name Platform(s) Version FLOSS Active Recommended
PC / x86
Bada SDK Windows 2.0.6 ? ~

Tizen[edit]

Name Platform(s) Version FLOSS Active Recommended
PC / x86
Tizen Studio Windows macOS Linux 5.1
Tizen Studio
Has both a Tizen emulator (more accurate) and a Tizen simulator (more usable for slower computers).

Google[edit]

Android[edit]

Name Platform(s) Latest Version FLOSS Active Recommended
PC / x86
Android Studio Windows macOS Linux Chrome OS 5.1 ~ ~
Google Play Games Windows Beta
Developer
~
Trinity Windows git ~ ~
Android Studio
Has a emulator for Android TV and the new/old Google TV models.

Apple[edit]

iOS[edit]

Name Platform(s) Version FLOSS Active Recommended
PC / x86
touchHLE Windows macOS git ~
QEMU-iOS macOS Linux git ~
Mobile / ARM
macOS 11 (Big Sur) and up
(Not an emulator)
macOS [N 1] 14.1 (Sonoma)
touchHLE Android git ~

MediaTek[edit]

MAUI Runtime Environment (MRE)[edit]

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 MAUI Runtime Environment. 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. Games and applications for this platform are in .VXP format and other applications appear to be available on the usual WAP sites.

Name Platform(s) Version Accuracy FLOSS Recommended
Mediatek MRE SDK Windows 3.0.00.20 Mid ~
MREmu Windows git Low ~ (WIP)
Mediatek MRE SDK
Includes seven phone simulators with various screen resolution presets and user interfaces. Can only run VXP files compiled for the x86 architecture, i.e. apps built for phones will not run.
MREmu
Open source emulator that can run VXPs compiled for ARM. In early development.

Motorola[edit]

MotoEZX / OpenEZX[edit]

MotoMAGX[edit]

Synergenix[edit]

Mophun[edit]

Mophun is an even more hardware-efficient free European-centric mobile gaming solution developed by Swedish company Synergenix Interactive AB. There are two versions of Mophun, 2D for low-end (Sony Ericsson T2xx, T3xx and T6xx series) and 3D for high-end handsets (Symbian S60 and UIQ3 phones), and it's often used to provide embedded (pre-installed) games on mobile phone handsets.

Name Platform(s) Version 2D 3D FLOSS Accuracy Active Recommended
PC / x86
Mophun emulator Windows 2.5.4 alpha 2(Tuxality_mod)
2.5.4 (Special version for Hitman)
Mid ~
(Tuxality mod)
Nofun Windows 0.0.3 Mid
Mophun SDK Windows 2.5 Mid ~
MoRePhun Windows git Low
Mophun ActiveX Control Web 1.0 Low
Mobile / ARM
Nofun Android 0.0.3 Mid
4Mophun Windows Mobile 1.1
2003SE Edition
Mid
Mophun Games Launcher Symbian 1.01
1.01
v2008
1.0.4
Mid
Mophun
(traced & powered by zg)
Symbian 6.011 mod by zg Mid
Blaze Mophun Emulator Symbian N-Series Edition (Russian)
N90 Special Edition by 100565
Mid ~
Mophun
(Playfun.ru Edition)
N-Gage logo.png v1 Mid ~
Mophun Games Launcher
Only compatible with 13 games, all of which use the 3D engine and were released for Symbian S60 and UIQ devices.
4Mophun
Does not work with games that are locked (e.g. have a predefined IMEI recognition algorithm) or do not use the 3D engine.
mophun
An official emulator, designed for development and demos. As such, encrypted or compressed games do not boot. However, this has been worked around, both by decrypting the files and decompressing them (except for compressed resources), and modifying the emulator to perform decryption on the fly, albeit only when opening them via the Open menu. Exile is not known to work in any found version of the emulator.
MoRePhun
A new, open source emulator by Luca91. It is only a proof of concept, as only a few opcodes and a couple of SDK APIs are emulated, and there is no heap. There is sprite and input support, as well as support for the collision API. It is compatible with a few small homebrews. Luca91 mentions the SDK API handler needs to be better organized.
Mophun ActiveX Control
The official website for the platform, mophun.com, used to host development demos playable in the browser using the ActiveX platform (crawled demo files here). The mophun plugin itself can run unencrypted .mpn files. Although it is not playable through the web archives of the site, it is expected to be curated for Flashpoint.

Adobe[edit]

Flash Lite[edit]

Name Platform(s) Version FLOSS Active Recommended
PC / x86
Ruffle Windows Linux macOS Web git
Mobile / ARM
Ruffle Android git

Japanese cellphones[edit]

Several Japanese-centric mobile game technologies spawned during the 2000's as part of convoluted all-in-one technological solutions, mostly based on Java.

  • NTT 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 proprietary 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 proprietary 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/Star)[edit]

Japanese mobile manufacturer NTT DoCoMo released 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[edit]

Name Platform(s) Version Accuracy FLOSS Active Recommended
PC / x86
DoJa SDKs Windows IappliTool Mid ~
DoJa Overseas Edition SDK Windows 1.03 Low (DoJa 2.5 Overseas Edition)
i-JADE Windows 1.2.3 Low (DoJa 1.X)
Jade Java 0.1.7 Low (DoJa 1.5)
SquirrelJME Java 0.2.0 Aims for 100% ?
Mobile / ARM
説明 懐かしのiアプリをお手軽実況プレイ!iアプリ・アーカイブス Android 2.6 Low
Doja iAppli エミュレータ (Browser) Android 1.1.2 ? ~ ?
DoJa SDKs
Official development kit from NTT DoCoMo, featuring a device emulator. Several releases were archived by Wayback Machine ::DoJa 1.5 DoJa 2.? DoJa 2.1 DoJa 3.0 DoJa 3.5 DoJa 4.0 DoJa 4.1 (111) DoJa 4.1 (201) DoJa 5.0 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[edit]

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 proprietary APIs. The first device supporting it was released on 2001 (Hitachi C451H). ezplus was later renamed to "EZ-appli (Java)" (Japanese : "EZアプリ (Java)") and gradually replaced with a BREW-based solution called "EZ-appli (BREW)" until 2004 when the last ezplus device was released.

In 2006 an Open Application Player (Japanese: オープンアプリプレイヤー) feature was added allowing to run MIDP 2.0 Java apps on the BREW devices, which were often denominated as オープンアプリ. It lacks support for the original proprietary extensions of ezplus. On 2011, Open Application Player was updated and renamed to "EZ-appli (J)" along EZ-appli (BREW) which became "EZ-appli (B)"

Applications were denominated "ezplus アプリ" (during the ezplus name era) and come in the form of .KJX files.

Emulators[edit]

Name Platform(s) Version Accuracy FLOSS Active Recommended
PC / x86
ezplus emulator Windows 1.0 Mid ~
Mobile / ARM
J2ME Loader Android 1.7.9

git
Dev

Mid
JL-Mod (JL fork) Android git Mid
ezplus emulator
Official development tool from KDDI, developed by Zentek.
J2ME Loader
Now J2ME Loader support ezplus apps that only support 128x160 resolution and font option recommend is (9 - 13 - 15).Installation guid and here

J-SKY[edit]

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 proprietary 3D/sound/gfx APIs called JSCL. J-PHONE had been purchased by Vodafone on 2001, which two years later took over the original branding renaming the carrier to Vodafone KK. The J-SKY technology became then known as "Vodafone Live!" and it was extended with the VSCL set of APIs. On 2006, Vodafone KK was purchased by SoftBank Group, getting this technology rebranded again as "Yahoo! Keitai".

Applications were called "Java™ App" (Japanese : Java™アプリ) during the J-SKY era, "V-Appli" (Japanese : Vアプリ) during the Vodafone era and "S! Appli" (Japanese : S!アプリ) during the SoftBank era. They come in the form of .JAR accompained by a .JAD descriptor text file.

Emulators[edit]

Name Platform(s) Version Accuracy FLOSS Recommended
J-SKY Application Emulator Windows 1.3B Mid ~
MEXA Emulator Windows 2.3.1 Software InformerUpdateStar
J-SKY Application Emulator
Official development tool from J-PHONE, developed by Zentek. It does not supports any of the later APIs.
MEXA Emulator
Developed by SoftBank for S! Appli.

Korean cellphones[edit]

SKT (Sunkyong Telecom) provided two development platforms: GVM and SK-VM. GVM based on Mobile C, and SK-VM based on Java. SK-VM was a Java-based development platform, but the execution speed was slower than GVM due to the nature of Java. SK-VM is a J2ME (Java 2 Micro Eidtion) Java execution environment developed

GVM (General Virtual Machine): GVM1X, GVM2X Mobile platform created based on Mobile C (modified to fit the mobile environment, such as reduction of pointer and union functions in the existing C language) developed by Shinji Soft.

GNEX (General & Next Multimedia Player): GVM3X A mobile platform that eliminates the limitations of the existing GVM and further strengthens functions such as file system, network, and graphics. GNEX is an upgraded version of GVM, and has the advantage of having few capacity restrictions and fast speed, but its penetration has fallen significantly compared to GVM. Therefore, when releasing a GNEX version of a game, we developed both the GVM version and the GNEX version to support phones that do not support GNEX

KTF (Korea Telecom Freete) provided Qualcomm's BREW. The biggest advantage is that it is based on C/C++, and unlike other development platforms, it is executed in the form of a native binary rather than being executed based on a VM. it is an integrated platform, but it has been divided into SKT-WIPI, KT-WIPI, and LGT-WIPI. For example, SKT-WIPI and LGT-WIPI supported C/C++, while KTF-WIPI supported only C. Aside from that, many other aspects differed from carrier to carrier.

LGT (Lucky Goldstar Telecom) - MIDP [JAVA] A mobile platform that adds additional functions such as sound to J2ME (Java 2 Micro Edition) of LG MIDP JAVA SUN. LGT's platform is sometimes called MIDP and JAVA


- SKT's WIPI-JAVA
- SKT's WIPI-C
- KTF's WIPI-JAVA
- KTF's WIPI-C
- LGT's WIPI-JAVA (LGT does not support WIPI-C)

Wireless Internet Platform for Interoperability (WIPI)[edit]

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. SKT (GNEX, SKVM), KTF (BREW), LGT (MIDP-JAVA), etc. are these, and they are currently converting to an integrated platform called WIPI. After conversion to an integrated platform called WIPI, mobile games have higher quality graphics and game ability than before.

Emulators[edit]

Name Platform(s) Version FLOSS Active Recommended
PC / x86
WIE (WIPI/SKVM/J2ME Emulator) Windows Linux macOS Web git TBD
AROMA WIPI Emulator Windows 1.1.1.8
KTF WIPI Windows 1.1

Chinese Mobiles[edit]

MiniJ (MRP platform)[edit]

MiniJ is a lightweight mobile platform developed by Hangzhou Sky Network Technology Co., Ltd. and it's widespread in China (and in some other countries). It has excellent overall performance and could run applications and games smoothly with very limited hardware resources. MiniJ applications are written in C programming language.

Games and applications for this platform are in .mrp format.

Emulators[edit]

Name Platform(s) Version Accuracy FLOSS Active Recommended
PC / x86
vmrp Windows git Mid
iacEmuMrp Windows 0.3.30.3.3[A 1] Mid ~
Mobile / ARM
Mythras Android git
2018
2021
Mid
iacMrp Android 1.9.561.9.56[A 1] Mid ~
Mrpoid2 Android 3.2.10 Mid ~
iacEmu

(iacMrp2)

Android ? ? ? TBD
iacMrp MRE 0.7.6 ? ~
  1. 1.0 1.1 Download available in ③MTK_冒泡(.mrp)/⓪模拟器 folder.

KaiOS[edit]

KaiOS is a mobile Linux distribution for keypad feature phones. It is developed by KaiOS Technologies (Hong Kong) Limited.

Name Platform(s) Version Active FLOSS Recommended
KaiOS RunTime Simulator (Kaiosrt) Linux simulator
  1. Requires Mac computers with Apple Silicon (M series) processors.

Qualcomm[edit]

Binary Runtime Environment for Wireless (BREW)[edit]

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

Zeebo is a brazilian 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.

Name Platform(s) Version Zeebo Accuracy Active FLOSS Recommended
PC / x86
BREW Emulator / BREW Simulator Windows 1.1 (BREW SDK)
7.12.5 (BREW MP SDK)
Mobile / ARM
Melange Android git
Builds
Mid ~[N 1]
Infuse Windows Mobile ? Low TBD
  1. Contains proprietary Qualcomm components

Danger[edit]

Danger OS[edit]

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. To aid third-party software design, Danger has released a comprehensive SDK that contains a Hiptop simulator, development installation utilities, and Danger API information.

Danger OS uses special files called "bundles". Bundle files have the extension .bndl. Bundles have inside a custom resource format for storing assets and code which is converted from Java bytecode into a custom bytecode format. Each bundle file is linked to a specific operating system version and build number. For example, a bundle file for v3.4/155053 (T-Mobile Sidekick 3) would be denied installation on a v3.3/149695 device (T-Mobile Sidekick iD). Installation of bundles require a developer key to be installed on your device if you are using a Production OS. Internal OS builds do not require developer keys.

Name Platform(s) Version Active FLOSS Recommended
Danger Hiptop/Sidekick SDK Simulator SDKs Windows Linux macOS Mid ~
Danger Hiptop/Sidekick SDK Simulator
Official SDK from Danger Inc with built-in simulators for testing. These simulators can't run the special bytecode format used on real devices.

Microsoft[edit]

Windows CE[edit]

Windows Mobile (PocketPC)[edit]

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.

Name Platform(s) Version FLOSS Active Recommended
Microsoft Device Emulator Windows

git 3.0

Windows Mobile 6.1.4 Emulator Images

Windows Phone & Windows 10 Mobile[edit]

Name Platform(s) Version FLOSS Active Recommended
PC / x86
Windows 10 SDK Windows 10.0.15254.1
Visual Studio 2017
WPR Windows git
mediaexplorer74's fork
~ ~
Mobile / ARM
WPR Android git ~ ~

TTPcom[edit]

Wireless Games Engine (WGE)[edit]

Mozilla[edit]

Firefox OS[edit]

Name Platform(s) Version FLOSS Active Recommended
PC / x86
Firefox OS Simulator Web git
WebIDE add-ons

Firefox OS 1.1 Simulator

Amazon[edit]

Fire OS[edit]

Fire OS is a mobile operating system developed by Amazon for their Fire line of devices. It is basically a heavily-modified Android distribution with extensive dependency on Amazon services. Apps sold on the Amazon App Store should run fine on any Android emulator with little to no issue. (Stock) Windows Subsystem for Android is recommended as it includes Amazon-exclusive frameworks.

Acknowledgments[edit]

  • Article about DoCoMo Java programming.

See Also[edit]

References[edit]