From Emulation General Wiki
Jump to navigation Jump to search
Developer(s) Yury Kharchenko (woesss)
Latest version 0.86-ALPHA [+]
Active Yes
Platform(s) Android
Emulates J2ME
Mascot Capsule 3D
Support ($) PayPal

Qiwi ЮMoney

Programmed in Java, C
C (Mascot Capsule 3D)
License Apache 2.0
Source code GitHub

JL-Mod[N 1] is a mod of J2ME Loader with support Sony Ericsson's high-graphic 3D engine "Mascot Capsule V3".

Overview & compatibility

Released in 2020, the emulator is currently capable of playing thousands of J2ME games, more than 96.7% of the J2ME library with supports most 2D games and also 3D with Mascot Capsule V3 support. Has some new and experimental features. Converts .jar files offline using its own resources. Easily launches both 2D & 3D apps. Samsung & Nokia API implemented. Supports different keyboard layouts and customization. It is highly accurate, with the right frame rate for each game, as well as vibration. Has slightly improved performance through hardware acceleration, but games won't run too fast. Runs almost every Nokia game, especially Gameloft games, even ones that don't work with KEmulator or FreeJ2ME.


  • Fast emulation
  • High compatibility
  • Bluetooth API support
  • Samsung / Nokia / Motorola API implemented
  • Siemens API implemented
  • Touchscreen input support
  • Supports external virtual keyboards and QWERTY input
  • Both 3D API supported (Mascot Capsule 3D and M3G [JSR-184])
  • Menu key remapping support
  • Buttons customisation support
  • Supports different keyboard layouts and customization
  • Individual settings for each application.
  • Highly accurate, with the right frame rate (FPS limit support) for each game, as well as vibration.
  • Hardware acceleration support (but games won't run too fast)
  • Screen gravity support
  • Screen orientation
  • Accelerometer support
  • Scaling support
  • Immediate processing mode
Using shaders (image post-processing filters)

Shaders are GPU microprograms that affect the game in one way or another in order to improve it or replicate the visual features of some on-screen devices, such as displays on portable consoles or old tube TVs. Shaders can significantly alter the game, but also reduce performance. In addition, shaders can have customizable parameters, if there are such an icon for accessing them will be displayed on the far right side and opposite the name of the selected shader.

Supports the same shader format as PPSSPP To use, you need to put them in the shaders folder in the working directory of the emulator, then in the game profile, select the graphics output mode: Hardware acceleration (OpenGL ES) and select the desired shader. Some shaders have settings - when you select one, an icon will appear next to the name, when you click on it, a window with settings will open A small collection of compatible shaders can be found Here

Original LCD Dot (LCD) GreyScale
Inverse Color Sharpen Bloom Cartoon
Game setting
★ In JL setting ★

Q.Enable Action bar

– Enable display of screenshot button, side menu

★ In game setting ★


A. Set the resolution of the loaded game. Select in the game settings and also specify any resolution, specify any for 3D and touch games, since they often have auto-scale, supports 4k.


A.Choosing a background color under the main game.

A.Image scale from the specified resolution.

Q.Screen gravity

Q.Screen orientation

A.Changes screen orientation: Landscape, Portrait, Auto

A.This function increases the quality of the game, but may also decrease the performance.

Q.Graphic mode
A.Selecting the render mode The graphics mode only affects the final scaling of the frame and the way it is delivered to the screen


1. Software — Used by CPU to output 2D and 3D graphics

2. Hardware acceleration (OpenGL ES) — The mode uses OpenGL ES 2.0 directly - this can be more profitable if the device does not supports newer versions

3. Hardware acceleration (window) — Outputs a frame in a way that is used for buttons, lists, progress bars and other UI

4. Hardware acceleration (Surface) — Available since Android 6.0+ uses the interface that is usually used for video output

Q.FPS limit
A.When game running is too fast, it allows you to reduce fps for a comfortable game, for example Rayman 3 128x128 run 250+fps.

Button Colors
Original Labels Buttons
Outline Labels (P) Buttons (P)

Q.Touch input

A.Used in games with touch controls, for example 640x360 / 800x480 resolution games.

You can also disable the button overlay, as they are not needed.

Q.Save / Load state supported?
A.No, because It's almost impossible, JL-Mod doesn't emulate hardware, so it can't save the CPU/RAM state.

Font option (Small — Midium — Large)[N 2]

Here you can set the sizes of small, medium and large fonts that will be used by the Games. Dimensions are in pixels.

If the Scaled Pixel Sizes check box is selected, the specified dimensions will be adjusted by Android to provide the same visible text size on screens with different resolutions. It is recommended to enable this setting when using virtual screen resolutions of more than 240x320 pixels.

The Presets button allows you to quickly set the font sizes that are most suitable for a given virtual screen resolution:

Resolution Font
240x320 18 — 22 — 26
176x220 15 — 18 — 22
128x160 13 — 15 — 20
128x128 9 — 13 — 15
Screen option
  • Width and Height set the size of the virtual screen that will be available to the games. Many Games are optimized for a specific screen resolution (usually 240x320) and may not display correctly at other resolutions.
  • Scale if virtual screen resolution does not match smartphone screen resolution:

— Enabled - the virtual screen is scaled to fit the smartphone screen off - the virtual screen is located in the center of the smartphone screen without resizing.

  • Maintain aspect ratio when scaling:

— Enabled - the virtual screen fits into the smartphone screen while maintaining the aspect ratio, possibly occupying only a part of it.

— Off - the virtual screen is stretched to fill the entire smartphone screen, possibly with distortion of the displayed graphics.

  • Screen filtering when scaling improves image quality, but requires more hardware resources.

Presets allow you to quickly set the default resolution of the virtual display. The table below shows a list of standard resolutions (for example, HTC Evo 3D, screen resolution 960x540).

Resolution Scale Aspect ratio and

screen orientation

128x128 4.21875: 1 1: 1
128x160 3.375: 1 Portrait 3.2: 4
132x176 3.068: 1 Portrait 3: 4
176x220 2.454: 1 Portrait 3.2: 4
240x320 1.6875: 1 Portrait 3: 4
202x270 2: 1 Portrait 3: 4
360x270 2: 1 Landscape 4: 3
405x540 1: 1 Portrait 3: 4
720x540 1: 1 Landscape 4: 3
960x540 1: 1 Landscape 16: 9
  • Options 1 through 5 correspond to standard screen resolutions for mobile phones. They provide the greatest compatibility (most games are optimized for one of these resolutions), but when scaling to the smartphone screen, the graphics quality may decrease slightly.
  • Choices 8, 9, and 10 provide the best graphics quality because they are calculated based on the smartphone screen resolution and do not use scaling. However, if the game is not optimized for these resolutions, it may not work correctly or not work at all. In this case, it is recommended to select a lower resolution.
  • Options 5 and 6 are intermediate in quality and compatibility. They are calculated based on the resolution of the smartphone screen so that there are exactly four physical pixels for each virtual pixel. This removes distortion when scaling. When using these options, it is recommended that you turn off screen filtering to sharpen the picture.

The Background button allows you to select the background color of the screen. This color will fill the stripes at the edges of the screen if it is not completely occupied by the virtual screen.

Recommended Devices
Resolution Devices
960x540 * HTC Evo 3D
480x800 * Samsung GT-S8000 / Galaxy S II / Omnia Pro
* Sony Ericsson X1i
* HTC HD2 / Leo
480x360 * BlackBerry 9360 / 9700 / 9020 / 9780
640x480 * Nokia E6-00
360x640 / 640x360 * Nokia 5800 Xpress Music / 5530 Xpress Music / N8 / C7
* Sony Ericsson SATIO / U5i Vivaz
320x480 * Samsung GT-S5292 / GT-S5296 / GT-S5380K / S7250
* Sony Ericsson Xperia X8
320x240 * Nokia E71 / E72 / C3-00 / Asha 201
* BlackBerry 8520 / 9220 / 9220 Curve/ 9300
* Samsung GT-S3350 / GT-S3353 / SGH-i617
352x416 * Nokia N80
240x432 * Sony Ericsson Aino
240x400 * Samsung GT-5230 / GT-S5230
* Nokia Asha 305 / 306 / 308 / 311
* LG KU990 / GS290 / GS205 / KP500 / GT505 / GT400
240x320 * Sony Ericsson K800i / K660 / W595a / Z750i / W595 / W910i
* Nokia 6280 / 6300 / 5300 / 5310XM / N73 / N95 / N85 / X3-02 / X2-00 / X2-05 / X2-02 / 5000d / C2-03 / 2700 Classic / C2-01 / 220 / 216 / 215 / 222 / 225 / Asha 303 / 503 / 500DS / 202 / 300
* Samsung SGH-F480 / GT-S5222 / SGH-D900 / E900 / F400 / U600 / D600 / GT-C3312R / GT-C3310
* LG KS360
* Motorola RAZR V8 / ROKR Z6 / E2 / E1000 / E398 / V500 / V635
* Panasonic VS3 / MX7
208x208 * Nokia 6230i
176x220 * LG U8360 / GU230 / GU280 / GB230 / GB280 / A133 / GM205
* Sony Ericsson W810i
* Samsung SGH-L700
176x208 * Nokia N91 / N70 / 7610 / 3250 / 6630 / 6681
176x205 * Samsung Z300 / Z500
176x204 * Motorola RAZR V3 / L7 / KRZR K1
128x160 * Nokia 5200 / 2300 / 2720 / 3110x / 3110 Classic / 6101 / C1-01 / Asha 110 / 2600 Classic / 2630
* Motorola L6
* Samsung SGH-E250i / J700 / E215L / E258 / F250L / GT-B2100 / C3050 / E2210 / E2210L / E2510 / M2310
* Sony Ericsson W200i
128x128 * Nokia 6030 / 3220
* Samsung GT-E2121 / E2120
Theme / UI
Dark White

– Shows the number of frames per second

Force full-screen
Normal Force Full-screen

– Vibrates the forced full screen for the application

Button Shape
  • Rounded Rectangle
L1 L2 L3 L4
  • Oval
L1 L2 L3 L4
  • Rectangle
L1 L2 L3 L4
Keyboard Type
  • Rounded Rectangle
L1 L2
  • Oval
L1 L2
  • Rectangle
L1 L2
Scale Type
As is Fit to window Fill window (ignore aspect ratio)


API JSR Support
CLDC 1.1
FileConnection API JSR-75
Personal Information Management API JSR-75
Bluetooth API JSR-82
Wireless Messaging API JSR-120
Mobile Media API JSR-135
Web Services Specification JSR-172
Security and Trust Services API JSR-177
LocationUtil API JSR-179
Location API JSR-179
Mobile 3D Graphics API JSR-184
Wireless Messaging API 2.0 JSR-205
Content Handler API JSR-211
Scalable 2D Vector Graphics API JSR-226
Advanced Multimedia Supplements API JSR-234
Mobile Internationalization API JSR-238
Java Binding for the OpenGL® ES API JSR-239
Mobile Sensor API JSR-256
Contactless Communication API JSR-257
MIDP 2.0
MIDP 3.0
Here Maps API
KDDI ezPlus API 2.5
KDDI ezPlus API 3
Mascot Capsule API
Motorola 3D API
Motorola FunLights API 1.0
Motorola Gaming API
Motorola iDEN API
Motorola VibeLight API
Nokia IAPInfo API
Nokia In-App Payment API
Nokia SMS API 0.9
Nokia UI API 1.1
Nokia UI API 2.0
Project Capuchin API
Samsung API 1.0
Siemens API
Vodafone API 1.0
Vodafone API 2.0


Some settings have been changed in the mod. J2ME Loader may not work correctly with games, templates and settings installed or configured by the mod and vice versa. In order not to have to reinstall-reconfigure, it is better to make a backup, copy or not specify the same working directory for the mod and J2ME Loader.

→ Mascot Capsule V3 support

implementation is not accurate, there are unresolved problems.

In some games (seen in "Medal of Honor") the 3D scene may not be displayed due to the overlap with the 2D background. Try adding the following line to the "System Properties" field: micro3d.v3.render.no-mix2D3D: true

Another one property turns on the texture filter (built into OpenGL), but this can generate distortion in the form of extra texels being captured at the edges of polygons: micro3d.v3.texture.filter: true without this setting, the quality of the textures is as close to the original as possible and looks more vintage.

How to use

System requirements

Android 4.0 +


Download a latest version of JL-Mod on your Android device.

  Development build

Next, Click   (Button) at the lower right corner in the main JL-Mod windows and select the .JAR program / file on your file manager, after setup your game configures.


Site(s) Rating
dedomil.net ★★★★★
phoneky.com ★★★★
RuGame Archive ★★★★
seclub.org ★★★
oldfag.top ★★★
series40.kiev.ua ★★★
sleza-mobile.ru ★★★
dertz.in ★★★
oldhandhelds.com ★★★
spaces.im ★★★
mobile24.co ★★★
siemensx70.narod.ru (siemens only)

Recommends Archive.org J2ME games collection Cellphone games preservation

Button (key) binding / mapping


Keys : Default

Key Action
D-PAD Down
D-PAD Left
D-PAD Right
D-PAD Center F
D-PAD Left-Up
D-PAD Right-Up
D-PAD Left-Down
D-PAD Right-Down
LEFT-Soft Key L
RIGHT-Soft Key R
NUM1 1
NUM2 2
NUM3 3
NUM4 4
NUM5 5
NUM6 6
NUM7 7
NUM8 8
NUM9 9
NUM0 0
* *
# #


Mascot Capsule 3D

ezplus アプリ


Japanese carrier KDDI/Au released ezplus as part of their EZweb set of standards for mobile telephony. It is based on Java ME extended with propietary APIs. The first device supporting it was released on 2001 (Hitachi C451H).

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

.KJX Games Collection

Mascot Capsule 3D


Mascot Capsule is a proprietary 3D engine developed by Hi Corporation (Japan), written in C and compiled for all platforms known at the time. It was mostly used in Japanese devices such as i-mode, J-PHONE, EZweb, and others, but it also made it overseas featured in many Sony Ericsson and Motorola devices. Many developers made use of this tech to bring higher quality 3D graphics on the Sony Ericsson version of their J2ME games.

Mascot Capsule 3D games collection


  1. It is not exactly an emulator. It converts MIDlets to Android API and makes J2ME applications to run almost natively in Dalvik or Android Runtime
  2. FAQ

See also

External links