This page was last modified 13:24, 16 August 2021 by Mars2000you. Based on work by Bodhi1969 and NYYRIKKI.



rMSX is an MSX & MSX2 emulator for MSX Turbo R made by NYYRIKKI. It uses the Turbo R as host OS to run CAS and DSK files on the emulated MSX1/MSX2.

Current version is 1.3 freeware edition. You can run it from the MSX-DOS 2 command line, and several commands parameters are available.

It also extends BASIC commands so that people can change the emulation parameters during runtime or even build their own game loaders / menu systems.

This emulator now also supports MSX Turbo R internal memorymapper. Maximum space that can be used from the mapper can be calculated using formula "DOS2 free memory - 16KB". However space above 1MB can not be used even if it exists.

Commandline parameters and keyboard shortcuts can be used to access most important features, but many of the features are available only from BASIC.


You need

  • a MSX Turbo R computer
  • a MSX-DOS2 formatted (hard)disk / CD / CF or similar with the MSXDOS2.SYS and COMMAND2.COM files
  • the RMSX zip file
  • dump of MSX1 or MSX2 system ROM(s)

Please note that

  • it has been confirmed that Nextor is not compatible with rMSX
  • all of the MSX1 and MSX2 ROMs do not work. If your MSX1 or MSX2 does not boot, try another set of ROM(s)
  • the keyboard of the emulated MSX1/MSX2 will correspond to the used ROMs, so you need to use ROMs from a Japanese machine if you want to keep the same keyboard layout as on the Turbo R
  • harddisk / CD / CF or similar is recommended to enjoy all the features
  • saving to emulated media is not supported, so if you want to save your work, you need to use real disk or cassette

Unzip the RMSX zip file and put the rMSX files (RMSX.COM and ReadMe.TXT) on the disk.

Put the MSX1/2 system roms on the disk. MSX1 system ROM should be named "MSX.ROM" and MSX2 sytem ROMs should be named "MSX2.ROM" and "MSX2SUB.ROM". You can eventually replace MSX2 roms by MSX2+ roms (and rename them) to emulate a MSX2+ on the Turbo R.

By default, the emulator searches the system roms from the same directory where the emulator is installed, but this can be changed using EMUROMS variable.


MSX-DOS 2 Commandline parameters

Parameter Description
 ? | /? | HELP Mini help of commandline options and keyboard shortcuts
MSX1 Starts emulator in MSX1 mode. (Default)
MSX2 Starts emulator in MSX2 mode.
IOSOUND Enables I/O sounds
NODISK Disables diskdrive of emulated MSX.
DSK: [<drive>:][<path>]<filename.DSK>[,<disk number>] Mounts disk image. Disk number can be selected from 0 to 9. There can be multiple "DSK:" commands on same commandline. When emulator starts disk number 0 is always selected.
CAS: [<drive>:][<path>]<filename.CAS> Mounts cassette image to virtual cassettedrive
CASRUN: [<drive>:][<path>]<filename.CAS> Disables diskdrive and executes automatically first file from cassette image.
NOMENU Disables keyboard menu (for debugging purposes only)

Keyboard Shortcuts

To access the built-in shortcut menu, you need to press the "YES-key" (on the right side of SPACE).

You will know that you are in the menu, when Pause and Turbo leds starts blinking. Normally these are used to indicate cassette relay and virtual diskdrive status.

When you are in the menu you can use number keyboard to activate disk number (0-9).

Also following keys can be used:

  • Esc = Exit menu
  • DEL = Hard reset
  • R = Soft reset
  • H = Change Hz rate
  • X = Exit emulator

New BASIC Instructions

You can find below an overview of all new BASIC instructions added by rMSX. For more detailed infos, you can visit the RMSX BASIC section of this Wiki.

Instruction Description
_? Prints available commands to screen.
_CASAUTOREW [ON|OFF] Selects if cassette should be rewound automatically.
_CASREW Rewinds cassette back to beginning
_CASRUN [("[<drive>:][<path>]<filename.CAS>")] Starts first program on cassette image. If started without parameters, this will run first program from currently inserted cassette.
_CHCAS ("[<drive>:][<path>]<filename.CAS>") Mounts cassette image to virtual cassettedrive
_CHDIR ("[<drive>:]<path>") Sets default drive & path on host OS.
_CHDSK (<disk number>) Activates disk number <disk number> (integer between 0 and 9)
_CHDSK [("[<drive>:][<path>]<filename.DSK>")] Mounts disk image for current disk number. If parameter is not given or it is empty real disk drive will be used.
_CHDSK ("[<drive>:][<path>]<filename.DSK>",<disk number>) Mounts disk image to disk number <disk number> (Does not activate disk number)
_CHDSK (<disk number>,"[<drive>:][<path>]<filename.DSK>") Activates disk number <disk number> and mounts disk image to it.
_EXIT Exits from emulator
_FILES [("[<drive>:][<path>][<filename>]")] Lists files from host OS.
_HELP Prints available commands to screen.
_HZ [50|60] Selects screen refresh rate
_IOSOUND [ON|OFF] Enables / Disables emulated cassette & disk sounds. By default I/O sounds are off.
_LICENSE Displays license information
_MUTE [ON|OFF] Enables / Disables all sounds.
_PALETTE [MSX1|MSX2|GREEN|GRAY] Selects what palette / monitor emulation should be used.
_RESET Reboots emulated MSX