Calling all DOS-heads

From: Jim Brain <brain_at_jbrain.com>
Date: Thu, 29 Mar 2012 19:54:24 -0500
Message-ID: <4F750440.2090301@jbrain.com>
I bow to the knowledge of those who understand DOS better than I, but I 
am confused about the operation of the ATNACK circuit in the 1541.

Now that I finally have a good PC-based logic analyzer, I submit two 
traces for perusal:

load"$",9
http://s15.postimage.org/pym7z9i23/with_ACK.png

If I then remove pin 10 of UB1 (the '06 that outputs the result of the 
ACK circuit onto the DATA line), I get this trace

http://s15.postimage.org/ar68ewq7b/without_ACK.png

Legend:

All signals are tapped at the 6522 except DATA_ACK which is tapped off 
of UB1:pin 11 (high there means a low on the DATA line)

What I am seeing:

   * ATN_IN goes high (at the 6522)
   * it takes 444uS to bring DATA_OUT hi (which would pull DATA low)
   * command data sent
   * ATN_IN goes LOW
   * data is sent
   * At 7.4ms, ATN_IN goes high again
   * ATNACK is already low, so DATA_ACK goes high
   * DATA_OUT is already hi, so all is well
   * Than, at 9.443mS, ATN goes high again
   * DATA never goes high, ever
   * ATN_IN cycles a few times (zoomFLoppy), trying to get a response.

I don't understand why the DOS never notices ATN at 9.443ms

I am looking through the DOS routines, but it's slow going for me.  
Maybe someone with a bit more DOS knowledge can shed some light on it.  
I can create more traces if needed.

Jim


-- 
Jim Brain
brain@jbrain.com
www.jbrain.com


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

Archive generated by hypermail 2.2.0.