MeBoy is a Game Boy and Game Boy Color emulator for Java, specifically on mobile devices. It is based on JavaBoy, a Java-based emulator for PCs written by Neil Millstone, and was ported to MIDP 2.0 by Björn Carlin, who began work on it in 2005.
Originally, the emulator was very slow and buggy, and most commercial games did not function correctly on it. However, as the developer adapted JavaBoy more and more for mobile devices, and the speed at which mobile devices ran increased as technology improved, MeBoy's performance increased dramatically, and now runs many games at full speed. It also supports real-time saving, (the ability to save at any time during a game, particularly useful, for instance, during a Pokemon battle,) and, as of version 2, supports game sound, although this doesn't work on many devices, and transferral of saved game files via bluetooth.
Framerate can be displayed on-screen.
The user can choose between having the game stretched to fit the phone's screen, or at the original size of the game, (with a function to preserve or ignore the games aspect ratio).
Control of frameskip, so audio and video output run smoothly.
Experimental sound features. The user may choose between a simpler system of using a piano MIDI instrument, (which most mobile phones are equipped with,) or a square wave MIDI instrument to emulate the sound and music of the game. (This is still an experimental feature, however, and will not work at all on many phones.)