Re: C= and internet

From: Nate Dannenberg (natedac_at_kscable.com)
Date: 2001-02-15 21:08:39

> You should not forget one thing. For some people certain things are complete
> black boxes which they use but have no idea how it works. That's, for a big
> part, the case for me with internet. The fact that you can read this email
> does not mean that I understood how it got to you.

Yes, but that problem won't be solved by replacing one black box with
another.  It can only be solved by writing decent application software to
talk to that "black box", whether it's software routines or a hardware
interface. And that said, we already have the applications software.

I know my cable modem gets me onto the net, but I don't know how it works,
nor do I care to find out.  What I'm concerned with when I get on the net
isn't how to connect, but how friendly the user interface to it is.  In my
case, it takes one command to reset the modem, and it's extremely rare
that I have to use it at all (being that cable is an "always-on"  
connection).

Getting back to the C64....

In the case of The Wave, the setup and useage couldn't be much easier.  
Start Wheels, launch The Wave, click the "Open" menu and select "ISP
Directory", then double-click the ISP you want to connect to.  BAM, within
a matter of seconds you are on the net, just like that.  If you have only
one ISP entry, or your first one is your primary one, great, then don't
even bother with the menu, just point and click the mouse on a link on
your start page (or enter an address in the URL bar near the top of the
screen) and The Wave will automatically dial out and connect for you.  
This is on the Commodore 64, mind you.  Wave does need a Super CPU,
primarily for it's RAM Expansion capabilities I believe, but also for it's
speed.  Setting up your ISP entries is a small matter of answering the
questions that The Wave asks you.

For Novaterm, the setup is easy, you just need to read a few lines on the
screen and put in what it asks for.  About all you can do in it right now
is Telnet, but it works fine.  It's a full PPP over TCP/IP setup like the
others, and I think it has a telnet daemon also.  Of course it can serve
as a normal terminal program, like previous versions of Novaterm.  
Novaterm does NOT need a Super CPU, but it can use one.  Other modules
like FTP exist for it, but at last check, didn't work (still in
development).

For JOS, I don't know yet, I haven't had the opportunity to try it on the
Internet, but I am told by others that the networking is very easy to set
up.  You can even run a web *server* on it.  Using the other features in
JOS is easy - it's very Unix-like.  Just load it, and when you get a shell
prompt, enter "gui" and press return.  BAM, joystick-controlled graphical
user interface, with a hint of Windows95, and already at least one
application that uses the Internet, an IRC client called AJIRC.  Not much
else is available for JOS yet, since it's still in development, but it's
there, it works, and it works very well.

For LUnix, never actually used it, I just know it has this capability.  
It probably works like it does in Unix operating systems, i.e. add some
items to a configuration file, and issue a command to open the interface
and get on the net.  LUnix does NOT need a Super CPU, last time I checked,
but could make use of one.

> My goal: connecting a C= to the internet. My only condition is that as
> much as possible inteligence is on the C= it self. Using the C= just
> as a dumb terminal is out of the question.

If you want that, then a hardware interface like FlatStack is a bad idea.  
Then, the Commodore IS just a terminal (albeit somewhat smarter than your
average VT100), most of the network handling stuff has been moved off to
some other device, and that much control has been taken away from the C=
and the user's program.

Whenever you "Throw hardware at a software problem" [1] you give up some
control and flexibility to the hardware device.

> At least the browser must run on the C=. Also think of another aspect.

And so must the TCP/IP stack and the rest of the Internet-related code
that comprises the package.

> > Willis wrote:
> > Interesting.  Now all they need to do is incorporate that into a modem
> > with a standard serial interface and you would have an internet modem.
> 
> People can accept a modem as they know there exists external ones and
> probably also know there aren't internal ones for a C=.

And people can more easily accept a standard RS232 modem and Turbo232
cartridge, or a nice, native Ethernet interface, a lot more readily than
they can accept a Turbo232 AND modem AND hardware TCP/IP, because that
means spending more money.

> OK, so we have [PPP over TCP/IP]. How does it look like, green with
> orange stripes? No offence meant, but what for some people is very
> obvious, for others isn't. Just have a look at my site and you'll see
> I'm not a dumb guy. But you'll also see that I'm hardware orientated.

What does FlatStack look like?  Green with orange stripes?  No, it's just
as black as the TCP/IP stacks that are implemented in software.  What is
your point?

> So again, if we have it, in what form is it available?

In the form of a complete user interface: The Wave (SCPU)

In a useable but not complete form: Novaterm (stock C64) and JOS (SCPU)

In an incomplete form, partially useable, LUNix (stock C64)

Just my opinion, and the last one is probably wrong, since I haven't
touched LUnix in a while.

In other words, if you're a user there IS something workable for you that
isn't hard to use.  If you're a coder, there are routines available that
will help you code the ultimate internet suite, and authors for three out
of the four (Novaterm is abandoned by Nick Rossi, but Errol Smith has
taken the reigns, at least for a while).

> Maybe it has been told before, but most probably I haven't understood

It's been told, for certain.  That people don't remember it, I can
understand of course.  That people think you need hardware to do it, I
can't understand.

> it. This card is a real thing which looks as something I can
> understand as it is HW.

So are the four TCP/IP stacks I mentioned.  Don't forget the less obvious
OS's like OS/A65, which I think also has this capability.

> Yes and no. I know one occasion where a Ethercard would be handy but

Connecting your Commodore, which can swallow 200Kbytes/second via simple
PIO (with a Super CPU, to SuperRAM), and up to 1 megabyte/sec with DMA (in
either case, but where would you put it on a stock C64? :) to the Internet
via cablemodem perhaps?

> at home I do not have a network.

Neither do I, yet.  The only 'network' I have is my C128 connected via
RS232 to my PC.  It speaks PPP over TCP/IP to the PC, which routes the
connection to the cablemodem for Internet access.  As far as the PC can
tell, the C128 is just another PC :-)

> Just a thought: what about a ISDN-interface? Or may be better/ easier to
> realize, connecting an ISA-ISDN card to a C=?

Since ISDN host adaptors are available in an RS232 solution, and since
ISDN's maximum speed is 128kbps (dual-channel), which is far below the
maximum speed of a C64 RS232 port (Turbo232 cart, 230kbps, surely also
HART cart), this isn't much of an issue.

A SuperCPU-accellerated C64 can more than keep up with a 230kbit stream,
but the bottleneck (as with any operating that involves saving data to a
physical media) is the storage device, and to be more precise, the
interface to it.

At this point, it looks like only the IDE64 offers a suitably fast
interface, at an estimated 75 KBytes/second with a SuperCPU.

CMD's SCSI HD controller is slow by comparison (26 KBytes/second max with
SuperCPU, even over parallel).

Our usual serial-interfaced floppy drives are right out, maxing out at
somewhere between 4 and 9 KBytes/second depending on whether you're saving
or loading, and what fast serial protocol you use (JiffyDOS, Action
Replay, C128 hardware-assited Burst Serial, etc).

> Does anybody know if a ISDN card uses DMA? 

I suppose there are internal host adaptor cards that do.

DMA would be a plus for sure, but to get this on a Commodore, you have to
explicitly design a C64 interface to either A) go between a standard PC
host adaptor (whether internal or external) and the C64, or B) go directly
from the C64 onto the ISDN network, i.e. make your own DMA-capable C64
host adaptor, and bypass the PC-oriented host adaptor completely.

DMA would let a stock C64 swallow 1 Megabyte/second or more, even without
a SuperCPU (well, allowing for program overhead, it might be lower, i.e.
700-800 KBytes/second)

> I presume not but it could. If it doesn't then we have some other nice
> options. FYI, connecting a PC card to a C= is no problem. I've done
> it, including 16 bits! (OK, no DMA)

Where is the information describing this proceedure?  What kind of
compatibility does it offer (not counting lack of DMA)?

This sort of interfacing is something people have been wondering about for
years (myself included).  Software is still needed to drive such devices
of course, but now we're talking about things that are not possible to
implement in software, so a project like this doesn't fall under my
"Throwing hardware at a software problem" [1] argument.

> To be honest, I haven't even a design of [my 16540 interface] because
> it so obvious to me how to connect one to, AFAIK, _any_ C=. If someone
> is interested, I'll draw a SCH.

It would be a good idea to pass information like this around.

> OK. Having visited the FlatStack site, I have one question for sure which
> probably is answered by William: Just this card and a Modem are enough? Or
> is still something else needed?

Software would still be needed.  Either a User Interface wrapped around a
browser, telnet application, ftp, email, gopher, and other such utilities,
or a driver and appropriate patches for existing programs like JOS and The
Wave.

Just plugging in a TCP/IP interface like FlatStack is not going to get you
onto the net by itself.

That's why I keep saying that replacing the TCP/IP stacks we have
implemented in software, with a hardware interface, does little if any
good, since you still need a User Interface.  FlatStack, while probably a
good idea, is still just as much a "black box" as our software TCP/IP.  It
would be a waste of resources programming for a device that's already been
implemented in software.


[1] "Have you ever thrown software at a hardware problem?"
    "Have you ever thrown hardware at a software problem?"
    Questions from a "hackers test" I read once.

-- 
 ___________________________________  _____  _____
|                                   _///@@@|      |
| natedac@kscable.com              /'//ZZ@@|____  |
|                                 |'''/    |'/@7  |
| http://home.kscable.com/natedac |`'|     `~~'   |
|                                 | `|     .--.   |
| C64/C128 - What's *YOUR* hobby? |  `\____|___\  |
|                                  \_      |      |
|___________________________________ \_____| _____|


-
This message was sent through the cbm-hackers mailing list.
To unsubscribe: echo unsubscribe | mail cbm-hackers-request@dot.tml.hut.fi.

Archive generated by hypermail 2.1.1.