Copy Link
Add to Bookmark
Report

The Arkive format

DrWatson's profile picture
Published in 
Commodore64
 · 4 years ago

Disclaimer: The description below is a mere extrapolation from the files I have encountered. It does not take Arkive archives containing relative files into account since I have never seen one.

The archive format of the program Arkive has a structure that is similar to the Lynx format. The archives start with a byte showing the number of files in in the archive, then comes the directory of the files in the archive (unlike in Lynx, no BASIC program is prepended to the archive) which is followed by the files themselves, all aligned to sector boundary. Arkive archives are in no way compressed, the files are simply linked after each other in it. Another difference between Arkive and Lynx archives is that Arkive puts trailing garbage even after the last file, creating an archive with the size of a multiple of 254.

A directory entry has the following structure:

 
POSITION DESCRIPTION
$00 File attribute (file type, "closed" and "write-protected" flag)
$01 Number of used bytes plus 1 in the last sector (the same value as the second byte of the last sector of the original file)
$02-$11 Original name of the file, with trailing Shift-spaces
$12-$1A Extended info (of relative files and GEOS files) found in the directory entry of the original file
$1B-$1C Original length of the file in blocks


The first file starts at the beginning of the block that follows the last block of the directory. All files are similarly aligned so that they start at the beginning of a block. This method has the advantage that the extractor program running on a real Commodore machine doesn't have to move data, only cut the archive into the original files. Block alignment means that in DOS files the particular data starts at an offset of a multiple of 254: when it is copied onto a disk or into a disk image, such an offset will be at the start of a block.

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT