2016/08/18

2600RGBに関するメモ(その2)

2600RGBのパレットについて調べてみたことのメモ書き。

(以下メモ)

パレット機能について

デフォルトではNTSC,PALとも3種類のパレットデータを持っていて、スイッチを押すことによって切換えすることが可能だが、
  1. NTSC本体でNTSC版のカートリッジをPALパレットで表示する。
  2. NTSC本体でPAL版のカートリッジを正しいパレットで表示する。 
…このような事はできない。(PAL本体の場合も同様)

これを可能にするには後述のパレット書き換えが必要。

デフォルトのパレットについて

※スクリーンショットは2600RGBのパレットデータをエミュレータ(stella)へ移植して撮ったもの。

パレット1…エミュレータのパレットと同じ様子。

パレット2…妙に明るい色。

パレット3…ATARI7800の互換モード(?)
AtariAgeのユーザーが作成したデータと一致することを確認した。

パレットデータ書き換えについて

パレットデータはシリアルEEPROM(24LC64)に書き込まれていて、ユーザーで変更可能になっている。

データは、EEPROMの先頭から
  • 00000h-0007Fh:全て00h
  • 00080h-001FFh:パレットデータ1(NTSC) 
  • 00200h-0037Fh:パレットデータ1(PAL)
  • 00380h-004FFh:パレットデータ2(NTSC)
  • 00500h-0067Fh:パレットデータ2(PAL)
  • 00680h-007FFh:パレットデータ3(NTSC)
  • 00800h-0097Fh:パレットデータ3(PAL)
  • 00980h-01FFFh:全てFFh
…このようになっている。
 アドレス00980h以降にパレットデータを追加した場合、どのような挙動になるかは未確認。

 各色はR,G,Bの順に00h-FFhの値で与えるが、色情報はWikipediaでも見た方がわかりやすいか?
パレットデータ1(NTSC)を例にするならば、
  • 00080h-00097h:hue0/luminance0-14
  • 00098h-000AFh:hue1/luminance0-14
    (省略)
  • 001D8h-001FFh:hue15/luminance0-14
…このようになっている。

 パレットデータをユーザーが書き換えられるメリットをあまり感じないが、前述のNTSC本体でPAL版のカートリッジを動作させる場合などは有効だろうか?

とりあえず、NTSCとPALのパレットをスワップしたデータを作成してみたが、PAL版のカートリッジを所有していないのでチェックできず…買ってまで確認するかどうするか…。

とりあえず、データを置いておきます。動作の保証はしませんが。
  • 2600RGB標準データ
    2600rgb.bin
  • NTSC本体でPALカートリッジまたは、PAL本体でNTSCカートリッジを正常に表示させるもの
    ntsc-pal swap.bin
  • (NTSC専用)NTSC本体でNTSCカートリッジをPALの104色パレットで表示させるもの
    ※PAL本体でPALカートリッジの場合は意味がありません。
    pal palette(ntsc).bin


2600RGBのパレットデータを弄るついでに、エミュレータ(stella)のユーザーパレットファイルの構造を理解したのでメモだけ。
  • 0000h-017Fh:NTSCのパレットデータ。
  • 0180h-02FFh:PALのパレットデータ。
  • 0300h-0317h:SECAMのパレットデータ。
書式としては2600RGBのパレットデータと同じ。
SECAMのパレットデータはこれ。
secam.pal

0 件のコメント:

コメントを投稿