Table of Contents

Apple GEOS CONVERT Format

In most filesystems a file consists of a few file attributes (incl. the filename) and a byte stream (the file content). However in the GEOS filesystem all files have 256 bytes of file attributes and VLIR files have up to 127 distinct byte streams. Therefore a GEOS file can't be represented in other filesystems as-is.

So if a GEOS file is to be transfered from one machine to another it has to be converted first into a “standard file”, then transfered and finally deconverted back into a GEOS file. Of course this “standard file” can't be used with GEOS, its only use is to be transfered. For GEOS 64/128 the program CONVERT takes care of the convert and deconvert process. When transfered to other filesystems this “standard file” is typically given the filename extension '.cvt'. The GEOS CONVERT UTILITY FILE STRUCTURE describes the GEOS 64/128 CONVERT file format.

Why is the CONVERT file format interesting from the cc65 point of view? Being a cross development package its linker has no access to the GEOS filesystem and therefore can't produce a GEOS file. Instead it produces a CONVERT file which has to be deconverted after transfer to the GEOS filesystem. This is perfectly identical for GEOS 64/128 and Apple GEOS. However there was no CONVERT program available for Apple GEOS. Therefore cc65 provides its own program called CONVERT.SYSTEM (that currently only implements the deconversion necessary for cc65).

The GEOS 64/128 CONVERT file format was carefully designed to allow for an easy in-place conversion/deconversion. Thus the CONVERT program doesn't require additional disk space - and is quite fast. Both the GEOS 64/128 filesystem and the Apple GEOS filesystem are only somewhat modfied variants of the respective standard filesystems (CBM and ProDOS). And because those standard filesystems are very different the same is true for the GEOS 64/128 filesystem and the Apple GEOS filesystem. So to allow for an easy in-place conversion/deconversion the Apple GEOS CONVERT format has to be very different from the GEOS 64/128 CONVERT format. As there was no Apple GEOS CONVERT format specified it is defined here - both for GEOS sequential CONVERT files and GEOS VLIR CONVERT files.

Common to both CONVERT Formats

Conversion Notes
Deconversion Notes

Sequential CONVERT Format

Conversion Notes
Deconversion Notes

VLIR CONVERT Format

Conversion Notes
Deconversion Notes