From: fred@cbmvax.commodore.com (Fred Bowen)
Newsgroups: comp.sys.cbm
Subject: Re: C64 serial bus loading problem (3 drives and a printer)
Date: 30 Sep 92 16:08:08 GMT
Reply-To: fred@cbmvax.commodore.com (Fred Bowen)
Distribution: na
Organization: Commodore, West Chester, PA

Frank.Prindle@bbs.oit.unc.edu (Frank Prindle) writes:
> I'm looking for advice on a serial bus problem.  I have a C64, two 1541
> clones, a 1581, and a PPI printer interface (in that order) on my serial
> bus.  The two cables which interconnect the three drives are only about
> 9 inches long because when I used the stock cables, the 1581 drive would
> not read reliably; shortening the cables fixed that.  Now I notice that
> the printer turns up "Device not present" from time to time during
> printing unless I turn off the 1581, in which case it prints ok.  I've
> been tempted to shorten the other two cables (64-drive, and 1581-PPI) to
> attempt to solve this problem, but would rather not because I can't
> believe the C64 serial bus is that sensitive to cable length, and I'm
> not sure why turning off the 1581 fixes the problem if it's just cable
> length.  Has anyone else had this problem and found a solution?

The common denominator in all reports of problems like this has been a
1581 drive and a printer on the serial bus.  I believe the cause of the
problem involves buffering and/or termination, particularly of the SRQ
and RESET lines, in both of these devices.  Noise on either line is not
good (noisey RESET is obvious, noisey SRQ could be interpreted by the
1581 as a HRF, host request fast, squiggle).  Apparently the serial bus
is robust enough to tolerate one bad boy, but not two.

When I was working on the C65 fast serial routines, I was continually
frustrated by several printers which caused the bus to hang.  In every one
of these cases, the problem was caused by the printer not quite meeting the
serial protocol timing specs- which will cause fast bus problems (even
though you're not running a fast bus on a C64, the 1581 is watching... :-)

You might also check what's happening everywhere else the (external)
RESET and SRQ signals go, in particular the cassette port and user port. 
For example:  Is your modem is turned off?  Do you have a cassette deck
attached (heaven forbid)?  Maybe you have a favorite cassette-port dongle
plugged in?  All have the potential to cause this type of problem. 

I'd look inside the printer and see if the SRQ pin (serial connector pin 1)
is properly terminated (something like a 1K pullup resistor).  All devices
connected should be turned on (a pullup resistor won't do diddly if there
isn't power, and in fact can do the opposite).  Maybe do something like
Xetec did, for your C64- make a special C64/1581 serial bus cable by
clipping pin 1 (SRQ) and see if that has any effect.

In conclusion, I should point out for the sake of novice users that disk
drives should not be placed too close to a monitor or stacked too high,
and make sure the cables are firmly plugged in, and not wrapped around
the monitor either.
-- 
Fred Bowen			uucp:	{uunet|rutgers|pyramid}!cbmvax!fred
				domain:	fred@cbmvax.commodore.com
				tele:	215 431-9100

Commodore Electronics, Ltd.,  1200 Wilson Drive,  West Chester,  PA,  19380