BlueMSX

blueMSX is a portable open-source MSX emulator that uses an emulation model to achieve the highest level of accuracy possible. It is available for the Microsoft Windows operating system and is ported to multiple other systems. 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.
History.
blueMSX was initially released in 2003 and soon became one of the most accurate and user friendly emulators.
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 Turbo-R, 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.
Feature highlights.
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 accurately 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 screen shots, 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 at runtime.
blueMSX is capable of emulating major sound chips including programmable sound generator sound chips (AY-3-8910, SN76489), 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.