回答受付中の質問
3人が「このQ&Aが役に立った」と投票しています
回答(7件中 1~5件目)
今更ですが、詳しい資料を見つけたので回答します。
全54色中、同時発色数が25色です。ただし同時発色数を増やすテクニックがあります。
まず全色数の方から。
まずNo3さんの参考サイトを見ていただくと分かるように、有彩色は12色相×4種類で48色あります。(RGB4階調ではありません>No6さん)
なおサイトではこの各色相の4種類の違いを「輝度」と呼んでいますが、輝度の違いだけでなく彩度も異なっています。
問題は無彩色の数で、様々なサイトで全色数の値にぶれがあるのはこれが原因です。
その中で、おそらく正しいのではないかと思うデータがこちらです。たぶん実機の解析で得たデータでしょう。
http://wiki.nesdev.com/w/index.php/NTSC_video
このページの「Brightness Levels」の項をご覧ください。
「Color○○」とある8行の値が無彩色に対応します。
「Normalized」の列が黒を0、白を1とした値です。
これを見ると、
-0.117、0.000、0.308、0.715、0.397、0.681、1.000、1.000
と8つある内、ひとつはマイナスで、1が2つあります。
マイナスの値はTV信号の規格外なので使ってはいけません。(使っても黒が出るだけ)
2つの1については、わざわざ「$20と$30の色は厳密に同じである。」と注意書きがあるように違いはありません。
また、「$xE/$xFは$1Dと同じ電圧を出力する。」ともありますので、No3さんの参考サイトの図で見る右2列の8つの黒は1Dの黒と同じものです。
以上、64個の値のうち、黒が9つ、白が2つ同色で、1つ使用不可の値がありますので、使用可能な色数は54色となります。
なお、上の数字を見ると、「0.715」と「0.681」、「0.308」と「0.397」はあまり違いがありません。この2組を同一視したのが52色説の由来だと思われます。
なぜ白から黒まで均等に分散させずこのような近い値を用意したかですが、「$x1-$xCは$xDと$x0の値を交互に繰り返す矩形波を出力する。」とあるようにこの出力値は白黒用だけでなくカラー信号の出力にも使われているので、それとの兼ね合いです。
最後に同時発色数について。
TVの走査線の動きに合わせてパレットを書き換えることで、画面の上と下で別のパレットを使うテクニックがあります。
これを使えば同時発色数に制限は無いことになります。
投稿日時 - 2010-11-02 07:48:41
ファミコンのカラーパレットが4階調表現だとすると、R:G:Bがそれぞれ4諧調とすれば64色のはずですが、51色と言われるのはカラーパレットの設定を変えても同じ色になる例が13色ある為でしょう。
当時のパソコンはPC8801で512色、PC9801で4096色のカラーパレットでしたが、8階調から8色、16階調から16色で、ファミコンの4階調、51色から25色同時発色という色数の多さにはかなわなかったようです。
もっとも、PC9801はカラーパレットで4096色から16色ですが、固定色8色から1色が使えるPCGキャラクタ表示がありますから、16色+8色で同時発色数は24色になります。
ファミコンの同時発色数は25色ですから、PC9801とほとんど同じなのですが、グラフィック画面とキャラクタとを別々にカラーパレットで設定出来るファミコンに比べて、PC9801ではグラフィック画面の16パレットのみで、ドットカラーのPCGでカラーパレットが16色用意されていたら、ゲームの作り方が違っていたかもしれませんね。
ファミコンで驚くのはグラフィック画面が2枚同時表示出来る点で、これを使って画面をスライド表示させるゲームなどもありましたが、PC9801はテキスト画面とグラフィック画面の多重表示は出来ましたが、グラフィック画面2枚の多重表示は出来ませんでした。
ファミコンはPC9801よりもX68000に近いハードだったようで、X68000からハイカラー画面を削ったようなハード構成になっているようです。
ファミコンゲームを語る時にファミコンの画面がゲームイメージになっているという人がいますが、あれは色数ではなくてRGBで4階調の色表現がファミコンなのだと思います。ファミコンのカラーパレットが16階調だったら、PC9801のゲームイメージに近い画面になっていたでしょう。
投稿日時 - 2010-07-05 16:21:31
結論から言うと、25色が最大同時発色数です。
以下、なぜこんな中途半端な発色数なのかをご説明します。
まず、ファミコンの背景(BGグラフィック)について。
ファミコンは4色のパレットを4つ持っています。
そして16×16ドット単位で、上記4つのパレットのうち、どのパレットを使うのかを指定できます。
ただし、4色のうち、1色は背景色として4パレット共通の色となります。
よって、実質は3色×4パレット+1背景色=13色、となります。
これが背景の最大同時発色数です。
次に、スプライト(マリオなどのアニメキャラクタ)について。
スプライトも、背景とは別に4色のパレットを4つ持っていて、
8×8ドット単位で、どのパレットを使うのかを指定できます。
ただし、4色のうち、1色は透明色として扱われるので、
実質は3色×4パレット=12色、となります。
これがスプライトの最大同時発色数です。
これらを足した数、13+12=25色がファミコンとしての最大同時発色数となります。
お分かりになりましたでしょうか。
ちなみに、52色というのは、ファミコンが発色出来る色数のことです。
この52色から最大25色を選ぶ事ができるわけです。
また、色数が異なる画面モードなどはなく、
ファミコンの性能としては上記が唯一の回答となります。
投稿日時 - 2010-04-04 20:43:33
このサイトには52色中4色と書いてあります。
背景は1枚など明記してありますので、実際は
4色なのかもしれません。
参考URL:http://www7.plala.or.jp/adoru/dream/hard/fc/fc_spec.htm
投稿日時 - 2005-05-03 10:10:12
以下のサイトの下の方をご覧下さい。52色中25色だろうと書いてあります。
http://www.wizforest.com/OldGood/FamiCom/FamiMisc.html
参考URL:http://www.wizforest.com/OldGood/FamiCom/FamiMisc.html
投稿日時 - 2005-05-03 05:10:58