Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 30.127.145 Times

AppleII::Disk 0.08

  Date Added: August 07, 2010  |  Visits: 914

AppleII::Disk

Report Broken Link
Printer Friendly Version


Product Homepage
Download (80 downloads)

AppleII::Disk is a Perl module for block-level access to Apple II disk image files. SYNOPSIS use AppleII::Disk; my $disk = AppleII::Disk->new(image.dsk); my $data = $disk->read_block(1); # Read block 1 $disk->write_block(1, $data); # And write it back :-) AppleII::Disk provides block-level access to the Apple II disk image files used by most Apple II emulators. (For information about Apple II emulators, try the Apple II Emulator Page at http://www.ecnet.net/users/mumbv/pages/apple2.shtml.) For a higher-level interface, use the AppleII::ProDOS module. AppleII::Disk provides the following methods: $disk = AppleII::Disk->new($filename, [$mode]) Constructs a new AppleII::Disk object. $filename is the name of the image file. The optional $mode is a string specifying how to open the image. It can consist of the following characters (case sensitive): r Allow reads (this is actually ignored; you can always read) w Allow writes d Disk image is in DOS 3.3 order p Disk image is in ProDOS order If you dont specify d or p, then the format is guessed from the filename. .PO and .HDV files are ProDOS order, and anything else is assumed to be DOS 3.3 order. If you specify w to allow writes, then the image file is created if it doesnt already exist. $size = $disk->blocks([$newsize]) Gets or sets the size of the disk in blocks. $newsize is the new size of the disk in blocks. If $newsize is omitted, then the size is not changed. Returns the size of the disk image in blocks. This refers to the logical size of the disk image. Blocks outside the physical size of the disk image read as all zeros. Writing to such a block will expand the image file. When you create a new image file, you must use blocks to set its size before writing to it. $contents = $disk->read_block($block) Reads one block from the disk image. $block is the block number to read. $contents = $disk->read_blocks(@blocks) Reads a sequence of blocks from the disk image. @blocks is a reference to an array of block numbers. As a special case, block 0 cannot be read by this method. Instead, it returns a block full of 0 bytes. This is how sparse files are implemented. If you want to read the actual contents of block 0, you must call $disk->read_block(0) directly. $contents = $disk->read_sector($track, $sector) Reads one sector from the disk image. $track is the track number, and $sector is the DOS 3.3 logical sector number. This is currently implemented only for DOS 3.3 order images. $disk->fully_allocate() Expands the the physical size of the disk image file to match the logical size of the disk image. It will be expanded as a sparse file if the filesystem containing the image file supports sparse files. $disk->write_block($block, $contents, [$pad]) Writes one block to the disk image. $block is the block number to write. $contents is the data to write. The optional $pad is a character to pad the block with (out to 512 bytes). If $pad is omitted or null, then $contents must be exactly 512 bytes. $disk->write_blocks(@blocks, $contents, [$pad]) Writes a sequence of blocks to the disk image. @blocks is a reference to an array of block numbers to write. $contents is the data to write. It is broken up into 512 byte chunks and written to the blocks. The optional $pad is a character to pad the data with (out to a multiple of 512 bytes). If $pad is omitted or null, then $contents must be exactly 512 bytes times the number of blocks. As a special case, block 0 cannot be written by this method. Instead, that block of $contents is just skipped. This is how sparse files are implemented. If you want to write the contents of block 0, you must call $disk->write_block directly. $disk->write_sector($track, $sector, $contents, [$pad]) Writes one sector to the disk image. $track is the track number, and $sector is the DOS 3.3 logical sector number. $contents is the data to write. The optional $pad is a character to pad the sector with (out to 256 bytes). If $pad is omitted or null, then $contents must be exactly 256 bytes. This is currently implemented only for DOS 3.3 order images. $padded = AppleII::Disk::pad_block($data, [$pad, [$length]]) Pads $data out to $length bytes with $pad. Returns the padded string; the original is not altered. Dies if $data is longer than $length. The default $pad is " ", and the default $length is 512 bytes. If $pad is the null string (not undef), just checks to make sure that $data is exactly $length bytes and returns the original string. Dies if $data is not exactly $length bytes. pad_block is a subroutine, not a method, and is not exported. You probably dont need to call it directly anyway, because the write_XXX methods will call it for you..

Requirements: No special requirements
Platforms: Linux
Keyword: Apple Ii Appleii Appleiidisk Block Blocks Contents Disk Disk Image Image Image File Out To Pad Perl Module Prodos
Users rating: 0/10

License: Freeware Size: 37.89 KB
APPLEII::DISK RELATED
Libraries  -  AppleII::ProDOS 0.08
AppleII::ProDOS is a Perl module created to access files on Apple II ProDOS disk images. SYNOPSIS use AppleII::ProDOS; my $vol = AppleII::ProDOS->open(image.dsk); # Open an existing disk print $vol->catalog; # List files in volume directory...
37.89 KB  
Utilities  -  Agat 1.21
Agat was a soviet personal computer based on Apple II architecture. Agat emulator is an easy to use piece of software that provides support for all base blocks of original hardware as well as emulation of Apple II, Apple II Plus and compatible...
4.8 MB  
Libraries  -  Bio::NEXUS::Block 0.67
Bio::NEXUS::Block is a Perl module that provides useful functions for blocks in NEXUS file (parent class). SYNOPSIS This module is the super class of all NEXUS block classes. It is not used specifically from a program; in other words, you dont...
153.6 KB  
Utilities  -  Open-Apple Apple II emulator for Linux 1.0
Open-Apple is an Apple II emulator for Linux that currently features full emulation of an enhanced Apple IIe computer with several useful peripheral cards including clock, mouse, memory expansion, and hard drive.
153.6 KB  
Libraries  -  Solaris::Disk::SVM::Graph 0.03
Solaris::Disk::SVM::Graph is a Perl module for graph your Solaris Volume Manager configurations. SYNOPSIS my $graph = Solaris::Disk::SVM::Graph->new( sourcedir => path/to/dir, # path to SVM config files, # see Solaris::Disk::SVM for details...
11.26 KB  
Libraries  -  Bio::NEXUS::MatrixBlock 0.67
Bio::NEXUS::MatrixBlock is a Perl module that provides functions for handling blocks that have matrices. SYNOPSIS This module is the super class of Characters, Unaligned, and Distances block classes, and indirectly it is a super-class of Data...
153.6 KB  
Libraries  -  Bio::NEXUS::DataBlock 0.67
Bio::NEXUS::DataBlock is a Perl module that represents the deprecated DATA Block in NEXUS file. SYNOPSIS $block_object = new Bio::NEXUS::DataBlock($type, $block, $verbose, $taxlabels_ref); The DataBlock class represents the deprecated Data...
153.6 KB  
Libraries  -  Bio::NEXUS::DistancesBlock 0.67
Bio::NEXUS::DistancesBlock is a Perl module that represents DISTANCES block in NEXUS file. The DistancesBlock class represents a NEXUS Distances Block and provides methods for reading, writing, and accessing data within these blocks. Distances...
153.6 KB  
Libraries  -  Bio::NEXUS::TaxaBlock 0.67
Bio::NEXUS::TaxaBlock is a Perl module that represents TAXA block of a NEXUS file. SYNOPSIS if ( $type =~ /taxa/i ) { $block_object = new Bio::NEXUS::TaxaBlock($type, $block, $verbose); } If a NEXUS block is a taxa block, this module...
153.6 KB  
Libraries  -  Bio::NEXUS::HistoryBlock 0.67
Bio::NEXUS::HistoryBlock is a Perl module that represents a HISTORY block of a NEXUS file. SYNOPSIS $block_object = new Bio::NEXUS::HistoryBlock(history, $block, $verbose); This is a class representing a history block in NEXUS file METHODS...
153.6 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  wolfSSL 3.12.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
2.73 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB