10 # @a is the ID locations, one byte per array entry,
11 # with $a[0] being the first ID location (ie 0x200000).
12 # Values must be in hex (or otherwise suitable for the assembler).
17 $a[1] |= 0x80 if !$picno;
19 open W, "< $wiring" or die "$wiring: $!";
22 next unless m/^boards\s+$/...(!m/\S/ || m/^\S/);
23 next if !m/\S/ || m/^\S/;
24 die unless m/^\s+(\d+)\s+(\w+)\s*$/;
25 next unless $1 == $picno;
29 die $picno unless defined $board;
30 die $board unless $board =~ m/^(?:reversers|detectors)$/;
32 $a[1] |= 0x40 if $board eq 'detectors';
34 @a= map { sprintf "0x%02x", $_; } @a;
36 printf "; automatically generated - do not edit\n" or die $!;
41 printf "\t __idlocs \t 0x%06x, %s\n", $i, $_ or die $!;
43 print "\t end\n" or die $!;