Emulators for Android iNES | MasterGear | Speccy | fMSX | ColEm | AlmostTI | VGB | VGBA

Features | News | Tips | Downloads | FAQ by Marat Fayzullin Nintendo Entertainment System, Famicom, GameBoy, Super GameBoy, GameBoy Color, GameBoy Advance, Pocket Printer, GameLink, and DiskSystem are trademarks of Nintendo. SEGA SG1000, SC3000, SF7000, Master System, and GameGear are trademarks of SEGA. While programs presented at this site attempt to create "compatible" environment for the gaming software, they are not equivalent to the original hardware.

Emulators are programs that run software written for old computers or videogame consoles on the new hardware. Essentially, an emulator makes old software "think" that it is running on the original hardware, while it actually runs on your computer. I am creating emulators since 1993 and have made quite a few of them. For those who would like to try making an emulator on their own but do not know where to start, I have written a short introduction into the craft.

Originally, I developed emulators for PCs and Unix workstations. Once the mobile devices, such as cell phones and tablets, became capable of emulating older hardware, I started porting my emulators to these devices. Thus, at this page you will find my applications for Android-based phones and tablets, as well as some useful tips on setting them up.

If you work for a game company that would like to run its legacy games on mobile phones or other hardware, and need help, contact me.

Features

Optimized for Android

Emulation and screen rendering are heavily optimized for Android platform using hand-written ARM assembly and OpenGLES. Fast-Forwarding

The fast-forwarding feature lets you quickly skip through long dialogs and demo sequences. Joystick Emulation

The joystick is emulated with hardware keys, virtual joypad, or accelerometer. Sony Xperia Play, Nyko, MOGA, iCade, and Sixaxis controllers also supported. Freeze/Restore

The gameplay can be saved at any moment and restored to the same point later. Emulators will also save state on exit, letting you restart where you have left off. Mouse Emulation

For the old software that requires a mouse, it is emulated with the touch screen. Recording Music

The soundtrack can be saved to a MIDI file to be played back later or used as a ringtone. Compressed Files

The emulators will automatically process files with .zip (WinZIP) and .gz (GZIP) extensions. You do not need to unpack these files. Built-in Debugger

Many emulators include a built-in debugger for hacking or developing your own retro software. Cheats

Cheatopedia offers hundreds of cheats for popular games, or you can enter your own cheat codes. Screenshots

The emulators will save stamp-sized screenshots for each game you play, and show them in the file selection dialog. State Exchange

State Exchange lets you swap gameplay states with other users playing the same game. Network Play

The NetPlay feature lets you play with other users over local network or Internet. Normal Display

The picture fills the center of your device screen, while retaining the original display ratio. Stretched Display

The picture is stretched horizontally to fill the entire device screen, for the biggest possible size. Softened Display

The picture is softened, hiding individual pixels, as if it were shown on an old analog TV. TV Scanlines

Horizontal raster lines are added, simulating analog TV interlace effect. Keyboard Emulation

The keyboard is naturally emulated with the hardware keyboard or the on-screen virtual keyboard, in case your Android device lacks a real one. Frame Rate Display

The frame rate counter shows how fast your emulation is running. The ideal rates are 60Hz for NTSC video and 50Hz for PAL video.

News

22 September 2020

Speccy Deluxe, the complete version of my universal Sinclair ZX Spectrum and Sam Coupe emulator for Android, is on $2.99 sale at Google Play this week. This is 30% off the regular $4.99 price.

14 September 2020

AlmostTI, my universal TI graphing calc emulator is currently on $2.99 sale at Google Play. The app emulates TI83, TI84, TI85, TI86, and other TI graphing calculators.

10 September 2020

ColEm 5.3, based on the latest Windows and Linux version released earlier this week, is now online. The scaling and special effects framework has been completely refactored, and there is now a new scaling option for linear interpolation. The ColEm Deluxe, feature complete version of ColEm, is on $2.99 sale until the end of this week. Get it while it's cheap!

3 September 2020

Just published fMSX 5.8, a new version of my MSX and MSX2 home computer emulator. This release is based on the latest fMSX 5.8 sources published earlier this week. It should now open tape images from read-only storage. Also, there is a new explicit linear interpolation scaling option. As you remember, I had to disable cheat features to avoid Google staff banning fMSX from the store. You can easily reenable cheats though by downloading this file to your Downloads folder.

1 September 2020

fMSX Deluxe is on $2.99 sale at Google Play this week. If you like the free version, now is your chance to get the complete version at 30% off the regular price.

26 August 2020

Just released MasterGear 4.6.11 this morning, a new version of my Sega MasterSystem and GameGear emulator. This release is based on the latest MasterGear 4.6 for Windows and Linux, published earlier this week. It includes a new, separate option for linear image scaling. Finally, MasterGear is on $2.99 sale at Google Play this week.

25 August 2020

MasterGear, my Sega MasterSystem and GameGear emulator for Android, is on $2.99 sale at Google Play this week. Get it while it's cheap!

20 August 2020

After a very long delay, I have finally been able to update my AlmostTI emulator. This app effectively turns your phone into one of TI's graphing calculators, such as TI-83, TI-84, TI-85, TI-86, or others. Note that you still need an original firmware ROM, dumped from a real TI calculator that you own. The new AlmostTI release fixes support for some TI-83 ROMs, previously recognized as TI-82-STATS model. It also requires at least Android 4.1 (Jelly Bean) to run. With the build process restored, I am planning to improve AlmostTI more often, hopefully adding support for TI-84+ color model, TiLink, and other features.

19 August 2020

I've just published the free iNES 5.8, a new version of my NES and Famicom emulator. I am releasing this version as both standalone APK and Google Play download, since I am not sure if Google will allow me to continue keeping it in Google Play. This release is based on iNES 5.8 for Windows and Linux released a few weeks ago. It greatly improves Box Art Downloader, adding support for URL redirects, HTTPS, and other things.

If you like iNES, please consider buying VGBAnext, my universal GameBoy Advance, GameBoy Color, GameBoy Classic, NES, and Famicom emulator. It is on $2.99 sale this week.

17 August 2020

I've just released VGBAnext 6.3.12, a new version of my universal GBA, GBC, and NES emulator for Android. VGBAnext is on $2.99 sale at Google Play this week. The new release is based on the latest iNES 5.8 and VGB 5.7 sources. It majorly improves Box Art Downloader, adding support for URL redirection and other things. As you remember, I had to disable cheat features to avoid Google staff banning VGBAnext from the store. You can easily reenable cheats by downloading this file to your "Downloads" folder.

12 August 2020

fMSX 5.7.3, a new version of my MSX and MSX2 emulator, is now online. This release fixes automatic ROM type recognition using built-in CARTS.SHA database and corrects mapper types for a bunch of ROMs. I have also majorly improved Box Art Downloader, adding support for URL redirection and HTTPS protocol. As you remember, I had to disable cheat features to avoid Google staff banning fMSX from the store. You can easily reenable cheats though by downloading this file to your Downloads folder.

10 August 2020

Published Speccy 5.2.5 this morning, a new version of my Sinclair ZX Spectrum and Sam Coupe emulator. This version is based on the latest Speccy for Windows and Linux, released last week. It contains multiple improvements to Box Art Downloader, adding URL redirection support and other things. As you remember, I had to disable cheat features to avoid Google staff banning Speccy from the store. You can easily reenable cheats though by downloading this file to your Downloads folder. The complete version of Speccy, Speccy Deluxe, is on on $2.99 sale at Google Play this week.

4 August 2020

VGB 5.7 for Android is now available as a free .APK from this site. This new release is based on the VGB 5.7 for Windows and Linux, released this week. It improves Box Art Downloader, fixes Network Play and State Exchange features, adds list of storage locations to the "Change Folder" dialog, and contains a few more improvements.

3 August 2020

AlmostTI, my universal TI graphing calc emulator is currently on $2.99 sale at Google Play. The app emulates TI83, TI84, TI85, TI86, and other TI graphing calculators.

Tips

System ROMs

If an emulator requires you to supply your own system ROMs, place them into /sdcard/AppName directory (such as /sdcard/Speccy ) or directly into /sdcard directory. Fast-Forwarding

To fast-forward gameplay, press and hold the on-screen FFWD button, if present. If you do not see the FFWD button, press and hold the Android SEARCH key. If your device lacks the SEARCH key, you can assign the fast-forwarding feature to a different hardware key in the Android "Settings" menu. Built-in Menu

All emulators come with their own internal menus, offering wide variety of advanced hardware and emulation settings. The built-in menu shows up when you either press the on-screen MENU button or select "Advanced" from Android menu. You can navigate the built-in menu with the on-screen joystick or by touching menu items. To select a menu item, touch it, or press FIRE-A . To close the menu, touch outside the menu, or press FIRE-B . Remember, these are advanced settings, so be careful changing them. Keyboard Emulation

If you need a keyboard to operate the emulator (such as fMSX), but your Android device does not have a physical keyboard, you can quickly toggle the virtual keyboard with the on-screen KEYS button. To permanently enable virtual keyboard, set "Virtual Keyboard" in the Android "Settings" menu. Notice that the modal keys (such as SHIFT , etc) can be found at the screen corners. Network Play

In the emulators that support NetPlay feature, such as iNES or MasterGear, you can play with other users over local WiFi network or Internet. To establish connection, follow these steps: Both players should be running the same game.

Both players should be on the same WiFi network or have externally visible IP addresses. NetPlay will not work through NAT.

will not work through NAT. The first player should check "NetPlay" in the menu and then choose "Become Server" option.

in the menu and then choose option. The second player should check "NetPlay" in the menu and then choose first player's name from the list of available servers.

in the menu and then choose first player's name from the list of available servers. Both emulators will now reset and start playing as if they were the same console with two gamepads.

Once you are done playing, uncheck "NetPlay" on both devices to disconnect NetPlay. ...

See below for FAQ and application-specific tips!

Downloads

Google Play Market All my products are published on the Google Play Market. Please, do not forget to vote!

EMUL8 Discussion Group Report and discuss your problems here. You may need to create a Google account to post to this group, but you do not have to become a member.

iNES for Android iNES emulates classic NES and Famicom videogame consoles from Nintendo. It plays NES, Famicom, DiskSystem, and VS System games on your Android phone or tablet. Save game at any time and restart from that point later. You can also use GameGenie cheat codes, make screenshots and save game music in MIDI format. More... Free iNES available here!

Since Google staff has banned the original iNES app from Google Play, I have released the free iNES version on this site . Download it here, spread it wide, let other people know.

Since Google staff has banned the original app from Google Play, I have released the . Download it here, spread it wide, let other people know. Complete iNES now part of VGBAnext

The complete iNES functionality is now included into my universal VGBAnext emulator that runs GameBoy Advance, GameBoy Color, GameBoy Classic, Super GameBoy, NES, Famicom, DiskSystem, and VS System games. Downloading VGBAnext is a good way to help me develop and maintain iNES , while always having the latest updates and support.

The complete functionality is now included into my universal emulator that runs GameBoy Advance, GameBoy Color, GameBoy Classic, Super GameBoy, NES, Famicom, DiskSystem, and VS System games. Downloading is a good way to help me develop and maintain , while always having the latest updates and support. Network play support

Since Dec 4 2012, iNES supports playing over local network or Internet with other iNES users. You both have to be playing the same game and be on the same WiFi network, or have Internet-visible IP addresses.

MasterGear for Android The MasterGear emulates several 8bit videogame consoles from SEGA. It plays Master System, GameGear, Mark 2, Mark 3, SG1000, SC3000, and SF7000 games on your Android phone or target. You can save game at any time and restart from that point if you get killed, make screenshots, and even save game music in MIDI format to play it later. More... Cheats support

Since Mar 12 2019, I had to disable Cheatopedia, Cheat Editor, and Cheat Hunter features in MasterGear , since Google Play no longer allows them and bans any apps that come with game cheating features. You can reenable these features yourself, by downloading this file to the Downloads folder on your Android device. Speccy will automatically unzip and use that file once you start the app.

Since Mar 12 2019, I had to disable Cheatopedia, Cheat Editor, and Cheat Hunter features in , since Google Play no longer allows them and bans any apps that come with game cheating features. You can reenable these features yourself, by downloading this file to the folder on your Android device. will automatically unzip and use that file once you start the app. Network play support

Since Dec 7 2012, MasterGear supports playing over local network or Internet with other MasterGear users. You both have to be playing the same game and be on the same WiFi network, or have Internet-visible IP addresses.

Speccy for Android (also see free version) Speccy emulates 16kB, 48kB, and 128kB versions of Sinclair ZX Spectrum, as well as Spectrum +2, +2A, and +3, as well as Timex Sinclair models. Although I had done some ZX-related work in the past, for many years I abstained from writing a Sinclair ZX Spectrum emulator, because there were so many other Spectrum emulators around. On the other hand, it felt like a gaping hole on my resume. So, here it is, yet another Spectrum emulator, trivially named Speccy. More... Cheats support

Since Mar 21 2019, I had to disable Cheatopedia, Cheat Editor, and Cheat Hunter features in Speccy , since Google Play no longer allows them and bans any apps that come with game cheating features. You can reenable these features yourself, by downloading this file to the Downloads folder on your Android device. Speccy will automatically unzip and use that file once you start the app.

Since Mar 21 2019, I had to disable Cheatopedia, Cheat Editor, and Cheat Hunter features in , since Google Play no longer allows them and bans any apps that come with game cheating features. You can reenable these features yourself, by downloading this file to the folder on your Android device. will automatically unzip and use that file once you start the app. To change joystick type or enable mouse

Go to the built-in menu, select "Input devices" and set whatever input device(s) you want.

Go to the built-in menu, select and set whatever input device(s) you want. 128k Spectrum bootup menu This menu can be operated with the on-screen arrow buttons, while holding CSHIFT . Believe it or not, but that is how original 128k Spectrum did it.

This menu can be operated with the on-screen arrow buttons, while holding . Believe it or not, but that is how original 128k Spectrum did it. To load program from a tape (i.e. .tap or .tzx file) Select "Tape Loader" from the 128k Spectrum bootup menu or type LOAD "" ( SSHIFT + J , P , P , ENTER ) on 48k Spectrum to start the tape loader. Press the on-screen MENU button to go to the built-in menu and toggle the "Tape running" option to start the tape. There are also options to rewind and browse tape contents. Wait for the program to load, which may take a while, just like on a real ZX Spectrum. You can speed things up by holding the Android SEARCH key: it fast-forwards the emulation.

(i.e. or file)

fMSX for Android (also see free version) fMSX emulates the popular MSX home computer from the 1980s, its MSX2 and MSX2+ upgrades, and many add-ons. fMSX is the first emulator I wrote and one of the first MSX emulators from which many others have been derived. Run your old MSX programs from disks or game cartridges on your Android phone or tablet. More... Cheats support

Since Mar 18 2019, I had to disable Cheatopedia, Cheat Editor, and Cheat Hunter features in fMSX , since Google Play no longer allows them and bans any apps that come with game cheating features. You can reenable these features yourself, by downloading this file to the Downloads folder on your Android device. fMSX will automatically unzip and use that file once you start the app.

Since Mar 18 2019, I had to disable Cheatopedia, Cheat Editor, and Cheat Hunter features in , since Google Play no longer allows them and bans any apps that come with game cheating features. You can reenable these features yourself, by downloading this file to the folder on your Android device. will automatically unzip and use that file once you start the app. To enable mouse or joystick

Go to the built-in menu, select "Input devices" and set mouse or joystick in joystick port #1. Same goes for the second joystick port.

ColEm for Android (also see free version) While developing fMSX, I got a request to take a look at the ColecoVision videogame console. The request contained a short document on the ColecoVision internals, from which I found that ColecoVision was not much different from MSX. Thus, I got to work and in a short while made a ColecoVision emulator, later known as ColEm. More... Cheats support

Since Mar 20 2019, I had to disable Cheatopedia, Cheat Editor, and Cheat Hunter features in ColEm, since Google Play no longer allows them and bans any apps that come with game cheating features. You can reenable these features yourself, by downloading this file to the Downloads folder on your Android device. ColEm will automatically unzip and use that file once you start the app.

AlmostTI for Android AlmostTI emulates a big family of programmable graphing calculators from Texas Instruments, including TI-85, TI-86, TI-81, TI-82, TI-73, TI-83, TI-83+, TI-83+ SE, TI-84+, and TI-84+ SE. Pretty much every Z80-based TI calculator is covered. Please note that in order to run AlmostTI, you will need the system firmware ROM. See instructions on how to obtain that ROM from your own calculator. More... Getting ROMs

In order to use AlmostTI , you need at least one calculator ROM. AlmostTI comes without ROMs, as they are intellectual property of Texas Instruments . But you can dump ROM from a TI calculator you own, by following these simple instructions.

In order to use , you need at least one calculator ROM. comes without ROMs, as they are intellectual property of . But you can dump ROM from a calculator you own, by following these simple instructions. Naming ROMs

On startup, AlmostTI will look for the following files in your internal storage (usually "/sdcard"): TI85.ROM, TI86.ROM, TI81.ROM, TI82.ROM, TI73.ROM, TI83.ROM, TI83P.ROM, TI83SE.ROM, TI84P.ROM, TI84SE.ROM, TI-85.ROM, TI-86.ROM, TI-81.ROM, TI-82.ROM, TI-73.ROM, TI-83.ROM, TI-83P.ROM, TI-83SE.ROM, TI-84P.ROM, TI-84SE.ROM The names can be in upper or lower case. You can always repeat the search by clicking on the "Scan Files" menu option or the magnifier icon in the action bar.

VGB for Android VGB emulates Nintendo GameBoy handhelds and their accessories. It plays GameBoy, GameBoy Pocket, GameBoy Color, and Super GameBoy games on your Android phone or tablet. VGB also supports the Pocket Printer, GameGenie cheat codes, and more. Please notice that VGB will not play GameBoy Advance games: you will need VGBA for that. More... Free VGB available here!

Since Google staff has banned the original VGB app from Google Play, I have released the free VGB version on this site . Download it here, spread it wide, let other people know.

Since Google staff has banned the original app from Google Play, I have released the . Download it here, spread it wide, let other people know. Complete VGB now part of VGBAnext

The complete VGB functionality is now included into my universal VGBAnext emulator that runs GameBoy Advance, GameBoy Color, GameBoy Classic, Super GameBoy, NES, Famicom, DiskSystem, and VS System games. Downloading VGBAnext is a good way to help me develop and maintain VGB , while always having the latest updates and support.

The complete functionality is now included into my universal emulator that runs GameBoy Advance, GameBoy Color, GameBoy Classic, Super GameBoy, NES, Famicom, DiskSystem, and VS System games. Downloading is a good way to help me develop and maintain , while always having the latest updates and support. GameLink support

As of Dec 17 2012, VGB supports GameLink emulation over a local network or the Internet. To establish connection, check "NetPlay" in the Android menu. Note that both of your devices have to have valid IP addresses. This feature will not work if one of you is behind NAT.

As of Dec 17 2012, supports emulation over a local network or the Internet. To establish connection, check in the Android menu. Note that both of your devices have to have valid IP addresses. This feature will not work if one of you is behind NAT. RumblePak support

As of Mar 11 2012, VGB supports RumblePak emulation using your device's built-in vibration. Your phone will vibrate every time a game uses the "rumble" feature.

VGBAnext for Android VGBAnext emulates the Nintendo GameBoy Advance handheld. It plays GameBoy Advance games on your Android phone or tablet. Since Google banned my iNES and VGB emulators from the Google Play store, their functionality was merged into VGBA. The new emulator, VGBAnext will play GameBoy Advance, GameBoy Color, GameBoy Classic, Super GameBoy, NES, Famicom, DiskSystem, and VS System games, all in a single app. More... Cheats support

Since Mar 14 2019, I had to disable Cheatopedia, Cheat Editor, and Cheat Hunter features in VGBAnext , since Google Play no longer allows them and bans any apps that come with game cheating features. You can reenable these features yourself, by downloading this file to the Downloads folder on your Android device. VGBAnext will automatically unzip and use that file once you start the app.

Since Mar 14 2019, I had to disable Cheatopedia, Cheat Editor, and Cheat Hunter features in , since Google Play no longer allows them and bans any apps that come with game cheating features. You can reenable these features yourself, by downloading this file to the folder on your Android device. will automatically unzip and use that file once you start the app. GameLink support

As of Jun 13 2012, VGBAnext supports GBA/GBC/GB GameLink multiplayer emulation over a local network or the Internet. For NES games, the second gamepad can be emulated over the network. To establish connection, check "NetPlay" in the Android menu. Note that both of your devices have to have valid IP addresses. This feature will not work if one of you is behind NAT.

As of Jun 13 2012, supports GBA/GBC/GB multiplayer emulation over a local network or the Internet. For NES games, the second gamepad can be emulated over the network. To establish connection, check in the Android menu. Note that both of your devices have to have valid IP addresses. This feature will not work if one of you is behind NAT. VGBAnext does not require GBA BIOS file

It emulates GBA BIOS internally instead.

It emulates GBA BIOS internally instead. VGBAnext supports light sensor, tilt sensor, and RumblePak

You can find these features used in such games as Boktai , Boktai 2 , Warioware Twisted , and Drill Dozer .

You can find these features used in such games as , , , and . If you are having trouble saving games

Use the gameplay freezing feature instead. Press the Android MENU key and select "Freeze/Restore" to save your game. Later on, select the same option to restore your game back to where you have frozen it. Having said that, I would still appreciate a bug report for any game that fails saving/restoring state on its own.

Use the feature instead. Press the Android key and select to save your game. Later on, select the same option to restore your game back to where you have frozen it. Having said that, I would still appreciate a bug report for any game that fails saving/restoring state on its own. If you are still having trouble saving games

If you cannot save games, even with the freezing feature, and the games won't even save state when you exit and restart VGBAnext , you may be low on the disk space. Check how much free space you have got in the folder where your games are. There should be at least 512kB of free space for saving and freezing to work.

If you cannot save games, even with the freezing feature, and the games won't even save state when you exit and restart , you may be low on the disk space. Check how much free space you have got in the folder where your games are. There should be at least of free space for saving and freezing to work. If nothing works, games do not save, cheats do not work

Aside from using a pirated version (that is known to fail randomly, on different features) and low disk space, this problem may sometimes be caused by a package upgrade. You can fix it by completely removing VGBA from your device, then reinstalling it from the Google Play.

Aside from using a pirated version (that is known to fail randomly, on different features) and low disk space, this problem may sometimes be caused by a package upgrade. You can fix it by completely removing from your device, then reinstalling it from the Google Play. Exporting .SAV files to other emulators

VGBAnext will automatically load in-game saves (.SAV) made by other emulators. As of Aug 7 2014, VGBAnext will also store in-game saves in a format compatible with other emulators. Prior VGBAnext versions used their own .SAV format but offered an option to export VBA-compatible .SAV files.

will automatically load in-game saves (.SAV) made by other emulators. As of Aug 7 2014, will also store in-game saves in a format compatible with other emulators. Prior versions used their own .SAV format but offered an option to export VBA-compatible .SAV files. Exporting .STA/.FRZ files to other emulators

Unfortunately, the gameplay state files are in proprietary format and cannot be exported to other emulators. Nor can VGBAnext load proprietary state files (such as .SGM) from other emulators.

Frequently Asked Questions

Answers

I want to report a bug or make a suggestion! The best ways to get help are by reporting your problem on the forum or by emailing me directly. Due to the large number of requests and limited time, I can't handhold you or help you learn how to use my apps. I can only help you if you have found a geniune bug and can explain what it is in clear terms. Generally, it takes a week or two to resolve most issues, unless I am sick, busy, or you are asking about something way over my head. Also note that reporting problems in a Google Play review is not very helpful, as it makes more difficult for me to respond to your complaint and clarify what the problem is. Adding negative rating to your Google Play feedback makes it almost certain that I will not waste my time trying to help you. Thus, start by using the forum or emailing me to get help. To make my job easier, make sure you...

Download the latest application update from Google Play.

Report the make and model of your device, the Android version, as well as the application name.

Please, provide as much details about your problem as you can.

If possible, supply the logcat log output which can be obtained in one of three ways: Run "adb logcat" command on PC (part of Android SDK). Run the DDMS tool on PC (part of Android SDK). Install free Elixir2 application and use it to make and export the log.

log output which can be obtained in one of three ways:

You can find a huge collection of public domain games for old game consoles at the PD ROMs web site. For both legal and ethical reasons, I cannot and will not tell you where to download commercial games for running them with my emulators, even if you email me about it. If you really need to, use an Internet search engine instead. Please, do not download and run any software that you do not already own (i.e. legally bought a cartridge with the same game). It is the right thing to do.

Aside from using a pirated version (that is known to fail randomly, on different features) and low disk space, this problem may sometimes be caused by a package upgrade. You can fix it by completely removing emulator from your device, then reinstalling it from the Google Play.

To protect against piracy, I had to introduce the Google Play license check into commercial versions of my Android apps. Every now and then, the license check will use the Google Play Store app on your device to see if you have actually bought my app. This operation is completely transparent to the user, unless it fails. My statistics show that license checks fail for about 3% of people. In order to stay in the other 97%, make sure that

Your device is logged into the same Google account you used to buy the app.

Your device has at least intermittent Internet connection, so that the Google Play Store app can connect to the server.

If the above two steps do not help, try uninstalling and then reinstalling the application.

If the above steps do not help, try enabling "Background Data Connections" in your device. There are reports of Google Licensing failing with this setting disabled.

in your device. There are reports of Google Licensing failing with this setting disabled. If the above steps do not help, go to "Manage Apps" , stop the Google Play Store app, and clear its data.

, stop the Google Play Store app, and clear its data. If the above steps do not help, reboot the device.

If everything fails, contact Google Play support and ask them to track the problem from their end.

The two most common reasons are lack of free disk space and active USB connection to a computer that locks your storage from changes. Also, starting with Android 3.2+, Google essentially disabled writing to the external SD card. This means that if you place emulator files to the external SD card, emulators may not be able to save game states or screenshots. If you encounter this problem with your device, avoid it by always placing files to the internal SD card.

Do your emulators work on rooted devices?

All my applications run normally on rooted devices. There is a catch though. If you have a rooted device with LuckyPatcher or some other cracking tool installed, my products will not run on your device. You always have a choice of removing the pirate tools: once they are gone, my applications will run, whether your device is rooted or not.

First of all, my emulators will always try to mimic the actual hardware speed. You can easily verify that by enabling the "Video | Show Frame Rate" option and noting the "fps" value at the top-left screen corner. As long as this value stays close to 60fps (50fps for PAL hardware like ZX Spectrum), your speed is just fine. If you still want emulation to run faster than that, disable the "Video | Sync Display" option and watch things take off.

Let us now suppose that you are not getting the optimal speed. The emulation speed generally depends on your hardware, the other software you are running, and your emulation settings. Follow these simple steps to improve the speed:

Disable CPU-intensive "Video | Soften Video" and "Video | TV Scanlines" options to free CPU for more important tasks.

and options to free CPU for more important tasks. Enable "Video | Hardware Video Acceleration" option to start scaling video with the 3D accelerator hardware, instead of the CPU.

option to start scaling video with the 3D accelerator hardware, instead of the CPU. Disable "Video | Sync Display" option to remove the speed limiter and run emulation as fast as possible instead.

option to remove the speed limiter and run emulation as fast as possible instead. Open "Video | Frames to Draw" setting and choose a lower number of frames to draw. My experience shows that you can easily set it to 30-35% frames without sacrificing too much gameplay quality. Do not set it to "Auto", as it may sometimes slow the emulation down.

To make FFWD button a toggle switch, enable "General | Persistent Fast-Forward" option. Please note that if you are trying to play games with fast-forwarding always on, you may be better off following performance improvement advice instead.

To quickly toggle the title bar, place your finger at the middle of the screen and flick it up to the top to hide the the bar. To make the title bar reappear, flick your finger down from the top of the screen. You can also choose to hide the title bar on startup, by enabling the "General | Hide Title Bar" option. This will also hide the menu though. To get the menu back, flick your finger down the screen.

There appears to be a bug in Android 2.x (Gingebread) that breaks OpenGLES views when you rotate the device. Starting from August 2013, all my emulators come with a workaround for this bug. So, if you are experiencing this problem, head to Google Play and download the latest version of my app.

When scaling pictures, the OpenGLES hardware always adds a bit of blur, to avoid ugly scaling artifacts. If you do not like the fuzzy picture, disable the "Video | Hardware Video Acceleration" option for the crystal clear image, at the cost of lower performance and shorter battery life.

When not using hardware video acceleration, the emulator will scale picture with the highly optimized assembler code running on your main CPU. This code is tailored for several different screen resolutions. The emulator will choose the resolution that best matches your screen, but may not completely fill it. If you would like the picture to fill your whole screen, enable the "Video | Hardware Video Acceleration" option.

Several emulators, such as iNES and VGB, let you change the color palette to the one you like. In order to make a custom color palette for a game named Game.nes or Game.gb , create a text file named Game.pal with 64 (for iNES) or 16 (for VGB) color definitions in the RRGGBB format, one per line. If you want to have the same custom palette for all the games, place it into /sdcard/iNES/iNES.pal or /sdcard/VGB/VGB.pal instead. Here is a sample VGB palette file:

FFFFFF ; Normal colors 989898 585858 000000 FFFFFF ; Background colors 989898 585858 000000 FFFFFF ; Sprite colors 989898 585858 000000 FFFFFF ; Window colors 989898 585858 000000

If you feel that the sound lags on your device (i.e. you hear shots a little bit after pressing the fire button), try decreasing the "Audio | Audio Latency" setting. Reducing it too much may cause sound distortions though, so be careful. If your audio becomes distorted, increase the latency. You may also want to try toggling the "Audio | Native Audio" option and see if it makes sound better.

If you are hearing clicks and pops in the sound, increasing the "Audio | Audio Latency" setting should fix your problem, at the cost of some sound lag. If the sound issues persist, set "Video | Frames to Draw" setting to 35%, or enable "Video | Hardware Acceleration" option to speed up display updates. You may also want to try toggling the "Audio | Native Audio" option and see if it makes sound better.

The echo often occurs on slower devices, where emulation cannot keep up with the audio, so the audio repeats, while emulation catches up. You can avoid this problem by optimizing performance to make emulator run faster. If the sound still echoing, increase the "Audio | Audio Latency" setting. You may also want to try toggling the "Audio | Native Audio" option and see if it makes sound better.

A lot of Android devices have limited multitouch that only lets you use two fingers. On these devices, you simply cannot press more than two virtual buttons at once. My emulators offer a workaround of sorts though. Go into the "Input | Edit Layout" setting and drag buttons so that they overlap a little bit. Now, you can press both buttons by touching the overlapped spot.

To resize joystick buttons, open the "Input | Virtual Joystick Size" setting and choose any size you like. To move buttons, open the "Input | Edit Layout" setting and drag buttons around the screen to the most comfortable spots. Keep in mind that when you rotate your device, each button will "stick" to the closest screen edges.

Normally, you will see transparent controls overlaid on top of the display. To change their opacity or hide the controls altogether, use the "Input | Virtual Joystick Opacity" and the "Input | Virtual Joystick Shape" settings. You can also control the joystick by physically tilting your device, if your device has an accelerometer and you enable the "Input | Tilt Joystick" option.

In my apps, released after August 14 2015, you can supply your own virtual joystick skin. Make a Controls.png file using the image at the right as your template, then stick it into the emulator-specific folder, like /sdcard/iNES or /sdcard/VGB . Then go into "Settings | Input | Edit Joystick Layout" and select "Custom Skin" as the joystick shape.

See the "Input | Auto Fire Settings" setting. It lets you choose what buttons are going to have auto-fire.

Of course you can use your generic keyboard, gamepad, or joystick with any of my emulators. If your gamepad has a mode switch, make sure it is set to the "generic gamepad" position. You may also want to visit the "Input | Assign Keys" setting in order to make a comfortable button layout for yourself. By default, your keys are going to be assigned as follows:

Emulator Keyboard Gamepad Xperia Play FIRE-A SPACE, A, S, D, F, G, H, J, K, L A CROSS FIRE-B Z, X, C, V, B, N, M B CIRCLE FIRE-L Q, E, T, U, O L1 L FIRE-R W, R, Y, I, P R1 R SELECT TAB SELECT, X SELECT, SQUARE START ENTER START, Y START, TRIANGLE FFWD SEARCH none SEARCH MENU MENU MENU, MODE, A+BACK MENU

Starting Feb 26 2013, all new releases of my emulators natively support MOGA gaming controller. Simply turn it on, and once you see the "MOGA controller connected" message on the screen, it is ready to play with. You can still use MOGA with older versions of my products with the help of the free universal MOGA driver available from Google Play. This little app should let you use the MOGA with many applications that do not normally support it.

Starting Apr 5 2013, all my emulators support iCade joysticks. To enable iCade support, toggle the "Input | iCade Support" option. You may also want to customize the button layout via the "Input | Assign Keys" setting.

If you have got a Sony Sixaxis gamepad and a rooted Android device, you can use the gamepad over Bluetooth, with the help of the Sixaxis Controller app from Dancing Pixel. See the application web site for instructions.

For Nintendo Wiimote users, here is a short tutorial on using Wiimote with my applications, provided by Robert McCurdy.

Most of my emulators now support the NetPlay feature that lets you play with other users over your local WiFi network or the Internet. To establish connection, follow these steps:

Both players should be running the same game.

Both players should be on the same WiFi network or have externally visible IP addresses. NetPlay will not work through NAT.

will not work through NAT. The first player should select "NetPlay" from the menu and then choose "Become Server" option.

from the menu and then choose option. The second player should select "NetPlay" from the menu and then choose first player's name from the list of available servers.

from the menu and then choose first player's name from the list of available servers. Both emulators will now reset and start playing as if they were the same console with two gamepads.

Once you are done playing, uncheck "NetPlay" on both devices to disconnect the NetPlay.

In order to use network play, both players must be running the same game and have mutually visible IP addresses. It is only possible if

You and your friend are on the same local network, such as same WiFi.

You and your friend have globally visible Internet addresses.

You will not see each other in the NetPlay dialog, unless these conditions are met.

Unlike stationary consoles which came with a pair of gamepads, the GameBoy and GameBoy Advance handhelds had a special serial cable that let users connect 2-4 handhelds together, for cooperative play. This cable is known as the GameLink and supported in my GameBoy emulators, VGBA and VGB. The GameLink connection works exactly the same way as a regular NetPlay connection.

When using NetPlay, each player must send a lot of data over the network and wait for the other player to acknowledge every packet they send. This wait time slows down the gameplay speed for both players. The wait is slightly worse for GameLink (in VGBA and VGB) because the data needs to be sent more often. While this slowdown is unavoidable and depends on your network speed, I am working to reduce it in the upcoming versions of my products.

Many games are available in different versions, in different languages, or with bugfixes. In order for a cheat code to work, you need to be running exactly the same version of the game that this cheat code has been discovered for. The codes will not work for a different game version, even on the real GameShark or ActionReplay hardware. Besides, many cheat codes found on the Internet contain errors and will not work on any game version. Given how unreliable cheats are to begin with, I usually can't answer the question why your cheat does not work.

The easiest way to use cheat codes is by going to Android menu and choosing "Cheats | Cheatopedia" there. Cheatopedia contains premade cheats for many popular games.

To enter cheats manually, go to the Android menu and choose "Cheats | Edit Cheat Codes". Use the cheat editing interface to add, delete, or edit cheat codes. The editor will not let you enter a code unless your code strictly follows one of the relevant formats:

System Device Format Comment GBA ActionReplay or GameShark XXXXXXXX XXXXXXXX "X" = digit from "0" to "9" or letter from "A" to "F". CodeBreaker or GameSharkSP XXXXXXXX XXXX "X" = digit from "0" to "9" or letter from "A" to "F". GB/GBC GameGenie XXX-XXX-XXX "X" = digit from "0" to "9" or letter from "A" to "F". GameShark XXXXXXXX "X" = digit from "0" to "9" or letter from "A" to "F". NES GameGenie XXXXXX or XXXXXXXX "X" = letter from "A" to "Z". ActionReplay XXXXXXXX "X" = digit from "0" to "9" or letter from "A" to "F", the first two digits are usually "00" or "01". SMS/GG GameGenie XXX-XXX or XXX-XXX-XXX "X" = digit from "0" to "9" or letter from "A" to "F". ActionReplay XXXX-XXXX "X" = digit from "0" to "9" or letter from "A" to "F". CV Memory POKE XXXX-XX or XXXX-XXXX "X" = digit from "0" to "9" or letter from "A" to "F". MSX Memory POKE XXXXXXXX-XX or XXXXXXXX-XXXX "X" = digit from "0" to "9" or letter from "A" to "F".

Please note that emulators will only accept cheat codes in the above formats (whatever ones are relevant). They will not accept codes in any other formats. So, if you cannot enter a code, carefully check its format. Finally, be aware that not all cheats you find on the Internet work, even on the real hardware. Never mix cheats from different sources and try to use cheats that are known to work on at least some other emulator.

After you are done entering cheats, press the Android BACK key to return to the emulator.

key to return to the emulator. If you are not sure that your cheats are saved, select the "Save" from the Android menu before returning to the emulator.

from the Android menu before returning to the emulator. To toggle cheats on/off inside the emulator, go to the Android menu and choose "Cheats On/Off" .

. After exiting and reentering the emulator, you have to toggle cheats on again. The cheats are always off at startup.

Most of my emulators include the Cheat Hunter tool letting you search for your own cheats in any game. To use the tool, follow these simple steps:

Start a game and select "Cheats | Cheat Hunter | Add Watch" .

. Enter the value to search for (money amount, ammo count, lives), how it changes, and the replacement value (like 99).

Play the game to make the watched value change.

Select "Cheats | Cheat Hunter | Scan for Changes" to find changed memory locations.

to find changed memory locations. Repeat previous two steps several times, to minimize false positives.

Select "Cheats | Cheat Hunter | Create Cheats" to add and enable found cheat codes.

to add and enable found cheat codes. To browse and edit newly found cheats, use "Cheats | Edit Cheats".

Yes, you can extend Cheatopedia with your own cheats. In order to do that, you will have to place a text file called custom.chts into emulator-specific folder: /sdcard/VGBA , /sdcard/VGB , or /sdcard/iNES . This file should have the following format:

[(Custom Cheats)] Menu=Game 1 Menu=Game 2 ... [Game 1] Menu=Cheat 1 Menu=Cheat 2 ... [Cheat 1] 12345678 9ABCDEF0 87654321 0FEDCBA9 ...

single-line

[Game 1] Code=5A5A5A5A 23232323 : Cheat 1 Code=76767676 01010101 : Cheat 2

custom.chts