termcol: rgb table columns from dark to light
[sheet.git] / termcol.inc.pl
index 0a7114008293c5054938fade25e823103c83f8f2..000d5da6e675f07e64129ceda3d6c6c0ea73148a 100644 (file)
@@ -1,7 +1,8 @@
 use strict;
+use 5.010;
 use Shiar_Sheet::Colour '1.02';
 
-my @msxorder = ( 0,6,2,10,4,13,7,14 , 1,8,3,11,5,9,12,15 );
+my @msxorder = ( 0,6,12,10,4,13,7,14 , 1,8,2,11,5,9,3,15 );
 
 +{
        html => {
@@ -94,7 +95,7 @@ my @msxorder = ( 0,6,2,10,4,13,7,14 , 1,8,3,11,5,9,12,15 );
                        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 ],
+               ansiorder => [ 15,3,9,11,6,5,7,12 , 14,2,8,1,10,4,13,0 ],
        },
        risc => {
                name => 'RISC',  # v2/3
@@ -102,7 +103,7 @@ my @msxorder = ( 0,6,2,10,4,13,7,14 , 1,8,3,11,5,9,12,15 );
                        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 ],
+               ansiorder => [ 7,5,13,14,4,3,2,1 , 6,11,10,9,8,12,15,0 ],
        },
        c64 => {
                name => 'C=64',  # commodore 64/128
@@ -187,6 +188,25 @@ my @msxorder = ( 0,6,2,10,4,13,7,14 , 1,8,3,11,5,9,12,15 );
                        },
                ],
        },
+       cpcboy => {
+               name => 'Arne CPC Boy v3',
+               href => 'http://androidarts.com/palette/16pal.htm',
+               rgbmap => [
+                       3 => sub {
+                               my $index = $_[2] + 3 * ($_[0] + 3 * $_[1]);
+                               $index,
+                               map { map { hex } /(..)/g } [qw(
+                                       000000 1B1B76 3636D8  761F28 623870 953EA7  CC3636 CE4B7A E3669A
+                                       1B761B 197F96 1986F2  8C6E1A 8E8E8E 9C9EE7  E48E2A EAA597 FE80FE
+                                       8DD836 B8D1B5 97E9D1  54BF47 37C79F 35CFE4  EDD446 EBE4A4 FFFFFF
+                               )]->[$index]
+                       },
+                       [ # gameboy ramp
+                               map { [ 27 + (state $index)++, map { hex } /(..)/g ] }
+                               qw( F2EFE7 BAC375 859550 485D48 293941 )
+                       ],
+               ],
+       },
        ansi88 => {
                name => 'rxvt 88 colour extension',
                rgbmap => [
@@ -194,7 +214,7 @@ my @msxorder = ( 0,6,2,10,4,13,7,14 , 1,8,3,11,5,9,12,15 );
                                $_[2] + 4 * ($_[1] + 4 * $_[0]) + 16,
                                map { (0, 139, 205, 255)[$_] } @_
                        },
-                       [ map { ($_ + 2 + ($_>0)) * 255/11 } 0 .. 7 ],
+                       [ map { [80 + $_, (($_ + 2 + ($_>0)) * 255/11) x 3] } 0 .. 7 ],
                ],
        },
        ansi256 => {
@@ -206,7 +226,7 @@ my @msxorder = ( 0,6,2,10,4,13,7,14 , 1,8,3,11,5,9,12,15 );
                                $_[2] + 6 * ($_[1] + 6 * $_[0]) + 16,
                                map { $_ && $_*40 + 55 } @_
                        },
-                       [ map { $_ * 10 + 8 } 0 .. 23 ],
+                       [ map { [232 + $_, ($_ * 10 + 8) x 3] } 0 .. 23 ],
                ],
        },
        512 => {