パレットの基本的なこと。


  • 色の付いていない画像形式
画像はピクセル(ドット)の集合ですが、レトロなゲーム機のゲーム内画像は、ピクセルに色のRGB情報を持っていません。
ピクセルには色番号(パレットのインデックス)を持っています。
古いゲームの画像は「赤、黒、白…」の配列ではなく、「1番目の色、3番目の色、2番目の色…」の配列なのです。

  • 色を付けるのはパレットとそれを設定するプログラム
RGBでの色情報のない画像に色を付けるには、パレット(RGB指定)を用意して、
プログラムで画像のX番目はこのパレット色を使う…というを指定をします。(パレットセットの指定)


  • パレットの定義
どのようなパレットを使うかはゲーム機によります。
同時に使用できるパレットセットの数や、パレットセット内のパレットの数は、ゲーム機により異なります。
 YY-CHRでは選択されている画像形式を判別してパレットセットを選択します。

 わかりやすいのはスーパーファミコンなどで、
 ・画像形式は16色で、16色セットのパレットを16セット、最大256色を使っています。
 ・各パレットは、RGBを5ビットずつで、2バイトで定義します。
 ・パレットテーブルは512バイト(2バイトx256色)になります。
 つまりスーパーファミコンのパレットは、15ビットRGBまたはR5G5B5形式です。
 YY-CHRではRGBパレットをPALパレット(*.pal)で扱います。

 ファミコンの場合は少し特殊で、
 ・パレットのRGBはハードで固定で、00-3Fのインデックスが割り当てられています。
 ・画像形式は4色で、4色セットのパレットを8セット(BG4、スプライト4)、最大32色を使っています。(ざっくり説明ですがもっと制限があります)
 ・パレットの色が固定されているので、プログラム上で扱うパレットは00-3Fのインデックスで1バイトで表します。
 ・パレットテーブルは32バイト(1バイトx32色)になります。
 つまりファミコンのパレットは、ハード固定のRGBパレットと、それを参照するパレットセットデータです。
 YY-CHRではハード固定のパレットをPALパレット(*.pal)で扱います。パレットセットデータはDATパレット(*.dat)として扱います。


YY-CHRでのパレット操作


YY-CHRでは、編集時に表示に使うパレットを自由に変更できます。
※ここで変更したパレットのRGB値は保存したROMの画像には反映されません。上で説明した通り、ROMの画像にはRGB値はありません。

画面右側の中・下段がパレットセットとパレットになります。

  • 「PAL+SET」モード

青色の枠で囲まれたRGBパレットは、RGB定義されたパレットファイル(*.palファイル)を読み込んだもので、256色の領域を持っています。
緑色の枠で囲まれたパレットセットは、青色の枠で囲まれたRGBパレットを参照するもので、ゲームプログラムが使用するパレットセットのイメージ(*.datファイル)となります。
選択中のパレットセットは赤色の枠で表示され、選択中の色は白色の枠で表示されます。

このモードは、ゲームのハードウェアが使用可能なパレットを定義している場合に利用すると便利です。
例えばファミコンでは、緑色の枠内はゲームプログラムから見た色で、青色の枠内はファミコンのハードウェアが表現できる色です。

YY-CHRのデフォルトでは起動時にyychr.palファイルをファミコン用のRGBパレットとして開きます。

  • 「PAL」モード
緑色の枠で囲まれたパレットセットは、256色分のRGB値を持つ、ゲームプログラムが使用するパレット(*.palファイル)となります。
選択中のパレットセットは赤色の枠で表示され、選択中の色は白色の枠で表示されます。

このモードは、ゲームプログラムでパレットをRGB指定している場合に利用すると便利です。

また、エミュレータのステートファイルを読み込むと、セーブした時点でのゲーム上のパレット情報をYY-CHRに読み込むことができます。



タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2019年10月03日 23:11