The QEMU MSX project is an attempt to bring MSX system emulation into QEMU and to provide the fastest MSX system emulation ever. QEMU is a generic, open source machine emulator that uses dynamic translation to gain performance over pure interpreting emulators. As the QEMU project itself does not so far include emulation of the Zilog Z80 processor, the QEMU MSX project is based on work done by Stuart Brady, which adds the Z80 processor emulation to QEMU along with Sinclair ZX Spectrum system emulation. All code specific to the QEMU MSX project, i.e. the MSX system specific emulation, has been written by Juha Riihimäki.
Since the target of the QEMU MSX project is to provide speed, the emulated Z80 processor is running full speed, as fast as your computer can manage. This means software relying on instruction timing, e.g. many games, will not work correctly due to the processor running "too fast". This is not a bug in the emulator but intended functionality.
Currently emulated hardware for the MSX in QEMU MSX include:
Precompiled binaries for OS X (Intel only),
Windows XP, and the
corresponding source code snapshot can be downloaded from the links listed
below. The precompiled binaries have been renamed as qemu-msx as opposed to qemu-system-z80, otherwise the binaries have been created by compiling the source code package. The source code should compile just fine on Linux and some other *nix flavors as well (extremely short instructions: first run ./configure --target-list=z80-softmmu and then just make and you should get the compiled binary in the z80-softmmu subdirectory). Note that you may need to install some extra libraries such as SDL in order to build or use the emulator (included with the Windows XP binary package). Most of the source code is also available at Stuart Brady's QEMU Z80 source
code repository.
Version 2 released on August 17h 2009: fixes an issue with loading cartridge images on Windows machines. Both the source code package and the Windows binary package have been updated. The fix has no effect on OS X binaries.
| OS X Intel x86 32bit | download |
| OS X Intel x86 64bit | download |
| Windows XP | download |
| Source code | download |
To launch the emulator from the command prompt, simply copy an image file of the MSX1 system ROM (this should be a 32kB file called msx.rom) to the current working directory and say qemu-msx. If you wish to keep the system ROM files at some other location, use the -L command line switch to specify a path to the system ROM files.
To insert an external cartridge image file in the emulated cartridge memory slot, use the -kernel command line switch. For example, qemu-msx -kernel gradius.rom. The -kernel command line switch also lets you specify which memory mapper emulation should be used for the cartridge when you append a comma followed by the memory mapper number after the cartridge file name, e.g. -kernel gradius.rom,0. The available cartridge memory mappers are:
While the emulation is running, you can use the F6 key to switch between a simple 2x zoom factor and normal 1:1 display for the TMS9918A VDP output.