Revision 1439
Added by markw about 1 year ago
| atari_chips/pokeyv2/build.sh | ||
|---|---|---|
| 
     		$fpga =~ /M(..)/;
 
   | 
||
| 
     		my $fpgasize = $1;
 
   | 
||
| 
     | 
||
| 
     		#next if ($wanted_variant ne $variant and $wanted_variant ne "ALL");
 
   | 
||
| 
     		my $variant = "${typeboard}_M${fpgasize}_${name}";
 
   | 
||
| 
     | 
||
| 
     		if (defined $wanted_variant)
 
   | 
||
| 
     		{
 
   | 
||
| 
     			next unless ($variant =~ /$wanted_variant/);
 
   | 
||
| 
     		}
 
   | 
||
| 
     | 
||
| 
     		my $code1;
 
   | 
||
| 
     		my $code2;
 
   | 
||
| 
     		my $sample = 0;
 
   | 
||
| ... | ... | |
| 
     		}
 
   | 
||
| 
     | 
||
| 
     		my $versioncode = "${version}M$fpgasize$code1$code2";
 
   | 
||
| 
     		$spec->{"version"} = $versioncode;
 
   | 
||
| 
     | 
||
| 
     		print "Building $versioncode $name of $typeboard\n";
 
   | 
||
| 
     | 
||
| 
     		my $bus = "";
 
   | 
||
| 
     		if (exists $spec->{"bus"})
 
   | 
||
| 
     		{
 
   | 
||
| ... | ... | |
| 
     | 
||
| 
     	        my $dir = "build_${typeboard}_M${fpgasize}_${versioncode}_${name}";
 
   | 
||
| 
     | 
||
| 
     		#next if ($wanted_variant ne $variant and $wanted_variant ne "ALL");
 
   | 
||
| 
     		if (defined $wanted_variant)
 
   | 
||
| 
     		{
 
   | 
||
| 
     			next unless ($dir =~ /$wanted_variant/);
 
   | 
||
| 
     		}
 
   | 
||
| 
     		print "Building $versioncode $name of $typeboard into $dir\n";
 
   | 
||
| 
     | 
||
| 
     		`rm -rf $dir`;
 
   | 
||
| 
     		mkdir $dir;
 
   | 
||
| 
     		`cp *.vhd* $dir`;
 
   | 
||
| ... | ... | |
| 
     			`cat CFM1.bin CFM0.bin > CFMboth_post.bin`;
 
   | 
||
| 
     		        `../swapbits ./UFMboth_post.bin ./UFMboth_post.bin.swap`;
 
   | 
||
| 
     		        `../swapbits ./CFMboth_post.bin ./CFMboth_post.bin.swap`;
 
   | 
||
| 
     			`../makeflash $type $versioncode output_files/core.bin`;
 
   | 
||
| 
     			`../makeflash $fpgasize $versioncode output_files/core.bin`;
 
   | 
||
| 
     		}
 
   | 
||
| 
     | 
||
| 
     		chdir "..";
 
   | 
||
| atari_chips/pokeyv2/makeflash | ||
|---|---|---|
| 
     TYPE=$1
 
   | 
||
| 
     FPGASIZE=$1
 
   | 
||
| 
     rm version
 
   | 
||
| 
     | 
||
| 
     cat UFMboth_post.bin CFMboth_post.bin > $3
 
   | 
||
| 
     echo $2 > version
 
   | 
||
| 
     dd conv=notrunc if=version bs=1 count=8 of=$3
 
   | 
||
| 
     | 
||
| 
     if [[ FPGASIZE -gt 15 ]]
 
   | 
||
| 
     then
 
   | 
||
| 
         EXPECTED=16#66000 #10M16
 
   | 
||
| 
     elif [[ FPGASIZE -gt 7 ]]
 
   | 
||
| 
     then
 
   | 
||
| 
         EXPECTED=16#39800 #10M08
 
   | 
||
| 
     elif [[ FPGASIZE -gt 3 ]]
 
   | 
||
| 
     then
 
   | 
||
| 
         EXPECTED=16#35800 10M08
 
   | 
||
| 
     fi
 
   | 
||
| 
     | 
||
| 
     PADSIZE=$((EXPECTED - `stat -c %s $3`))
 
   | 
||
| 
     if [[ PADSIZE -gt 0 ]]
 
   | 
||
| 
     then
 
   | 
||
| 
     	perl -e "print chr(255)x$PADSIZE" >> $3
 
   | 
||
| 
     fi
 
   | 
||
| 
     | 
||
Pad core.bin out to the actual flash size. Correct version parameter.