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 );
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(
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,12,9,13,1 , 5,7,11,8,14,4,15,2 ],
+ ansiorder => [ 0,3,10,6,13,12,9,1 , 5,7,11,8,14,4,15,2 ],
},
cpc => {
},
],
},
+ 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 => [
$_[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 => {
$_[2] + 6 * ($_[1] + 6 * $_[0]) + 16,
map { $_ && $_*40 + 55 } @_
},
- [ map { $_ * 10 + 8 } 0 .. 23 ],
+ [ map { [232 + $_, ($_ * 10 + 8) x 3] } 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 } @_
+ },
],
},
}