執筆中。とりあえず記事化する。
事の発端
以下の画像はMSXのSCREEN5と同じ解像度(256×212px)なのだが右1pxごとに輝度が1ずつ増えるグラデーションとなっているRGB888の画像です。左端が0で右端が255。これを各種変換ツールにかけると、RGB888のどこの輝度がRGB333やRGB332での境目になるのか? pic.twitter.com/If7E9LCvlA
— Takashi Kobayashi (@nf_ban) 2022年8月1日
RGB888→RGB333(512色中16色)
MSX2のVDP・V9938にて実装された「512色中16色のパレット」は、RGBの輝度がそれぞれ0~7の3bit(8階調)の組み合わせで色を作成します。MSX BASICでは「COLOR=(15,7,7,7)」のように色を定義します。
R(赤)3bit・G(緑)3bit・B(青)3bitなので「RGB333」と表します。
ちなみに最近のハードウェアはRGBそれぞれの輝度が8bit(256階調)で「24bitカラー」「RGB888」と表したりします。しかも24bitカラーはもはや「最低限の映像表現」とも言われています。凄い時代ですね。
BMP to MSX
BMP2MSXのRGB333変換結果が出ました。輝度0と7が狭いということは一番暗い色と一番明るい色へ変換されにくいということになります。それと細かいけど、B(青)の輝度0と1がRG(赤緑)と1違う。 pic.twitter.com/zQwKYFHLdW
— Takashi Kobayashi (@nf_ban) 2022年8月1日
TINY Bitmap Converter
TINY Bitmap ConverterのRGB333(デフォルト設定)。BMP2MSXと違った仕上がりになります。色補正が柔軟にできるので今回の変換結果はあくまでサンプルの一つということで… pic.twitter.com/IFliH7S35u
— Takashi Kobayashi (@nf_ban) 2022年8月1日
MSX Screen Converter
MSX Screen ConverterのRGB333。0と7が狭い。 pic.twitter.com/3r8LEhAY8p
— Takashi Kobayashi (@nf_ban) 2022年8月28日
piroPAINT 9918(Pixel Converterツール)
piroPAINT 9918のRGB333(デフォルト設定)。単純足切りだけどカラーバランス(色調整)が充実しているのでどうにでもなる。 pic.twitter.com/AwyGfCxCCu
— Takashi Kobayashi (@nf_ban) 2022年8月28日
RGB888→RGB332(SCREEN 8)
MSX2のVDP・V9938の「GRAPHIC7モード(SCREEN8)」にて実装された、256色の固定色です。輝度は赤と緑が0~7の3bit(8階調)に対し、青だけ0~3の2bit(4階調)となっています。
R(赤)3bit・G(緑)3bit・B(青)2bitだから「RGB332」。3+3+2=8bit、つまり1つの色の点を8bit=1バイトで管理するのです。SCREEN8は固定色なのでパレットの概念がありません。
BMP to MSX
BMP2MSXのRGB332(SCREEN8)変換結果が出ました。R(赤)とG(緑)はRGB333と全く一緒。B(青)はだいぶ違ってて、輝度2が出やすくなる傾向がありそうです。 pic.twitter.com/RLpfyfmgvI
— Takashi Kobayashi (@nf_ban) 2022年8月1日
TINY Bitmap Converter
TINY Bitmap ConverterのRGB332(デフォルト設定)。均等でシンプル。SCREEN8とそれ以外ではアルゴリズムが違うのね。色補正機能で分布をいくらでも変えられます。 pic.twitter.com/pTCLgeIM6Z
— Takashi Kobayashi (@nf_ban) 2022年8月2日
TINYBMPCNVですが、フルカラーの画像を8色や16色で表現する場合、どの色とどの色でディザリングするかでだいぶイメージが変わるので、色空間や減色アルゴリズムの調整機能は盛り盛りにしました。逆にSCREEN8など多くの色が使えるモードは(元画像を調整したほうが早いので)シンプルに変換しています。
— TINY野郎 (@tiny_yarou) 2022年8月4日
MSX Screen Converter
MSX Screen ConverterのRGB332。単純足切り。RGB333とRGB332でRGのアルゴリズムが違うのなんでだろう… pic.twitter.com/fJHKDs7lOS
— Takashi Kobayashi (@nf_ban) 2022年8月28日
piroPAINT 9918(Pixel Converterツール)
piroPAINT 9918のRGB332(デフォルト設定)。アルゴリズムはRGB333とRGB332で全く同じ、単純足切り。カラーバランス(色調整)でどうにでもなるのも同じ。 pic.twitter.com/KPmTsmQwuw
— Takashi Kobayashi (@nf_ban) 2022年8月28日
エミュレータの「MSX実機の色」は、RGB888の何色なのか
エミュレータ上で指定する「MSX実機の色」は、Windows PC上ではどんな輝度で表示されているのか、という調査です。RGB333・RGB332からRGB888への逆変換というわけです。
MSXPLAYer(MSXマガジン永久保存版3 同梱版)
調査中
openMSX
調査中
WebMSX
調査中
MSX Graphic Viewer
調査中
Susie Plug-in
調査中