geoGopher 2.0: a gopher client for Commodore GEOS

geoGopher 2.0: a gopher client for Commodore GEOS

(written for the 1541 Ultimate II+ and Ultimate 64 network

last updated 2021-09-21

Commodore logo

(click screenshots to enlarge)

connection dialog

connection dialog

configuration selector

configuration selector

configuration editor

configuration editor

the geoSpecific collection

a view of the geoSpecific collection

directory of files in an image

list of files in a disk image
(file descriptions from GEOS info block)

text file view or save dialog

selecting a text file: view or save?

viewing a text file

viewing a text file

geoGopher is an RFC1436-compliant gopher client for the
Commodore 64
running GEOS. Its
main use case is to browse or search
the geoSpecific
collection on this site. However, geoGopher should be able to navigate
any gopher site that doesn’t use a lot of non-standard extensions. It
ships with a configuration file containing a list of gopher sites you
can visit.

For those unfamiliar with gopher, it’s a much simpler protocol that
predated HTTP. Clients usually present information in a format similar
to that commonly seen in file explorers. Here’s an
interesting article
about gopher; if you’re interested in the details,
the RFC is short
and understandable. And here’s an
excellent video
of some of the creators of gopher talking about its origins, with a
short demo.

At VCFMW 2017, I gave
a talk on this project: here’s
the video,
and here are
the slides. Although I
eventually released it on 2018-02-07, it hasn’t seen much use, since
it was written for
the Flyer
network card, which is no longer available. But in the meantime, I’ve
been learning to code for
the 1541 Ultimate II+/Ultimate 64
network interfaces, and this program seemed like a good first choice
to work on. This new version of geoGopher
(video) has undergone
extensive testing by my QA
engineer Wizard the Cat, who
has approved it for release as version 2.0. I showed it
, where I was an exhibitor. The Flyer version has been
withdrawn; no more work will be done on it. (Note that the screenshots
here are for the 1.0 version; I’ll update them as time permits.)

As always, the project was coded entirely on a Commodore 64,
although I did create text dumps of the geoWrite source files on a PC
to help with searching and to use revision control (and of course I
print PDFs of the source by converting to Postscript in GEOS, then to
PDF on Linux). On the server side, I’ve provided gophermaps for Bruce
Thomas’ geoSpecific
collection, so GEOS users can browse and search it and download
individual files.

The source for both
the server (see
below) and the program to create
the gophermap for
geoSpecific can be found in my GitLab repository.


geoGopher (D81 image)

This file
contains the geoGopher executable as well as all the source and
include files needed to build the program. Build instructions can be
found in the release notes file.

Source Code

These are the geoWrite source files converted to Postscript in
GEOS, then to PDF in Linux; click to view.

About geoGopher and the geoSpecific Collection

The geoSpecific collection can be reached
at gopher:// (port 70). This gopher
site was intended for use by Commodore 64 clients running geoGopher,
but any other gopher client should be able to navigate it as well;
when downloading GEOS binaries, they’d get a file in CONVERT format
(which could be copied to a Commodore 64 and converted back to a GEOS

The geoSpecific gopher server is written in Java, and can read GEOS
files from within disk images and stream them over the network. The
client converts the stream back into native GEOS format when saving to
disk. Commodore 64 disk images (e.g. D64, D81) are presented as though
they were a directory, allowing the user to download individual
files. GEOS files are shown with both their filename and the contents
of their info blocks to make it easier to browse the collection.

More information on the geoGopher client:

Consecutive info items are concatenated to reduce the amount of
scrolling necessary when viewing gopher items. If there is more than
will fit in the text area, an ellipsis is shown. Info items are
represented by a word balloon icon, which will show the complete item
text when clicked.

For text files (indicated by a “green-bar” icon), the user is given
the choice to view or download the file; if it doesn’t fit in memory,
a warning appears, and as much of the file as possible is shown. This
warning is also shown for sites with an unusually large number of
gopher items.

Binaries are represented by the GEOS “globe” icon.

Note that scrollbars include arrow icons; these are “top” and
“bottom” icons, not “up” and “down”.

The “BACK” icon will take you to the position you were at in the
location you are returning to; the “HOME” icon will return you to the
main gophermap for the site you’re on.

back to main Commodore page

Source link