GeoBridge 0.2 alpha
SPDX-License-Identifier: Apache-2.0

The source, sample fixtures and documentation in this package are made
available under the Apache License, Version 2.0 (see LICENSE.txt).

src/manager.asm and src/graphics-build/manager.asm adapt the Impex ABI shim in:
  bluewaysw/pcgeos, Library/Breadbox/Impex/RTF/manager.asm
  https://github.com/bluewaysw/pcgeos
  commit 8f0ca5d8f1cdd57d60438f813203eabb0a8cff55
That repository distributes its source under Apache-2.0.
Changes: new names/resources, CVT formats, custom-error handle forwarding,
and explicit translator protocol inclusion. No upstream notice file was found
for that shim. Its applicable license text is included unchanged.

The remaining codec and adapter implementation and the synthetic CVT samples
were created for this package. No original Commodore application binary,
font data, operating system, SDK or compiler is included.

Technical references used to implement and check the formats:
  https://www.zimmers.net/anonftp/pub/cbm/geos/
  https://github.com/karstenw/geosLib
  https://github.com/mist64/geos
  https://www.pagetable.com/242
  https://github.com/mist64/geowrite
  https://bluewaysw.github.io/pcgeos/Objects/oimpex.html
  FreeGEOS CInclude/Objects/Text/tCommon.h and CInclude/Objects/vTextC.goh
  FreeGEOS Library/Breadbox/Impex/RTF

The fixed C64 RGB palette and nine standard 8-by-8 monochrome patterns match
the functional color indices and pattern numbers used by the source formats.
The pattern reference was mist64/geos, kernal/patterns/patterns.s.
No geosLib implementation is redistributed; it was used independently for
bitmap comparisons. Zimmers sample documents remain at their original URLs;
the package contains a retrieval script and checksums, not their contents.

GeoBridge is an experimental independent translator and is not an official
release of Commodore GEOS, PC/GEOS, FreeGEOS or Breadbox Ensemble.

Changes in this copy (pcgeos-audrey, 2026)
------------------------------------------
Layout: the package's src/ is this directory, and src/graphics-build/ and
the graphics sources are Graphics/, which uses this directory's gbcore.c
and gbcore.h. The text module started from 0.1 alpha, whose sources 0.2
carries with one change (unpadded last records), also made here.

Both were changed to work inside PC/GEOS and on real documents, tried on
the geoWrite, geoPaint and geoPublish files of the Commodore GEOS archive
at zimmers.net and on the documents of the geoPublish Tutorial:

  gbcore.c, gbcore.h: read files as Convert writes them (the last record
  unpadded; 0,0 for unused records); read geoWrite 1.x pages and 2.1's
  coordinates; import geoWrite documents with headers, footers, pictures,
  other characters and rulers or styles out of range, leaving out or
  adjusting what can't be carried over and noting it (GbDocument.skipped);
  call the callbacks through ProcCallFixedOrMovable under PC/GEOS, as they
  are in movable code (GB_READ, GB_WRITE); one table of Commodore font
  IDs, from the font files (gb_font_class).
  native.goc: _cdecl callbacks; margins and tabs measured in the C64 text
  area; the half-inch default tab spacing kept (0 made GeoWrite divide by
  zero); the import notice says what was left out; fonts mapped by
  gb_font_class (27 is LW_Roma, 28 LW_Cal, 30 LW_Barrows).
  manager.asm: the format is named "C64 geoWrite document (CVT)", as 1.x
  documents import too.
  Graphics/gxcore.c, gxcore.h: callbacks as above; geoPaint files keep
  all their bands (pictures for geoPublish pages have 47) and damaged ones
  are repaired rather than refused, bands without colors showing GEOS's
  dark grey on light grey; what an import leaves out or repairs is noted
  (GxFile.skipped).
  Graphics/gxpublish.c: regions are 18 bytes, pictures placed in them by
  their placement setting inside their gutters; article regions and the
  linked geoWrite articles are left out and noted; one master page or two,
  the right-hand one for odd page numbers; all drawing objects (ellipses,
  connected lines, polygons, splines, as well as lines, rectangles, text
  and photo scraps, which are stretched to their objects) and GEOS's 34
  patterns; damaged object lists cost that list, not the document. See
  FORMAT-NOTES.md.
  Graphics/gxnative.goc: geoPaint imports as a 4-bit bitmap with the C64
  colors as its palette; geoPublish drawing for the above, with PAGE and
  DATE in text, and the import notice listing what was left out.
  tests/: follow these changes; more archive samples in
  zimmers-samples.json; the samples are unchanged.
  README.md, FORMAT-NOTES.md: describe this copy. VALIDATION.txt and the
  install/ binaries are left out; the libraries are built from source.
