makechart3.pl.txt
binmode STDIN;
print << "HEADER";
<HTML>
<HEAD><TITLE>SC-88 Pro tone names list</TITLE></HEAD>
<BODY>
<H3>SC-88 Pro tone names list</H3>
<TABLE BORDER="1">
<TR><TH>PC</TH><TH>CC0</TH><TH>map</TH><TH>name</TH></TR>
HEADER
@model = ("","55","88","Pro");
undef $/;
$buf = <>;
$pmax = length($buf);
for ($p = 0; $p < $pmax; $p += 16) {
($cc0_,$map_,$pc_,$name_) = unpack("CCCxA12",substr($buf,$p,16));
$k_ = substr("00".$pc_, length($pc_) - 1, 3) .
substr("00".$cc0_, length($cc0_) - 1, 3) .
substr("00".$map_, length($map_) - 1, 3);
$pc{$k_} = $pc_;
$cc0{$k_} = $cc0_;
$map{$k_} = $map_;
$name{$k_} = $name_;
push(@ky, $k_);
}
@ky = sort {$a <=> $b} @ky;
foreach (@ky) {
$pc = $pc{$_}++;
print "<TR><TD>$pc</TD><TD>$cc0{$_}</TD><TD>$model[$map{$_}]</TD><TD>$name{$_}</TD></TR>\n";
}
print << "FOOTER";
</TABLE>
</BODY>
</HTML>
FOOTER