Thornton 2 dot Com

Preface to Ariel's GEOS Programmer's Reference Guide

Ariel's GEOS Programmer's Reference Guide
Back: First Up: Contents Next: GEOS Development (WIP)

Table of Contents


This book is a work in progress.

This book is an interactive compilation of various GEOS programming documents, initially heavily influenced by the GEOS Programmer's Reference Guide text file that has been floating about in Usenet and on the Internet for decades, first compiled by Alex Boyce by disassembling a version 1.x GEOS Kernal, and later heavily revised and corrected by Bo Zimmerman.

Other sources for this book include The Official GEOS Programmer's Reference Guide (for 1.x versions) and a lengthy errata compiled by Cenbe, The Hitchhiker's Guide to GEOS, the geoProgrammer User's Manual, and scattered documents related to programming specifically for the Commodore 128 and Apple II versions of GEOS.

I would like for it to include information for the Plus/4 versions as well, but I cant find any sources. Third-hand accounts say that GEOS programs cross-compiled by cc65 work unmodified, but that native GEOS programs don't work; however, it's possible that the only native programs tried were optimized specifically for the Commodore 64 and keyed for a different GEOS boot disk (geoWrite is one such program mentioned). This reasonably infers that 64-mode GEOS programs may work on GEOS Plus/4 as long as they don't use any 64-specific features or non-GEOS system calls.

The main focus is on programming GEOS 2.0 for the Commodore 64, as that is the most widely distributed and readily available version.

My goal for this guide is for the GEOS programmer to use an assembler or compiler system on a real GEOS computer, with this guide open on a modern-ish laptop, tablet, or smartphone computer sitting next to it where paper manuals and references are sitting. (Or in a browser window next to a machine-accurate emulator window on the screen.)


Ariel's GEOS Programmer's Reference Guide
Back: First Up: Contents Next: GEOS Development (WIP)