#10,d0
		beq	.ccyend
		bra	.ccydo

.ccyend		clr.l	manxspeed-d(a5)
		rts

.ccy2		move.w	#48,sxruncount-d(a5)
		rts
		
.ccyr		clr.w	sxruncount-d(a5)
		bra	.ccy

.spd		move.w	blktype-d(a5),d0
		tst.l	manxspeed-d(a5)
		beq.s	.ccy2
		bpl.s	.spdr
		cmp.w	#2,d0
		beq.s	.lslow
		cmp.w	#3,d0
		bne.s	.ccyr
		lea	sxruntab2-d(a5),a0
		move.w	sxruncount-d(a5),d0
		addq.w	#1,sxruncount-d(a5)
		cmp.w	#48,sxruncount-d(a5)
		bmi.s	.lcont
		move.w	#46,sxruncount-d(a5)
		bra.s	.lcont
		
.lslow		lea	sxruntab-d(a5),a0
		move.w	sxruncount-d(a5),d0
		addq.w	#1,sxruncount-d(a5)
		cmp.w	#48,sxruncount-d(a5)
		bmi.s	.lcont
		move.w	#46,sxruncount-d(a5)

.lcont		moveq	#0,d1
		move.b	(a0,d0.w),d1
		sub.w	d1,agamanxpos-d(a5)
		sub.l	d1,agaabsmanxpos-d(a5)
		rts

.spdr		cmp.w	#0,d0
		beq.s	.rslow
		cmp.w	#1,d0
		bne	.ccyr
		lea	sxruntab2-d(a5),a0
		move.w	sxruncount-d(a5),d0
		addq.w	#1,sxruncount-d(a5)
		cmp.w	#48,sxruncount-d(a5)
		bmi.s	.rcont
		move.w	#46,sxruncount-d(a5)
		bra.s	.rcont

.rslow		lea	sxruntab-d(a5),a0
		move.w	sxruncount-d(a5),d0
		addq.w	#1,sxruncount-d(a5)
		cmp.w	#48,sxruncount-d(a5)
		bmi.s	.rcont
		move.w	#46,sxruncount-d(a5)

.rcont		moveq	#0,d1
		move.b	(a0,d0.w),d1
		add.w	d1,agamanxpos-d(a5)
		add.l	d1,agaabsmanxpos-d(a5)
		rts

.mid		tst.w	duckpos-d(a5)
		bne.s	.mid2
		move.l	#42*928,d0
		tst.w	animdir-d(a5)
		bne.s	.mc1
		move.l	#43*928,d0
.mc1		move.l	d0,animadr-d(a5)
		subq.w	#1,punchcount2-d(a5)
		rts

.mid2		move.l	#52*928,d0
		tst.w	animdir-d(a5)
		bne.s	.mc2
		move.l	#53*928,d0
.mc2		move.l	d0,animadr-d(a5)
		subq.w	#1,punchcount2-d(a5)
		rts

.sxca2		moveq	#1,d1
		bra	.sxc4

.left		moveq	#12,d0
		moveq	#64,d1
		bsr	calcblockno
		cmp.b	#10,d0
		beq	.sxca2
		move.w	-_levwidth(a0),d2
		and.w	#$3ff,d2
		move.b	(a4,d2.w),d0
		cmp.b	#10,d0
		beq	.sxca2
		move.w	-_levwidth*2(a0),d2
		and.w	#$3ff,d2
		move.b	(a4,d2.w),d0
		cmp.b	#10,d0
		beq	.sxca2
		tst.w	bfallflag-d(a5)
		beq.s	.lc002
		move.l	absmanxpos-d(a5),d0
		sub.w	#10,d0
		cmp.w	bxborderl-d(a5),d0
		bpl.s	.lc001
		clr.l	manxspeed-d(a5)
		bra	.sxc2

.lc002		tst.w	bstandflag-d(a5)
		beq.s	.lc001
		move.l	absmanxpos-d(a5),d0
		sub.w	#10,d0
		cmp.w	bxborderl-d(a5),d0
		bpl.s	.lc001
		clr.l	manxspeed-d(a5)
		bra	.sxc2

.lc001		move.w	#0,animdir-d(a5)
		tst.w	jumpflag-d(a5)
		bne.s	.lc3
		tst.w	fallflag-d(a5)
		beq	.lc2
		cmp.l	#-8,manxspeed-d(a5)
		beq.s	.lc9
		subq.l	#1,manxspeed-d(a5)

.lc9		tst.w	swsinkflag2-d(a5)
		beq.s	.swl3
		move.l	#-4,manxspeed-d(a5)
.swl3		move.l	animposs+44-d(a5),animadr-d(a5)
		move.w	#1,animstand-d(a5)
		bra	.checky

.lc3		cmp.l	#-8,manxspeed-d(a5)
		beq.s	.lc7
		subq.l	#1,manxspeed-d(a5)

.lc7		tst.w	swsinkflag-d(a5)
		beq.s	.swl2
		move.l	#-4,manxspeed-d(a5)
.swl2		move.w	#1,animstand-d(a5)
		tst.w	janimcount-d(a5)
		bne.s	.lc10
		move.l	animposs+40-d(a5),animadr-d(a5)
		bra	.checky
.lc10		move.l	animposs+36-d(a5),animadr-d(a5)
		bra	.checky

.lc2		cmp.l	#-8,manxspeed-d(a5)
		beq.s	.lc4
		subq.l	#1,manxspeed-d(a5)
		cmp.l	#-8,manxspeed-d(a5)
		beq.s	.lc4
		subq.l	#1,manxspeed-d(a5)

.lc4		tst.w	swsinkflag-d(a5)
		beq.s	.swl1
		move.l	#-4,manxspeed-d(a5)
.swl1		move.w	#1,animstand-d(a5)
		cmp.w	#3,lrphase-d(a5)
		beq.s	.lc11
		cmp.w	#2,lrphase-d(a5)
		beq.s	.lc12
		cmp.w	#1,lrphase-d(a5)
		beq.s	.lc22
		move.l	animadr-d(a5),d0
		cmp.l	animposs-d(a5),d0
		beq.s	.lc23
		cmp.l	animposrs-d(a5),d0
		bne.s	.lc22
.lc23		move.l	animposfrnt-d(a5),animadr-d(a5)
		bra.s	.lc13
.lc22		move.l	animposs+12-d(a5),animadr-d(a5)
		bra.s	.lc13
.lc24		addq.w	#1,lrphase-d(a5)
.lc12		move.l	animposrs+4-d(a5),animadr-d(a5)
.lc13		subq.w	#1,lrcount-d(a5)
		bne	.checky
		move.w	#2,lrcount-d(a5)
		addq.w	#1,lrphase-d(a5)
		bra	.checky

.lc11		addq.w	#1,animcount-d(a5)
		cmp.w	#4,animcount-d(a5)
		bne.s	.lc1
		move.w	#0,animcount-d(a5)
		addq.w	#1,animphase-d(a5)
		cmp.w	#12,animphase-d(a5)
		bne	.lc1
		move.w	#0,animphase-d(a5)
.lc1		lea	animposl-d(a5),a0
		move.w	animphase-d(a5),d0
		add.w	d0,d0
		add.w	d0,d0
		move.l	(a0,d0.w),animadr-d(a5)
		move.w	#0,animstand-d(a5)
		bra	.checky
		
.right		moveq	#30,d0
		moveq	#64,d1
		bsr	calcblockno
		cmp.b	#10,d0
		beq	.sxca2
		move.w	-_levwidth(a0),d2
		and.w	#$3ff,d2
		move.b	(a4,d2.w),d0
		cmp.b	#10,d0
		beq	.sxca2
		move.w	-_levwidth*2(a0),d2
		and.w	#$3ff,d2
		move.b	(a4,d2.w),d0
		cmp.b	#10,d0
		beq	.sxca2
		tst.w	bfallflag-d(a5)
		beq.s	.rc002
		move.l	absmanxpos-d(a5),d0
		add.w	#12,d0
		cmp.w	bxborderr-d(a5),d0
		bmi.s	.rc001
		clr.l	manxspeed-d(a5)
		bra	.sxc2

.rc002		tst.w	bstandflag-d(a5)
		beq.s	.rc001
		move.l	absmanxpos-d(a5),d0
		add.w	#12,d0
		cmp.w	bxborderr-d(a5),d0
		bmi.s	.rc001
		clr.l	manxspeed-d(a5)
		bra	.sxc2

.rc001		move.w	#1,animdir-d(a5)
		tst.w	jumpflag-d(a5)
		bne.s	.rc3
		tst.w	fallflag-d(a5)
		beq	.rc2
		cmp.l	#8,manxspeed-d(a5)
		beq.s	.rc9
		addq.l	#1,manxspeed-d(a5)

.rc9		tst.w	swsinkflag2-d(a5)
		beq.s	.swr3
		move.l	#4,manxspeed-d(a5)
.swr3		move.l	animposs+32-d(a5),animadr-d(a5)
		move.w	#1,animstand-d(a5)
		bra	.checky

.rc3		cmp.l	#8,manxspeed-d(a5)
		beq.s	.rc7
		addq.l	#1,manxspeed-d(a5)

.rc7		tst.w	swsinkflag-d(a5)
		beq.s	.swr2
		move.l	#4,manxspeed-d(a5)
.swr2		move.w	#1,animstand-d(a5)
		tst.w	janimcount-d(a5)
		bne.s	.rc10
		move.l	animposs+28-d(a5),animadr-d(a5)
		bra	.checky
.rc10		move.l	animposs+24-d(a5),animadr-d(a5)
		bra	.checky

.rc2		cmp.l	#8,manxspeed-d(a5)
		beq.s	.rc4
		addq.l	#1,manxspeed-d(a5)
		cmp.l	#8,manxspeed-d(a5)
		beq.s	.rc4
		addq.l	#1,manxspeed-d(a5)

.rc4		tst.w	swsinkflag-d(a5)
		beq.s	.swr1
		move.l	#4,manxspeed-d(a5)
.swr1		move.w	#1,animstand-d(a5)
		cmp.w	#3,lrphase-d(a5)
		beq.s	.rc11
		cmp.w	#2,lrphase-d(a5)
		beq.s	.rc12
		cmp.w	#1,lrphase-d(a5)
		beq.s	.rc22
		move.l	animadr-d(a5),d0
	 	cmp.l	animposs+12-d(a5),d0
		beq.s	.rc23
		cmp.l	animposrs+4-d(a5),d0
		bne.s	.rc22
.rc23		move.l	animposfrnt-d(a5),animadr-d(a5)
		bra.s	.rc13
.rc22		move.l	animposs-d(a5),animadr-d(a5)
		bra.s	.rc13
.rc24		addq.w	#1,lrphase-d(a5)
.rc12		move.l	animposrs-d(a5),animadr-d(a5)
.rc13		subq.w	#1,lrcount-d(a5)
		bne	.checky
		move.w	#2,lrcount-d(a5)
		addq.w	#1,lrphase-d(a5)
		bra	.checky

.rc11		addq.w	#1,animcount-d(a5)
		cmp.w	#4,animcount-d(a5)
		bne.s	.rc1
		move.w	#0,animcount-d(a5)
		addq.w	#1,animphase-d(a5)
		cmp.w	#12,animphase-d(a5)
		bne	.rc1
		move.w	#0,animphase-d(a5)
.rc1		lea	animposr-d(a5),a0
		move.w	animphase-d(a5),d0
		add.w	d0,d0
		add.w	d0,d0
		move.l	(a0,d0.w),animadr-d(a5)
		move.w	#0,animstand-d(a5)
		bra	.checky
*****
punch		lea	d(pc),a4
		tst.w	punchcount-d(a4)
		bne	.mid	
		tst.w	sxpunchflagr-d(a4)
		bne	.punchr
		tst.w	sxpunchflagl-d(a4)
		bne	.punchl
		clr.w	collpointen-d(a4)
		tst.w	duckpos-d(a4)
		beq.s	.c03
		tst.w	animdir-d(a4)
		bne.s	.c02
		move.l	#50*928,animadr-d(a4)
		cmp.w	#4,duckpos-d(a4)
		beq.s	.c01
		move.l	#55*928,animadr-d(a4)
		bra.s	.c01
.c02		move.l	#40*928,animadr-d(a4)
		cmp.w	#4,duckpos-d(a4)
		beq.s	.c01
		move.l	#54*928,animadr-d(a4)
		bra.s	.c01
.c03		move.l	#44*928,animadr-d(a4)
		tst.w	animdir-d(a4)
		bne.s	.c01
		move.l	#45*928,animadr-d(a4)
.c01		move.w	actstick-d(a4),d0
		and.w	#$0303,d0
		cmp.w	#$0300,d0
		beq	.left			;links
		cmp.w	#$0200,d0
		beq	.leftup			;links 'nauf
		cmp.w	#$0301,d0
		beq	.leftdn			;links 'nunter
		cmp.w	#$0003,d0
		beq	.right			;rechts
		cmp.w	#$0002,d0
		beq	.rightdn		;rechts 'nunter
		cmp.w	#$0103,d0
		beq	.rightup		;rechts 'nauf

		clr.l	sxpunchedr-d(a4)

.cont
		tst.w	button-d(a4)
		bne.s	.end
		move.w	#4,punchcount2-d(a4)
		clr.w	punchflag-d(a4)
		clr.l	sxpunchedr-d(a4)
.end		rts

.mid		tst.w	duckpos-d(a4)
		bne.s	.mid2
		move.l	#42*928,d0
		tst.w	animdir-d(a4)
		bne.s	.mc1
		move.l	#43*928,d0
.mc1		cmp.w	#1,punchcount-d(a4)
		bne.s	.mc2
		add.l	#928*2,d0
.mc2		move.l	d0,animadr-d(a4)
		subq.w	#1,punchcount-d(a4)
		rts

.mid2		move.l	#52*928,d0
		tst.w	animdir-d(a4)
		bne.s	.mc3
		move.l	#53*928,d0
.mc3		cmp.w	#1,punchcount-d(a4)
		bne.s	.mc4
		add.l	#928*2,d0
.mc4		move.l	d0,animadr-d(a4)
		subq.w	#1,punchcount-d(a4)
		rts

.leftdn		move.w	#1,floorpunch-d(a4)
		clr.w	highpunch-d(a4)
		bra.s	.lc3
.leftup		move.w	#1,highpunch-d(a4)
		clr.w	floorpunch-d(a4)
		bra.s	.lc3
.left		clr.w	floorpunch-d(a4)
		clr.w	highpunch-d(a4)
.lc3		tst.w	animdir-d(a4)
		bmi.s	.lc2
		beq.s	.lc1
		move.w	#-1,animdir-d(a4)
		move.l	animposfrnt-d(a4),animadr-d(a4)
		tst.w	punchflag-d(a4)
		beq	.end
		cmp.w	#8,duckpos-d(a4)
		beq.s	.ldc1
		move.l	#41*928,animadr-d(a4)
		bra	.end
.ldc1		move.l	#51*928,animadr-d(a4)
		bra	.end
		
.lc2		clr.w	animdir-d(a4)
		bra	.end
.lc1		tst.w	sxpunchedl-d(a4)
		bne	.cont
		move.w	#1,sxpunchedl-d(a4)
		move.w	#1,sxpunchflagl-d(a4)
		bra.s	.punchl
		
.rightdn	move.w	#1,floorpunch-d(a4)
		clr.w	highpunch-d(a4)
		bra.s	.rc3
.rightup	move.w	#1,highpunch-d(a4)
		clr.w	floorpunch-d(a4)
		bra.s	.rc3
.right		clr.w	floorpunch-d(a4)
		clr.w	highpunch-d(a4)
.rc3		tst.w	animdir-d(a4)
		bmi.s	.rc2
		bne.s	.rc1
		move.w	#-1,animdir-d(a4)
		move.l	animposfrnt-d(a4),animadr-d(a4)
		tst.w	punchflag-d(a4)
		beq	.end
		cmp.w	#8,duckpos-d(a4)
		beq.s	.rdc1
		move.l	#41*928,animadr-d(a4)
		bra	.end
.rdc1		move.l	#51*928,animadr-d(a4)
		bra	.end
.rc2		move.w	#1,animdir-d(a4)
		bra	.end
.rc1		tst.w	sxpunchedr-d(a4)
		bne	.cont
		move.w	#1,sxpunchedr-d(a4)
		move.w	#1,sxpunchflagr-d(a4)
		bra	.punchr
		
.punchl		lea	sxpunchtabl-d(a4),a0
		lea	sxcollofsl-d(a4),a1
		tst.w	highpunch-d(a4)
		bne.s	.pl6
		tst.w	duckpos-d(a4)
		beq.s	.pl2
		tst.w	floorpunch-d(a4)
		bne.s	.pl3
		lea	sxpunchtabdl-d(a4),a0
		lea	sxcollofsdl-d(a4),a1
		bra.s	.pl2
.pl6		lea	sxpunchtabul-d(a4),a0
		lea	sxcollofsul-d(a4),a1
		bra.s	.pl2
.pl3		lea	sxpunchtabdl2-d(a4),a0
		lea	sxcollofsdl2-d(a4),a1
.pl2		move.w	punchpos-d(a4),d0
		move.l	(a0,d0.w),animadr-d(a4)
		tst.w	(a1,d0.w)
		bmi.s	.pl4
		move.w	#1,collpointen-d(a4)
		move.l	absmanxpos-d(a4),d1
		sub.w	#20,d1
		add.w	(a1,d0.w),d1
		move.w	d1,collpointx-d(a4)
		move.l	absmanypos-d(a4),d1
		add.w	2(a1,d0.w),d1
		move.w	d1,collpointy-d(a4)
.pl5		addq.w	#4,punchpos-d(a4)
		cmp.w	#64,punchpos-d(a4)
		bne	.end
		move.w	#0,punchpos-d(a4)
		move.w	#0,sxpunchflagl-d(a4)
		rts

.pl4		clr.w	collpointen-d(a4)
		bra.s	.pl5

.punchr		lea	sxpunchtabr-d(a4),a0
		lea	sxcollofsr-d(a4),a1
		tst.w	highpunch-d(a4)
		bne.s	.pr6
		tst.w	duckpos-d(a4)
		beq.s	.pr2
		tst.w	floorpunch-d(a4)
		bne.s	.pr3
		lea	sxpun