All pastes #500023 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-05-21 11:39 UTC
rendered paste body
Sound_E5toFF:		; XREF: Sound_ChkValue
			cmpi.b			#$F1,d7			; is "extra life" music			played?
			jne			rotina_4			; if not,branch
			tst.b			$27(a6)
			jne			rotina_20
			lea			$40(a6),a5
			moveq			#9,d0

rotina_1:
			bclr			#2,(a5)
			adda.w			#$30,a5
			dbf			d0,rotina_1

			lea			$220(a6),a5
			moveq			#5,d0

rotina_2:
			bclr			#7,(a5)
			adda.w			#$30,a5
			dbf			d0,rotina_2
			clr.b			0(a6)
			movea.l			a6,a0
			lea			$3a0(a6),a1
			move.w			#$87,d0

rotina_3:
			move.l			(a0)+,(a1)+
			dbf			d0,rotina_3

			move.b			#$80,$27(a6)
			clr.b			0(a6)
			jra			rotina_5
; ===========================================================================

rotina_4:
			clr.b			$27(a6)
			clr.b			$26(a6)

rotina_5:
			jbsr			sub_725CA(pc)
			movea.l			(off_719a0).l,a4
			subi.b			#$E5,d7
			move.b			(a4,d7.w),$29(a6)
			movea.l			(Go_MusicIndex2).l,a4
			lsl.w			#2,d7
			movea.l			(a4,d7.w),a4
			moveq			#0,d0
			move.w			(a4),d0
			add.l			a4,d0
			move.l			d0,$18(a6)
			move.b			5(a4),d0
			move.b			d0,$28(a6)
			tst.b			$2A(a6)
			jeq			rotina_6
			move.b			$29(a6),d0

rotina_6:
			move.b			d0,2(a6)
			move.b			d0,1(a6)
			moveq			#0,d1
			movea.l			a4,a3
			addq.w			#6,a4
			moveq			#0,d7
			move.b			2(a3),d7
			jeq			rotina_9
			subq.b			#1,d7
			move.b			#-$40,d1
			move.b			4(a3),d4
			moveq			#$30,d6
			move.b			#1,d5
			lea			$40(a6),a1
			lea			byte_721BA(pc),a2

rotina_7:
			bset			#7,(a1)
			move.b			(a2)+,1(a1)
			move.b			d4,2(a1)
			move.b			d6,$D(a1)
			move.b			d1,$A(a1)
			move.b			d5,$E(a1)
			moveq			#0,d0
			move.w			(a4)+,d0
			add.l			a3,d0
			move.l			d0,4(a1)
			move.w			(a4)+,8(a1)
			adda.w			d6,a1
			dbf			d7,rotina_7
			cmpi.b			#7,2(a3)
			jne			rotina_8
			moveq			#$2B,d0
			moveq			#0,d1
			jbsr			sub_7272E(pc)
			bra.w			rotina_9
; ===========================================================================

rotina_8:
			moveq			#$28,d0
			moveq			#6,d1
			jbsr			sub_7272E(pc)
			move.b			#$42,d0
			moveq			#$7F,d1
			jbsr			sub_72764(pc)
			move.b			#$4A,d0
			moveq			#$7F,d1
			jbsr			sub_72764(pc)
			move.b			#$46,d0
			moveq			#$7F,d1
			jbsr			sub_72764(pc)
			move.b			#$4E,d0
			moveq			#$7F,d1
			jbsr			sub_72764(pc)
			move.b			#-$4A,d0
			move.b			#-$40,d1
			jbsr			sub_72764(pc)

rotina_9:
			moveq			#0,d7
			move.b			3(a3),d7
			jeq			rotina_11
			subq.b			#1,d7
			lea			$190(a6),a1
			lea			byte_721C2(pc),a2

rotina_10:
			bset			#7,(a1)
			move.b			(a2)+,1(a1)
			move.b			d4,2(a1)
			move.b			d6,$D(a1)
			move.b			d5,$E(a1)
			moveq			#0,d0
			move.w			(a4)+,d0
			add.l			a3,d0
			move.l			d0,4(a1)
			move.w			(a4)+,8(a1)
			move.b			(a4)+,d0
			move.b			(a4)+,$B(a1)
			adda.w			d6,a1
			dbf			d7,rotina_10

rotina_11:
			lea			$220(a6),a1
			moveq			#5,d7

rotina_12:
			tst.b			(a1)
			bpl.w			rotina_15
			moveq			#0,d0
			move.b			1(a1),d0
			bmi.s			rotina_13
			subq.b			#2,d0
			lsl.b			#2,d0
			jra			rotina_14
; ===========================================================================

rotina_13:
			lsr.b			#3,d0

rotina_14:
			lea			dword_722CC(pc),a0
			movea.l			(a0,d0.w),a0
			bset			#2,(a0)

rotina_15:
			adda.w			d6,a1
			dbf			d7,rotina_12

			tst.w			$340(a6)
			bpl.s			rotina_16
			bset			#2,$100(a6)

rotina_16:
			tst.w			$370(a6)
			bpl.s			rotina_17
			bset			#2,$1F0(a6)

rotina_17:
			lea			$70(a6),a5
			moveq			#5,d4

rotina_18:
			jbsr			sub_726FE(pc)
			adda.w			d6,a5
			dbf			d4,rotina_18
			moveq			#2,d4

rotina_19:
			jbsr			sub_729a0(pc)
			adda.w			d6,a5
			dbf			d4,rotina_19

rotina_20:
			addq.w			#4,sp
			rts