rendered paste bodySound_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