![[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
    Interrupt Routine
        .page  
	.subttl 'irq.src'   
;<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
sysirq  jmp  (irqjmp)	;  irq vector ***rom ds 85***
;	pha		;  save .a
;	txa		;  save .x
;	pha
;<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
        tya      
        pha      	;  save .y
        lda  ifr1       ;  test if atn
        and  #2          
        beq  1$		;  not atn
        jsr  atnirq     ;  handle atn request
1$	lda  ifr2       ;  test if timer
        asl  a   
        bpl  2$		;  not timer
        jsr  lcc        ;  goto controller
2$	pla     	;  restore .y,.x,.a
        tay      
        pla      
        tax      
        pla      
        rti
![[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)