[I'm not an article write per se... I hope this is cool]

    Telnetting to a Commodore

Until the recent success of the Slip-Demo by "Poldi", the only access
Commodore 8-bit machines have had to the vast internet is something called
a "shell" account, where we called our internet provider with a normal
terminal program, and then ran text based applications to browse the internet.

This still, however, did not solve the problem of putting our own machines
on the internet.  Every html server, every telnet daemon, every ftp site,
was and had to be run by a machine for whom the proper hardware and software
exists.  What I've done is not so much as miraculously solve this problem,
but provide what I believe to be a very interesting way around it.

The brain child of the idea came from a friend of mine in Arizona named
Henry Knoepfle, who for reasons unknown wanted to put up the Commodore
BBS program I co-wrote on the internet and make it available through a
telnet daemon.  With the help of another friend in California, whose knowledge
of LINUX programming was a bit more extensive, the solution was found.

It starts with a physical connection between the Commodore computer and a
Intel-based PC running a UNIX-like operating system called LINUX.  The
connection is between the two modem ports on both machines.  On the PC,
an RS232 standard com. port is used to connect to external modems.  On the
Commodore, a nonstandard RS232 edge connector is where our modems are plugged
in.  The first step was to build a converter so that the modem ports on
both machines could talk to each other.  These "RS232" adaptors are commonly
available for sale, but this one had to be special, as it would not go 
directly to a modem, but to another machine which would also think it is
connected to a modem.  This RS232 Null-modem adaptor cable would be the
communication link between the Commodore and the PC.

On the PC, the operating system LINUX comes fully equipped with a telnet
daemon, which is always running and accepting incoming telnet sessions for
remote users.  What a user telnets to our host PC computer and logs on, we
want a program to allow the user to immediately begin talking to the Commodore
computer through the connection we have built.  But what sort of program
could we have the computer run that would begin communicating with the
PC's modem port as soon as it is loaded?  Why, a terminal program!

The missing link between the telnet session and the PC's com. port (which as
you'll recall is connected in turn to the Commodore's modem port) is a
simple terminal program which comes with LINUX called "minicom".  By
configuring minicom to talk to the proper port at the proper baud rate, a
user that telnets in to the PC and logs on will become virtually connected
to the Commodore.

Now the question becomes, what sort of program can we run on the Commodore
which will sit around waiting for connections from its modem port and then
begin communicating with the port in some simple text based way?  As you
may already have guessed, a BBS is precisely the sort of program which is
built to do just this.  With just a few modifications, the BBS program I
used, called Zelch 128, was set up to receive and maintain connections with
the PC just as if it were an ordinary incoming phone call on a real modem.
In reality, the BBS is actually talking to a terminal program running in 
the PC, which is in turn connected to the user who has telnetted in.

The secret is in the several communication pins in the RS232 adaptor.  The input
pins on either end of the cable are attached to the output pins on the other
end.  The pin that is used by the computer to say that it's ready to  talk to
the modem (called Data Terminal Ready) is connected on the other end to the pin
used by the modem to tell the computer it is ready to go (the Data Set Ready),
as well as the pin that the modem uses to tell the computer that it has gone
online (the Data Carrier Detect). So, when the user telnetting to the LINUX
machine logs on and (automatically) runs minicom, the Commodore BBS program is
immediately fooled into thinking that it has received a call, and goes online. 
When the telnet user exits their session, minicom stops running and essentially
"drops carrier" on the Commodore, forcing it to go offline again and await
another "call".

Of course, there are still many glitches to work out, based on incompatibility
between the character sets used by the machines.  Commodore graphics is still
unviewable for the moment, and our standard upload/download protocols like
Punter and Xmodem don't seem very happy with this set-up, but if you can
stand ASCII, and like to play those famous Commodore online games like 
Empire, Murder Motel and so forth, then you may appreciate the potential
of this rather interesting project.

  - Bo Zimmerman