File Type $E0 (224)
Auxiliary Type $8004

Full Name: Davex archived volume
Short Name: Davex archived volume

Written by Dave Lyons (May 1990)

Files of this type and auxiliary type contain an archived image of a ProDOS volume.


Davex is a ProDOS 8 command-line shell and program launcher compatible with all Apple II computers that can run ProDOS 8. It supports stuff like wildcards, command history, print spooling, sorted directory listings, and operations on whole directory structures. You can add your own assembly-language commands, too. Davex also allows (coincidentally) saving an image of any ProDOS volume into a file and restoring it later.

For more information on Davex, contact:

DAL Systems
P.O. Box 875
Cupertino, CA 95014
Attention: Davex Technical Support

File Structure

The first 512 bytes of a Davex archived volume are a header, described under "File Format" in this Note. After the header comes 512 bytes for each block on the saved volume, from zero on up. For blocks that are unused, you can just set the file mark ahead 512 bytes instead of writing 512 zero bytes--this way the unused blocks do not take up disk space, so the resulting file is only a few blocks larger than the number of used blocks on the original volume.

If you run out of room while you are creating an archived volume file, close the file and start another one with the same name on a new disk. The fileNumber field in the header is one in the first file, two in the second file, and so on.

This file format is suitable for ProDOS, but it is less useful on a file system (such as AppleShare) that does not allow for sparse files. A Davex archived volume file on an AppleShare server always takes up more blocks than the original volume contains.

File Format

identityCheck (+000): 16 Bytes
These 16 bytes are required for historical reasons (there didn't used to be a special file type and auxiliary type to identify these files). The required value is $60 followed by "VSTORE [Davex]" and a $00. The characters have their high bits off.
fileFormat (+016): Byte
Must be $00. A nonzero value means the file format has changed in a way that isn't compatible with the current definition.
vstoreVers (+017): Byte
Version of Davex vstore command used to create this file (others use $00).
vrestoreVers (+018): Byte
Minimum version of the Davex vrestore command needed to read this file. Use $10 (version 1.0).
reserved (+019): 13 Bytes
Reserved for future use.
deviceNum (+032): Byte
ProDOS 8 device number of the device that this file is a volume image from. Informational only.
totalBlocks (+033): Long
Number of blocks on the saved volume.
usedBlocks (+037): Long
Number of used blocks on the saved volume.
volumeName (+041): String
Name of the saved volume, with a leading length byte. This field is 16 bytes long. If the name is shorter than 15 characters, the remaining bytes are unused and should be zero.
reserved (+057): 7 Bytes
Reserved for future use.
fileNumber (+064): Byte
This field contains one for the first file of an archive, n in the nth file (see above).
startingBlock (+065): Long
Block number corresponding to the data starting at offset (+512) in this file.
reserved (+069): 443 Bytes
Reserved for future use.
theBlocks (+512): 512*n Bytes
512 bytes of data for each block of the saved volume recorded in this file where n is the number of blocks.

Further Reference


This and all of the other Apple II Technical Notes have been converted to HTML by Aaron Heiss as a public service to the Apple II community, with permission by Apple Computer, Inc. Any and all trademarks, registered and otherwise, are properties of their owners.