my $setups = {
-# '0x8a00' => [0x8a00,0x6010,0x6011,0x6012,0x6003,0x6004,0x6005,0x6006],
-# '0x8a01' => [0x8a01,0x6020,0x6021,0x6022,0x6013,0x6014,0x6015,0x6016],
-# '0x8a02' => [0x8a02,0x6030,0x6031,0x6032,0x6023,0x6024,0x6025,0x6026],
-# '0x8a03' => [0x8a03,0x6040,0x6041,0x6042,0x6033,0x6034,0x6035,0x6036],
-# '0x8a04' => [0x8a04,0x6050,0x6051,0x6052,0x6043,0x6044,0x6045,0x6046],
-# '0x8a05' => [0x8a05,0x6000,0x6001,0x6002,0x6053,0x6054,0x6055,0x6056],
+ '0x8a00' => [0x8a00,0x6010,0x6011,0x6012,0x6003,0x6004,0x6005,0x6006],
+ '0x8a01' => [0x8a01,0x6020,0x6021,0x6022,0x6013,0x6014,0x6015,0x6016],
+ '0x8a02' => [0x8a02,0x6030,0x6031,0x6032,0x6023,0x6024,0x6025,0x6026],
+ '0x8a03' => [0x8a03,0x6040,0x6041,0x6042,0x6033,0x6034,0x6035,0x6036],
+ '0x8a04' => [0x8a04,0x6050,0x6051,0x6052,0x6043,0x6044,0x6045,0x6046],
+ '0x8a05' => [0x8a05,0x6000,0x6001,0x6002,0x6053,0x6054,0x6055,0x6056],
'0x0100' => [0x0100],
-# '0x8880' => [0x8880,0x5000,0x5001,0x5002,0x5003],
+ '0x8880' => [0x8880,0x5000,0x5001,0x5002,0x5003],
};
my $types = {
-# '0x8a00' => 'trb3sc',
-# '0x8a01' => 'trb3sc',
-# '0x8a02' => 'trb3sc',
-# '0x8a03' => 'trb3sc',
-# '0x8a04' => 'trb3sc',
-# '0x8a05' => 'trb3sc',
+ '0x8a00' => 'trb3sc',
+ '0x8a01' => 'trb3sc',
+ '0x8a02' => 'trb3sc',
+ '0x8a03' => 'trb3sc',
+ '0x8a04' => 'trb3sc',
+ '0x8a05' => 'trb3sc',
'0x0100' => 'rjkel',
-# '0x8880' => 'trb3',
+ '0x8880' => 'trb3',
};
return $o;
}
+sub makeinputbitsslice {
+ my ($data,$outp,$slice) = @_;
+ my $o = "";
+ my $multtmp = $data->{0x33};
+ $multtmp = 0 if (! ($data->{0x34} & (1 << (8+$outp))));
+
+ $multtmp = ($multtmp >> (4*$slice)) & 0xF;
+ $tmp = ($data->{$outp*4} >> (4*$slice)) & 0xF;
+
+ $multtmp = sprintf("%04b", $multtmp);
+ $tmp = sprintf("%04b", $tmp);
+ $tmp = convbox($tmp,$multtmp);
+ $o .= $tmp."<br>";
+
+ $multtmp = sprintf("%04b",0);
+ $tmp = ($data->{$outp*4+1} >> (4*$slice)) & 0xF;
+ $tmp = sprintf("%04b",$tmp);
+ $tmp = convbox($tmp,$multtmp);
+ $o .= $tmp;
+
+ return $o;
+ }
+
+
+
sub makemasterbits {
my ($d,$i,$s,$t) = @_; #data,slot,output,type
my $o = "";
</table>#;
}
+ if ($type eq 'rjkel') {
+ my $b = $boards->[0];
+ $out .= "<table class=\"triggermap\">";
+ $out .= "<tr><th>X<th>J<th>I<th>H<th>G<th>D<th>C<th>B<th>A";
+
+ foreach my $i (0..3) {
+ $out .= "<tr><th>".($i+1);
+
+ foreach my $c (0..7) {
+ $out .= "<td>".makeinputbitsslice($data->{$b},$i,7-$c);
+ }
+
+ }
+ $out .= sprintf("<tr class=\"master\"><td>0x%04x<td colspan=\"8\">",$b);
+ if ($data->{$boards->[0]}{0x33} != 0) {
+ $out .= "mult >=".(($data->{$boards->[0]}{0x32} >> 16)&0xFF)." ";
+ }
+
+ $out .= "</table>";
+
+ $out .= qq#
+ <p>The lines in each cell are the two input boards. <br>
+ X1..4 are the outputs on the first board.
+ #;
+ }
+
return $out;
}
unless ($o->{$master}) {print "Master not found.\n"; return;}
if (($o->{$master}>>24 & 0xff) == 0x90) {$types->{$masterstring} = 'trb3';}
if (($o->{$master}>>24 & 0xff) == 0x95) {$types->{$masterstring} = 'trb3sc';}
+
+ push(@{$setups->{$masterstring}},$master);
+ return if $types->{$masterstring} eq 'rjkel';
my @list = ($master);
foreach my $b (keys %{$o}) {
push(@list,$b);
}
- push(@{$setups->{$masterstring}},$master);
my $pos = getposition(@list);
foreach my $b (keys %{$pos}) {
push(@{$setups->{$masterstring}},$pos->{$b});