fMSX Deluxe - MSX Emulator
Action (Games)

fMSX is an MSX home computer emulator. It runs MSX, MSX2, and MSX2+ games and other software on your Android phone or tablet. Play MSX games with Bluetooth gamepads, Xperia gaming buttons, Moga gamepads, or iCade joysticks. Save gameplay at any time and restart once you get killed. Record MSX music to MIDI files and use them as ringtones. Play with friends over WiFi or Internet, using NetPlay. Play on a 55" GoogleTV, using your remote or a USB joystick.

* Optimized for Android devices using assembler and 3D hardware acceleration, and running MSX software at the fastest possible speed.
* Full screen portrait or landscape mode emulation, with options for simulating TV scanlines and fuzzy TV display.
* Loads ROMs (*.rom), disk images (*.dsk) and tape images (*.cas).
* Supports PSG, SCC, and FM-PAC (OPLL) MSX sound chips.
* Emulates joystick using touch screen, Bluetooth controllers, physical keyboard, or accelerometer.
* Emulates MSX mouse.
* Supports GoogleTV devices running Android 4.x (Jelly Bean), such as LG G2/G3.
* Supports Moga, iCade, Nyko PlayPad, and other Bluetooth and USB gamepads.
* Supports Xperia Play gaming buttons.
* Network play feature lets you play with other fMSX users over the network.
* State Exchange feature lets you swap saved MSX states with other users.

This is the full version of fMSX. It is free of ads and nagging.

fMSX package itself does not contain any MSX programs. You should place your own MSX files onto the SD card before running fMSX.

Please, do not run any software you do not own with fMSX. The author cannot and will not tell you where to find free MSX games or other software.

Please, report any encountered problems here:

What's New
Version 5.4 (May 21, 2018)

* Released free fMSX 5.4 for Windows and Linux.
* Made replay save states approximately every 170ms.
* Added ability to browse through paused replay.
* During replay, press [LEFT] and [RIGHT] keys to browse.
* Press [UP] to resume replay, any other key to continue.

Expand notes
Version 5.3 (Apr 02, 2018)

* Released free fMSX 5.3 for Windows and Linux.
* Made sure first player always gets stock gamepad on Nvidia ShieldTV.
* Either player can open menu or exit emulation now.
* Compiled with -Wall and eliminated warnings.
* Removed old LoadSTA() and SaveSTA() code.
* Finally deprecated -DNEW_STATES.

Expand notes
Version 5.2.2 (Jan 25, 2018)

* Added remaining time display during replay.
* Fixed replay rollover mechanism.
* Added shadow underneath the time display.
* Settings activity now uses black/white UI setting.
* Switched Settings to Material Design on Lollipop+.
* Fixed native crash when saving state.
* Fixed several other possible sources of native crashes.

Expand notes
Version 5.2.1 (Jan 04, 2018)

* Fixed desktop icon placement.
* Fixed crash when passing "file://" URI via desktop icon.
* Fixed DropBox crash when app folder has subfolders.

Expand notes
Version 5.2 (Dec 13, 2017)

* Released free fMSX 5.2 for Windows and Linux.
* Switched to the latest android-27 SDK.
* Now using Android build tools version 27.0.2.
* Fixed gamepad on Nvidia ShieldTV and other AndroidTV devices.
* Any input devices named as "virtual-*" are now ignored.
* Any virtual (android-16) and disabled (android-27) devices are ignored.

Expand notes
Version 5.1.2 (Nov 22, 2017)

* Fixed issue with backup save file being chosen over the normal one.
* Switched to DropBox APIv2. DropBox support works again.
* Use "Settings | General | Reset All Settings" to remove old DropBox token.
* Fixed upload dates on the DropBox files.
* Made DropBox worker queue more reliable.
* Renamed DropBox authorization activity.
* Fixed a few other bugs in the DropBox code.

Expand notes
Version 5.1.1 (Oct 23, 2017)

* Released free fMSX 5.1 for Windows and Linux.
* Greatly improved the Layout Editor, fixing many bugs.
* Layout Editor now lets you resize screen and keyboard in both dimensions.
* Screen and keyboard rectangles will stay centered while resizing.
* Buttons gravity will be restored when resetting layout.
* Made states/screenshots deletion more reliable.

Expand notes
Version 5.1 (Oct 04, 2017)

* Made MSX machine model and other emulation options persistent.
* Reenabled ability to navigate through unreadable folders, unless it is root folder.
* Made folder listing error a bit less threatening, since it has become the new normal in Android 7+.
* Fixed hangup on exit where Java code waits for non-existent native thread.
* Removed outdated features from the EMULib code.

Expand notes
Version 5.0.1 (Sep 13, 2017)

* Added "Change Folder" option to the File Selector.
* Fixed File Selector getting stuck at unreadable folders.
* Fixed several crashes reported in Google Play console.
* Fixed native crash when processing initial commands sent by Java side.
* Fixed crash when loading an invalid skin bitmap file.
* Hopefully fixed a crash in the native startup code.
* Hopefully fixed two native crashes when drawing screen.
* Fixed the order of calls in onPause() / onStop() / onDestroy().

Expand notes
Version 5.0 (Jul 11, 2017)

* Released free fMSX 5.0 for Windows and Linux.
* Switched to microseconds in the AY8910 PSG emulation.
* Now updating, rendering, and playing sound every 8 scanlines.
* The PLAY "S8M90O6G" MML test works now.

Expand notes
Version 4.9.3 (Jun 14, 2017)

* Eliminated false directional events from analog gamepads (XBox360).
* No longer asking for READ_PHONE_STATE permission in fMSX-Deluxe.
* Fixed crashes reported by the new Google Play Console.
* Fixed crashes in the File Selector progress dialog.
* Fixed crash when blitting image to screen while exiting.
* Fixed crash when exiting Palette Editor and Gallery on Android Nougat.
* Hopefully fixed rare crash in the File Selector onCreate().
* Hopefully fixed rare crash in Palette Editor RGB dialog.

Expand notes
Version 4.9.2 (May 03, 2017)

* Fixed and refactored display updates synchronization.
* Fixed support for opening MSX files from Astro File Manager.
* Added support for opening "content://" URIs.
* Refactored file type definitions in the manifest.
* Refactored EMULib library code.
* Moved virtual buttons implementation into OvrButton class.
* Moved file-specific utilities into FileInfo class.

Expand notes
Version 4.9.1 (Apr 05, 2017)

* Fixed CMY/RGB filter shaders on low-end GPUs (Mali-400).
* Fixed scanline simulation shaders on low-end GPUs (Mali-400).

Expand notes
Version 4.9 (Mar 16, 2017)

* Released free fMSX 4.9 for Windows and Linux.
* Removed text cues from joystick skins that have them already.
* Analog gamepad triggers now mapped to L2/R2 buttons.
* Tapping screen in Layout Editor toggles title bar now.
* Items no longer jump in Layout Editor when you start moving them.
* Fixed MIDI drums option that simulates noise channel with drums.
* MIDI now computes and uses effective power of a waveform.

Expand notes
Version 4.8 (Feb 06, 2017)

* Released free fMSX 4.8 for Windows and Linux.
* Added "Video | Scale Video | Stretch to 4:3 Ratio" option.
* Added "Video | Interpolation Effect | HQ4X" option.
* Added "Video | Interpolation Effect | Disable" option.
* Disabled GLES linear interpolation, unless "Default" selected.
* Made title bar transparent in Layout Editor, when "Hide Title Bar" enabled.
* Added effective waveform volume computation to the MIDI soundtrack recorder.
* Corrected MIDI drums volume in AY8910 PSG emulation.

Expand notes
Version 4.7.5 (Dec 05, 2016)

* Optimized OpenGLES shaders used in scaling algorithms and filters.
* Added "Audio | Sampling Rate | Automatic" option for best available sound.
* Always using optimal rate and buffer size when "Automatic" selected.
* Added "Audio | Sampling Rate" options for 24kHz and 48kHz sound.

Expand notes
Version 4.7.4 (Nov 07, 2016)

* Fixed loading states and rewinding for 16kB MegaROMs and FMPAC.
* Now always hiding FAB buttons on devices with no touchscreen.
* Switched to Android Nougat platform (android-25).
* Switched to JDK 1.8, NDK 13, CLANG toolchain, newest ANT and ProGuard.
* Refactored all native code, fixing CLANG warnings.
* Added split window support on Android Nougat.
* Added freeform window support for upcoming Androids.
* On Marshmallow+, app asks for permissions on startup.

Expand notes
Version 4.7.3 (Oct 17, 2016)

* More fixes to BASIC-only cart loader (Karamaru, etc).
* Fixed code that selects app to run when opening a cart, tape, or disk.
* Fixed inconsistently initialized preferences.
* Fixed "Quit" option in the File Selector menu.
* Made "What's New" dialog fill the screen.

Expand notes
Version 4.7.2 (Sep 28, 2016)

* Fixed loading of BASIC-only cartridges (Danger X4, Crazy Bullet, etc).
* Added a hack to ignore bad writes to ASCII16 MegaROM mapper (Vaxol).
* Added CRT vignetting simulation effect.
* Enable "Video | Hardware Acceleration" to see new effect.
* Check "Video | Apply CRT Vignette" to enable vignetting.
* Special functions (freeze, restore, etc.) can be assigned to gamepad.
* See L1, L2, R1, R2, THUMBL, THUMBR under "Input | Assign Special Keys".
* Fixed framerate counter display.

Expand notes
Version 4.7.1 (Sep 16, 2016)

* Fixed crash on exiting emulation introduced in version 4.7.
* Released free fMSX 4.7 for Windows and Linux.
* Added "In Android Gallery" option to File Selector menu.
* Uncheck it to stop Android Gallery from indexing the current folder.
* Automatically excluding /sdcard/fMSX from media indexing.
* Removed Chartboost ads from the free version (they suck and never pay anyway).

Expand notes
Version 4.7 (Sep 15, 2016)

* Released free fMSX 4.7 for Windows and Linux.
* Added "In Android Gallery" option to File Selector menu.
* Uncheck it to stop Android Gallery from indexing the current folder.
* Automatically excluding /sdcard/fMSX from media indexing.
* Removed Chartboost ads from the free version (they suck and never pay anyway).

Expand notes
Version 4.6.3 (Aug 24, 2016)

* Added 2xSAI and Scale2X scaling algorithms using GLES2 shaders.
* Enable "Video | Hardware Acceleration" to see new algorithms.
* Select 2xSAI algorithm via "Video | Scale Video".
* Added Monochrome, Green, Amber, and Sepia color filters.
* Select your color filter via "Video | Color Filter".
* Added CPU-only Scale2X algorithm implementation.
* Renamed "Color Mask" option to "Color Filter".
* Optimized EPX and EAGLE scaling shaders.
* Fixed TV scanlines and raster settings.

Expand notes
Version 4.6.2 (Aug 04, 2016)

* Added EPX and EAGLE scaling algorithms using GLES2 shaders.
* Enable "Video | Hardware Acceleration" to see new algorithms.
* Select scaling algorithm via "Video | Scale Video".
* Added high-quality scanline effects using GLES2 shaders.
* Select effect via "Video | Scanline Effect".
* Added color raster effects using GLES2 shaders.
* Select color raster effect via "Video | Color Mask".
* You can combine scaling, scanline, and color raster effects.

Expand notes
Version 4.6.1 (Jul 13, 2016)

* Added "Emulation | Load MSX2DOS.ROM" option.
* If disk-based software does not load, try disabling MSX2DOS.ROM.
* Added "Emulation | Patch BDOS Calls" option.
* Patched BDOS calls will be emulated by fMSX code.
* Switched to OpenGLES2 rendering for accelerated video.
* OpenGLES2 is faster and allows for future special effects.
* Press X to apply changes, Y to reset them in Cheat Editor and Palette Editor.
* Now disabling Joystick Layout Editor on devices with no touchscreen.

Expand notes
Version 4.6 (Jun 21, 2016)

* Released free fMSX 4.6 for Windows and Linux.
* Enabled magnified sprites (Jawbreaker, Stray Cat, F-Zeru, Triumph).
* Fixed sprite collision detection, especially in BASIC games.
* Added collision detection even on transparent sprites.
* Now stopping collision detection when Y=216 in SCREEN 4-8.
* Now setting lower VDPStatus bits to the last tested sprite.
* Fixed the Joystick Layout Editor.
* Buttons no longer shift from where you set them.
* Custom screen / keyboard go where they should now.

Expand notes
Version 4.5.5 (Jun 01, 2016)

* Added "General | Add Overscan Margins" option for AndroidTV.
* Menu should now work on AndroidTV inside the emulator.
* Replaced options menu with context menu for AndroidTV.
* Added "Toggle cheats" special key function.
* Declared emulation activities enabled for external use.

Expand notes
Version 4.5.4 (May 11, 2016)

* Made virtual keyboard wrap when navigating with gamepad.
* Fixed missed item clicks in the File Selector.
* Fixed fast-scroll index in the File Selector.
* Fixed File Search feature on newer Androids.
* Adjusted portrait background image in the Layout Editor.
* Optimized default preferences update on startup.

Expand notes
Version 4.5.3 (Apr 27, 2016)

* Layout Editor now allows you to adjust keyboard location.
* Move keyboard rectangle around, or resize it with two fingers.
* Layout Editor got separate layouts for landscape and portrait modes.
* Fixed Layout Editor to always save changes before emulation resumes.
* Made Layout Editor always rotate when device rotated.

Expand notes
Version 4.5.2 (Mar 29, 2016)

* Added "Input | Assign Special Keys" setting.
* Use new setting to assign functions (menu, ffwd, etc) to hardware keys.
* Removed "General | Use PLAY/RECORD Media Keys" option.
* Removed "General | Use FFWD/REWIND Media Keys" option.
* Added "Purchase Me" FAB buttons to the free version.
* Removed outdated org.apache.http.* API from the State Exchange.

Expand notes
Version 4.5.1 (Mar 16, 2016)

* Add home screen shortcuts via File Selector context menu.
* Long press to delete state in the State Selector.
* State Selector now starts with autosaved slot selected.
* Added a "Rate Me" FAB button to the Settings (disappears when pressed).
* Fixed errors when screenshots not found in State Selector.
* Fixed individual slot heights in State Selector.
* Fixed State Selector crashes (reported on IUNI devices).
* Removed deprecated Java code.
* Merged pre- and post-Gingerbread native code.

Expand notes
Version 4.5 (Feb 23, 2016)

* Released free fMSX 4.5 for Windows and Linux.
* Added option to hide FFWD button ("General | Show FFWD Button").
* Now disabling FAB button by default on AndroidTV devices.
* Fixed Freeze/Restore dialog crashes (reported on IUNI devices).
* Fixed disappearing FAB button.

Expand notes
Version 4.4.4 (Jan 23, 2016)

* Fixed MSX2 video problems accidentally introduced in fMSX 4.4.2.
* Fixed state saving problems accidentally introduced in fMSX 4.4.2.
* Changed VRAM access logic according to TMS9918 datasheet.
* Added ability to periodically save gameplay.
* Added "General | Save Emulation State" selector.
* Removed "General | Save State on Exit" option.

Expand notes
Version 4.4.2 (Jan 21, 2016)

* Changed VRAM access logic according to TMS9918 datasheet.
* Added ability to periodically save gameplay.
* Added "General | Save Emulation State" selector.
* Removed "General | Save State on Exit" option.

Expand notes
Version 4.4.1 (Dec 24, 2015)

* Fixed Cheat Editor not finding .cht files in private SD card folders.
* Fixed BACK key on devices where it did not exit emulation.
* Fixed the first/second gamepad detection.
* Fixed a crash in the File Selector when showing grid.
* Returned gradient to the action bar (sorry, Material Design).
* Amplified pixel color raster effects.
* Switched to v2 authentication in DropBox.
* Upgraded to DropBox SDK 1.6.3.
* Improved the What's New dialog.

Expand notes
Version 4.4 (Dec 07, 2015)

* Released free fMSX 4.4 for Windows and Linux.
* Added "Input | Assign Keyboard Keys" option for mapping arbitrary keys.
* Renamed "Assign Keys" to "Assign Joystick Buttons".
* Switched to android-22 (Lollipop 5.1.1) Android SDK.

Expand notes
Version 4.3.1 (Nov 05, 2015)

* Added "Video | Color Mask Effect" selector.
* Added "CMY pixels" and "RGB pixels" special effects.
* Added "Video | Interpolation Effect" selector.
* Added "EPX interpolation" and "EAGLE interpolation" effects.
* Renamed "Soften Video" to "2xSal interpolation".
* Merged "Scale Video" and "Stretch Video" into one selector.

Expand notes
Version 4.3 (Oct 15, 2015)

* Released free fMSX 4.3 for Windows and Linux.
* Instant replay now records all keyboard activity.
* Fixed a memory corruption bug in the instant replay recorder.
* Fixed instant replay not recording the first state.
* Changed NetPlay algorithm to be the same as on Windows/Linux.

Expand notes
Version 4.2.7 (Sep 14, 2015)

* Added new background image, nicer and with no gaps.
* Added new icon for fMSX-Deluxe, to differentiate from fMSX.
* Now automatically creating /sdcard/fMSX if missing.
* When fMSX cannot write SD card, it will save to /sdcard/fMSX.

Expand notes
Version 4.2.6 (Aug 28, 2015)

* Added joystick skins, place your own skin into /sdcard/fMSX/Controls.png.
* Added "Input | Layout Editor | Shape | Custom Skin" option for choosing your skin.
* Sample joystick skin image available at
* Made action bar optional on devices with MENU button (off by default).
* Added "General | Enable Action Bar" option for devices with MENU button.
* Added exception for LG Optimus Zone 2 (does not show submenus).

Expand notes
Version 4.2.5 (Aug 06, 2015)

* Tested and optimized for Nvidia Shield AndroidTV box.
* Reenabled action bar on devices with physical MENU key.
* Fixed a crash in the State Exchange browser.
* Improved fMSX Deluxe banner.

Expand notes
Version 4.2.4 (Jul 10, 2015)

* Released free fMSX 4.2 for Windows and Linux.
* Fixed Joystick Layout Editor to properly show labels and gravity.
* Press both thumb sticks at once to open menu inside a game.
* Added separate icons and banners for fMSX and fMSX-Deluxe.
* fMSX will automatically start fMSX-Deluxe, if it is installed.

Expand notes
Version 4.2.3 (Jun 17, 2015)

* Added second player, if you have two gamepads connected.
* To play together, connect both gamepads before starting fMSX.
* Added Material Design icons everywhere.
* Retouched virtual gamepad images.

Expand notes
Version 4.2.2 (May 29, 2015)

* Added "General | Reset All Settings" option.
* Added virtual keyboard control from any gamepad, not just TV.
* Pressing BUTTON_R1 now invokes File Selector context menu.

Expand notes
Version 4.2.1 (May 06, 2015)

* Made virtual keyboard work without touchscreen.
* Fixed virtual HOME/CLS key.
* Added optional floating action button.
* Removed waveform interpolation for more realistic sound.
* Added overscan border on AndroidTV.
* Redesigned key mapping dialog.
* Press same key twice to remove mapping, three times to confirm dialog.
* Enabled gamepad-only mode in emulator and File Selector.
* Press BACK on gamepad to exit, MODE or A+BACK to open menu.
* Press L1/R1/X for MSX SHIFT/GRAPH/CONTROL keys.

Expand notes
Version 4.2 (Apr 29, 2015)

* Added optional floating action button that starts the last played game.
* Removed waveform interpolation for more realistic sound.
* Tested on ADT-1 and optimized for AndroidTV, adding overscan border.
* Redesigned key mapping dialog.
* Press same key twice to remove mapping, three times to confirm dialog.
* Enabled gamepad-only mode in emulator and File Selector.
* Press BACK on gamepad to exit emulation.
* Press MODE or A+BACK to open menu.
* Press L1/R1/X for MSX SHIFT/GRAPH/CONTROL keys.

Expand notes
Version 4.1.5 (Mar 29, 2015)
Version 4.1.4 (Mar 04, 2015)
Version 4.1.3 (Feb 10, 2015)
Version 4.1.2 (Jan 11, 2015)
Version 4.1.1 (Dec 02, 2014)
Version 4.1 (Nov 04, 2014)
Version 3.9.6 (Sep 30, 2014)
Version 3.9.5 (Sep 02, 2014)
Version 3.9.4 (Jul 24, 2014)
Version 3.9.3 (Jul 03, 2014)
Version 3.9.2 (Jun 11, 2014)
Version 3.9.1 (May 28, 2014)
Version 3.9 (May 07, 2014)
Version 3.8.2 (Apr 17, 2014)
Version 3.8.1 (Mar 26, 2014)
Version 3.8 (Feb 27, 2014)
Version 3.7.14 (Feb 13, 2014)
Version 3.7.13 (Jan 29, 2014)
Version 3.7.12 (Jan 15, 2014)
Version 3.7.10 (Dec 31, 2013)
Version 3.7.9 (Dec 19, 2013)
Version 3.7.8 (Dec 04, 2013)
Version 3.7.7 (Nov 21, 2013)
Version 3.7.6 (Oct 29, 2013)
Version 3.7.5 (Oct 15, 2013)
Version 3.7.4 (Sep 20, 2013)
Version 3.7.3 (Aug 27, 2013)
Version 3.7.2 (Jul 25, 2013)
Version 3.7.1 (Jul 11, 2013)
Version 3.7 (Jul 08, 2013)
Version 3.6.15 (Jun 19, 2013)
Version 3.6.14 (May 28, 2013)
Version 3.6.13 (May 03, 2013)
Version 3.6.12 (Apr 24, 2013)
Version 3.6.11 (Apr 11, 2013)
Version 3.6.10 (Mar 28, 2013)
Version 3.6.9 (Mar 05, 2013)
Version 3.6.8 (Jan 30, 2013)
Version 3.6.7 (Jan 03, 2013)
Version 3.6.6 (Dec 11, 2012)
Version 3.6.4 (Oct 20, 2012)
Version 3.6.2 (Oct 17, 2012)
Version 3.6.1 (Sep 29, 2012)
Version 3.6 (Aug 23, 2012)
Version 3.5.34 (Jul 26, 2012)
Version 3.5.32 (Jul 07, 2012)
Version 3.5.31 (Jul 06, 2012)
Version 3.5.30 (Jul 04, 2012)
Version 3.5.29 (Jun 28, 2012)
Version 3.5.28 (May 13, 2012)
Version 3.5.27 (May 06, 2012)
Version 3.5.26 (May 02, 2012)
Version 3.5.25 (Mar 21, 2012)
Version 3.5.24 (Mar 06, 2012)
Version 3.5.23 (Feb 16, 2012)
Version 3.5.21 (Jan 26, 2012)
Version 3.5.19 (Jan 17, 2012)

2 0 1 1 - 2 0 1 9