GEOS for Apple ][ File Strucures Explained

Oliver Schmidt, long known for his work on several projects in the Apple][ community including Contiki and Applewin, has now delved into documenting the internals of  GEOS, the Berkeley Softworks  produced operating system for the Apple ][.

In his announcement in the comp.sys.apple2 newsgroup, Oliver says” 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:

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:

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 ( 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):

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.

A.P.P.L.E. obtained permission to distribute the documentation for GEOS in 2003 and if you would like to check GEOS out or to run it on your own system, you can download the entire GEOS CD complete with all of the documentation from our December posting about the program at:


Please follow and like us:

About the Author