The MSX Viewer project was designed in order to provide a good and powerful tool to help on software developers porting images between PC and MSX, once today PCs have much more powerful tools for image edition.
It all started during my final project as a student of Computer and System Engineering, where remote screens should be captured and sent to other PCs. By taking contact for the first time with PC tools for manipulating images, I realized that there was some similarity between PC colors and MSX screen 8 colors, in which I had already some knowledge, mainly due to the good articles found on the brazilian CPU-MSX magazine. My personal curiosity was to see if it was possible to port an image from PC to MSX Screen 8. I could made it easily, because I already knew that the PC represents RGB values using 8 bits for each color channel, and MSX Screen 8 represented the RGB colors using 8bits for all channels, where there are 3 bits for red and green and 2 bits for blue. The task there was just make a normalization of each color channel, from 8 bits to 3 or 2 bits, place the bits in the correct position (gggrrrbb) and add the MSX file header (7 bytes). This was the beginning of the challenge to do the same thing for the other MSX screens.
The first step in MSX Viewer project was to read and exhibit MSX screens in PC. This was the easiest step in the whole project, once we just have to interpret MSX format and find the corresponding colors in PC (MSX colors set is a subset of PC's colors). The hardiest task is to do the way back, once you must convert a 24-bit color system to a 256 or 16 colors system.
MSX Viewer 1 was the really kick-off of the project. This version was able only to read some MSX screens. The second version was the first one able to convert and save PC screens to MSX format. MSX Viewer 3 brought the fist image processing tools where had an important rule on PC to MSX image conversion. Using some techniques like error diffusion, it was possible to convert photos to screen 5 y 7, displaying 16 colors at time! At last, MSX Viewer 4 introduced the palette, some bugs were fixed and, finally, all MSX Screens were available.
MSX Viewer 5, the project changed to "open-source" and all the code were re-build, using C++ and Qt 3. The souce-code now will be available to the public when the project achieves the same level of MSX Viewer 4.