X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/07d8d05b9543279bab3e3f351d982609b7d88f85..327920b44dd5efaef9aa368512c938f5735021cf:/termcol.plp diff --git a/termcol.plp b/termcol.plp index c7a2573..4de11c6 100644 --- a/termcol.plp +++ b/termcol.plp @@ -117,9 +117,27 @@ my %col = ( ], c64 => [ 'C=64', # commodore 64/128 - map { Shiar_Sheet::Colour->newyuv($_)->rgb48 } - qw/008080 FF8080 4F4FF5 9FB00A 5FDADA 7F2525 3FFF80 BF0080 - 5F25DA 3F0AB0 7F4FF5 4F8080 778080 BF2525 77FF80 9F8080 / + map { + # 5-bit luma ± 2-bit colour angle + my ($y, $neg, $hue) = split /(-)|\+/; + + # convert to yuv + my ($u, $v) = (0, 0); + if (defined $hue) { + my $RAD = 3.14159; + $hue *= $RAD / 8; + $hue += $RAD if $neg; + $u = cos $hue; + $v = sin $hue; + } + + # convert to rgb + $y *= 255 / 32; + $_ = $_ * 127.5 + 128 for $u, $v; + Shiar_Sheet::Colour->newyuv($y, $u, $v)->rgb48; + } + qw/ 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 /, ], msx => [ 'MSX',