Web symbware.com

fMSX v1.10  (Last Update : 2006-04-21)
  Platform ............. S60
  License .............. Freeware
  Publisher ........... Juha Riihimaki
  File Size ............ ~114KB
  Download .......... n/a
Filed under: Free Emulators
fMSX v1.10 ScreenshotfMSX v1.10 Screenshot
MSX is an 8-bit home computer that first saw light in 1983. With this emulator you can play hundreds of games available in the web for the MSX platform. Emulation core is originally based on an adapted version of the fMSX/Unix version 2.7 source code.
More »»
↓ Add your comments ↓
↓ Compatible cell phones ↓
Nokia 3230 3250 3600 3620 3650 3660 5500 6260 6600 6620 6630 6670 6680 6681 6682 7610 7650 E50 E60 E61 E70 N70 N71 N72 N73 N80 N90 N91 N92 N93 N-Gage N-Gage QD

Benq Siemens SX1 P30

Panasonic X700 X800

Samsung D710 D720 D730 Z600

Sendo X X2

Lenovo P930

↓ Full description and features ↓
MSX emulator for the Series 60 platform. MSX is an 8-bit home computer that first saw light in 1983. With this emulator you can play hundreds of games available in the web for the MSX platform. Emulation core is originally based on an adapted version of the fMSX/Unix version 2.7 source code. Although recent versions of the emulation core still resemble the fMSX/Unix logically almost no part of the original fMSX/Unix code is left in fMSX/S60. I have decided to keep the emulator name as fMSX still to honour the roots of the emulation code and the efforts of the fMSX/Unix author. Critical sections in fMSX/S60 have been written directly in ARM assembly language to gain speed. Main features are:

* Emulates MSX1, MSX2 and MSX2+ machines.
* AY8910 (PSG), SCC, SCC+ and YM2413 (OPLL, MSX-Music) sound chips emulated.
* Supports ROM cartridge (.rom), disk (.dsk) and tape (.cas) images in uncompressed and gzip compressed (.gz) format. Gzipped disk and tape images are treated as read-only media in the emulator (any saved data on gzipped media will be lost when the emulator exits).
* Four supported display rendering modes with 90 degrees rotation possibility (cw/ccw):
o raw unzoomed (only a part of the MSX display is visible in "a" and "b" variants)
o fast fit (every nth pixel is discarded in "a" and "b" variants or doubled in "c" variant)
o smart fit (same as fast but with a lone-pixel-detection, only available in "a" and "b" variants)
o resample fit (calculates the average of neighbouring pixels for each rendered pixel, only available in "a" and "b" variants).
* Fully user configurable keyboard and joystick mappings.
* Emulation can be paused and the machine state can be saved and loaded.


There are different variants of the emulator:

* "a" which works on Series 60 1st edition (or newer) based devices.
* "b" which works on Series 60 2nd edition based devices.
* "c" which works on Series 60 2nd edition, feature pack 3, based devices with 352x416 resolution display.
* "x" which is basically the same as "b" variant but has experimental support for the MSX HBI-V1 video digitizer cartridge.


fMSX/S60 also has some additional requirements for the devices as follows (most of the Series 60 based devices fulfill these):

* "a" and "b" variants require 176x208 resolution display.
* "c" variant requires 352x416 resolution display.
* "a" and "b" variants require either 12bit color depth (4,096 colors) or 16bit color depth (65,536 colors).
* "c" variant requires either 12bit color depth (4,096 colors) or 16bit color depth (65,536 colors) or 24/32bit color depth (16,777,216 colors). Note that for example the Nokia N90, while advertised to have 18bit color depth, supports 32bit color depth format as well (the display is probably capable of showing 18bit colors though).
* "a" variant requires 8kHz 16bit PCM audio streaming capability for sound emulation. The sound emulation can be disabled if the device does not support this audio format.
* "b" and "c" variants require either 8kHz or 16kHz 16bit PCM audio streaming capability for sound emulation. The sound emulation can be disabled if the device does not support this audio format.
* "x" variant requires that the device has a camera.

↓ More Information ↓
Q: When I start the emulator I it says "Machine type: " and won't let me change it. How can I change it?

A: This happens when you don't have any proper system ROMs installed. To play any games you must have the system ROMs for at least one machine type installed. Due to copyright reasons they are not included with the emulator install package but instead you need to acquire and install them yourself after installing the emulator. The emulator will automatically detect which system ROMs are present. Depending on which system ROMs you have installed you will have different choices available (see the list below). These files must be placed in the rom subdirectory under the emulator's main directory (\system\apps\fmsx). You can do this either by creating a patch install package (example set up included with the PC tool set that I am providing on the main page) or if your device has an MMC card, you can use a PC equipped with an MMC card reader to copy the necessary files to the correct location (remember to install the emulator on the MMC card if you wish to use this approach). If you are unable to locate any of the listed files, have a look at the C-BIOS, which is a freeware MSX1 BIOS implementation. You can use it as a replacement for MSX1 system ROM. It enables you to play MSX1 ROM cartridge games.

* for MSX1, you need msx.rom (or msx.rom.gz)
* for MSX2, you need msx2.rom and msx2ext.rom (or .gz's)
* for MSX2+, you need msx2p.rom and msx2pext.rom (or .gz's)
* To play disk games, you need disk.rom (or disk.rom.gz)
* To play disk games that require MSX-DOS2, you need msxdos22.rom (or .gz)
* Other supported optional system ROMs need their respective ROM images (FM-PAC, Kanji, RS-232).


Q: I try to create an install package for game x but all I get is some .gz files, no .sis.

A: The batch file that I provide with the PC tool set simply first tries to compress (gzip) all .rom files in the current directory and after that it runs makesis.exe with the provided .pkg file. The .pkg file is a text file that contains the "layout" for the install package which is to be created. You can use any text editor (such as Notepad) to edit the contents. Unfortunately makesis is very picky and if one of the files that are listed in the .pkg file to be included in the install package is missing it will not create the install package (.sis) at all. Because I cannot know what games and system ROMs you might want to install I am merely providing an example .pkg file which has to be edited before use. You can add and remove lines as necessary in the .pkg file.


Q: I'm unable to copy the necessary system ROMs, game cartridge ROMs or disk images to the device. Could you please make an install package for me for game x?

A: Unfortunately I cannot distribute ROMs or disk images for the emulator, this would be too big a task for me to take care of - not to mention the copyright issues if it is commercial software you are after. It may seem a bit tricky to create the patch install package for the emulator at first but it is really very easy. Just use the PC tool set that I provide or copy the necessary files to your phone's MMC card if you have one. Note that games (cartridge ROMs, disk and tape images) must be placed in data subdirectory under the emulator's main directory (\system\apps\fmsx) whereas system ROMs must be placed in rom subdirectory under the emulator's main directory.


Q: How can I "eject" a ROM cartridge, disk or tape?

A: Press the "clear" key (C on the phone) when the menu cursor is over a ROM cartridge, disk or tape image that you wish to "eject".


Q: Is it possible to remove a keybinding from the emulator?

A: Yes, in all keyboard configuration screens you can use the "clear" key (C on the phone) to remove a keymapping. This will be indicated in the UI with a keymapping to "".


Q: Is it possible to map more than one MSX key to the same phone key?

A: Yes, this has the effect as if you had simultaneously pressed more than one keys down on the MSX. Note that you can also have joystick mappings and keyboard mappings on one phone key (e.g. phone's left softkey can be both joystick fire button 1 and space key).


Q: I defined a key for turbo fire but when I try to use turbo fire in the emulator it does not work. Why?

A: In the emulator's default configuration, both joystick fire button 1 and space key are mapped to the phone's left softkey (like in the example in the previous question's answer). The turbo fire and autofire modes only affect joystick fire button 1 emulation and some games are reading player input simultaneously from both joystick and keyboard. As a result, when turbo fire mode is enabled and you keep the left softkey pressed down, the joystick fire button will be "autofired" but the space key is being pressed down all the time. Some games like Gradius (Nemesis) interpret this as a continuous fire button press and the turbo fire does not seem to work. To get it working, remove the keyboard mapping from phone's left softkey to MSX space key (i.e. phone's left softkey will be mapped to joystick fire button 1 only). On the other hand, this also means that turbo fire and autofire do not work in games that do not support joystick input.


Q: The music sounds distorted / the emulator crashes when I enable sound support, what's wrong?

A: There are known problems in the sound routines especially with Nokia 6600 phone: one of the system device drivers panics easily while streaming audio causing the operating system kernel to kill the process producing audio which in this case is of course the emulator. With other phones it is possible to experience short pauses in the audio and/or looping sound, caused by audio buffer underruns when the system is having trouble keeping up with the pace of the emulation. Best way to avoid problems if you wish to have sound is to use raw rendering mode without rotation. Best sound quality is achieved by first defining a screen freeze key (under emulator special controls configuration, "Screen update") and use it while the emulation is running to suspend all screen updates. Another way is to increase the frame skipping setting in display settings. This should give adequate sound quality, of course with partial or total loss of display update so this is more useful for listening to the music, gameplay may suffer from it.


Q: I enabled the "obey silent mode" option but game sounds are still audible when I have silent profile active, why?

A: This option follows the "ringing tone" setting of the currently active profile. Prior to version 1.08 this setting followed the "game and warning tones" setting of the currently active profile. If you have "ringing tone" (or "game and warning tones" in older versions) on in your silent profile, the emulator will continue to play sounds even if the silent profile is selected. Note that this means that the emulator will respect the "ringing tone" (or "game and warning tones") setting of all profiles, not just the "silent" profile, always acting according to the current profile. Those who are wondering where to find this option, please note that it is only available in the "b" and "c" variants of the emulator.

↓ What's new? ↓
* v1.10, 19/01/2006, downloads: b, c
o Fixed PSG emulation bug introduced in previous releases
o Support for resetting control settings
o Support for saving and loading control settings
o Support for 16kHz sound playback sample rate
* v1.09, 07/09/2005, downloads: c
o Fixed "c" variant to work on Nokia N90 phone
* v1.08, 05/09/2005, downloads: b, c, x
o New "c" variant introduced, support for "a" variant dropped
o Z80 emulation improvements
o HBI-V1 emulation improvements (image size and location parameters are now supported)
* v1.07, 10/01/2005, downloads: a, b, x
o AY8910 (PSG) envelope frequency emulation bug fix
o 64Hz/48Hz/32Hz video refresh emulation option
o Preliminary support for HBI-V1 video digitizer (special x version only)
* v1.06, 04/11/2004, downloads: a, b
o System ROM loading fatal bug fix
o Support for ASCII8/16 ROM mappers with SRAM (adapted feature from fMSX/Unix 2.8)
o Support for FM-PAC with SRAM cartrdige (adapted feature from fMSX/Unix 2.8)
o Support for third cartrdige slot (adapted feature from fMSX/Unix 2.8), but this is currently used only internally for MSX-DOS2 or FM-PAC cartridge when necessary.
o AY8910 (PSG) envelope volume fix (adapted from fMSX/Unix 2.8)
* v1.05, 30/09/2004, downloads: a, b
o Support for game specific emulator save states
o Keyboard macros
o Minor code speed and size optimizations
o Bug fixes
o Compressed emulator binary, saves over 50% in size (b version only)
* v1.04, 09/08/2004 binaries: a, b
o Emulation save state bug fix redone
o Disk image analyzer speed optimization
o Support for automatic state saving on emulator reset or exit
* v1.03, 04/07/2004, downloads: a, b
o Save state progress dialog bug fix
* v1.02, 01/07/2004, downloads: a, b
o MSX-Music volume bug fix
o Support for CrossBlaim ROM mapper
o Support for R-Type ROM mapper
o Bug fixes
* v1.01, 21/06/2004, downloads: a, b
o V9938 LMMC engine bug fix
o Compressed save states
o Loading saved state resumes emulation automatically
* v1.00, 08/04/2004, downloads: a, b
o OPLL (MSX-Music) sound support
o Support for automatic rotation of directional controls with display orientation
o Performance for rotated raw rendering mode increased
o Support for viewport positioning in raw rendering mode
o RAM based disk emulation support
o Obey system "silent" profile support (b version only)
o Z80 OUTI opcode S flag handling altered (thanks dvik!)
o Bug fixes
* v0.99, 28/01/2004, downloads n/a
o Partially rewritten and rearchitectured Z80 core
o Added support for missing Z80 opcodes
o Fixed Z80 opcode timings
o Support for disk autorun in BASIC
o Frame skipping reimplemented, should be correct now
o Disk images created by the emulator are 360kB instead of 320kB
o Bug fixes
* v0.98, 19/12/2003, downloads n/a
o OS task switching bug fix
o Resume from pause bug fix (a version)
o UI speed improvements
o Possibility to create new tape and disk images
o Possibility to delete cartridge, disk and tape image files
o Tape rewind support
o Bug fixes
* v0.97, 16/12/2003, downloads n/a
o Branched the emulator to two versions, "a" for S60 1.x and "b" for S60 2.x
o Completely new UI
o Performance increased for non-rotated raw and fast rendering modes
o Bug fixes
* v0.96, 26/10/2003, downloads n/a
o Sound volume is adjustable from pause mode
o Speed optimizations
o OS task switching bug fix
o Bug fix for file selector UI
o Emulator can be reset from pause
o Bug fix for uncompressed ROM handing
o Other bug fixes
* v0.95, 15/10/2003, downloads n/a
o Support for diagonal joystick controls
o Disk cache speed improvements
o Changed default system frequency to PAL instead of NTSC
o PSG and SCC/SCC+ sound support
o Bug fixes
* v0.94, 09/10/2003, downloads n/a
o Keyboard mapping UI bug fix
o Tape support with autorun feature
o Support for auto fire and turbo fire
o Possibility to save and load emulator state
o Support for 256kB RAM
o Possibility to change display settings in pause
o Disk read ahead cache for zipped disk images
o Bug fixes
* v0.93, 02/09/2003, downloads n/a
o Screen rotation support
o Frame skipping support
o MSX-DOS2 ROM mapper bug fix
o Improved disk access performance
o Possibility to change disk image in pause
o Pause/resume bug fix (no automatic resume anymore)
o Support for C-BIOS as MSX1 system ROM
o Support for FM-PAC ROM
o Support for Kanji ROM
o Support for RS-232 ROM
o Improved control responsiveness
* v0.92, 08/08/2003, downloads n/a
o Removed MSX system ROMs from the distribution
o Support for disk images
o Long filenames are displayed correctly
o Scrolling file lists for cartridges and disks
o Manual ROM mapper selection possibility
o Configurable keyboard mapping
o Created an icon for the emulator(!)
o Subdirectories for system ROMs and game files are automatically created
o Bug fixes
* v0.91, 01/08/2003, downloads n/a
o Removed example game cartridge ROMs for the distribution
o Support for compressed ROMs
o Bug fixes
* v0.90, 31/07/2003, downloads n/a
o First public release.