From GameBrew

Last Updated2009/08/22
LicenseGNU GPLv2

PSPMSX is a port of fMSX, an emulator that simulates MSX, MSX2, and MSX2+ 8bit home computers. fMSX runs MSX/MSX2/MSX2+ software on many different platforms including Windows, MacOS, Unix, MSDOS, AmigaOS, etc.

This is a port on PSP based on the version of fMSX-SDL from Vincent van Dam.


Unzip the ZIP file, and copy the folder pspmsx to ms0:/PSP/GAME/.

Put your rom image files on the roms sub-directory.

User guide

Load MSX Rom files (ZIP, ROM, MX1, MX2)

Put your rom file (with .zip, .rom, .mx1 or .mx2 file extension) on your PSP Memory Stick in the roms directory. Use the file selector in the emulator main menu and choose one rom file to load in your emulator.

To eject a ROM choose Eject Rom inside the emulator menu.

Load Disk files (DSK, DSZ via gzip)

If you want to load disk image in the virtual drive A or B of your emulator, put the disk file (with .dsk file extension, or gzipped disk file with .dsz file extension) on your PSP Memory Stick in the disk directory.

Gzipped disk files are not writable. Also you must eject any present rom before starting a disk, or only the ROM will start instead of your disk image.

Cheat Code (CHT)

Using the Cheat menu you can search for modified bytes in RAM between current time and the last time you saved the RAM (monitor/modify for example life numbers).

All cheat codes you have specified for a game can be save in a CHT file in the cht folder. Those cheat codes would then be automatically loaded when you start the game. CHT file format can be found in cheat.txt.

Load Key Mapping files

The default keyboard mapping between PSP Keys and MSX keys, is not suitable for some games and you can write your own mapping file to overcome the issue.

Edit a file with the .kbd extension (using any text editors) and put it in the kbd directory. Samples and syntax can be found in default.kbd (in the kbd directory).

After writting such keyboard mapping file, you can load them using the main menu inside the emulator. If the keyboard filename is the same as the rom filename, then the corresponding keyboard file is automatically loaded when you run the rom/game.

Use the Keyboard menu to further configure, load and save your keyboard mapping files inside the emulator. The Save option saves the KBD file in the kbd directory using the Game Name as filename. The game name is displayed on the right corner in the emulator menu.

Key mappings

  • Multiple mappings in the emulator window (Standard, L-Trigger and R-Trigger).
  • Danzeff On-Screen Keyboard (by Danzel and Jeff Chen).
  • Customizable IR Keyboard (from the file pspirkeyb.ini).

You can use the virtual keyboard in the file requester menu to choose the first letter of the game you search. ​Use the Trigger key to swap between the two virtual keyboard panels (numbers and letters).



  • Sound enable.
  • Music FM-PAC.
  • Music Module.
  • Sound volume.
  • IRDA device.
  • Video Mode.
  • Speed limiter.
  • Skip frame.
  • Display fps.
  • MSX version.
  • MSX Ram size.
  • Render mode.
  • Delta Y.
  • V-Sync.
  • Clock frequency.


  • Swap Analog/Cursor - Awap key mapping between PSP Analog and D-Pad.
  • Auto fire period - Auto fire period.
  • Auto fire mode - Activate/deactivate auto fire mode.


  • IRDA mode - Type of DB9 device connected to the Irda Joystick box (None, Joystick, Single or double paddle).
  • IRDA debug - Enable or disable debug mode to display data sent by the Irda Joystick box.


MSX emulator window (Normal):

Square - Delete

Triangle - Return

Cross - Space

Circle - Fire1

D-Pad - Up/Down/Left/Right

L - Toogle with L keyboard mapping

R - Toggle with R keyboard mapping

MSX emulator window (L-Trigger):

Square - Hotkey FPS

Triangle - Hotkey Load state

Cross - Hotkey Save state

Circle - Hotkey swap joystick

Up - Hotkey Inc delta Y

Down - Hotkey Dec delta Y

Left/Right - Hotkey render

MSX emulator window (R-Trigger):

Square - Escape

Triangle - Return

Cross - Hotkey auto-fire

Circle - Fire1

Up/Down - Up/Down

Left - Hotkey Dec Fire

Right - Hotkey Inc Fire

All mappings:

Analog - Joystick

Start+L+R - Exit and return to eloader

Select - Enter in emulator main menu

Start - Open/close the On-Screen keyboard

Main menu:

L+R+Start - Exit the emulator

R - Reset the MSX console

Triangle - Go Up directory

Cross/Circle - Valid

Square - Go Back to the emulator window

On-Screen Keyboard:

Analog - Choose one of the 9 squares

Triangle/Square/Cross/Circle - Choose one of the 4 letters of the highlighted square

IR Keyboard:

D-Pad - Cursor

Start - Ctrl-W, Tab

Select - Ctrl-Q, Escape

Triangle - Ctrl-E

Cross - Ctrl-X

Square - Ctrl-S

Circle - Ctrl-F

L - Ctrl-Z

R - Ctrl-C

IRDA Joystick box:

D-Pad - Joy Up/Down/Left/Right

Cross - Joy Fire

Analog Right - Paddle 1+

Analog Left - Paddle 1-

Cross - Paddle 1 Fire

Analog Up - Paddle 2+

Analog Down - Paddle 2-

Circle - Paddle 2 Fire





Developed for Firmware 4.01-M33 for both Fat & SLIM.



  • IRDA Joystick box support.
  • Add "IRDA joystick" device support for both DB9 Joystick and Atari Paddle.
  • Add menu for IRDA joystick settings and keys mapping.
  • Add option to choose between IRDA devices (keyboard such as Targus or joystick using Buzz device).


  • Finally fix issue with "Home -> Exit".
  • Text editor to write your own comments on games.
  • Display first comment line while browsing game files.
  • Digital pad is now usable in file requester even when danzeff keyboard is displayed.
  • Fix inconsistency between zip rom file names and save game name.
  • Improve cheat menu & memory monitoring engine.
  • Text editor to modify the global cheat.txt file.
  • Tested on new FW 5x-M33.
  • Bug fix in unzip function (if you tried to unzip more than 10 files, it wasn't able to open any other files, and you had to restart the emulator).
  • Add option to disable auto fire in settings menu.


  • Cheat support.
  • Memory monitoring engine to find your own cheat code.
  • Zip rom files are now decompressed in memory (much faster).
  • New render modes (x1.25, x1.5 and x1.75).
  • Add vertical shift & vsync feature.
  • Improve file requester with virtual keyboard to choose sequentially rom files beginning with a given letter.
  • Add documentation for settings in help menu.
  • The virtual keyboard is now usable in the file requester menu to choose the first letter of the game you search.
  • In the emulator menu you can go directly to keyboard and settings menu using the L-Trigger key.
  • Source code can now be compiled to build a linux version.


  • The virtual keyboard is now usable in the file requester menu to choose the first letter of the game you search.


  • Add gzipped disk file support, reduce disk file size from 700k to 50k (you may gzip original dsk file using
  • Add MSX eboot's music (thanks to Konami).
  • A thumbnail image is now displayed in the file requester while selecting any file with the same name of a previously saved game (rom, disk, keyboard, settings). It might be very helpful to recognize that game later if you have thousand different games on your disk and rom folders.
  • In the emulator menu you can go directly to keyboard and settings menu using the L-Trigger key.
  • Fix IR keyboard issue with fw >= 3.80 for FAT PSP.
  • Fix random black screen issue.


  • Add missing keys such as HOME, GRAPH, STOP (Thanks to symBioT for the bug report).
  • Auto joystick fire mode, press RTrigger+X to switch it on/off (useful for games such as 1942).
  • Add several new hotkeys:
    • Settings such as fps, render mode, auto fire speed can now be directly modified inside the emulator (no need to enter in the settings menu).
    • Quick save / quick load current state (no need to enter in the main menu).
  • Bug fix in the low battery watchdog.
  • Analog pad can be used in the rom file requester.
  • RTrigger/LTrigger keys can be used in the keyboard settings menu to navigate between Normal, LTrigger and RTrigger compose mapping.


  • Major speed improvements while using GU render modes.
  • Small changes in settings menu and default settings options.


  • Add option to increase sound volume.


  • New render fast mode (original msx size but very fast).
  • Option to prevent the blue led to be displayed when L or R are pressed.
  • Remove .png file when removing state file.
  • Bug fix: random pixels colors on screen borders.
  • IR keyboard works now also with in the keyboard settings/mapping menu.


  • Huge speed improvements, it runs now faster than 60 fps using only 222Mhz PSP clock frequency.
  • IR keyboard support.
  • New graphics and eboot icons.
  • Display and save thumbnail images for each save state.
  • Add a new render mode (fit height).
  • New speed limiter function.
  • Add option to display fps rate.
  • Now compatible with custom firmwares 3.x and PSP-slim.
  • Add a simple intro splash screen.
  • Support iso8859-1 fonts in print text functions (might be useful to translate menus in german, french).
  • Bug fix and code cleaning.


  • No more need to restart PSPMSX to change the MSX model.
  • Add option to toggle between PAL/NTSC.
  • Add option to change the RAM size.
  • Bug fix in the max render mode.


  • Bug fix to play Snatcher.


  • Add option to enable the sound and musix chips (FM-AM and Music modules) required by several games. It's slow down the emulator, so use it with care.
  • Add a new render mode (max) to fit the entire MSX screen.
  • Add missing MSX keys (thanks to Creepy).
  • Fix 3.10-OE black screen bug in smooth mode (thanks to Creepy for his feedback).


  • A new graphical engine with new smoother render modes. It uses now the PSP GU for rendering, it does not run faster, but it's a lot smoother. Old "soft" render modes are still available, because there are a bit faster.
  • Save state dates are displayed in the emulator window (it's now easier to identify and to load the right save state slot).
  • Add help menu.
  • Bug fix (load default keyboard mapping on startup).
  • Bug fix in Rom file requester.
  • Bug fix in keyboard handler.


  • Icons and background images designed by Malkster.
  • Emulator menus reorganization (new menu for settings).
  • Multiple keyboard mappings feature developped by Pou-chan:
    • You can now toggle between 3 different keyboard mapping using LTrigger and RTrigger keys
  • Add keyboard change skin option:
    • You can add your own virtual keyboard images in the graphics directory.
  • New speed limiter (more accurate).
  • New feature to save and load a distinct setting file for each games.
  • Delete files option (in the file selector).
  • Screenshots are now saved in PNG format instead of BMP .
  • The percent of battery left is now displayed in the emulator window.
  • Add a watchdog to automatically return to the emulator menu when the battery is very low (< 5%).
  • Bug fix and code cleaning.


  • Option to eject the rom.
  • Changing disk doesn't reboot anymore the MSX (useful to play games with multiple disks).
  • Sound improvements.


  • Disk can now be loaded.
  • Joystick support.


  • All roms can now be loaded directly.
  • MSX version can be changed inside the emulator (no need to rename the rom as carta.rom etc).
  • Fix a bug in sound startup.


  • Add Load/Save/Del states menu.
  • The default MSX model is now MSX2+ (this can be changed by editing the configuration file pspmsx.cfg).
  • Add exit menu.


  • Intial release.


fMSX (MSX computer emulator):

  • fMSX-SDL port by Vincent van Dam (2001).
  • Original fMSX by Marat Fayzullin (1994-2001).
  • YM2413/PSG/SCC emulation by Mitsutaka Okazaki (2001).
  • Y8950 emulation by Tatsuyuki Satoh (1999/2000).


  • Porting on PSP by Ludovic Jacomme (aka Zx-81).

Special Thanks:

  • Paul Bosselaar (Creepy) for the help on sound improvement, graphic and keyboard issue, beta testing etc.
  • Pou-chan for the multiple keyboard mapping feature.
  • Malkster for the graphics icons and background images of earlier versions of PSPMSX. Latest graphics of this version are based on image found at
  • JBurton for the feedback on memory size and PAL/NTSC issue and also MP83 for beta testing.

External links