# Re: 6702 chip

From: Rhialto <rhialto_at_falu.nl>
Date: Wed, 5 Sep 2012 20:24:06 +0200
Message-ID: <20120905182405.GA23607@falu.nl>
```On Wed 05 Sep 2012 at 06:38:29 +0000, William Levak wrote:
> INTERNAL OPERATION
>
> 1. When data is written to the 6702, the low bit is AND'ed with the
>    Even/Odd register. If the result is zero, the low bit is inverted and
>    written to the Even/Odd register, and the 6702 waits for more input. If
>    the result is one, operation continues below.

The way I have formulated this for myself is that the even/odd register
is described as "the required low bit of the next number". The
even/odd register is compared to the low bit, and only when it is equal,
operation continues. Then, only when it is 1, it does steps 2...5.
A separate step 6 would be to toggle the even/odd bit.

Your description cleverly combines the three cases where no output is
changed because

(a) an even number is expected and given (even/odd bit = 0, low bit = 0,
so the AND is 0, and the even/odd bit is changed to 1); or
(b) an even number is expected but not given (even/odd bit = 0, low bit = 1,
so the AND is 0, and the even/odd bit is kept at 0); or
(c) an odd number is expected but not given (even/odd bit = 1, low bit = 0,
so the AND is 0, and the even/odd bit is kept at 1)

but it needs a case distinction like that to realise that one
description is equivalent to the other.

> NOTE
>
> The original SuperPET contains sockets for four 6702 daughter boards.

Perhaps that is why the output value is visible on 4 address locations.
The addresses influenced by the circuitry around the 6702 are more than
just those; all of "E F xxx0 xxxx" are affected, but the ones that are
not EF00 .. EF03 all return FF (instead of the EF of the unconnected
space). Apparently part of the address decoding is done inside the 6702.

-Olaf.
--
___ Olaf 'Rhialto' Seibert  -- There's no point being grown-up if you
\X/ rhialto/at/xs4all.nl    -- can't be childish sometimes. -The 4th Doctor

Message was sent through the cbm-hackers mailing list
```