openMSX, the open source MSX emulator that aims for perfection

For people that don't know what the openMSX emulator stands for, let's clearify this by looking at the moto in more detail.

Open source

It was clear from the outset that openMSX should be GPL'ed. When this project took of the existing emulators where all personal projects mostly closed source or otherwise verry restrictive so that the original author could prohibit other poeple of thinkering with their emulator, and disallow them spreading of modificated (most of the time enhanced) versions. This ofcoursed slowed down the development of those emulators. By giving everybody the right to alter the code, and making sure that the sources of those alterations would be made available to the public again, the founder of the openMSX project hoped to encourage people to help develop the emulator and make it evolve and grow faster and quicker then would be possible if he alone would code the entire emulator by itself.

MSX emulator

The orginal reason why openMSX was started was simple, altough there were already emulators available when the project started, a lot of the emulators were verry much game oriented and thus had trouble with normal MSX features that weren't used in games, (things like screen 6 for instance). Also the existing emulators didn't emulate all the hardware that existed for the real MSX, so the newer generation of MSX programs that used these hardware extentions couldn't be correctly emulated. Therefore an other goal of the project was to be verry modular in design so that implementing extra hardware could be done without fiddling with the rest of the code.

Aiming for perfection

An other problem with the emulators at that time was that none of them was good enough to emulate the advanced programming tricks used by the semi-professional MSX hobbyist. Especially the so called demo's use a lot of verry low level, most of the time undocumented, features of the hardware that are hard to emulate.
Since the main developers are ex-MSX demo programmers, they are now working on an emulator that will be able to correctly emulated all their old software. :-)
Also we want to emulate actual existing hardware configurations of MSX models, since some software (presumably badly written) only worked on some MSX models. European MSX users will certainly recal the Philips vs Sony problem and the poke -1 trickery. Also some programs depended on certain behaviours of hardware that isn't standarized in the MSX specifications ,like reading the memmory mapper settings. Therefore we need to emulate this physical hardware as perfect as possible (but we are not going to take this to a quantum physics level)
We take 'going for perfection' as far as saying that if it crashes on the real hardware it should crash in the same way on the emulator.