![[Contents]](/images/blue_toc.gif) 
 ![[Commodore]](/images/blue_cbm.gif) 
 ![[New]](/images/blue_new.gif) 
![[Search]](/images/blue_search.gif) 
![[Home]](/images/blue_home.gif) 
Commodore 1571 firmware
    Format/Verify Routine
         .page  
         .subttl 'lccfmt3a.src'
;*   format done, now verify it
vfmt	lda  #200       ;  look at 200 syncs
        sta  trys        
1$	lda  #00         
        sta  fmhdpt     ; start with first sector again
        lda  sectr      ;  sector counter
        sta  sect        
2$	jsr  jsync      ;  find sync
	ldx  #10         
        ldy  fmhdpt     ; current header pointer
3$	lda  (hdrpnt),y          
4$	bit  pota1	;  get header byte
	bmi  4$
	
        cmp  data2       
        bne  5$		; error
        iny      
        dex
        bne  3$		;  test all bytes
        clc     	; update headr pointer
        lda  fmhdpt      
        adc  #10         
        sta  fmhdpt      
	
        jmp  6$		;  now test data
5$	dec  trys       ;  test if too many errors
        bne  1$
        lda  #notfnd    ;  too many error
        jmp  jfmterr      
6$	jsr  jsync      ;  find data sync
        ldy  #256-topwrt	
7$	lda  ovrbuf,y    ; ovr buff offset
8$	bit  pota1
	bmi  8$
        cmp  data2      ;  compare gcr
        bne  5$		; error
        iny      
        bne  7$		;  do all ovrbuf
9$	lda  (bufpnt),y          
10$	bit  pota1
	bmi  10$
        cmp  data2       
        bne  5$
        iny      
        bne  9$
        dec  sect       ; more sectors to test?
        bne  2$		; yes
;  all sectors done ok
        inc  ftnum      ;  goto next track
        lda  ftnum       
	bit  side 	;  what side are we on ?
	bmi  13$
        cmp  #36        ;  #tracks max
	.byte skip2
13$	cmp  #71
        bcs  12$
        jmp  jend       ;  more to do
12$	lda  #$ff       ;  clear ftnum
        sta  ftnum       
        lda  #$0        ;  clear gcr buffer flag
        sta  gcrflg      
        lda  #1         ;  return ok code
        jmp  jerrr
 ![[Contents]](/images/blue_toc.gif) 
 ![[Commodore]](/images/blue_cbm.gif) 
 ![[New]](/images/blue_new.gif) 
![[Search]](/images/blue_search.gif) 
![[Home]](/images/blue_home.gif)