All pastes #500025 Raw Edit

pu7o

public text v1 · immutable
·published 2007-05-21 11:40 UTC
rendered paste body
Sound_E5toFF:		; XREF: Sound_ChkValue
			cmpi.b			#$F1,d7			; is "extra life" music			played?
			bne.w			@rotina_4			; if not,branch
			tst.b			$27(a6)
			bne.w			@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)
			jmp			@rotina_5
; ===========================================================================

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

@rotina_5:
			jsr			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)
			beq.w			@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
			beq.w			@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)
			bne.w			@rotina_8
			moveq			#$2B,d0
			moveq			#0,d1
			jsr			sub_7272E(pc)
			bra.w			@rotina_9
; ===========================================================================

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

@rotina_9:
			moveq			#0,d7
			move.b			3(a3),d7
			beq.w			@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
			jmp			@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:
			jsr			sub_726FE(pc)
			adda.w			d6,a5
			dbf			d4,@rotina_18
			moveq			#2,d4

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

@rotina_20:
			addq.w			#4,sp
			rts