[comp.sys.amiga] PARITY: odd even mark space none

peter@sugar.UUCP (Peter DaSilva) (07/12/87)

What is the mapping between odd/even/mark/space/none and the parity
bits in the serial driver on the Amiga.

	NONE -> 0
	ODD -> SERF_PARITY_ON | SERF_PARITY_ODD
	EVEN -> SERF_PARITY_ON
	MARK -> ???
	SPACE -> ???

Or do you have to map stuff yourself?
-- 
-- Peter da Silva `-_-' ...!seismo!soma!uhnix1!sugar!peter (I said, NO PHOTOS!)

wtm@neoucom.UUCP (Bill Mayhew) (07/25/87)

NONE = no parity bits added
ODD  = data bit appended so tthat check sum of bits = 1
EVEN = data bit appended so that check sum of bits = 0
MARK = data bit = 0 is appended
SPACE = data bit = 1 is appended

Note that for most practical purposes, 8N parity is the equivalent
of 7S or 8S, since the the appended bit is at the same logic level
as the idle state of the output.  In some systems, space partiy is
used to replace the option of using 1 or 2 stop bits.  For
instance, 8N = one stop bit 8S = two stop bits.  All this parity
nonsense has often resulted in hours of frustration in getting two
devices to talk to each other, especially when the manufacturers
notions of wheter or not the partiy bit is included in the "word
length" differ!

--Bill

4526P@NAVPGS.BITNET (LT Scott A. Norton, USN) (07/28/87)

In <638@neoucom.UUCP>, wtm@neoucom.UUCP (Bill Mayhew) writes,
> NONE = no parity bits added
> ODD  = data bit appended so tthat check sum of bits = 1
> EVEN = data bit appended so that check sum of bits = 0
> MARK = data bit = 0 is appended
> SPACE = data bit = 1 is appended
> Note that for most practical purposes, 8N parity is the equivalent
> of 7S or 8S, since the the appended bit is at the same logic level
> as the idle state of the output.
Robot sez, "DANGER ROBINSON FAMILY!!"  DBW's VT100 uses the
parity setting to influence whether Kermit transfers will
use 8 bits or just seven.  I found if I set parity to "None",
the IBM mainframe, which sends even parity, wouldn't send
Kermit packets to my Amiga, since it's Ctrl-A begin-packet
characters with parity were hex 81. With "None" parity, VT100
won't strip the parity bit.
>All this parity
>nonsense has often resulted in hours of frustration in getting two
>devices to talk to each other, especially when the manufacturers
>notions of wheter or not the partiy bit is included in the "word
>length" differ!
>--Bill
I think the problem exists because there are two ends to a duplex
serial line.  As a transmitter, you can do five things with the
parity bit: send odd parity, even parity, mark, space, or use the
parity bit as a data bit and send 8 bit characters.  But as a
receiver, you must know what the transmitter is doing, and then
interpret the parity bit.
     
When I see a BBS advertise 8/N/1, I read the N = No parity to mean
that the board will ignore parity bits it receives, and will not be
sending parity information.  It will probably send spaces for
parity, but I will ignore it.
     
For Kermit 8-bit and XMODEM protocols, you don't want the serial
port to mess with the parity, but you want to give it an 8-bit
character and have it sent as 8 bits.
     
So, to avoid ambiguity, the transmitter needs to specify if the
parity bit is being used for error checking ( even or odd ), as an
extra stop bit ( mark or space ), or as data.  Then, the receiver
can take the appropriate action, detecting errors, ignoring marks or
spaces, or using all 8 bits as data.
     
LT Scott A. Norton, USN
     


Naval Postgraduate School
Monterey, CA 93943-5018
4526P@NavPGS.BITNET