[ont.micro.mac] Mactep for 7 bit, even parity

info-mac@utcsrgv.UUCP (info-mac) (05/08/84)

Date: 5 May 1984 23:36:26-MDT
From: Dale Carstensen C-3 <uw-beaver!dlc@lanl>
Reply-To: dlc@lanl
To: info-mac@lanl
Subject: Mactep for 7 bit, even parity

 
About 10 years ago, the data communications people at the Los Alamos
(then Scientific, now National) Laboratory decided to use parity on
asynchronous lines, and even parity at that.  It may have had to do
with the default configuration of Texas Instruments "silent 700"
terminals, or someone may have thought that bad lines could be
determined by noticing high error rates (they never had time to
seriously monitor lines no one was complaining about, because were
complaining about so many other lines).  But 7 bit, even parity, seems
to be here to stay .. so ..Mactep does nothing about character length
or parity in the "SCC," the Zilog or AMD 8530 chip in the Macintosh,
and Mactep as sent over "info-mac" will not work on the Integrated
Computer Network at the Los Alamos National Laboratory.

I made some changes to Mactep so that it will work, and ran into
enough problems that I think sharing the changes will save others
a few hours, in the unlikely event their computer cares about parity.

The main problem I had was guessing the bits to set in the 8530 write
registers 3, 4, and 5.  Particularly the D5 and D4 bits of WR4.  One
would think that the sync character length would make no difference
when one is in asynchronous mode, but the changes didn't work until
I set both of these bits, which is the code the table calls "external
sync mode."

It would have been so much easier if one could read these control
registers, but I suppose it is already difficult to put the functions the
8530 has on a single chip.

I also noticed that Motorola data sheets for the 68000 include assembler
mnemonics for the instructions, but not the bit patterns in the
instructions!  I guess these sheets are still preliminary, or the
Motorola technical writers could never figure out how to document the
bit patterns.  The 68120 has a very nice description, though.

The mods I made follow -- one note is that I think odd parity, 7 bit
characters can be selected by making the 77 in 9154 a 75.

9151 INPUT "7 bit even (Y/N)", BSC$
9152 IF BSC$<>"Y" AND BSC$<>"y" THEN GOTO 9157
9153 R=3:X=&H41:WXCCB!=VARPTR(ML(0)):CALL WSCCB!(R,X)
9154 R=4:X=&H77:WSCCB!=VARPTR(ML(0)):CALL WSCCB!(R,X)
9155 R=5:X=&HAA:WSCCB!=VARPTR(ML(0)):CALL WSCCB!(R,X)
9156 GOTO 9160
9157 R=3:X=&HC1:WSCCB!=VARPTR(ML(0)):CALL WSCCB!(R,X)
9158 R=4:X=&H74:WSCCB!=VARPTR(ML(0)):CALL WSCCB!(R,X)
9159 R=5:X=&HEA:WSCCB!=VARPTR(ML(0)):CALL WSCCB!(R,X)

		Dale Carstensen  (dlc@lanl-a, lanl-a!dlc, or denelcor!dcarst)