                .DO     External
                .LSTON
                .Page
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;>
;>      Module: Int.Assem  { Interrupt Handler }
;>
;>      This module contains all the routines associated with
;>      the various interrupts that the Widget controller deals with.
;>
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                .LSTOFF
                .FIN
                .DO     External
                .LSTON
                .Page
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;>
;>      Procedure: Vector0:4 { Illegal Interrupts }
;>
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                .LSTOFF
                .FIN
                .DO     Internal
                .LSTON
                .Page
                .FIN
                
Vector0:
Vector1:
Vector2:
Vector3:
Vector4:
                Pop     !r9     ;pop flags
                Pop     !rA     ;pop return address
                Pop     !rB
                Call    Abort
                
                .LSTOFF
                .DO     External
                .LSTON
                .Page
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;>
;>      Procedure: Vector5 { Irq5 Interrupt }
;>
;>      This procedure decrements the DeadMan Timer counter. If the
;>      result is zero then Abort
;>
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                .LSTOFF
                .FIN
                .DO     Internal
                .LSTON
                .Page
                .FIN

Vector5:
                Decw    Dmt_Counter
                Jr      Z,Vector4 ;abort if zero
                
                And     Irq,#$FF-Timer1 ;clear old interrupt
                Ei
                Iret
                
                .LSTOFF
                
                
                
