D64-Disk-Image
view release on metacpan or search on metacpan
lib/D64/Disk/Image.pm view on Meta::CPAN
for (my $offset = -2; $offset < 254; $offset += 32) {
# If file type != 0:
my $file_type = ord (substr $buffer, $offset + 2, 1);
if ($file_type != 0) {
my $rawname = substr $buffer, $offset + 5;
my $name = $d64->name_from_rawname($rawname);
my $type = $file_type & 7;
my $closed = $file_type & 0x80;
my $locked = $file_type & 0x40;
my $size = ord (substr $buffer, $offset + 31, 1) << 8 | ord (substr $buffer, $offset + 30, 1);
# Convert to ASCII and add quotes:
$name = $d64->petscii_to_ascii($name);
my $quotename = sprintf "\"%s\"", $name;
# Print directory entry:
printf "%-4d %-18s%c%s%c\n", $size, $quotename, $closed ? ord ' ' : ord '*', $file_types[$type], $locked ? ord '<' : ord ' ';
}
}
}
# Print number of blocks free:
my $blocksFree = $d64->blocksfree();
printf "%d blocks free\n", $blocksFree;
# Close directory:
$dir->close();
( run in 1.076 second using v1.01-cache-2.11-cpan-49f99fa48dc )