|Developer(s)||blueMSX Dev Team|
blueMSX is a portable, open-source MSX, Sega SG-1000, SC-3000, SF-7000 and ColecoVision emulator available for Windows and other platforms as a libretro core. It has been translated into 14 different languages. blueMSX includes a powerful debugger with support for several assembly formats and a machine configuration editor that allows advanced users to set up practically any MSX computer system ever made.
macOS fork of blueMSX
Android fork of blueMSX
blueMSX port to Nintendo Wii
blueMSX port to Xbox
blueMSX was initially released in 2003 and soon became the most accurate and user friendly emulator, leading over openMSX.
Like many other MSX emulators, blueMSX started as a clone of fMSX. The feature that made the first release, in November 2003, unique to the MSX emulator scene at the time, was the addition of monitor simulation. This feature made the video output look like an old TV or a monitor.
Initially, blueMSX's emulation was quite poor and suffered from the same limitations and flaws as its mother fMSX. However, during the first year, the development focused on improving and replacing the misbehaving emulation code, as well as redesigning the software architecture. With better architecture, emulation of new devices became easier and wasn't very long before most audio devices and ROM types were supported.
In August 2004, blueMSX became the first MSX emulator to support skins.
In November 2004, blueMSX was finally 100% free of fMSX code. The November release was also a big milestone since it brought support for the TurboR, the last MSX produced. On top of that, it was the first release that included emulation for the ColecoVision and the Spectravideo SV-328.
Since the November 2004 milestone, developer focus has been on improving the user interface and emulation accuracy, as well as extending the emulation to include more exotic devices such as the Konami Keyboard Master, an unreleased speech synthesis ROM.
The emulation core was extended to support any Z80 based computer systems and is now supporting multiple systems, such as SG-1000, Spectravideo, and ColecoVision.
Later additions to the emulation include support for digitizers, IDE and SCSI hard drives, and emulation of the extensions in the Yamaha CX5-M music computer.
A big effort to make the emulator portable to other platforms started in 2007 and since then the emulator has been ported to multiple other systems. The current architecture of the emulator makes it easy to compile to any system with a c compiler and does not depend on any graphics, audio, or user input libraries.
The emulation engine in blueMSX is cycle-accurate, which means that the timing and synchronization between emulated hardware components appear the same as on a real MSX. The goal is to replicate each individual component as accurate as possible, which means that the emulator requires a more high-end PC than emulators optimized for speed.
Most hardware released for the MSX system is emulated and the emulator includes a configuration editor to mimic real MSX systems by choosing components such as floppy drives, memory, sound chips, and video chips. Several pre-configured machines are available for users that don't want to build their own machines.
Common emulator features are supported, like screenshots, AVI rendering, and a cheat system. The emulator has a theme based GUI with buttons to control the emulation, a virtual keyboard, and controls to change sound and video settings runtime.
blueMSX is capable of emulating major sound chips including programmable sound generator (AY-3-8910 SN76489) sound chips, Konami SCC, Moonsound (OPL4), FM-PAC (YM2413), MSX-AUDIO (Y8950 sound chip) and a couple of different PCM devices. The volume and pan of each sound chip can be configured in a basic mixer.
blueMSX simulates six different monitor types, from sharp modern monitors to old TV sets. The emulator has controls for real-time modification of gamma, brightness, contrast, saturation and color shifting, and it supports horizontal and vertical stretch, as well as a slider for adaptable scanlines on all monitor modes to make the ratio of the video output match a real system. It also supports multiple video sources, for example, an external 80 column card.
blueMSX includes a graphical debugger with register windows, memory windows, call stack windows, breakpoints, trace and other features. This makes blueMSX a good development platform for the supported systems.