Hi everybody,
Although the Apple GEOS filesystem is based on ProDOS 8 the Apple GEOS
files are not standard ProDOS 8 files. I'm not refering to file
content here but to the file structure - meaning that Apple GEOS files
aren't seedling, sapling nor tree files.
I've done some reverse-engineering and have documented my findings
here:
http://wiki.cc65.org/doku.php?id=cc65:apple2:geosfileformats
GEOS files are more than the usual byte stream with a few attributes.
Therefore they need to be converted in order to represent them in
other filesystems. This is just the same as with GEOS 64/128. And
again just the same as with GEOS 64/128 it is desirable to have this
conversion work "in place" instead of creating copies. To facilitate
this a suitable "convert format" has to be specified. I defined one
here:
http://wiki.cc65.org/doku.php?id=cc65:apple2:geosconvertformat
Who can make use of this "convert format"?
1. Convert tools running on Apple GEOS (like on GEOS 64/128) or on
ProDOS 8. I've already written a ProDOS 8 convert - which however
currently only supports the "deconversion".
2. Apple disk image tools like CiderPress or AppleCommander. They
could use the "convert format" to represent Apple GEOS files in the
host filesystem - and do the (de-)convert on-the-fly when moving files
from/to an Apple GEOS disk image.
What's the benefit of all this?
1. In general it becomes possible to move Apple GEOS files around,
transfer them with any filetransfer technicque and share them on the
net etc.
2. I'm working on porting the cc65 GEOSLib (
http://www.cc65.org/
snapshot-doc/geos.html) from GEOS 64/128 to Apple GEOS. The cc65
linker creates a "convert format" file which is then tranfered to the
Apple GEOS filesystem and finally deconverted there. That's the reason
why my ProDOS 8 convert tool only supports this direction.
3. Now that the basic Apple GEOS file structures are known one can
apply the already present knowledge on GEOS file contents - as they
are the same for Apple GEOS and GEOS 64/128. Thus it becomes i.e.
possible to implement an Apple geoPaint file viewer (or editor):
ftp://ftp.zimmers.net/pub/cbm/geos/programming/documents/geoPaint%20format.txt
From the cc65 developers perspective it would of course be great if
CiderPress and/or AppleCommander would allow to place the output file
of the cc65 linker directly in an Apple GEOS disk image as Apple GEOS
file, thus superseding the additional convert step.
Regards,
Oliver