Commodore logo


(last updated 2015-05-18)
back to main Commodore page
Commodore logo
WoC presentation

World of Commodore presentation

IRC screenshot

geoLink IRC chat

login screenshot

geoLink login screen

setup screenshot

geoLink setup screen

ping screenshot

geoLink ping screen

running on tone007's machine

tone007 running geoLink on an Educator 64

running on jasmaz' SX-64

an early build on jasmaz' SX64 at World of Commodore

disk images using the IRC client building geoLink known issues

NOTE: I won't be doing any more work on this version of the program; the source will remain available in case anyone else wants to do bug fixes or enhancements. geoLink was essentially an experiment to see if such a thing was possible. While some people have had good results with it, it is not reliable enough for regular use.

geoLink is a networked GEOS application for the Commodore 64 and an RR-Net (or compatible) network card, written using the ip65 network stack. It was assembled and linked on the '64 using geoProgrammer (no cross-assemblers). A technical presentation on geoLink was given at the C=4 Expo on 2010-05-29. If you want to see the source code, you can download the disk image; I've also got plaintext copies that I extracted from the image with a utility I wrote in Java:

For information about geoLink, make sure to look at the README on the disk. To ask questions, please use the #geos channel on NewNet. If you are having a problem with geoLink, being able to enter this channel with a different computer will at least verify that your issue is not with IRC itself. Or you can send an email to shadowm at lyonlabs dot org. Note: For Scandinavian users wanting to access IRCnet, has been reported to work well.

revision history:

2010-04-26  Version 1.01 released with the following changes:

2010-04-14  Version 1.00 released, including an IRC client instead.

2009-12-05  First prototype (0.96) shown at World of Commodore in Toronto. Contained only a simple chat client that talked to a Java-based server.

disk images

Here is a D64 image of geoLink (version 1.01), which is a bootable GEOS 2.0 disk. You must boot this image from device 8. All you need to run it is a Commodore 64, a 1541 disk drive (or 1541 Ultimate) and a mouse (there's also a joystick driver on the disk; to use it instead, hit Commodore-i and use the keyboard to select it). Oh... and a network card! geoLink requires an RR-Net compatible card, and has been tested with 64NIC+, 1541 Ultimate, RR-Net, MMC Replay, and FB-Net. It's also been reported to work with an RR-Net on the Chameleon.

This D64 contains the geoLink source code in geoProgrammer format. You can find a copy of geoWrite here if you want to have a look through it. Note that I have made some small modifications to ip65 to make it work with GEOS; the binary (ip65-geos) is on this disk, and here is an svn diff from the 2010-03-21 release that I checked into my own Subversion repository. You'll also want to study the API reference, although not all of it applies to geoLink, since I didn't compile it with all options enabled. I also had to create my own names for the dispatcher constants to avoid naming collisions when using geoProgrammer (compare the K_ constants in with the KPR_ constants in the API reference). For register and hardware information, see Jens Schoenfeld's articles Inside RRnet and Inside Replay, or the CS8900A data sheet or application notes.

using the IRC client

building geoLink

For those interested in working on bug fixes or enhancements, here are instructions for building it from source:
  1. Make sure you have all the right tools. The source is written in geoWrite, and to build it, you'll need geoAssembler and geoLinker, which you can find on my GEOS page.

  2. Download the source code. Dissolve the D64 and put all the files on the same disk or CMD partition. You'll need a 1581 or larger; I used a 1581 partition on a CMD hard drive. An accelerator like a SuperCPU or TurboMaster will certainly help.

  3. For geoLink, assemble the following files one at a time with geoAssembler:

  4. Link the object files from the above step into an executable by running geoLinker and selecting the linkage directive file geoLink.lnk. At this point you should have the geoLink program on your disk, but it won't run yet.

  5. Build the embedder by assembling the following files with geoAssembler:

  6. Link the embedder by running geoLinker and selecting embed.lnk. At this point you should have a program named embed on your disk.

  7. Run the embedder. This will embed the TCP/IP stack (ip65-geos) into VLIR record 9 of the geoLink executable created in step 4, and the monospaced font (VIP64-mono) into record 8.

  8. You should now have a working copy of geoLink. Let me know if you have problems building it and I'll try to help.

known issues

According to legend, rms was once asked when the next version of emacs would be released, and replied "Sooner if you help."

back to top