X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/6dd6df74eb22b9467cfabab98af67157947c639c..d59162b2f180b322e6b4f245b44255d3fa9cf724:/termcol.inc.pl diff --git a/termcol.inc.pl b/termcol.inc.pl index 385f277..000d5da 100644 --- a/termcol.inc.pl +++ b/termcol.inc.pl @@ -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 => { @@ -79,13 +80,22 @@ 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( 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 @@ -93,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 @@ -178,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 => [ @@ -185,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 => { @@ -197,7 +226,22 @@ 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 => { + 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 } @_ + }, ], }, }