Main Index Routine Index Memory Index
Previous Page Next Page


Routine $0678:   Wait for the next $6B data sector SYNC mark. CF:=0 if found.

This routine locates the next $75 sector header and waits for the following $6B data sector SYNC mark (max [$12] tries). Set [$15]:=$75+$12+1=$88 default offset to start of file data in [$0400] buffer. The carry flag is set if no sync or no $75 sector header occurred.

JSR from $042A: 0678: 0A ASL A ; [$12]:= number of tries to find a $75 0679: 85 12 STA $12 ; sector header in the following (initial value 8) 067B: 49 08 EOR #$08 067D: 85 D5 STA $D5 ; [$D5] = temp storage for $6B data sector parity calculation (initial value 0) Jump from $0693: 067F: 20 98 06 JSR $0698 ; wait for SYNC mark, CF=0 if SYNC found. 0682: B0 11 BCS $0695 0684: 50 FE BVC $0684 ; wait for byte-ready 0686: B8 CLV 0687: AD 01 1C LDA $1C01 ; read sector control byte from head 068A: C9 75 CMP #$75 ; sector control byte = $75 if sector header found, 068C: F0 0A BEQ $0698 ; so branch to $0698 to wait for the next SYNC mark 068E: 20 45 07 JSR $0745 ; wait for next sector start, set Job #1, set [$1D], set [$11], get Track Key. 0691: C6 12 DEC $12 ; max [$12] tries to find a $75 sector header 0693: 10 EA BPL $067F ; JSR from $0668, Jump from $0682: 0695: 38 SEC ; CF:=1 : 0696: 78 SEI ; (a) local error-exit: no SYNC found or no $75 sector header found 0697: 60 RTS ; (b) exit from $0625 file transfer routine: file transfer complete Previous Page / Next Page