From: Timo Savola To: Azure@hamburg.roses.de Date sent: Sun, 12 Oct 1997 02:20:57 +0200 Organization: Netlife Ltd. Subject: Circle source ;Speed Optimized Code for the Circledrawing-compo ;Uses Bresenham circle algorithm ;Written by Markus Sauermann alias Mhoram ; move.l #100,d0 ; move.l #100,d1 ; move.l #20,d2 ; move.b #212,d3 _circle: lsl.w #8,d1 add.w d1,d0 moveq #0,d4 moveq #0,d6 moveq #0,d7 move.w d0,d1 add.w d2,d1 move.w d2,d5 move.b d3,0(a0,d1.l) sub.w d5,d1 sub.w d5,d1 move.b d3,0(a0,d1.l) add.w d5,d1 lsl.w #8,d5 add.w d5,d1 move.b d3,0(a0,d1.l) sub.w d5,d1 sub.w d5,d1 move.b d3,0(a0,d1.l) move.w d2,d5 neg.w d2 l1: addq #1,d4 addq #2,d6 add.w d4,d2 add.w d4,d2 subq #1,d2 tst.w d2 blt.s l2 sub.w d5,d2 sub.w d5,d2 addq #2,d2 subq #1,d5 l2: move.w d0,d1 move.w d5,d7 lsl.w #8,d7 add.w d4,d1 add.w d7,d1 add.w d7,d7 move.b d3,0(a0,d1.l) sub.w d6,d1 move.b d3,0(a0,d1.l) sub.w d7,d1 move.b d3,0(a0,d1.l) add.w d6,d1 move.w d5,d7 move.b d3,0(a0,d1.l) move.w d0,d1 lsl.w #7,d6 add.w d6,d1 add.w d7,d1 add.w d6,d6 move.b d3,0(a0,d1.l) sub.w d6,d1 add.w d7,d7 move.b d3,0(a0,d1.l) sub.w d7,d1 move.b d3,0(a0,d1.l) add.w d6,d1 move.b d3,0(a0,d1.l) lsr.w #8,d6 cmp.w d4,d5 bgt l1 rts .