SYSTEM NOTICE

Auto translation by AI. Be sure, accuracy, nuances and authorial intent may not be fully reflected.
見出し画像

I created a LUT to convert colors between MSX1 and MSX2

Although the default color palettes of the MSX2 and MSX1 are similar, they are actually quite different. There is a common sentiment that when playing MSX1 games on an MSX2, the colors look a bit off. I will leave the technical details to others, but I have created and am now releasing a LUT (Look-Up Table) to convert colors between these two systems.


How to use the LUT

Download the two cube-format LUT files from the download link provided below. These cube files can be used as filters to change the color tone of images in most image editing and video editing software.

A quick search shows that it can be used in the following, for starters:
Adobe Photoshop / Affinity Photo / Adobe Premiere Pro / DaVinci Resolve / Final Cut Pro
Even with free software like GIMP, you can use cube files by installing a plugin, so those without paid tools can also use them. Interestingly, it seems they can also be used in OBS Studio (video streaming software) and FFmpeg (video encoder). Perhaps you could use it when streaming MSX1 game footage from an actual MSX2 console...

In Photoshop, you can use it by going to Adjustment Layer → Color Lookup → Select cube file. It is very simple.

Application Example

You know how there is an MSX1 version of Romancia, right? Since the MSX2 version was released in the same year, I assume most MSX2 users played the MSX2 version. Therefore, I think it is more accurate to introduce the MSX1 Romancia screen with the pale tones of the MSX1 colors, but in web media, it is often introduced with the high-contrast MSX2 visuals... I would like to correct this.

Romancia MSX1 1986 ©Nihon Falcom

I applied it only to the right half. Princess Selina's tan has faded a bit. I feel the MSX1 coloring is better for this game.

Furthermore, there are "MSX2 users who had to buy the MSX1 version of Romancia because their MSX2 lacked enough VRAM" and "TurboR users who bought that Romancia thinking it was the MSX2 version". I am the latter. Well, I think there were quite a few users who played the MSX1 version of Romancia on an MSX2 with deep colors for various reasons.

Romancia MSX2 1986 ©Nihon Falcom / Distributed by Panasoft Center

I noticed this for the first time while researching, but the title screen composition for the MSX1 version of Romancia was different from other platforms. The MSX2 version is the same as the other platforms. I feel like trying to draw a title screen for the MSX1 with the same layout as the other platforms, but it looks detailed and difficult.

The two images below are other examples.

The first image ↑ has the LUT applied to the MSX2 palette side to convert it to MSX1 colors. The second image ↓ has the LUT applied to the MSX1 palette side to convert it to MSX2 colors. It has been converted almost perfectly.

Since the LUT mechanism involves color interpolation, if the color tone of the image you are applying the LUT to deviates from the MSX1 or MSX2 colors I assumed when creating the LUT, the result will also be slightly off. If you want precise color conversion, it is better to prepare a program that converts each color accurately. But well, if it is roughly accurate, it should be fine unless you are creating data for actual hardware.

The LUT can also be used in video editing software. If you are making an MSX1 video requested by a client and the colors end up being MSX2, you can rest easy even if you get a last-minute instruction to fix the colors! (?)

Download

It is available on GitHub. There are two cube files, so you can download them directly or copy the text inside and save it with the .cube extension to use.

Cube to convert MSX2 colors to MSX1 colors
https://github.com/harayoki/msx2msx1_convert_lut/blob/main/msx2_to_msx1.cube

Cube to convert MSX1 colors to MSX2 colors
https://github.com/harayoki/msx2msx1_convert_lut/blob/main/msx1_to_msx2.cube

The source code below is the Python code I used to create the cube file (requires the numpy module).
https://github.com/harayoki/msx2msx1_convert_lut/blob/main/make_msx2_msx1_convert_lut.py

I'm sharing this as it might be useful for creating game-related color conversion LUTs. Also, if there are any bugs, please fix them and send a pull request.

いいなと思ったら応援しよう!