<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Sat, 08 Dec 1990 06:57:53 GMT
From   : snorkelwacker.mit.edu!hsdndev!wuarchive!zaphod.mps.ohio-state.edu!van-bc!cynic!pevans@bloom-beacon.mit.edu (Phillip Evans)
Subject: Z80DMA & DART

Hello all - I am disassembling a boot prom and need to know some Z80DMA 
and Z80DART stuff.  The DMA gets sent 08hex as one of the first 
instructions - then it's not used again by the prom.  The DART gets 
sent this sequence:
 
 18 01 00 03 C1 04 44 05 68 00  (the last 00 might be superfluous)
 
to initialise it, and then the command port is only used by the 
following bit of code.  
 
 
FiddleP1:
    XOR    A                ;zero A and reset flags
    OUT    (DARTAStat),A    ;send it out
    IN     A,(DARTAStat)    
    AND    1                ;mask on bit 0
    SCF                     ;set this in case it was set
    RET    Z                ;ret if the bit was not set
    OUT    (DARTAStat),A    ;SEE QUESTION TWO BELOW
    IN     A,(DARTAStat)
    AND    'p'              ;70H - mask bits 456
    RET    Z                ;ret if none of the above set
    IN     A,(DATRADat)
    LD     A,'0'            ;30H - load A without affecting flags
    OUT    (DARTAStat),A
    OR     A                
    RET
 
Question ONE:
 
What DOES the set of initialisation bytes do?
 
Question TWO:
 
What I need to know here are the meanings of the bits 0, 4, 5, and 6; 
what happens when the status register is loaded with the returned byte 
after it is masked with 0000 0001 binary; and what happnes when it is 
loaded with 030hex.
 
No, I don't have a manual/set of data sheets, nor does either of the 
libraries I tried.
 
Thanks in advance to anyone who can answer these questions for me...


  


End of INFO-CPM Digest V90 Issue #200
*************************************
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>