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