Re: 6702 chip

From: William Levak <wlevak_at_SDF.ORG>
Date: Fri, 25 May 2012 04:43:33 +0000 (UTC)
Message-ID: <Pine.NEB.4.64.1205250418100.20975@sdf.lonestar.org>
On Thu, 24 May 2012, Rhialto wrote:

> I'm not really sure what you mean with the above. I can imagine a shift
> register, where the bit that shifts out, if it is a 1, toggles a
> flipflop. The output (or its inverse) can be the output bit as read from
> $efe0. I'm not sure what you mean with "reaches its limit". If you
> mean "has been shifted out all its original bits", how would it know
> that?
>
> How is it determined when "a different odd number" is put in? A latch
> remembering the previous value, xor-ed with the new odd value?


I guess I didn't explain it very well.

We have 8 shift registers.  When the chip is reset they are loaded with a 
value that has one bit set.  When this bit shifts out, it triggers a 
flip-flop that changes a bit in the output register. It also causes the 
original value to be reloaded into the shift register.  This continues 
indefinitely, with the output bits having equal numbers of 0 and 1 bits.

Remember, the chip knows whether the odd number written to it is the same 
or different.  It must have a register for the last odd number. and 
a comparator circuit of some kind, in order to tell whether it is the same 
or different.  An exclusive or would work well here. Any changed bits 
would end up as a one in the result register.

When a changed bit is detected, the contents of that shift register are 
save as the "reload" value, making the number of low bits dependent on 
where in the cycle the odd number was changed.  At the same time, a gate 
of some kind is enabled so tha when the output of the flip-flop is high,
it reloads the shift register, and also enables the flip-flop, so the it 
is reset.

This would result in a string of zeroes, but only one high bit.  This is 
what I observed.  In the instance where the bit gave all high outputs, 
this represents a string of zeroes of zero length.  This would mean that 
the changed odd number came where the high bit shifted out of the 
register, resulting in the shift register shifting out a one every time.


wlevak@sdf.lonestar.org
SDF Public Access UNIX System - http://sdf.lonestar.org

       Message was sent through the cbm-hackers mailing list
Received on 2012-05-25 05:00:05

Archive generated by hypermail 2.2.0.