Ok, I've kinda figured out the control lines on the 6522.
First of all, I've got them triggering a flag in the IFR whenever there
is a state change on any control pin from a ground to either floating or
+5V.
For example, CB1 is plugged into ground. I reset the IFR (so no flags
are set). I remove the ground from CB1. CB1's flag in the IFR gets set.
I reset that flag. If I plug CB1 into +5V, I get no flag. If I unplug
CB1 from +5V, I get no flag. If I plug CB1 back into ground, I get a
flag.
Why are the flags being set only when one of the control lines no longer
senses ground? I tried playing with the PCR to see if setting whether the
control pins are active positive edge or active negative edge changes this
behavior but it doesn't. I can work with this the way it is: I'm
basically tracking state changes on the control pins, which is fine for
my purposes since the reader will go from TTL false to TTL true if there
is an error, and back to TTL false when the error gets cleared. But I
want to know how the behavior of the control lines is set.
Now, I seem to have a problem with CA1. If I have CA1 connected to
ground, it's stable. As soon as I remove it from ground and it's
floating, CA1's state starts to fluctuate wildly for a little over 2
seconds. It's flag in the IFR keeps triggering over and over. If, right
after I remove it from ground and it starts fluctuation, I plug it back
into ground, it stabalizes (it stops changing states). As soon as I
remove it again, it fluctuates wildly.
Is CA1 tied to one of the 16-bit timers? It sure seems like it. The docs
say something about being able to make one of the control lines trigger
off a timer. Am I triggering the shift register somehow?
What in tarnations is going on?
Sellam Ismail Vintage Computer Festival
------------------------------------------------------------------------------
International Man of Intrigue and Danger
http://www.vintage.org
* Old computing resources for business and academia at
www.VintageTech.com *