termcol: define mirc palette (included in more)
[sheet.git] / termcol.inc.pl
index 48b140ce0eee3a8ee110a95eaea7f1708fe30c5b..0a7114008293c5054938fade25e823103c83f8f2 100644 (file)
@@ -1,6 +1,8 @@
 use strict;
 use Shiar_Sheet::Colour '1.02';
 
+my @msxorder = ( 0,6,2,10,4,13,7,14 , 1,8,3,11,5,9,12,15 );
+
 +{
        html => {
                title => 'HTML keywords (inherited by CSSā‰„2.1 and SVG), mostly identical to X11',
@@ -77,12 +79,22 @@ use Shiar_Sheet::Colour '1.02';
                        2F2F2F CD5757 8FC35B D1C45E 5C81A9 BC95B7 76CBCB EEEEEC
                )],
        },
+       mirc => {
+               name => 'mIRC',
+               href => 'http://www.mirc.com/colors.html',
+               list => [qw(
+                       FFFFFF 000000 00007F 009300 FF0000 7F0000 9C009C FC7F00
+                       FFFF00 00FC00 009393 00FFFF 0000FC FF00FF 7F7F7F D2D2D2
+               )],
+               ansiorder => [ 1,5,3,7,2,6,10,15 , 14,4,9,8,12,13,11,0  ],
+       },
        mac2 => {
                name => 'MacII',
                list => [qw(
                        FFFFFF FBF305 FF6403 DD0907 F20884 4700A5 0000D3 02ABEA
                        1FB714 006412 562C05 90713A C0C0C0 808080 404040 000000
                )],
+               ansiorder => [ 15,3,9,11,6,5,7,12 , 14,2,8,1,13,4,10,0 ],
        },
        risc => {
                name => 'RISC',  # v2/3
@@ -90,6 +102,7 @@ use Shiar_Sheet::Colour '1.02';
                        FFFFFF DDDDDD BBBBBB 999999 777777 555555 333333 000000
                        004499 EEEE00 00CC00 DD0000 EEEEBB 558800 FFBB00 00BBFF
                )],
+               ansiorder => [ 7,11,13,14,8,12,15,1, 6,5,10,9,4,3,2,0 ],
        },
        c64 => {
                name => 'C=64',  # commodore 64/128
@@ -115,6 +128,7 @@ use Shiar_Sheet::Colour '1.02';
                        0    32  10+5 20-5 12+2 16-2 8+0  24-0
                        12+6 8+7 16+5 10   15   24-2 15+0 20
                )],
+               ansiorder => [ 0,2,5,9,6,4,3,15 , 11,10,13,7,14,8,12,1 ],
        },
        msx1 => {
                name => 'MSX',
@@ -129,6 +143,7 @@ use Shiar_Sheet::Colour '1.02';
                        0.53;0.27;0.93 0.67;0.27;0.93 0.73;0.07;0.57 0.80;0.17;0.57
                        0.47;0.23;0.13 0.53;0.67;0.73 0.80;0.47;0.47 1.00;0.47;0.47
                )],
+               ansiorder => \@msxorder,
        },
        msx2 => {
                name => 'MSX2',
@@ -137,6 +152,7 @@ use Shiar_Sheet::Colour '1.02';
                        000 000 161 373 117 237 511 267
                        711 733 661 663 141 625 555 777
                )],
+               ansiorder => \@msxorder,
        },
        arnejmp => {
                href => 'http://androidarts.com/palette/16pal.htm',
@@ -146,6 +162,7 @@ use Shiar_Sheet::Colour '1.02';
                        000000 191028 46AF45 A1D685 453E78 7664FE 833129 9EC2E8
                        DC534B E18D79 D6B97B E9D8A1 216C4B D365C8 AFAAB9 F5F4EB
                )],
+               ansiorder => \@msxorder,
        },
        arnegame => {
                href => 'http://androidarts.com/palette/16pal.htm',
@@ -157,6 +174,8 @@ use Shiar_Sheet::Colour '1.02';
                        F7E26B::zornskin 2F484E::shade   44891A::leaf    A3CE27::slime
                        1B2632::night    005784::sea     31A2F2::sky     B2DCEF::cloud
                )],
+               order => [ 0,5,9,12 , 3,6,10,13,1 , 4,7,8,11,14,15,2 ], # by brightness
+               ansiorder => [ 0,3,10,6,13,12,9,1 , 5,7,11,8,14,4,15,2 ],
        },
 
        cpc => {
@@ -190,4 +209,19 @@ use Shiar_Sheet::Colour '1.02';
                        [ map { $_ * 10 + 8 } 0 .. 23 ],
                ],
        },
+       512 => {
+               name => '9-bit RGB map',
+               # atari st, msx2, sega genesis/nomad, turbografx16
+               rgbmap => [8],
+       },
+       '4k' => {
+               name => '12-bit RGB map',
+               # amiga, apple IIgs, game gear, neo geo, lynx, cpc+, nextstation
+               rgbmap => [
+                       12 => sub {
+                               join('', map { sprintf '%X', $_ } @_),
+                               map { int $_ * 255 / 11 } @_
+                       },
+               ],
+       },
 }