Usage Guide

The basic functionality of MeBoy is self-explanatory, but some settings and advanced functions may not be. (For Bluetooth information, see here.)

Framerate is reported in the form x fps * y, where x and y are numbers. x is the actual number of frames that is drawn per second (averaged over a short time span and rounded). Since MeBoy skips frames that a real Gameboy would draw, y indicates how many "real" frames each of the "emulated" frame substitutes. x*y gives you the emulated speed, an average of 60 means full emulated speed (although x*y can momentarily be higher or lower due to rounding etc.).

Full screen only means that the gray border covers the whole screen, hiding any menus or info bars. Scaling the Gameboy screen to fit the cell phone screen is provided by the "Scale to fit" setting (see below).

Settings

Frameskip - Since the CPU and graphics chip in a real Gameboy run (more or less) independently, the frame skip setting can be used to control how many of the screen redraws (frames) to skip between actually drawing to the screen. Higher values will result in jerkier but faster emulation. The real Gameboy draws 60 frames per second (fps), so MeBoy with frame skip set to 3 will draw (at least) every fourth frame, or 15 frames per (emulated) second. If possible, more frames are drawn, but never less. Instead, the emulation will run slower. With frame skip 0, all frames will be drawn, but the game will probably run very slowly.

Screen rotation (x90) - Controls the rotation of the screen. 0 means normal, 1 means turned to the right, 2 upside-down, and 3 turned to the left. There is possibly a performance penalty for using any value other than 0 (depending on your phone model).

Scale to fit - If enabled, MeBoy will reduce the size of the Gameboy screen if the mobile phone has a screen that is smaller than 160x144 pixels, or enlarge it to fit a larger screen. This is done with a fast, low-quality method, which can make text more difficult to read at small sizes. Gameboy graphics is made up of many small images, 8x8 pixels in size. "Scale to fit" replaces them with smaller or larger images, for instance 7x7 or 10x8 pixels. Because each image must consist of a whole number of pixels, the full width or height of the screen can not always be used. Since many phones have "tall" screens (for instance 128x160 pixels), rotating the screen can make better use of the pixels, but may make the button placement less convenient.

Keep proportions - If enabled and "Scale to fit" is enabled, the scaling factor for width and height will be identical.

Advanced graphics - If enabled, MeBoy will use a slower but more accurate way of drawing to the screen. This mode also does not encounter slowdowns when the screen "fades" in/out, but on most phones it's too slow to be useable. Unless you have a fast phone, you should leave this off.

Advanced scaling mode - This requires "Advanced graphics" and "Scale to fit" to be turned on, and determines how the scaling is done. Valid values are 0-3, with 0 being fast but low-quality, 3 being slow but high-quality.

Enable sound/Experimental features - MeBoy supports 2 different sound modes. The default uses the default MIDI instrument (Piano), and only emulated the pitch and volume of played notes. Turning on the experimental features changes the instrument to "Square wave", and also emulates sound effects such as rising/falling pitch and volume. This increases sensitivity to timing issues, and may either sound better or worse, depending on your phone. In fact, it may turn off sound altogether since some phones don't support the "Square wave" instrument.

Disable GBC emulation - The GBC support can be disabled with this option, to try to speed up games that support both Gameboy and Gameboy Color. Please note that any speedup may be small or nonexistent, depending on how the game was written. Also note that games that are "suspended" in Gameboy mode can not be "restored" in Gameboy Color mode, and vice versa. (Games and highscores saved on the "cartridge" can be transferred between modes, however.)

Show "Log" in menu - Adds the "Show Log" entry to the main menu. This is primarily for my own debugging needs, but the log can also show information about the amount of free memory.

Max loaded cart size kB - Gameboy games are divided into parts (called "banks"), each 16 kB in size. By default up to 64 banks (1 MB) are kept in memory at once, but if your phone reports memory errors you can lower this value. However, if the whole ROM does not fit in memory, performance will suffer as individual banks are loaded during gameplay (instead of all banks being preloaded during startup). Due to such performance concerns, 320 kB is the lowest value.

Saving

MeBoy supports games with battery-backed memory, or "Cartridge RAM" (or cart RAM for short). MeBoy also supports saving at an arbitrary point in a game, by using the Suspend command. The emulator will pause and save a "snapshot" of your progress in the game, and can restore that snapshot from the "Resume Game" menu.

MeBoy does not have a complete file manager, but each snapshot will be given an unique number, and you can duplicate and delete snapshots. If you use the "Suspend" command, each time you load a snapshot, you will also load that snapshot's battery-backed memory, overwriting any previous version of battery-backed memory.