;----------------------------------------------------------- ; ; Api92/Api89 Source Code ; ; (c) NeXO Software, Benoit SCHERRER ; e-mail : p.c.scherrer@wanadoo.fr ; ; ; File> error.xas ; Utility> Error Management ; ;----------------------------------------------------------- ;----------------------------------------------------- ; a0.l : Address of a api92ProgressBar structure ;----------------------------------------------------- ; 00.w : Current Value ; 02.w : X ; 04.w : Y ; 06.w : Number of square ; 08.w : Max Value ;----------------------------------------------------- apilib@0066: ProgressBarComponent: movem.l d0-d5/a0-a2,-(a7) move.w 6(a0),d4 ;nb of square mulu.w #6,d4 ;6bar per square mulu.w (a0),d4 tst.w 8(a0) beq.s \no_div_error divu.w 8(a0),d4 ;nb square to put bra.s \noerr \no_div_error clr.w d4 ;default value \noerr move.w 6(a0),d3 ;nb subq.w #1,d3 ;for dbra move.w 2(a0),d0 ;X move.w 4(a0),d1 ;Y moveq.w #4,d2 lea gfx_Progress(PC),a1 clr.w d5 \loop cmp.w #5,d4 bhi.s \skip move.w d4,d5 addq.w #1,d5 tst.w d4 bne.s \nozero moveq.w #1,d5 \nozero mulu.w #5,d5 clr.w d4 bra.s \skip2 \skip subq.w #6,d4 \skip2 lea 0(a1,d5.w),a0 bsr _draw_GFX8xn addq.w #8,d0 dbra.s d3,\loop movem.l (a7)+,d0-d5/a0-a2 rts