geoLink(last updated 2014-02-15)
back to main Commodore page
World of Commodore presentation
geoLink IRC chat
geoLink login screen
geoLink setup screen
geoLink ping screen
tone007 running geoLink on an Educator 64
an early build on jasmaz' SX64 at World of Commodore
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 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 made 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. I'm usually there, but I work during the day (US Central
time). Or you can send an email
to shadowm at lyonlabs dot org. Note:
For Scandinavian users wanting to access
irc.swipnet.se has been reported to work well.
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.
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, or you can use Jonno Downes' peekbot to browse it online. 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 geoLink.inc 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.
options/pingfrom the menu. Enter a hostname or IP address to ping. The exit icon in the upper right of this dialog will exit the ping module.
options/IRCfrom the menu. Further information can be found in the README.
Have a lot of fun! —ShadowM
According to legend, rms was once asked when the next version of emacs would be released, and replied "Sooner if you help."
|FEATURE REQUEST: provide a way to cancel lengthy DHCP negotiation if it is not responding|
|FEATURE REQUEST: respond to CTCP version requests|
|FEATURE REQUEST: randomize a valid MAC address if none has been entered yet|
|BUG: incoming chat message may be echoed back as though geoLink user had said it|
|BUG: crash on exit (only when using 'q' command from geoDebugger)|
|BUG: IP address validator allows nonsense address to be entered (but doesn't pass it)|
|BUG: messages from C64 Contiki IRC client show in italics as though they were PMs|
|BUG: some combinations of cursor left and backspace will corrupt the input buffer if it's larger than what will fit in the text input area (no repro case)|
back to top