【2026.01.07更新】MSX Graphic Viewerの情報を追加
【2025.12.31更新】加筆修正
【2022.08.24更新】初版公開
執筆中。とりあえず記事化する。
事の発端
MSXで使用する画像を実機で作成するぶんにはこの記事は関係ないのですが、最近はWindowsなどのPC上で画像を作成し、各種画像変換ツールを用いてMSXの画像データを作成するシーンも増えてきました。そんななか、変換後の色がツールの特性によって変わることがあります。それぞれのツール作者による変換アルゴリズムが違うためにそのような現象が起きます。そこで、どのツールを使うとどの色に変換されるのかという調査を行いました。
なお、筆者(nf_ban)は変換アルゴリズムの違いについては「作者の味付け」と考えているため、変換アルゴリズムや変換後の色が統一されるべきといった主張はしません。また、どのツールが良いとか悪いとかの優劣も付けません。
皆さんもレッツチャレンジ!!
調査に用いたグラデーション画像です。各種ツールでMSXのBSAVE画像として出力するために寸法は256×212px・色はRGとBとで分離しています。RGのほうは15色(赤7色緑7色+黒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
TINY Bitmap Converter
MSX Screen Converter
piroPAINT 9918(Pixel Converterツール)
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
TINY Bitmap Converter
MSX Screen Converter
piroPAINT 9918(Pixel Converterツール)
エミュレータの「MSX実機の色」は、RGB888の何色なのか
エミュレータ上で再現する「MSXの色」はWindows PC上ではどんな輝度で表示されているのか、という調査です。RGB333・RGB332からRGB888への逆変換、というわけです。
MSXPLAYer(MSXマガジン永久保存版3 同梱版)
openMSX
WebMSX
MSX Graphic Viewer
調査中
デフォルトカラーパレットについては以上の情報提供がありました。ありがとうございます。🫡
Susie Plug-in
調査中


















