line |
true |
false |
branch |
53
|
0 |
0 |
if (defined $_[0]) |
55
|
0 |
0 |
$self->read(%params) ? : |
108
|
0 |
0 |
if ($_[0] =~ /^\-filedata$/i and defined $_[1]) { } |
|
0 |
0 |
elsif ($_[0] =~ /^\-file(name)|(handle)$/i and defined $_[1]) { } |
|
0 |
0 |
elsif (defined $_[0] and not defined $_[1]) { } |
|
0 |
0 |
elsif (defined $_[0]) { } |
123
|
0 |
0 |
if (defined $filedata) { } |
128
|
0 |
0 |
if (ref \$filename ne 'GLOB') { } |
130
|
0 |
0 |
unless defined $filename |
132
|
0 |
0 |
unless ($filename) |
138
|
0 |
0 |
unless ($FH = 'FileHandle'->new("< $filename")) |
159
|
0 |
0 |
unless ($size) |
169
|
0 |
0 |
unless ($SID eq 'PSID' and ($version >= 1 and $version <= 4) or $SID eq 'RSID' and $version >= 2 and $version <= 4) |
184
|
0 |
0 |
if (defined $filedata) { } |
194
|
0 |
0 |
if ($size != $dataOffset - 8) |
205
|
0 |
0 |
if ($version == 1) |
215
|
0 |
0 |
if ($version >= 2) |
223
|
0 |
0 |
if ($version == 2) |
234
|
0 |
0 |
if ($version >= 3) |
241
|
0 |
0 |
if ($version == 3) |
251
|
0 |
0 |
if ($version >= 4) |
258
|
0 |
0 |
if ($version == 4) |
273
|
0 |
0 |
if (defined $filedata) { } |
282
|
0 |
0 |
unless (defined $size) |
290
|
0 |
0 |
if (ref \$filename ne 'GLOB' and not defined $filedata) |
312
|
0 |
0 |
if ($_[0] =~ /^\-file(name)|(handle)$/i and defined $_[1]) { } |
|
0 |
0 |
elsif (defined $_[0] and not defined $_[1]) { } |
|
0 |
0 |
elsif (defined $_[0]) { } |
328
|
0 |
0 |
if (ref \$filename ne 'GLOB') { } |
329
|
0 |
0 |
unless defined $filename |
331
|
0 |
0 |
unless ($filename) |
336
|
0 |
0 |
unless ($FH = 'FileHandle'->new("> $filename")) |
349
|
0 |
0 |
if ($self->{'validateWrite'}) |
367
|
0 |
0 |
if ($self->{'SIDdata'}{'version'} > 1) |
372
|
0 |
0 |
if ($self->{'SIDdata'}{'version'} == 2) { } |
|
0 |
0 |
elsif ($self->{'SIDdata'}{'version'} == 3) { } |
|
0 |
0 |
elsif ($self->{'SIDdata'}{'version'} == 4) { } |
392
|
0 |
0 |
if (ref \$filename ne 'GLOB') |
413
|
0 |
0 |
unless defined wantarray |
415
|
0 |
0 |
unless (defined $fieldname) |
418
|
0 |
0 |
if (wantarray) { } |
428
|
0 |
0 |
if $fieldname =~ /^copyright$/ |
429
|
0 |
0 |
if $fieldname =~ /^name$/ |
431
|
0 |
0 |
unless (grep /^$fieldname$/, @SIDfieldNames) |
457
|
0 |
0 |
if ($self->{'SIDdata'}{'data'} and $self->{'SIDdata'}{'loadAddress'} == 0) { } |
470
|
0 |
0 |
if not defined $songnumber or $songnumber < 1 |
472
|
0 |
0 |
if ($songnumber > $self->{'SIDdata'}{'songs'}) |
477
|
0 |
0 |
if ($self->isPlaySIDSpecific) { } |
481
|
0 |
0 |
if $songnumber > 32 |
490
|
0 |
0 |
unless defined $self->{'SIDdata'}{'flags'} |
505
|
0 |
0 |
if $self->{'SIDdata'}{'version'} == 1 |
509
|
0 |
0 |
unless defined $self->{'SIDdata'}{'flags'} |
510
|
0 |
0 |
if $self->isRSID |
531
|
0 |
0 |
unless defined $self->{'SIDdata'}{'flags'} |
532
|
0 |
0 |
unless $self->isRSID |
546
|
0 |
0 |
unless defined $self->{'SIDdata'}{'flags'} |
555
|
0 |
0 |
unless defined $self->{'SIDdata'}{'flags'} |
559
|
0 |
0 |
if ($clock == 0) { } |
|
0 |
0 |
elsif ($clock == 1) { } |
|
0 |
0 |
elsif ($clock == 2) { } |
|
0 |
0 |
elsif ($clock == 3) { } |
578
|
0 |
0 |
unless defined $self->{'SIDdata'}{'flags'} |
580
|
0 |
0 |
if (not defined $sidNumber or $sidNumber == 1) { } |
|
0 |
0 |
elsif ($sidNumber == 2) { } |
|
0 |
0 |
elsif ($sidNumber == 3) { } |
584
|
0 |
0 |
unless $self->{'SIDdata'}{'version'} >= 3 |
589
|
0 |
0 |
unless $self->{'SIDdata'}{'version'} >= 4 |
601
|
0 |
0 |
unless defined $SIDModel |
603
|
0 |
0 |
if ($SIDModel == 0) { } |
|
0 |
0 |
elsif ($SIDModel == 1) { } |
|
0 |
0 |
elsif ($SIDModel == 2) { } |
|
0 |
0 |
elsif ($SIDModel == 3) { } |
624
|
0 |
0 |
if (not defined $sidNumber or $sidNumber == 1) { } |
|
0 |
0 |
elsif ($sidNumber == 2) { } |
|
0 |
0 |
elsif ($sidNumber == 3) { } |
631
|
0 |
0 |
unless $self->{'SIDdata'}{'version'} >= 3 |
637
|
0 |
0 |
unless $self->{'SIDdata'}{'version'} >= 4 |
660
|
0 |
0 |
if $fieldname =~ /^copyright$/ |
661
|
0 |
0 |
if $fieldname =~ /^name$/ |
663
|
0 |
0 |
unless (grep /^$fieldname$/, @SIDfieldNames) |
670
|
0 |
0 |
if ($fieldname eq 'magicID') |
671
|
0 |
0 |
if ($SIDhash{$fieldname} ne 'PSID' and $SIDhash{$fieldname} ne 'RSID') |
676
|
0 |
0 |
if ($SIDhash{$fieldname} ne $self->{'SIDdata'}{'magicID'}) |
681
|
0 |
0 |
if ($fieldname eq 'version') |
682
|
0 |
0 |
if ($SIDhash{$fieldname} < 1 or $SIDhash{$fieldname} > 4) |
688
|
0 |
0 |
if ($self->{'SIDdata'}{'version'} < 2 and $fieldname eq 'magicID' || $fieldname eq 'flags' || $fieldname eq 'reserved' || $fieldname eq 'startPage' || $fieldname eq 'pageLength') |
696
|
0 |
0 |
if ($self->{'SIDdata'}{'version'} < 3 and $fieldname eq 'secondSIDAddress' || $fieldname eq 'thirdSIDAddress') |
703
|
0 |
0 |
if ($self->{'SIDdata'}{'version'} < 4 and $fieldname eq 'thirdSIDAddress') |
711
|
0 |
0 |
if ($fieldname eq 'title' or $fieldname eq 'author' or $fieldname eq 'released') |
718
|
0 |
0 |
if ($self->{'SIDdata'}{'version'} == 1) { } |
|
0 |
0 |
elsif ($self->{'SIDdata'}{'version'} >= 2 and $self->{'SIDdata'}{'version'} <= 4) { } |
734
|
0 |
0 |
if ($self->{'SIDdata'}{'dataOffset'} <= 124) { } |
747
|
0 |
0 |
unless (defined $self->{'SIDdata'}{'flags'}) |
751
|
0 |
0 |
unless (defined $self->{'SIDdata'}{'startPage'}) |
755
|
0 |
0 |
unless (defined $self->{'SIDdata'}{'pageLength'}) |
759
|
0 |
0 |
if ($self->{'SIDdata'}{'version'} == 2 or $self->{'SIDdata'}{'version'} == 3) |
760
|
0 |
0 |
unless (defined $self->{'SIDdata'}{'reserved'}) |
765
|
0 |
0 |
if ($self->{'SIDdata'}{'version'} >= 3) |
766
|
0 |
0 |
unless (defined $self->{'SIDdata'}{'secondSIDAddress'}) |
772
|
0 |
0 |
if ($self->{'SIDdata'}{'version'} >= 4) |
773
|
0 |
0 |
unless (defined $self->{'SIDdata'}{'thirdSIDAddress'}) |
779
|
0 |
0 |
if ($changePSIDSpecific) |
781
|
0 |
0 |
unless ($SIDhash{'flags'}) |
782
|
0 |
0 |
if ($self->isRSID) { } |
792
|
0 |
0 |
if ($self->isRSID) |
799
|
0 |
0 |
if ($self->{'SIDdata'}{'loadAddress'} != 0) |
805
|
0 |
0 |
if ($self->getC64BASIC) |
826
|
0 |
0 |
unless (defined $songnumber) |
831
|
0 |
0 |
unless (defined $value) |
836
|
0 |
0 |
if ($songnumber > $self->{'SIDdata'}{'songs'} or $songnumber < 1) |
841
|
0 |
0 |
if ($value ne 0 and $value ne 1) |
846
|
0 |
0 |
if $songnumber < 1 |
848
|
0 |
0 |
if ($self->{'SIDdata'}{'version'} == 1 or $self->isPlaySIDSpecific) { } |
852
|
0 |
0 |
if $songnumber > 32 |
865
|
0 |
0 |
unless (defined $self->{'SIDdata'}{'flags'}) |
870
|
0 |
0 |
if ($MUSplayer ne 0 and $MUSplayer ne 1) |
885
|
0 |
0 |
if ($self->isRSID) |
890
|
0 |
0 |
unless (defined $self->{'SIDdata'}{'flags'}) |
895
|
0 |
0 |
if ($PlaySID ne 0 and $PlaySID ne 1) |
910
|
0 |
0 |
unless ($self->isRSID) |
915
|
0 |
0 |
unless (defined $self->{'SIDdata'}{'flags'}) |
920
|
0 |
0 |
if ($C64BASIC ne 0 and $C64BASIC ne 1) |
931
|
0 |
0 |
if ($C64BASIC) |
939
|
0 |
0 |
unless (defined $self->{'SIDdata'}{'flags'}) |
944
|
0 |
0 |
if ($clock < 0 or $clock > 3) |
959
|
0 |
0 |
unless (defined $self->{'SIDdata'}{'flags'}) |
964
|
0 |
0 |
if ($clock =~ /^(unknown|none|neither)$/i) { } |
|
0 |
0 |
elsif ($clock =~ /^PAL$/i) { } |
|
0 |
0 |
elsif ($clock =~ /^NTSC$/i) { } |
|
0 |
0 |
elsif ($clock =~ /^(any|both|either)$/i) { } |
987
|
0 |
0 |
unless (defined $self->{'SIDdata'}{'flags'}) |
992
|
0 |
0 |
if ($SIDModel < 0 or $SIDModel > 3) |
997
|
0 |
0 |
if (not defined $sidNumber or $sidNumber == 1) { } |
|
0 |
0 |
elsif ($sidNumber == 2) { } |
|
0 |
0 |
elsif ($sidNumber == 3) { } |
1006
|
0 |
0 |
unless $self->{'SIDdata'}{'version'} >= 3 |
1015
|
0 |
0 |
unless $self->{'SIDdata'}{'version'} >= 4 |
1028
|
0 |
0 |
unless (defined $self->{'SIDdata'}{'flags'}) |
1033
|
0 |
0 |
if ($SIDModel =~ /^(unknown|none|neither)$/i) { } |
|
0 |
0 |
elsif ($SIDModel =~ /^6581$/ or $SIDModel == 6581) { } |
|
0 |
0 |
elsif ($SIDModel =~ /^8580$/i or $SIDModel == 8580) { } |
|
0 |
0 |
elsif ($SIDModel =~ /^(any|both|either)$/i) { } |
1056
|
0 |
0 |
if (not defined $sidNumber or $sidNumber < 2 or $sidNumber > 3) |
1061
|
0 |
0 |
unless (defined $fullSIDAddress) |
1066
|
0 |
0 |
if ($sidNumber == 2 and $self->{'SIDdata'}{'version'} < 3 or $sidNumber == 3 and $self->{'SIDdata'}{'version'} < 4) |
1073
|
0 |
0 |
if ($fullSIDAddress =~ /^\s*\$/) { } |
|
0 |
0 |
elsif ($fullSIDAddress =~ /^\s*0x/) { } |
1083
|
0 |
0 |
if ($fullSIDAddress < 54304 or $fullSIDAddress > 57344 or $fullSIDAddress >= 55296 and $fullSIDAddress < 56832) |
1091
|
0 |
0 |
if ($middleSIDAddress % 2 != 0) |
1096
|
0 |
0 |
if ($self->{'SIDdata'}{'version'} >= 4) |
1097
|
0 |
0 |
if ($sidNumber == 2 and $self->{'SIDdata'}{'thirdSIDAddress'} == $middleSIDAddress) |
1102
|
0 |
0 |
if ($sidNumber == 3 and $self->{'SIDdata'}{'secondSIDAddress'} == $middleSIDAddress) |
1110
|
0 |
0 |
if ($sidNumber == 2) { } |
|
0 |
0 |
elsif ($sidNumber == 3) { } |
1130
|
0 |
0 |
if ($self->{'SIDdata'}{'loadAddress'} == 0 and $self->{'SIDdata'}{'data'}) { } |
1147
|
0 |
0 |
if ($self->isRSID) { } |
1151
|
0 |
0 |
if ($self->getSpeed($songNo) == 1) { } |
1164
|
0 |
0 |
if ($self->{'SIDdata'}{'version'} > 1 and $clock == 2 and not $oldMD5) |
1189
|
0 |
0 |
if ($self->{'SIDdata'}{'version'} < 2) |
1194
|
0 |
0 |
if ($self->isRSID) |
1199
|
0 |
0 |
if ($self->{'SIDdata'}{'dataOffset'} != 124) |
1218
|
0 |
0 |
if (length $self->{'SIDdata'}{$field} > 32) |
1228
|
0 |
0 |
if ($self->isRSID and $self->{'SIDdata'}{'initAddress'} > 0 && $self->{'SIDdata'}{'initAddress'} < 2024 || $self->{'SIDdata'}{'initAddress'} >= 40960 && $self->{'SIDdata'}{'initAddress'} < 49152 || $self->{'SIDdata'}{'initAddress'} >= 53248 && $self->{'SIDdata'}{'initAddress'} <= 65535 || $self->{'SIDdata'}{'initAddress'} < $self->getRealLoadAddress || $self->{'SIDdata'}{'initAddress'} > $self->getRealLoadAddress + length($self->{'SIDdata'}{'data'}) - 3 || $self->getC64BASIC) |
1248
|
0 |
0 |
if ($self->{'SIDdata'}{'loadAddress'} != 0) |
1251
|
0 |
0 |
if ($self->isRSID and $self->{'SIDdata'}{'loadAddress'} < 2024) |
1264
|
0 |
0 |
if (not $self->isRSID and $self->{'SIDdata'}{'initAddress'} < $self->getRealLoadAddress || $self->{'SIDdata'}{'initAddress'} > $self->getRealLoadAddress + length($self->{'SIDdata'}{'data'}) - 3) |
1277
|
0 |
0 |
if ($self->{'SIDdata'}{$field} < 0 or $self->{'SIDdata'}{$field} > 65535) |
1285
|
0 |
0 |
if (not defined $self->{'SIDdata'}{$field} or $self->{'SIDdata'}{$field} < 0 or $self->{'SIDdata'}{$field} > 255) |
1292
|
0 |
0 |
if ($self->{'SIDdata'}{'songs'} > 256) |
1298
|
0 |
0 |
if ($self->{'SIDdata'}{'songs'} < 1) |
1304
|
0 |
0 |
if ($self->{'SIDdata'}{'startSong'} > $self->{'SIDdata'}{'songs'}) |
1309
|
0 |
0 |
unless ($self->isRSID) |
1315
|
0 |
0 |
if ($maxSongs > 32) |
1325
|
0 |
0 |
if (defined $self->{'SIDdata'}{'flags'}) { } |
1336
|
0 |
0 |
if ($self->isRSID) { } |
1349
|
0 |
0 |
if ($self->{'SIDdata'}{'version'} >= 3) |
1350
|
0 |
0 |
if (defined $secondSIDModel) |
1355
|
0 |
0 |
if ($self->{'SIDdata'}{'version'} >= 4) |
1356
|
0 |
0 |
if (defined $thirdSIDModel) |
1361
|
0 |
0 |
if ($self->isRSID) { } |
1369
|
0 |
0 |
if ($self->{'SIDdata'}{'startPage'} == 0 or $self->{'SIDdata'}{'startPage'} == 255) { } |
|
0 |
0 |
elsif (($self->{'SIDdata'}{'startPage'} << 8) + ($self->{'SIDdata'}{'pageLength'} << 8) - 1 > 65535) { } |
|
0 |
0 |
elsif ($self->{'SIDdata'}{'pageLength'} == 0) { } |
1379
|
0 |
0 |
if ($self->isRSID) |
1385
|
0 |
0 |
if ($self->{'SIDdata'}{'startPage'} >= 160 and $self->{'SIDdata'}{'startPage'} < 192 or $self->{'SIDdata'}{'startPage'} >= 208 and $self->{'SIDdata'}{'startPage'} < 255 or $self->{'SIDdata'}{'startPage'} > 0 and $self->{'SIDdata'}{'startPage'} < 4) |
1394
|
0 |
0 |
if (($self->{'SIDdata'}{'startPage'} << 8) + ($self->{'SIDdata'}{'pageLength'} << 8) - 1 >= 40960 and ($self->{'SIDdata'}{'startPage'} << 8) + ($self->{'SIDdata'}{'pageLength'} << 8) - 1 < 49152 or ($self->{'SIDdata'}{'startPage'} << 8) + ($self->{'SIDdata'}{'pageLength'} << 8) - 1 >= 53248 and ($self->{'SIDdata'}{'startPage'} << 8) + ($self->{'SIDdata'}{'pageLength'} << 8) - 1 <= 65535 or ($self->{'SIDdata'}{'startPage'} << 8) + ($self->{'SIDdata'}{'pageLength'} << 8) - 1 > 0 and ($self->{'SIDdata'}{'startPage'} << 8) + ($self->{'SIDdata'}{'pageLength'} << 8) - 1 < 1024) |
1403
|
0 |
0 |
if ($self->{'SIDdata'}{'startPage'} < 160 and ($self->{'SIDdata'}{'startPage'} << 8) + ($self->{'SIDdata'}{'pageLength'} << 8) - 1 >= 49152) |
1412
|
0 |
0 |
if ($self->{'SIDdata'}{'startPage'} << 8 >= $self->getRealLoadAddress and $self->{'SIDdata'}{'startPage'} << 8 <= $self->getRealLoadAddress + length($self->{'SIDdata'}{'data'}) - 3) |
1420
|
0 |
0 |
if (($self->{'SIDdata'}{'startPage'} << 8) + ($self->{'SIDdata'}{'pageLength'} << 8) - 1 >= $self->getRealLoadAddress and ($self->{'SIDdata'}{'startPage'} << 8) + ($self->{'SIDdata'}{'pageLength'} << 8) - 1 <= $self->getRealLoadAddress + length($self->{'SIDdata'}{'data'}) - 3) |
1428
|
0 |
0 |
if ($self->{'SIDdata'}{'startPage'} << 8 < $self->getRealLoadAddress and ($self->{'SIDdata'}{'startPage'} << 8) + ($self->{'SIDdata'}{'pageLength'} << 8) - 1 > $self->getRealLoadAddress + length($self->{'SIDdata'}{'data'}) - 3) |
1438
|
0 |
0 |
if ($self->{'SIDdata'}{'version'} >= 3) |
1442
|
0 |
0 |
if ($secondSIDAddress) |
1446
|
0 |
0 |
unless ($result) |
1453
|
0 |
0 |
if ($self->{'SIDdata'}{'version'} >= 4) |
1457
|
0 |
0 |
if ($thirdSIDAddress) |
1461
|
0 |
0 |
unless ($result) |
1472
|
0 |
0 |
if ($self->{'PADDING'}) |