<> = 仕様 = * カラーパレットに組み込んで用いる。 * BGとスプライトそれぞれで、256色中16色を使用可能。 * RGBカラーモデルで指定する。ビット深度は赤と緑が3ビット、青が2ビット。 * 基本色データは ROM上に置かれる。動的な変更は出来ない。 * アドレス$00~$0Fがスプライト用、$10~$1FがBG用の色データとなる。 * スプライト用基本色の #15 は透明色として扱われる。色データを指定しても無視される。 * 前景表示した場合に BG用基本色の #15 がどう機能するかは未検証。 = 基本色のデータフォーマット = ||7||6||5||4||3||2||1||0|| ||<:-2>青||||<:-3>緑||||<:-3>赤|| = 基本色の一覧 = * まどさん(@maddoka)からの情報を元に、筆者が算出したカラーコードに基づく。 * 情報ありがとうございます。(_ _) * 算出式は、 * 赤/緑: C = 255 * (c2 * 455 + c1 * 213 + c0 * 100) / (455 + 213 + 100) * 青: C = 255 * (c1 * 455 + c0 * 213) / (455 + 213 + 100) * いずれも小数第一位で四捨五入。 * Cは24bppにおける赤/緑/青用のカラーデータ(符号なし8ビット値)。 * c2、c1、c0 は基本色データフォーマットにおける色データのビット値。 * c0がLSB。 ||R:G:B||'''0:x:x'''||'''1:x:x'''||'''2:x:x'''||'''3:x:x'''||'''4:x:x'''||'''5:x:x'''||'''6:x:x'''||'''7:x:x'''|| ||'''x:0:0'''||<#000000>0:0:0 ~-($00)-~||<#210000>1:0:0 ~-($01)-~||<#470000>2:0:0 ~-($02)-~||<#680000>3:0:0 ~-($03)-~||<#970000>4:0:0 ~-($04)-~||<#B80000>5:0:0 ~-($05)-~||<#DE0000>6:0:0 ~-($06)-~||<#FF0000>7:0:0 ~-($07)-~|| ||'''x:1:0'''||<#002100>0:1:0 ~-($08)-~||<#212100>1:1:0 ~-($09)-~||<#472100>2:1:0 ~-($0A)-~||<#682100>3:1:0 ~-($0B)-~||<#972100>4:1:0 ~-($0C)-~||<#B82100>5:1:0 ~-($0D)-~||<#DE2100>6:1:0 ~-($0E)-~||<#FF2100>7:1:0 ~-($0F)-~|| ||'''x:2:0'''||<#004700>0:2:0 ~-($10)-~||<#214700>1:2:0 ~-($11)-~||<#474700>2:2:0 ~-($12)-~||<#684700>3:2:0 ~-($13)-~||<#974700>4:2:0 ~-($14)-~||<#B84700>5:2:0 ~-($15)-~||<#DE4700>6:2:0 ~-($16)-~||<#FF4700>7:2:0 ~-($17)-~|| ||'''x:3:0'''||<#006800>0:3:0 ~-($18)-~||<#216800>1:3:0 ~-($19)-~||<#476800>2:3:0 ~-($1A)-~||<#686800>3:3:0 ~-($1B)-~||<#976800>4:3:0 ~-($1C)-~||<#B86800>5:3:0 ~-($1D)-~||<#DE6800>6:3:0 ~-($1E)-~||<#FF6800>7:3:0 ~-($1F)-~|| ||'''x:4:0'''||<#009700>0:4:0 ~-($20)-~||<#219700>1:4:0 ~-($21)-~||<#479700>2:4:0 ~-($22)-~||<#689700>3:4:0 ~-($23)-~||<#979700>4:4:0 ~-($24)-~||<#B89700>5:4:0 ~-($25)-~||<#DE9700>6:4:0 ~-($26)-~||<#FF9700>7:4:0 ~-($27)-~|| ||'''x:5:0'''||<#00B800>0:5:0 ~-($28)-~||<#21B800>1:5:0 ~-($29)-~||<#47B800>2:5:0 ~-($2A)-~||<#68B800>3:5:0 ~-($2B)-~||<#97B800>4:5:0 ~-($2C)-~||<#B8B800>5:5:0 ~-($2D)-~||<#DEB800>6:5:0 ~-($2E)-~||<#FFB800>7:5:0 ~-($2F)-~|| ||'''x:6:0'''||<#00DE00>0:6:0 ~-($30)-~||<#21DE00>1:6:0 ~-($31)-~||<#47DE00>2:6:0 ~-($32)-~||<#68DE00>3:6:0 ~-($33)-~||<#97DE00>4:6:0 ~-($34)-~||<#B8DE00>5:6:0 ~-($35)-~||<#DEDE00>6:6:0 ~-($36)-~||<#FFDE00>7:6:0 ~-($37)-~|| ||'''x:7:0'''||<#00FF00>0:7:0 ~-($38)-~||<#21FF00>1:7:0 ~-($39)-~||<#47FF00>2:7:0 ~-($3A)-~||<#68FF00>3:7:0 ~-($3B)-~||<#97FF00>4:7:0 ~-($3C)-~||<#B8FF00>5:7:0 ~-($3D)-~||<#DEFF00>6:7:0 ~-($3E)-~||<#FFFF00>7:7:0 ~-($3F)-~|| ||'''x:0:1'''||<#000047>0:0:1 ~-($40)-~||<#210047>1:0:1 ~-($41)-~||<#470047>2:0:1 ~-($42)-~||<#680047>3:0:1 ~-($43)-~||<#970047>4:0:1 ~-($44)-~||<#B80047>5:0:1 ~-($45)-~||<#DE0047>6:0:1 ~-($46)-~||<#FF0047>7:0:1 ~-($47)-~|| ||'''x:1:1'''||<#002147>0:1:1 ~-($48)-~||<#212147>1:1:1 ~-($49)-~||<#472147>2:1:1 ~-($4A)-~||<#682147>3:1:1 ~-($4B)-~||<#972147>4:1:1 ~-($4C)-~||<#B82147>5:1:1 ~-($4D)-~||<#DE2147>6:1:1 ~-($4E)-~||<#FF2147>7:1:1 ~-($4F)-~|| ||'''x:2:1'''||<#004747>0:2:1 ~-($50)-~||<#214747>1:2:1 ~-($51)-~||<#474747>2:2:1 ~-($52)-~||<#684747>3:2:1 ~-($53)-~||<#974747>4:2:1 ~-($54)-~||<#B84747>5:2:1 ~-($55)-~||<#DE4747>6:2:1 ~-($56)-~||<#FF4747>7:2:1 ~-($57)-~|| ||'''x:3:1'''||<#006847>0:3:1 ~-($58)-~||<#216847>1:3:1 ~-($59)-~||<#476847>2:3:1 ~-($5A)-~||<#686847>3:3:1 ~-($5B)-~||<#976847>4:3:1 ~-($5C)-~||<#B86847>5:3:1 ~-($5D)-~||<#DE6847>6:3:1 ~-($5E)-~||<#FF6847>7:3:1 ~-($5F)-~|| ||'''x:4:1'''||<#009747>0:4:1 ~-($60)-~||<#219747>1:4:1 ~-($61)-~||<#479747>2:4:1 ~-($62)-~||<#689747>3:4:1 ~-($63)-~||<#979747>4:4:1 ~-($64)-~||<#B89747>5:4:1 ~-($65)-~||<#DE9747>6:4:1 ~-($66)-~||<#FF9747>7:4:1 ~-($67)-~|| ||'''x:5:1'''||<#00B847>0:5:1 ~-($68)-~||<#21B847>1:5:1 ~-($69)-~||<#47B847>2:5:1 ~-($6A)-~||<#68B847>3:5:1 ~-($6B)-~||<#97B847>4:5:1 ~-($6C)-~||<#B8B847>5:5:1 ~-($6D)-~||<#DEB847>6:5:1 ~-($6E)-~||<#FFB847>7:5:1 ~-($6F)-~|| ||'''x:6:1'''||<#00DE47>0:6:1 ~-($70)-~||<#21DE47>1:6:1 ~-($71)-~||<#47DE47>2:6:1 ~-($72)-~||<#68DE47>3:6:1 ~-($73)-~||<#97DE47>4:6:1 ~-($74)-~||<#B8DE47>5:6:1 ~-($75)-~||<#DEDE47>6:6:1 ~-($76)-~||<#FFDE47>7:6:1 ~-($77)-~|| ||'''x:7:1'''||<#00FF47>0:7:1 ~-($78)-~||<#21FF47>1:7:1 ~-($79)-~||<#47FF47>2:7:1 ~-($7A)-~||<#68FF47>3:7:1 ~-($7B)-~||<#97FF47>4:7:1 ~-($7C)-~||<#B8FF47>5:7:1 ~-($7D)-~||<#DEFF47>6:7:1 ~-($7E)-~||<#FFFF47>7:7:1 ~-($7F)-~|| ||'''x:0:2'''||<#000097>0:0:2 ~-($80)-~||<#210097>1:0:2 ~-($81)-~||<#470097>2:0:2 ~-($82)-~||<#680097>3:0:2 ~-($83)-~||<#970097>4:0:2 ~-($84)-~||<#B80097>5:0:2 ~-($85)-~||<#DE0097>6:0:2 ~-($86)-~||<#FF0097>7:0:2 ~-($87)-~|| ||'''x:1:2'''||<#002197>0:1:2 ~-($88)-~||<#212197>1:1:2 ~-($89)-~||<#472197>2:1:2 ~-($8A)-~||<#682197>3:1:2 ~-($8B)-~||<#972197>4:1:2 ~-($8C)-~||<#B82197>5:1:2 ~-($8D)-~||<#DE2197>6:1:2 ~-($8E)-~||<#FF2197>7:1:2 ~-($8F)-~|| ||'''x:2:2'''||<#004797>0:2:2 ~-($90)-~||<#214797>1:2:2 ~-($91)-~||<#474797>2:2:2 ~-($92)-~||<#684797>3:2:2 ~-($93)-~||<#974797>4:2:2 ~-($94)-~||<#B84797>5:2:2 ~-($95)-~||<#DE4797>6:2:2 ~-($96)-~||<#FF4797>7:2:2 ~-($97)-~|| ||'''x:3:2'''||<#006897>0:3:2 ~-($98)-~||<#216897>1:3:2 ~-($99)-~||<#476897>2:3:2 ~-($9A)-~||<#686897>3:3:2 ~-($9B)-~||<#976897>4:3:2 ~-($9C)-~||<#B86897>5:3:2 ~-($9D)-~||<#DE6897>6:3:2 ~-($9E)-~||<#FF6897>7:3:2 ~-($9F)-~|| ||'''x:4:2'''||<#009797>0:4:2 ~-($A0)-~||<#219797>1:4:2 ~-($A1)-~||<#479797>2:4:2 ~-($A2)-~||<#689797>3:4:2 ~-($A3)-~||<#979797>4:4:2 ~-($A4)-~||<#B89797>5:4:2 ~-($A5)-~||<#DE9797>6:4:2 ~-($A6)-~||<#FF9797>7:4:2 ~-($A7)-~|| ||'''x:5:2'''||<#00B897>0:5:2 ~-($A8)-~||<#21B897>1:5:2 ~-($A9)-~||<#47B897>2:5:2 ~-($AA)-~||<#68B897>3:5:2 ~-($AB)-~||<#97B897>4:5:2 ~-($AC)-~||<#B8B897>5:5:2 ~-($AD)-~||<#DEB897>6:5:2 ~-($AE)-~||<#FFB897>7:5:2 ~-($AF)-~|| ||'''x:6:2'''||<#00DE97>0:6:2 ~-($B0)-~||<#21DE97>1:6:2 ~-($B1)-~||<#47DE97>2:6:2 ~-($B2)-~||<#68DE97>3:6:2 ~-($B3)-~||<#97DE97>4:6:2 ~-($B4)-~||<#B8DE97>5:6:2 ~-($B5)-~||<#DEDE97>6:6:2 ~-($B6)-~||<#FFDE97>7:6:2 ~-($B7)-~|| ||'''x:7:2'''||<#00FF97>0:7:2 ~-($B8)-~||<#21FF97>1:7:2 ~-($B9)-~||<#47FF97>2:7:2 ~-($BA)-~||<#68FF97>3:7:2 ~-($BB)-~||<#97FF97>4:7:2 ~-($BC)-~||<#B8FF97>5:7:2 ~-($BD)-~||<#DEFF97>6:7:2 ~-($BE)-~||<#FFFF97>7:7:2 ~-($BF)-~|| ||'''x:0:3'''||<#0000DE>0:0:3 ~-($C0)-~||<#2100DE>1:0:3 ~-($C1)-~||<#4700DE>2:0:3 ~-($C2)-~||<#6800DE>3:0:3 ~-($C3)-~||<#9700DE>4:0:3 ~-($C4)-~||<#B800DE>5:0:3 ~-($C5)-~||<#DE00DE>6:0:3 ~-($C6)-~||<#FF00DE>7:0:3 ~-($C7)-~|| ||'''x:1:3'''||<#0021DE>0:1:3 ~-($C8)-~||<#2121DE>1:1:3 ~-($C9)-~||<#4721DE>2:1:3 ~-($CA)-~||<#6821DE>3:1:3 ~-($CB)-~||<#9721DE>4:1:3 ~-($CC)-~||<#B821DE>5:1:3 ~-($CD)-~||<#DE21DE>6:1:3 ~-($CE)-~||<#FF21DE>7:1:3 ~-($CF)-~|| ||'''x:2:3'''||<#0047DE>0:2:3 ~-($D0)-~||<#2147DE>1:2:3 ~-($D1)-~||<#4747DE>2:2:3 ~-($D2)-~||<#6847DE>3:2:3 ~-($D3)-~||<#9747DE>4:2:3 ~-($D4)-~||<#B847DE>5:2:3 ~-($D5)-~||<#DE47DE>6:2:3 ~-($D6)-~||<#FF47DE>7:2:3 ~-($D7)-~|| ||'''x:3:3'''||<#0068DE>0:3:3 ~-($D8)-~||<#2168DE>1:3:3 ~-($D9)-~||<#4768DE>2:3:3 ~-($DA)-~||<#6868DE>3:3:3 ~-($DB)-~||<#9768DE>4:3:3 ~-($DC)-~||<#B868DE>5:3:3 ~-($DD)-~||<#DE68DE>6:3:3 ~-($DE)-~||<#FF68DE>7:3:3 ~-($DF)-~|| ||'''x:4:3'''||<#0097DE>0:4:3 ~-($E0)-~||<#2197DE>1:4:3 ~-($E1)-~||<#4797DE>2:4:3 ~-($E2)-~||<#6897DE>3:4:3 ~-($E3)-~||<#9797DE>4:4:3 ~-($E4)-~||<#B897DE>5:4:3 ~-($E5)-~||<#DE97DE>6:4:3 ~-($E6)-~||<#FF97DE>7:4:3 ~-($E7)-~|| ||'''x:5:3'''||<#00B8DE>0:5:3 ~-($E8)-~||<#21B8DE>1:5:3 ~-($E9)-~||<#47B8DE>2:5:3 ~-($EA)-~||<#68B8DE>3:5:3 ~-($EB)-~||<#97B8DE>4:5:3 ~-($EC)-~||<#B8B8DE>5:5:3 ~-($ED)-~||<#DEB8DE>6:5:3 ~-($EE)-~||<#FFB8DE>7:5:3 ~-($EF)-~|| ||'''x:6:3'''||<#00DEDE>0:6:3 ~-($F0)-~||<#21DEDE>1:6:3 ~-($F1)-~||<#47DEDE>2:6:3 ~-($F2)-~||<#68DEDE>3:6:3 ~-($F3)-~||<#97DEDE>4:6:3 ~-($F4)-~||<#B8DEDE>5:6:3 ~-($F5)-~||<#DEDEDE>6:6:3 ~-($F6)-~||<#FFDEDE>7:6:3 ~-($F7)-~|| ||'''x:7:3'''||<#00FFDE>0:7:3 ~-($F8)-~||<#21FFDE>1:7:3 ~-($F9)-~||<#47FFDE>2:7:3 ~-($FA)-~||<#68FFDE>3:7:3 ~-($FB)-~||<#97FFDE>4:7:3 ~-($FC)-~||<#B8FFDE>5:7:3 ~-($FD)-~||<#DEFFDE>6:7:3 ~-($FE)-~||<#FFFFDE>7:7:3 ~-($FF)-~|| == 備考 == * 元はアナログ映像信号なので、ここで挙げた色は目安程度に考えること。 * 実機では、 * 基本色を納めたROM(82S123相当品?)から赤/緑/青ごとに3~2ビットの信号が出力される。 * その信号線に、ビットごとの色の強さに応じた抵抗値を持つ電気抵抗が接続されている。 * 最終的にそれら3~2本の信号線を1本の映像信号にまとめて(これが赤/緑/青で計3本分)CRTへ。 * ……という感じらしい(たぶん)。 * 一覧表の計算式は、まどさんが抵抗値から算出された「各ビットの比」を元にしている。 * 補註:線形な階調と仮定。 * https://twitter.com/maddoka/status/1326864347478466561 {{{#!wiki comment == 余談 == * 旧MAME(ver 0.115以前)と Windows用ドルアーガの塔(メディアカイト版)では、上記一覧表と同じカラーらしい。 * Windows95用ナムコヒストリーVOL.2収録版では、全体的に青みがかかった色となっている。 * 青の範囲を0~255に置いているため。 * また、個々の色も微妙に異なる。 * 現MAME(ver 0.116以降)でもNH2版同様全体的に青みがかかっている。 * こちらも青の範囲を0~255に置いているため。 * ただし個々の色はNH2版と微妙に異なる。色の決定法が違うためだと思われる。 * さらに余談を重ねると、現MAMEは前述の抵抗値からカラーコードを算出する仕組みになっている。 * 引数に抵抗の値(220Ωとか470Ωとか)を渡すとカラーコードを計算してくれる関数、なんてものがある。 * ただ、算出値を8ビット値へ量子化する際に(赤/緑/青すべてで)最大値を255に統一しているらしい。 * 統一しているというか、最大値の決定を関数側にぶんなげているというか、そんな感じ(たぶん)。 }}} = 関連項目 = * [[画像処理部]] ---- [[CategoryHardware|カテゴリ:ハードウェア]]