[net.micro.cbm] 1200 baud modem won't work on 64.

les@vaxwalle.UUCP (04/06/84)

I am trying to use a 1200 baud modem ( a USR password ) with the 
C-64 using an RS232 adapter. The set up works fine at 300 baud ,
but at 1200 baud the computer gets mostly garbage on the screen.
 I tried the same modem on the same phone line to the same host
with an IBM and got no errors. I think that the c-64 kernal routine
that handles RS232 just can't keep up with 1200 baud. Maybe if I
turned off or slowed down the 60hz interrupt it would help. I have 
yet to try this.

Has anyone else found this to be a problem ? 

If there is a terminal program that works at 1200 baud , I would 
like to know.

  Thanks in advance.  

miller@uiucdcs.UUCP (04/11/84)

#R:vaxwalle:-14200:uiucdcs:36100070:000:246
uiucdcs!miller    Apr 10 17:02:00 1984

What software are you using here?  If it is a Basic program emulating a
terminal, I am not surprised you can't run it at 1200 baud.  There are some
assembly language routines that can drive 1200 baud modems, however.

A. Ray Miller
Univ Illinois

dave@zinfandel.UUCP (04/11/84)

#R:vaxwalle:-14200:zinfandel:19800004:000:807
zinfandel!dave    Apr  9 08:36:00 1984

The C64 has no problem running at 1200 baud.  I have a Hayes SmartModem
(1200 baud) which I use at home all the time.  There are plenty of modem
programs out there which support 1200 baud -- but NONE in Basic.  Basic
just can't keep up with 1200 baud.

I wrote my own simplistic (no upload/download) 1200 baud program, but I
had to do it in assembly language.

If you want to buy a good modem program, you might check out Compute's 
Gazette -- they usually have hordes of ads for these.  One program that
looks attractive (but I haven't actually seen one yet) is VIP Terminal
from Softlaw, Inc.  80 column software display, upload/download, etc.

Dave Funk
Zehntel, Inc.
2625 Shadelands Drive
Walnut Creek, CA  92598
(415) 932-6900 x309

     ....!decvax!sytek!zehntel!dave
     ...."zehntel!dave"@BERKELEY

dave@zinfandel.UUCP (04/14/84)

#R:vaxwalle:-14200:zinfandel:19800005:000:1257
zinfandel!dave    Apr 12 14:42:00 1984

As far as being able to type in commands successfully but receiving 80
percent garbage goes, I think I know what the problem is.

When I was writing my assembly language 1200 baud program, I followed
instructions in the Commodore Reference Manual for setting up baud rate,
word length, parity, etc.  When I ran the program, I was able to type
in commands (and have them understood) but the information I *received* 
was, indeed, about 80 percent trashed.  I finally used a machine language
monitor to examine all the 'parameter' registers that are used by RS232.
When I looked at the one that contains the word length, it was set 
to $09.  My program tries to set it to $08 (via the appropriate kernal
calls).  For some reason, I can't set it to $08 (or anything else for that
matter) by using the kernal call.  As a fix, I specifically placed an '08'
in the proper register and the program worked fine (zero garbage).

I apologize for not giving the specific addresses and calls, but I don't
have the Reference Manual in front of me.  If anyone is interested, let
me know and I'll look them up.

Dave Funk
Zehntel, Inc.
2625 Shadelands Drive
Walnut Creek, CA  92598
(415) 932-6900 x309

     ....!decvax!sytek!zehntel!dave
     ...."zehntel!dave"@BERKELEY

joels@tektronix.UUCP (Joel Swank) (04/18/84)

   The C64 does have problems at 1200 baud. I have used both OMNI TERM and
Smart Terminal 64. In both cases transmission was successful; ie I could
login and execute commands; but the output was about 80% garbaged. The only
terminal package that comes close is UNIX TERM. With UNIX TERM I get about
2 or 3 errors per screen full of output. UNIX TERM does this  well by using a
non-standard bit time, rather than the timing provided by the Kernal.
This user rate is specified when the RS232 port is opened. The actual timing
constant is specified as the 3rd and 4th bytes of the file name. In BASIC
this would be: OPEN 2,2,0,chr$(0)+chr$(0)+chr$(60)+chr$(1). See the
programmers reference for details. The two byte constant used by UNIX TERM
is 316 ($13C). The one normally used by the Kernal is 317 ($13D).
   I have tried this with BASIC with mixed results; Better than just
using 1200 baud, but not acceptable reliability. I have sent for VIDTXT
for the 64 from compuserv. VIDTXT is also supposed to work reliably at 1200
baud, But I doubt that it will if it uses the C64's standard 1200 baud
timing.


Joel Swank
Tektronix, Beaverton OR