02.07.2013 Views

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

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2. Error correction is accomplished in six steps:<br />

a. Calculate the byte offset to the start of the block transferred.<br />

b. Calculate offset to the first bad byte in the block.<br />

c. Convert correction pattern into two pattern words.<br />

d. Apply ECC correction using first pattern word.<br />

e. Apply ECC correction using second pattern word.<br />

f. Finish or continue previous function.<br />

DMECC:MOV RKWC,RO ;Get negative words remaining<br />

ASL RO ;Convert to bytes<br />

ADD COUNT,RO ;Calculate bytes actually transfered<br />

MOV RO,-(SP) ;And save it<br />

BEQ DMOFST ;Branch to do offset if no bytes transferred<br />

BIT #HVRC,RKER ;Header VRC error?<br />

BNE 40$ ;Yes<br />

DEC RO ;Calculate offset to start of block<br />

40$: BIC #777,RO ;Clear residue .<br />

BIT #DTE!ECH !HVR C,RKER ;ECC Hard Error?<br />

BNE DMOFST ; Y es do offset<br />

MOV RKECPS,Rl ;Get starting bit number<br />

DEC Rl ;Convert to relative bit number<br />

MOV Rl,-(SP) ;Save starting relative bit number<br />

BIC #tC,Rl ;Isolate shift count<br />

BIC Rl,(SP) ;Clear shift count in relative bit number<br />

CLC ;Calculate offset to first bad byte in ....<br />

ROR (SP) ; ... the block<br />

ASR (SP)<br />

ASR (SP)<br />

ADD (SP),RO ;Set offset to first byte in the transfer<br />

MOV RKECPT,R3 ;Get correction pattern word<br />

CLR (SP) ;Clear second pattern word<br />

41$: DEC Rl ;Any shifts to perform?<br />

BLT 42$ ;IfLTno<br />

ASL R3 ;This is in case the error burst. ..<br />

ROL (SP) ; ... crossed a 16-Bit word boundary<br />

BR 41$ ;Continue shifting<br />

42$: CALL DMECOR ;Apply ECC correction<br />

MOV (SP)+,R3 ;Retrieve second pattern word<br />

ADD #2,RO ;Update offset to next bad(?) Word<br />

CALL DMECOR ;Apply ECC correction<br />

;Correction completed<br />

;Finish or continue function<br />

7-42

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!