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
*************************************