D64-Disk-Image
view release on metacpan or search on metacpan
lib/D64/Disk/Image.pm view on Meta::CPAN
}
}
}
# Print number of blocks free:
my $blocksFree = $d64->blocksfree();
printf "%d blocks free\n", $blocksFree;
# Close directory:
$dir->close();
# Release image:
$d64->free_image();
Copy a file from a disk image:
# Load image into RAM:
my $d64 = D64::Disk::Image->load_image('image.d64');
# Convert filename:
my $name = 'filename';
my $rawname = $d64->rawname_from_name($d64->ascii_to_petscii($name));
# Open file for reading:
my $prg = $d64->open($rawname, T_PRG, F_READ);
# Open file for writing:
die "$name file already exists" if -e $name;
open PRG, '>:bytes', $name or die "Couldn't open $name file for writing";
# Read data from file:
my ($size, $buffer) = $prg->read();
print PRG $buffer;
printf "Read %d bytes from %s\n", $size, $disk;
# Close files:
close PRG;
$prg->close();
# Release image:
$d64->free_image();
Copy a file to a disk image:
# Load image into RAM:
my $d64 = D64::Disk::Image->load_image('image.d64');
# Convert filename:
my $name = 'filename';
my $rawname = $d64->rawname_from_name($d64->ascii_to_petscii($name));
# Open file for writing:
my $prg = $d64->open($rawname, T_PRG, F_WRITE);
# Open file for reading:
die "$name file does not exist" unless -e $name;
open PRG, '<:bytes', $name or die "Couldn't open $name file for reading";
# Write data to file:
my $buffer;
my $filesize = (stat($name))[7];
sysread PRG, $buffer, $filesize;
my $size = $prg->write($buffer);
printf "Wrote %d bytes to %s\n", $size, $disk_3;
# Close files:
close PRG;
$prg->close();
# Release image:
$d64->free_image();
Create an empty disk image:
# Create an empty image:
my $d64 = D64::Disk::Image->create_image('image.d64', D64);
# Convert title:
my $name = 'title';
my $rawname = $d64->rawname_from_name($d64->ascii_to_petscii($name));
# Convert ID:
my $id = 'id';
my $rawid = $d64->rawname_from_name($d64->ascii_to_petscii($id));
# Format the image:
$d64->format($rawname, $rawid);
# Release image:
$d64->free_image();
=head1 BUGS
There are no known bugs at the moment. Please report any bugs or feature requests.
=head1 EXPORT
C<D64::Disk::Image> exports nothing by default.
You may request the import of image type constants (D64, D71, and D81), and file type constants (C<T_DEL>, C<T_SEQ>, C<T_PRG>, C<T_USR>, C<T_REL>, C<T_CBM>, and C<T_DIR>). All of these constants can be explicitly imported from C<D64::Disk::Image> by ...
=head1 SEE ALSO
L<D64::Disk::Image::File>
=head1 AUTHOR
Pawel Krol, E<lt>pawelkrol@cpan.orgE<gt>.
=head1 VERSION
Version 0.05 (2018-12-01)
=head1 COPYRIGHT AND LICENSE
diskimage.c is released under a slightly modified BSD license.
Copyright (c) 2003-2006, Per Olofsson
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
( run in 0.836 second using v1.01-cache-2.11-cpan-39bf76dae61 )