RK06/RK07 Disk Drive User's Manual - Trailing-Edge
RK06/RK07 Disk Drive User's Manual - Trailing-Edge
RK06/RK07 Disk Drive User's Manual - Trailing-Edge
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>RK06</strong>: TSTB<br />
BNE<br />
MOV<br />
MOV<br />
MOV<br />
MOV<br />
MOV<br />
MOV<br />
MOV<br />
1$: TSTB<br />
BPL<br />
MOV<br />
COM<br />
BIT<br />
BNE<br />
BIT<br />
BNE<br />
MOV<br />
CMP<br />
BEQ<br />
CMP<br />
BEQ<br />
CMP<br />
BNE<br />
MOV<br />
2$: INCB<br />
3$: ADD<br />
INCB<br />
MOV<br />
4$: RTS<br />
;INTERRUPT SERVICE ROUTINE<br />
INTR: MOV<br />
TSTB<br />
BEQ<br />
BIT<br />
BNE<br />
RTI<br />
RK6ACT ;Is the <strong>RK06</strong> currently active?<br />
<strong>RK06</strong> ; Wait for it to become inactive<br />
#RKCS2,R2 ;Point to CS2 register<br />
#SCLR,($2) ;Issue a Subsystem Clear<br />
UNIT,(R2) ;Select the desired unit<br />
DSKADR,-(R2) ;Load RKDA<br />
BUSADR,-(R2) ;Load RKBA<br />
WCNT,-(R2) ;Load RKWC<br />
#PACACK,-(R2) ;Issue Pack ACK function<br />
(R2) ; Wait 15 J.l,S for the serial message<br />
1$ ,<br />
RKDS(R2),R 1 ;Get <strong>Drive</strong> Status register<br />
R 1 ;Complement bits<br />
#SVAL!DRDY!VV!DRA,Rl ;Can drive accept further commands?<br />
4$ ;IfNE no<br />
#UNS,RKER(R2) ;Is this a Seek function?<br />
4$ ;IfNE yes<br />
CYLADR,RKDC(R2) ;Load cylinder address<br />
#113,FUNCTN ;Is this a recalibrate function?<br />
2$ ;IfEQ yes<br />
#117,FUNCTN ;Is this a Seek function?<br />
2$ ;IfEQ yes<br />
#115,FUNCTN ;Is this an Offset function?<br />
3$ ;IfNE no<br />
OFFSET,RKOF(R2) ;Load offset value<br />
POSPRO ;Indicate positioning command<br />
#2,(SP) ;Show a good return<br />
RK6ACT ;Set <strong>RK06</strong> active flag<br />
FUNCTN,(R2) ;Load RKCS 1<br />
PC ;Return to users program<br />
#RKCSI,R2<br />
POSPRO<br />
5$<br />
#CERR !DI,(R2)<br />
5$<br />
7-40<br />
;Point to CS 1 register<br />
;Positioning in progress?<br />
;IfEQ no<br />
;Positioning complete or error?<br />
;IfNE yes<br />
;Wait for positioning to complete