Jump to content

GEOS documentation, reconstructed source and binary record

From C64 Wiki


GEOS documentation, reconstructed source and binary record is a documentary guide to two published GEOS references and to a later, separately maintained reconstruction of parts of GEOS 2.0. It distinguishes the documentary identity of the manuals from the status of the reconstruction project's source tree, reference binaries and build outputs. It does not attempt to restate the desktop, application, or general product history covered by GEOS on the Commodore 64 and 128.

The surviving records identify related but non-equivalent materials. An archival transcription of the GEOS 2.0 User's Manual names Berkeley Softworks and the Commodore 64, 64C and 128 computers.[1] The Official GEOS Programmer's Reference Guide has a different stated scope: its front matter identifies it as a guide for the C64, 64C and 128 covering versions 1.0 through 1.2, credits Michael Farr, associates the work with Berkeley Softworks and Bantam Books, and gives January 1987 as its Bantam Book date.[2] A modern project describes itself instead as reverse-engineered source for the English GEOS 2.0 KERNAL and disk and input drivers. Its statements are evidence about that project's reconstruction and build process, not evidence that Berkeley Softworks released this source tree.[3]

Published documentation

[edit | edit source]

The user manual and programmer's guide should be catalogued separately. The user-manual transcription supplies a title and platform line for a Version 2.0 manual, but an archive host and OCR transcription do not by themselves establish every detail of a physical copy's printing history or chain of custody.[1] The programmer's guide supplies its own bibliographic facts: its stated title uses the word “Official”, its coverage is versions 1.0–1.2, and its front matter names Michael Farr, Berkeley Softworks and Bantam Books.[2] The word in the programmer guide's title does not automatically make every other GEOS document an edition of that guide, nor does it settle the precise edition history of a scan.

The two documents also serve different purposes. The user manual is oriented toward operation and work disks. Its errata discuss the relationship between the DESKTOP 2.0 and CONFIGURE 2.0 files and, in a stated disk-drive circumstance, place an application and its documents on the same work disk.[1] The programmer's guide is developer-facing material: it discusses KERNAL routines, program organization and file structures, including VLIR use. A later source-tree layout should therefore not be mistaken for a map of the source arrangement used by the original developers merely because the period guide documents an interface or file concept.[2][3]

C64 and C128 qualifications

[edit | edit source]

The platform labels do not describe a single undifferentiated runtime. In the user manual's tutorial, the supplied C128 boot procedure is described as booting the computer in C64 mode.[1] The programmer's guide's C128 notes separately describe C64 GEOS software operating in the C128 environment in 40 columns and document compatibility choices for 40-column, dual-mode and 80-column software.[2] These are documentary statements about the covered versions and procedures; they should not be generalized to every GEOS edition, application or later enhancement.

The reconstruction project uses a related but distinct vocabulary for its own build variants. It lists a `bsw128` variant as GEOS 128 2.0 with 128 KB RAM and VDC 640-pixel-width support, but also says that this variant needs further work to boot. It further documents a C128 option for a native 1571 burst driver.[3] The manual and project records can be read together to identify a C64/C128 distinction, but each is authoritative only for what it describes: the printed manuals for their instructions and documented compatibility conventions, and the project for its reconstructed build configurations.

Reconstruction provenance and scope

[edit | edit source]

The pinned project README identifies the reconstruction as covering the English GEOS 2.0 KERNAL plus disk and input drivers for the C64 and C128. It describes the source as reverse engineered, heavily reorganized and modularized. The same account attributes an earlier 1999–2002 reverse-engineering effort to Maciej Witkowiak and a 2015–2016 cc65 port, reconstruction and modularization effort to Michael Steil.[3] This provenance distinguishes the repository from a period publisher's source release. It also limits what the repository can demonstrate: a project description can substantiate its own stated method, files and goals without proving the contents or authenticity of every historical distribution.

The project explicitly says that its source-file division need not match the layout of the original binaries. It gives the filesystem and application/accessory loading code as an example: code that was not separated in the original KERNAL binary is divided into `filesys.s` and `load.s` in the reconstruction.[3] That statement is important when using the tree as a technical record. A readable modular source arrangement can be valuable for analysis, but it is not a claim that the original commercial source was organized in the same files.

The project also identifies boundaries beyond the reconstructed KERNAL and drivers. Its default build documentation lists KERNAL components, disk and input drivers, combined and compressed program images, and a `geos.d64` disk image. The README says that the disk image can use a `GEOS64.D64` template if one is present, with specified files replaced; otherwise it is newly made, with an optional desktop file under the stated condition.[3] This makes an application disk, a source-tree build artifact and a period distribution medium different records even where their filenames or functions are related.

Binary terminology and comparison record

[edit | edit source]

Careful terminology prevents the phrase “binary record” from implying a complete official archive. The following labels describe the project documentation rather than a universal authentication of all GEOS media.

Term Meaning in this record Boundary
Original distribution binary A historical compiled GEOS 64 or GEOS 128 2.0 distribution form to which the project compares a standard build. The README's comparison statement does not identify every regional, patched or later distribution.
Project reference binary A file in the repository's `reference/` directory, which the README describes as an original binary from a cbmfiles.com version. This is a project-stated reference source, not an independently completed provenance census for all original media.
Rebuilt output A file generated by the project's build process. The README represents a standard compile as producing binaries identical to the specified GEOS 64 and 128 2.0 distribution binaries. The statement is attributed to the pinned project state and is not a claim about every configuration, compiler environment or derivative.
Patched or custom variant A build option such as `gateway`, `wheels`, `bsw128` or `custom`, with changes or configuration choices described by the project. The README says that the listed Wheels and `bsw128` variants need more work to run or boot; they must not be represented as completed original releases.

The project says that `regress.sh` compares output with reference binaries and gives `make regress` as a command that builds selected variants and performs that comparison.[3] In the same README, the default C64 build is described as including named 1541, 1571 and 1581 drive-driver files and several input-driver files, while configuration selects which supported drive and input driver are included in the KERNAL image.[3] These facts document the project's build design. They do not establish that every listed driver is present on every period disk, that every project output is a preserved distribution binary, or that the repository reconstructs all GEOS applications.

The project records a historical account of three copy-protection measures involving the loader, a serial-number relationship with major applications, and KERNAL traps. It also notes ways in which its version differs from the original loader arrangement.[3] For documentary purposes, that is a description of historical technical context and of the reconstruction's stated boundary. It is not a reason to reproduce protected software, provide bypass instructions, or treat the record as a distribution channel.

Dates, manifestations and uncertainty

[edit | edit source]

The date evidence concerns more than one event or artifact. The Centre for Computing History's collection record describes GEOS as a C64 release in 1986 and gives its Version 2.0 item a “Date Published” value of 1986.[4] By contrast, Bo Zimmerman's maintained FAQ says that GEOS 1.0 was released in 1985 and characterizes the final worldwide Berkeley Softworks GEOS 2.0 as occurring around 1987.[5] The programmer-guide front matter gives January 1987, while the user-manual archive item is labelled 1988-07.[2][1]

These dates should remain attributed rather than averaged into one release year. They may refer respectively to a museum catalogue's collection item, a software-version chronology, a book publication, and an archived manual manifestation. The available sources do not establish a single date that can safely be assigned to every GEOS version and document. This article consequently treats the disagreement as a record-management issue, not as a choice between sources.

Citation and reuse boundary

[edit | edit source]

The published programmer's guide carries an all-rights-reserved notice and a reproduction restriction in its front matter.[2] The reconstruction README asks readers to respect the underlying GEOS licence while describing only intellectual property added by reverse engineering and later improvements as public domain.[3] Neither statement is a complete chain of title or a general licence for the manuals, original software, reference binaries, reconstructed outputs or other associated material.

Accordingly, this article cites and summarizes records in new prose. It does not reproduce scans, OCR text, source code, disk images, binaries, screenshots or other source media. C64 Wiki's source policy likewise distinguishes a citation from authorization to copy and treats restricted material as citation-only unless a separate licence or permission record supports reuse.[6] Names are used here solely to identify the documented products, publications and project records.

See also

[edit | edit source]

References

[edit | edit source]
  1. ↑ 1.0 1.1 1.2 1.3 1.4 “GEOS Version 2.0 User Manual”. Berkeley Softworks; archival transcription hosted by Internet Archive. Cover/title block; errata pages; tutorial pages 36–37. Accessed 2026-09-22.
  2. ↑ 2.0 2.1 2.2 2.3 2.4 2.5 “The Official GEOS Programmer's Reference Guide”. Berkeley Softworks and Bantam Books; archival transcription hosted by Internet Archive(1987-01). Front matter, title and copyright pages; C128 technical notes; VLIR and file-structure sections. Accessed 2026-09-22.
  3. ↑ 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 Maciej Witkowiak and Michael Steil. “GEOS Source Code”. mist64 GEOS project. “Source”, “Building”, “Variants”, “Source Tree”, “Code layout”, “Copy protection”, “Contributing”, “License” and “Authors”; pinned commit 617efdc7191eda14eaf699d317e66d5bda68c039. Accessed 2026-09-22.
  4. ↑ “GEOS Graphic Environment Operating System Version 2.0”. Centre for Computing History. Collection description and catalog metadata, reference CH17542. Accessed 2026-09-22.
  5. ↑ Bo Zimmerman. “The Commodore GEOS F.A.Q. v1.4.1”. Bo Zimmerman; mirror hosted by Rob Landley. “What versions of GEOS are there and what can they do?”. Accessed 2026-09-22.
  6. ↑ “C64 Wiki: Source and citation policy”. C64 Wiki. “Citation form”, “Source snapshots” and “Failed and conflicting sources”. Accessed 2026-09-22.