YJK 表示

MSX2+ で採用された YJK 自然画 SCREEN 12・19268色 の表示を行います。

 

とはいっても全色を 1 画面できれいに表示するのは難しいので、

Y を固定にして、横を J、縦を K で変化するようにしました。

J・K が主に色相となるので、このような表示になります。

 

110 の C の値が Y に対応します。0*8~31*8 で変化させて試してみて下さい。
下に Y の値 3 種類を並べました。

Y=0
Y=0
Y=15
Y=15
Y=31
Y=31

 

RGB の色が分かる人は、この表示で YJK と RGB との対応が
なんとなく理解できる人もいるのではないでしょうか。

特に青(RGB での B)の扱いが特殊な点に注意を要します。

 

SCREEN 11 で表示したい場合は次を変更します。Y の変更は 0*16~15*16 です。

 

110 C=7*16:'Y*16

120 SCREEN 11

 

SCREEN 10 は COLOR 0~15 を通常の色コードで扱っているため、
YJK の線画は VPOKE を使う必要があります。
SCREEN 11・12 は COLOR 0~255 で、
VPOKE と同じ値で PSET・LINE 等を扱えます。

この方法を利用し、同じ値になる部分を
LINE で縦に線画する事で少し高速化しています。

 

実際他の多色データからプログラムで変換させるのが理想で、
YJK で直接線画するのは難しい仕組みだと改めて感じます。

自然画モード YJK で解説を入れました。

 

MSXPen では Alt+T で線画を速くできます。(最高 x8)


C 言語版

特に MSX2+ 実機だと表示に時間を要するので、
z88dk を用いて C 言語で作成してみました。

表示後、スペースキーで終了し、BASIC へ戻ります。

 

zcc +msx -lndos -create-app -subtype=disk -bn yjkcolor yjkcolor.c

 

YJKCOLOR.MSX が生成したマシン語の実行ファイルです。
BASIC より BLOAD"YJKCOLOR.MSX",R で実行します。