************************************************************ **** Indiana Jones And The Last Crusade - Custom Module,**** **** all adaptions by Wanted Team **** ************************************************************ incdir "dh2:include/" include 'misc/eagleplayer2.01.i' include 'hardware/intbits.i' include 'exec/exec_lib.i' SECTION Player,Code_C IJ_Start PLAYERHEADER PlayerTagArray dc.b "$VER: Indiana Jones And The Last Crusade - Custom Module,",10 dc.b 'adapted by Don Adan/Wanted Team',0 even PlayerTagArray dc.l DTP_CustomPlayer,1 dc.l DTP_PlayerName,PlayerName dc.l DTP_Interrupt,Interrupt dc.l DTP_InitPlayer,InitPlayer dc.l DTP_EndPlayer,EndPlayer dc.l DTP_InitSound,InitSound dc.l DTP_EndSound,EndSound dc.l DTP_SubSongRange,SubSongRange dc.l EP_Get_ModuleInfo,Get_ModuleInfo dc.l TAG_DONE PlayerName dc.b "CustomPlay",0 Text dc.b 10 dc.b " INDIANA JONES AND THE LAST CRUSADE",10 dc.b 10 dc.b " Designed and Scripted by",10 dc.b " Ron Gilbert, David Fox, and Noah Falstein",10 dc.b " David Fox, Noah Falstein, and Ron Gilbert",10 dc.b " Noah Falstein, Ron Gilbert, and David Fox",10 dc.b " Art and Animation by",10 dc.b " Steve Purcell and Michael `gameboy` Ebert",10 dc.b " Music and Sound effects by",10 dc.b " David Warhol, David Hayes,",10 dc.b " and Dan Filner",10 dc.b " From an original score by John Williams",10 dc.b " Scumm story system by",10 dc.b " Ron Gilbert and Aric Wilmunder",10 dc.b " Amiga Conversion by",10 dc.b " Dan Filner",10 dc.b " Lead playtesters:",10 dc.b " Judith Lucero Turchin and Kirk Roulston",10 dc.b " Additional playtesting by",10 dc.b " Kalani Streicher",10 dc.b " Bret Barrett",10 dc.b " Darrell Parker",10 dc.b " Jon Gubman, Q.A.T.A.",10 dc.b " Tony Hsieh, Q.A.T.A.",10 dc.b " Bill Stanton",10 dc.b " Jessica Fox",10 dc.b " Rachel Larris",10 dc.b " Tim August",10 dc.b " Seth Friedman",10 dc.b " Chris Bollini",10 dc.b " Based on an original story by",10 dc.b " George Lucas and Menno Meyjes",10 dc.b " and an original screenplay by",10 dc.b " Jeffrey Boam",10 dc.b " Sam and Max appear courtesy of Steve Purcell",10 dc.b " Programmed on location at Skywalker Ranch",10 dc.b " Additional programming in San Rafael,",10 dc.b " San Anselmo, Fairfax, and Novato",10 dc.b " Movie also available from Paramount Pictures",10 dc.b 10 dc.b " A LUCASFILM LTD. PRODUCTION",10 dc.b " TM & (c) 1989 Lucasfilm Ltd.",0 even EagleBase dc.l 0 Timer dc.w 0 *************************************************************************** ***************************** DTP_SubSongRange **************************** *************************************************************************** SubSongRange moveq #0,D0 moveq #11,D1 rts *************************************************************************** ***************************** EP_Get_ModuleInfo *************************** *************************************************************************** Get_ModuleInfo lea InfoBuffer(PC),A0 rts InfoBuffer dc.l MI_SpecialInfo,Text dc.l MI_LoadSize,IJ_End-IJ_Start dc.l 0 *************************************************************************** ***************************** DTP_InitPlayer ****************************** *************************************************************************** InitPlayer move.l A5,EagleBase moveq #-5,D0 lea Song05-2(PC),A0 move.b D0,(A0) ; repeat 4th song on move.l dtg_AudioAlloc(A5),A0 jsr (A0) bsr.w SetAudioVector moveq #0,D0 rts *************************************************************************** ***************************** DTP_EndPlayer ******************************* *************************************************************************** EndPlayer lea $DFF000,A0 move.w #15,$96(A0) move.w #$780,$9A(A0) move.w #$780,$9C(A0) bsr.w ClearAudioVector move.l dtg_AudioFree(A5),A0 jmp (A0) *************************************************************************** ***************************** DTP_Intterrupt ****************************** *************************************************************************** Interrupt movem.l D1-A6,-(SP) bsr.w Play movem.l (SP)+,D1-A6 moveq #0,D0 rts SongEnd movem.l A1/A5,-(A7) move.l EagleBase(PC),A5 move.l dtg_SongEnd(A5),A1 jsr (A1) movem.l (A7)+,A1/A5 rts DMAWait movem.l D0/D1,-(SP) moveq #2,D0 .dma1 move.b $DFF006,D1 .dma2 cmp.b $DFF006,D1 beq.b .dma2 dbeq D0,.dma1 movem.l (SP)+,D0/D1 rts SetAudioVector movem.l D0/A1/A6,-(A7) movea.l 4.W,A6 lea lbL0140AC(PC),A1 moveq #INTB_AUD0,D0 jsr _LVOSetIntVector(A6) ; SetIntVector move.l D0,Channel0 lea lbL0140C2(PC),A1 moveq #INTB_AUD1,D0 jsr _LVOSetIntVector(A6) move.l D0,Channel1 lea lbL0140D8(PC),A1 moveq #INTB_AUD2,D0 jsr _LVOSetIntVector(A6) move.l D0,Channel2 lea lbL0140EE(PC),A1 moveq #INTB_AUD3,D0 jsr _LVOSetIntVector(A6) move.l D0,Channel3 movem.l (A7)+,D0/A1/A6 rts ClearAudioVector movea.l 4.W,A6 movea.l Channel0(PC),A1 moveq #INTB_AUD0,D0 jsr _LVOSetIntVector(A6) movea.l Channel1(PC),A1 moveq #INTB_AUD1,D0 jsr _LVOSetIntVector(A6) movea.l Channel2(PC),A1 moveq #INTB_AUD2,D0 jsr _LVOSetIntVector(A6) movea.l Channel3(PC),A1 moveq #INTB_AUD3,D0 jmp _LVOSetIntVector(A6) Channel0 dc.l 0 Channel1 dc.l 0 Channel2 dc.l 0 Channel3 dc.l 0 *************************************************************************** ***************************** DTP_InitSound ******************************* *************************************************************************** InitSound move.w Timer(PC),D0 bne.b Done move.w dtg_Timer(A5),D0 mulu.w #5,D0 divu.w #6,D0 ; 60Hz lea Timer(PC),A0 move.w D0,(A0) Done move.w D0,dtg_Timer(A5) move.w dtg_SndNum(A5),D0 lea lbW01F73A(PC),A0 move.w D0,(A0)+ move.w D0,(A0) bra.w Init *************************************************************************** ***************************** DTP_EndSound ******************************** *************************************************************************** EndSound lea $DFF000,A0 move.w #15,$96(A0) moveq #0,D0 move.w D0,$A8(A0) move.w D0,$B8(A0) move.w D0,$C8(A0) move.w D0,$D8(A0) rts *************************************************************************** *************************************************************************** *************************************************************************** ; Music from "Indiana Jones And The Last Crusade" (c) 1989 by LucasArts lbL014018 dc.l $3F0000 lbL01401C dc.l lbL01403C dc.l lbL014058 dc.l lbL014074 dc.l lbL014090 lbL01402C dc.l 0 lbL014030 dc.l 0 lbL014034 dc.l 0 lbL014038 dc.l 0 lbL01403C dc.l $DFF0A0 dc.l lbL01402C dc.l lbL0140AC dc.l 7 dc.l $82010001 dc.l $80800080 dc.l 0 lbL014058 dc.l $DFF0B0 dc.l lbL014030 dc.l lbL0140C2 dc.l 8 dc.l $82020002 dc.l $81000100 dc.l 0 lbL014074 dc.l $DFF0C0 dc.l lbL014034 dc.l lbL0140D8 dc.l 9 dc.l $82040004 dc.l $82000200 dc.l 0 lbL014090 dc.l $DFF0D0 dc.l lbL014038 dc.l lbL0140EE dc.l 10 dc.l $82080008 dc.l $84000400 dc.l 0 lbL0140AC dc.l 0 dc.l 0 dc.l $2880000 dc.w 0 dc.l lbL01403C dc.l lbC0142C6 lbL0140C2 dc.l 0 dc.l 0 dc.l $2880000 dc.w 0 dc.l lbL014058 dc.l lbC0142C6 lbL0140D8 dc.l 0 dc.l 0 dc.l $2880000 dc.w 0 dc.l lbL014074 dc.l lbC0142C6 lbL0140EE dc.l 0 dc.l 0 dc.l $2880000 dc.w 0 dc.l lbL014090 dc.l lbC0142C6 ;lbL014104 dc.l 0 ; dc.l 0 ; dc.l $2880000 ; dc.l 0 ; dc.w 0 ; dc.l lbC014396 ; MOVE.L 4(SP),D0 ; ASL.L #2,D0 ; LEA lbL01401C(PC),A0 ; MOVEA.L 0(A0,D0.W),A0 ; MOVE.W $10(A0),$DFF096 ; RTS ;lbC014132 MOVE.L 4(SP),D0 ; ASL.L #2,D0 ; LEA lbL01401C(PC),A0 ; MOVEA.L 0(A0,D0.W),A0 ; MOVE.W $12(A0),$DFF096 ; RTS ;lbC01414A MOVE.L 4(SP),D0 ; ASL.L #2,D0 ; LEA lbL01401C(PC),A0 ; MOVEA.L 0(A0,D0.W),A0 ; MOVE.W $16(A0),$DFF09C ; MOVE.W $14(A0),$DFF09A ; RTS ;lbC01416A MOVE.L 4(SP),D0 ; ASL.L #2,D0 ; LEA lbL01401C(PC),A0 ; MOVEA.L 0(A0,D0.W),A0 ; MOVE.W $16(A0),$DFF09A ; MOVE.W $16(A0),$DFF09C ; RTS lbC01418A MOVE.L 4(SP),D0 lbC01418E ASL.L #2,D0 LEA lbL01401C(PC),A0 MOVEA.L 0(A0,D0.W),A0 move.w $14(A0),$DFF09A MOVE.W $14(A0),$DFF09C RTS lbC0141A2 MOVE.L 4(SP),D0 ASL.L #2,D0 LEA lbL01401C(PC),A0 MOVEA.L 0(A0,D0.W),A0 MOVE.W $14(A0),D1 MOVE.L 8(SP),D0 ASL.L #2,D0 LEA lbL01401C(PC),A0 MOVEA.L 0(A0,D0.W),A0 OR.W $14(A0),D1 move.w D1,$DFF09A MOVE.W D1,$DFF09C MOVE.L D1,D0 RTS ;lbC0141D0 MOVEM.L D0-D7/A0-A6,-(SP) ; ASL.L #2,D0 ; LEA lbL01401C(PC),A0 ; MOVEA.L 0(A0,D0.W),A2 ; MOVE.L A2,-(SP) ; MOVE.L 12(A2),D0 ; MOVEA.L 8(A2),A1 ; MOVEA.L 4,A6 ; MOVEA.L A6,A0 ; ADDA.L #$FFFFFF5E,A0 ; JSR (A0) ; MOVEA.L (SP)+,A2 ; MOVE.L D0,$18(A2) ; MOVEM.L (SP)+,D0-D7/A0-A6 ; RTS ;lbC014202 MOVEM.L D0-D7/A0-A6,-(SP) ; ASL.L #2,D0 ; LEA lbL01401C(PC),A0 ; MOVEA.L 0(A0,D0.W),A2 ; MOVE.L 12(A2),D0 ; MOVEA.L $18(A2),A1 ; MOVEA.L 4,A6 ; MOVEA.L A6,A0 ; ADDA.L #$FFFFFF5E,A0 ; JSR (A0) ; MOVEM.L (SP)+,D0-D7/A0-A6 ; RTS ;lbC01422C RTS ; MOVEM.L D0-D7/A0-A6,-(SP) ; MOVE.W #5,D0 ; LEA lbL014104(PC),A1 ; MOVEA.L 4,A6 ; MOVEA.L A6,A0 ; ADDA.L #$FFFFFF58,A0 ; JSR (A0) ; MOVEM.L (SP)+,D0-D7/A0-A6 ; RTS ;lbC01424E RTS ; MOVEM.L D0-D7/A0-A6,-(SP) ; MOVE.W #5,D0 ; LEA lbL014104(PC),A1 ; MOVEA.L 4,A6 ; MOVEA.L A6,A0 ; ADDA.L #$FFFFFF52,A0 ; JSR (A0) ; MOVEM.L (SP)+,D0-D7/A0-A6 ; RTS ;lbC014270 MOVEQ #3,D0 ;lbC014272 MOVE.L D0,-(SP) ; JSR lbC014132(PC) ; MOVE.L (SP)+,D0 ; SUBQ.L #1,D0 ; BGE.S lbC014272 ; RTS ;lbC014280 MOVEQ #3,D0 ;lbC014282 MOVE.L D0,-(SP) ; JSR lbC01414A(PC) ; MOVE.L (SP)+,D0 ; SUBQ.L #1,D0 ; BGE.S lbC014282 ; RTS ;lbC014290 MOVEQ #3,D0 ;lbC014292 MOVE.L D0,-(SP) ; JSR lbC01416A(PC) ; MOVE.L (SP)+,D0 ; SUBQ.L #1,D0 ; BGE.S lbC014292 ; RTS ;lbC0142A0 BSR.S lbC014290 ; MOVEQ #3,D0 ;lbC0142A4 MOVE.L D0,-(SP) ; JSR lbC0141D0(PC) ; MOVE.L (SP)+,D0 ; SUBQ.L #1,D0 ; BGE.S lbC0142A4 ; BSR.S lbC014280 ; RTS ;lbC0142B4 BSR.S lbC014290 ; MOVEQ #3,D0 ;lbC0142B8 MOVE.L D0,-(SP) ; JSR lbC014202(PC) ; MOVE.L (SP)+,D0 ; SUBQ.L #1,D0 ; BGE.S lbC0142B8 ; RTS lbC0142C6 MOVEM.L D0-D3/A0-A4,-(SP) MOVE.W $16(A1),$DFF09C bsr.w DMAWait MOVEA.L (A1),A0 MOVEA.L 4(A1),A2 MOVEA.L (A2),A3 CMPA.L #0,A3 BEQ.S lbC01431A MOVE.L (A3),(A0) MOVE.L 4(A3),D0 ASR.L #1,D0 MOVE.W D0,4(A0) MOVE.W $10(A1),$DFF096 JSR lbC01442E(PC) CMPI.L #$FFFFFFFF,$10(A3) BEQ.L lbC014390 SUBQ.L #1,$10(A3) BPL.L lbC014390 MOVE.L $20(A3),(A2) MOVE.L $14(A3),$10(A3) BRA.S lbC014390 lbC01431A MOVE.W #0,8(A0) MOVE.W #$7C,6(A0) MOVE.W $12(A1),$DFF096 bsr.w DMAWait ; MOVE.W #$14,D0 ;lbC014332 SUBQ.W #1,D0 ; BNE.S lbC014332 MOVE.W lbW01832E,D0 CMP.W #$FFFF,D0 BNE.S lbC014390 LEA lbW0182AA,A0 CMPI.L #7,12(A1) BEQ.S lbC014362 LEA lbW0182AC,A0 CMPI.L #10,12(A1) BNE.S lbC014390 lbC014362 MOVE.W (A0),D0 CMP.W #$FFFF,D0 BEQ.S lbC014390 LEA lbL01A72C,A2 MOVE.B 0(A2,D0.W),D1 MOVE.B D1,D2 AND.B #$7F,D1 AND.B #$80,D2 CMP.B #0,D1 BEQ.S lbC014390 SUBQ.B #1,D1 OR.B D1,D2 MOVE.B D2,0(A2,D0.W) MOVE.W #$FFFF,(A0) lbC014390 MOVEM.L (SP)+,D0-D3/A0-A4 RTS Play lbC014396 MOVEM.L D0-D7/A0-A6,-(SP) MOVE.B lbB01CCA0,D0 CMP.B #0,D0 BNE.S lbC0143AC JSR lbC015322 lbC0143AC MOVEQ #0,D3 LEA lbL01401C(PC),A0 lbC0143B2 MOVE.L A0,-(SP) MOVE.W D3,-(SP) MOVEA.L (A0),A1 MOVEA.L 4(A1),A2 MOVEA.L (A2),A3 CMPA.L #0,A3 BEQ.S lbC01441A MOVE.B lbB01CCA0,D0 CMP.B #0,D0 BNE.S lbC0143D6 JSR lbC01446E(PC) lbC0143D6 MOVEA.L (A1),A0 BSR.S lbC01442E MOVE.L $18(A3),D0 ADD.L D0,8(A3) MOVE.L $1C(A3),D0 ADD.L D0,12(A3) CMPI.L #0,$38(A3) BEQ.S lbC014402 SUBQ.L #1,$38(A3) BNE.S lbC014402 MOVE.L #0,$18(A3) lbC014402 CMPI.L #0,$3C(A3) BEQ.S lbC01441A SUBQ.L #1,$3C(A3) BNE.S lbC01441A MOVE.L #0,$1C(A3) lbC01441A MOVE.W (SP)+,D3 MOVEA.L (SP)+,A0 ADDQ.L #4,A0 ADDQ.W #1,D3 CMP.W #4,D3 BNE.S lbC0143B2 MOVEM.L (SP)+,D0-D7/A0-A6 RTS lbC01442E MOVE.L 8(A3),D0 SWAP D0 CMP.W #$7C,D0 BGE.S lbC01443E MOVE.W #$7C,D0 lbC01443E MOVE.W D0,6(A0) MOVE.L 12(A3),D0 SWAP D0 AND.W #$3F,D0 CMP.W lbL014018(PC),D0 BLE.S lbC014456 MOVE.W lbL014018(PC),D0 lbC014456 MOVE.B lbB01CCA0,D1 ADD.B lbB01CCA8,D1 BEQ.S lbC014468 MOVE.W #0,D0 lbC014468 MOVE.W D0,8(A0) RTS lbC01446E CMPI.L #0,$2C(A3) BEQ.S lbC0144D0 SUBQ.L #1,$2C(A3) BNE.S lbC0144D0 MOVEA.L $34(A3),A0 lbC014482 ADDA.L $30(A3),A0 lbC014486 MOVEA.L (A0)+,A4 MOVE.L (A0)+,D0 CMPA.L #$2C,A4 BGE.S lbC014498 ADDA.L A3,A4 MOVE.L D0,(A4) BRA.S lbC014486 lbC014498 BEQ.S lbC0144B4 MOVE.W A4,D1 SUB.W #$40,D1 CMPI.L #0,$24(A3,D1.W) BEQ.S lbC0144B0 SUBQ.L #1,$24(A3,D1.W) BEQ.S lbC014486 lbC0144B0 MOVEA.L D0,A0 BRA.S lbC014482 lbC0144B4 MOVE.L D0,$2C(A3) SUBA.L $30(A3),A0 MOVE.L A0,$34(A3) CMP.L #0,D0 BNE.S lbC0144D0 MOVE.L D0,(A2) MOVE.L D3,D0 JSR lbC01418E(PC) lbC0144D0 RTS ; MOVEA.L lbL01D338,A0 ;lbC0144D8 MOVE.B (A0)+,D0 ; BEQ.S lbC0144E4 ; MOVE.W D0,-(SP) ; BSR.S lbC0144EC ; ADDQ.W #2,SP ; BRA.S lbC0144D8 ;lbC0144E4 MOVE.L A0,lbL01D338 ; RTS ;lbC0144EC MOVE.W 4(SP),lbW0185FE ; MOVEM.L D4-D7/A3-A5,-(SP) ; MOVE.W lbW01D33E,-(SP) ; JSR lbC011FF8 ; ADDQ.W #2,SP ; CMP.W #$FFFF,D0 ; BEQ.L lbC0147FE ; MOVEQ #0,D0 ; MOVE.B lbB01D336,D0 ; ADD.W #$B0,D0 ; ASL.W #2,D0 ; LEA lbL01AB92,A0 ; MOVEA.L 0(A0,D0.W),A1 ; ADDQ.L #4,A1 ; MOVE.B (A1)+,lbB01CFA0 ; MOVE.B (A1)+,lbB01CFA1 ; MOVE.W lbW0185FE,D0 ; MOVEQ #0,D1 ; MOVE.B 0(A1,D0.W),D1 ; MOVE.W D1,lbW0185FC ; ADD.W lbW01D33C,D1 ; SUBQ.W #1,D1 ; CMP.W lbW01D346,D1 ; BHI.L lbC0147FE ; MOVE.W lbW01CFA2,D0 ; MULU.W #$5E,D0 ; LEA lbW01CFA4,A3 ; ADDA.L D0,A3 ; MOVE.W lbW01D33E,D6 ; SUB.W 2(A3),D6 ; MOVE.W lbW01D33C,D7 ; LSR.W #3,D7 ; CMP.B 13(A3,D7.W),D6 ; BCC.S lbC014586 ; MOVE.B D6,13(A3,D7.W) ;lbC014586 MOVE.W D6,D0 ; ADD.W #9,D0 ; CMP.B $35(A3,D7.W),D0 ; BLS.S lbC014596 ; MOVE.B D0,$35(A3,D7.W) ;lbC014596 MOVE.W lbW0185FC,D1 ; ADD.W lbW01D33C,D1 ; LSR.W #3,D1 ; CMP.W D7,D1 ; BEQ.S lbC0145C2 ; CMP.W #$27,D7 ; BCC.S lbC0145C2 ; CMP.B 14(A3,D7.W),D6 ; BCC.S lbC0145B8 ; MOVE.B D6,14(A3,D7.W) ;lbC0145B8 CMP.B $36(A3,D7.W),D0 ; BLS.S lbC0145C2 ; MOVE.B D0,$36(A3,D7.W) ;lbC0145C2 MOVEQ #0,D0 ; MOVE.B lbB01CFA1,D0 ; MULU.W lbW0185FE,D0 ; ADDA.W D0,A1 ; MOVEQ #0,D0 ; MOVE.B lbB01CFA0,D0 ; ADDA.W D0,A1 ; MOVE.W lbW01D33C,D0 ; LSR.W #1,D0 ; MOVE.W D6,D1 ; LSL.W #2,D1 ; ADD.W D6,D1 ; LSL.W #5,D1 ; ADD.W D1,D0 ; ADDQ.W #4,D0 ; LEA lbL01AB92,A4 ; MOVE.W lbW01CFA2,D1 ; ADD.W #$AC,D1 ; ASL.W #2,D1 ; MOVEA.L 0(A4,D1.W),A2 ; ADDA.W D0,A2 ; SUB.W #$10,D1 ; MOVEA.L 0(A4,D1.W),A0 ; ADDA.W D0,A0 ; TST.B 11(A3) ; BEQ.S lbC014626 ; MOVEQ #0,D0 ; MOVE.W lbW01C934,D0 ; ASL.W #2,D0 ; ADDA.L D0,A0 ; ADDA.L D0,A2 ;lbC014626 MOVEA.L A0,A5 ; MOVEA.L A2,A4 ; MOVE.B lbB01D344,D2 ; MOVE.B D2,D3 ; AND.B #15,D2 ; ASL.B #4,D3 ; MOVE.W 6(A3),lbW018600 ; MOVEQ #7,D4 ; MOVE.W lbW01D33C,D0 ; AND.W #1,D0 ; TST.W lbW01CFA2 ; BNE.L lbC01474E ; TST.B lbB01D3CD ; BEQ.L lbC01474E ; TST.B lbB01D344 ; BMI.S lbC0146C0 ;lbC014668 CMP.W lbW018600,D6 ; BCC.L lbC0147F2 ; ADDQ.W #1,D6 ; MOVE.W D0,D1 ; MOVE.B (A1)+,D5 ;lbC014678 TST.B D5 ; BEQ.S lbC0146AC ; BPL.S lbC01469C ; TST.B D1 ; BEQ.S lbC014690 ; ANDI.B #$F0,(A0) ; OR.B D2,(A0) ; ANDI.B #$F0,(A2) ; OR.B D2,(A2) ; BRA.S lbC01469C ;lbC014690 ANDI.B #15,(A0) ; OR.B D3,(A0) ; ANDI.B #15,(A2) ; OR.B D3,(A2) ;lbC01469C TST.B D1 ; BEQ.S lbC0146A4 ; ADDQ.W #1,A0 ; ADDQ.W #1,A2 ;lbC0146A4 ASL.B #1,D5 ; BCHG #0,D1 ; BRA.S lbC014678 ;lbC0146AC ADDA.W #$A0,A5 ; MOVEA.L A5,A0 ; ADDA.W #$A0,A4 ; MOVEA.L A4,A2 ; DBRA D4,lbC014668 ; BRA.L lbC0147F2 ;lbC0146C0 ADDQ.W #1,D6 ;lbC0146C2 CMP.W lbW018600,D6 ; BCC.L lbC0147F2 ; ADDQ.W #1,D6 ; MOVE.W D0,D1 ; MOVE.B (A1)+,D5 ;lbC0146D2 TST.B D5 ; BEQ.S lbC01473A ; BPL.S lbC01472A ; TST.B D1 ; BEQ.S lbC01470E ; ANDI.B #$F0,(A0) ; OR.B D2,(A0) ; ANDI.B #15,1(A0) ; ANDI.B #$F0,$A0(A0) ; ANDI.B #15,$A1(A0) ; ANDI.B #$F0,(A2) ; OR.B D2,(A2) ; ANDI.B #15,1(A2) ; ANDI.B #$F0,$A0(A2) ; ANDI.B #15,$A1(A2) ; BRA.S lbC01472A ;lbC01470E ANDI.B #15,(A0) ; OR.B D3,(A0) ; ANDI.B #$F0,(A0) ; CLR.B $A0(A0) ; ANDI.B #15,(A2) ; OR.B D3,(A2) ; ANDI.B #$F0,(A2) ; CLR.B $A0(A2) ;lbC01472A TST.B D1 ; BEQ.S lbC014732 ; ADDQ.L #1,A0 ; ADDQ.L #1,A2 ;lbC014732 ASL.B #1,D5 ; BCHG #0,D1 ; BRA.S lbC0146D2 ;lbC01473A ADDA.W #$A0,A5 ; MOVEA.L A5,A0 ; ADDA.W #$A0,A4 ; MOVEA.L A4,A2 ; DBRA D4,lbC0146C2 ; BRA.L lbC0147F2 ;lbC01474E TST.B lbB01D344 ; BMI.S lbC014798 ;lbC014756 CMP.W lbW018600,D6 ; BCC.L lbC0147F2 ; ADDQ.W #1,D6 ; MOVE.W D0,D1 ; MOVE.B (A1)+,D5 ;lbC014766 TST.B D5 ; BEQ.S lbC01478C ; BPL.S lbC01477E ; TST.B D1 ; BEQ.S lbC014778 ; ANDI.B #$F0,(A0) ; OR.B D2,(A0) ; BRA.S lbC01477E ;lbC014778 ANDI.B #15,(A0) ; OR.B D3,(A0) ;lbC01477E TST.B D1 ; BEQ.S lbC014784 ; ADDQ.L #1,A0 ;lbC014784 ASL.W #1,D5 ; BCHG #0,D1 ; BRA.S lbC014766 ;lbC01478C ADDA.W #$A0,A5 ; MOVEA.L A5,A0 ; DBRA D4,lbC014756 ; BRA.S lbC0147F2 ;lbC014798 ADDQ.W #1,D6 ;lbC01479A CMP.W lbW018600,D6 ; BCC.S lbC0147F2 ; ADDQ.W #1,D6 ; MOVE.W D0,D1 ; MOVE.B (A1)+,D5 ;lbC0147A8 TST.B D5 ; BEQ.S lbC0147E8 ; BPL.S lbC0147DA ; TST.B D1 ; BEQ.S lbC0147CC ; ANDI.B #$F0,(A0) ; OR.B D2,(A0) ; ANDI.B #15,1(A0) ; ANDI.B #$F0,$A0(A0) ; ANDI.B #15,$A1(A0) ; BRA.S lbC0147DA ;lbC0147CC ANDI.B #15,(A0) ; OR.B D3,(A0) ; ANDI.B #$F0,(A0) ; CLR.B $A0(A0) ;lbC0147DA TST.B D1 ; BEQ.S lbC0147E0 ; ADDQ.L #1,A0 ;lbC0147E0 ASL.B #1,D5 ; BCHG #0,D1 ; BRA.S lbC0147A8 ;lbC0147E8 ADDA.W #$A0,A5 ; MOVEA.L A5,A0 ; DBRA D4,lbC01479A ;lbC0147F2 MOVE.W lbW0185FC,D0 ; ADD.W D0,lbW01D33C ;lbC0147FE MOVEM.L (SP)+,D4-D7/A3-A5 ; RTS ;lbC014804 LINK.W A5,#-2 ; MOVE.L 8(A5),lbL01F95A ; CLR.W -2(A5) ;lbC014814 PEA $10001 ; PEA $40 ; JSR lbC01785C ; ADDQ.W #8,SP ; MOVE.W -2(A5),D1 ; EXT.L D1 ; ASL.L #2,D1 ; LEA lbL01827E,A0 ; MOVE.L D0,0(A0,D1.L) ; MOVE.W -2(A5),D0 ; EXT.L D0 ; ASL.L #2,D0 ; LEA lbL01827E,A0 ; TST.L 0(A0,D0.L) ; BNE.S lbC014852 ; MOVEQ #10,D0 ;lbC01484E UNLK A5 ; RTS ;lbC014852 ADDQ.W #1,-2(A5) ; CMPI.W #8,-2(A5) ; BLT.S lbC014814 ; TST.B lbB01829E ; BNE.S lbC014892 ; PEA $10001 ; PEA $44 ; JSR lbC01785C ; ADDQ.W #8,SP ; MOVE.L D0,lbL01F956 ; TST.L lbL01F956 ; BNE.S lbC01488A ; MOVEQ #1,D0 ; BRA.S lbC01484E ;lbC01488A MOVE.B #1,lbB01829E ;lbC014892 TST.B lbB01829F ; BNE.S lbC0148D6 ; MOVEA.L lbL01F956,A0 ; MOVE.B #$7F,9(A0) ; CLR.L -(SP) ; PEA abcdefg.MSG(PC) ; JSR lbC017758 ; ADDQ.W #8,SP ; MOVEA.L lbL01F956,A0 ; MOVE.L D0,14(A0) ; MOVEA.L lbL01F956,A0 ; TST.L 14(A0) ; BNE.S lbC0148CE ; MOVEQ #2,D0 ; BRA.S lbC01484E ;lbC0148CE MOVE.B #1,lbB01829F ;lbC0148D6 TST.B lbB0182A0 ; BNE.S lbC014926 ; LEA lbW0182B8,A0 ; MOVEA.L lbL01F956,A1 ; MOVE.L A0,$22(A1) ; MOVEA.L lbL01F956,A0 ; MOVE.L #1,$26(A0) ; CLR.L -(SP) ; MOVE.L lbL01F956,-(SP) ; CLR.L -(SP) ; PEA audiodevice.MSG(PC) ; JSR lbC0178E2 ; LEA $10(SP),SP ; TST.L D0 ; BEQ.S lbC01491E ; MOVEQ #3,D0 ; BRA.L lbC01484E ;lbC01491E MOVE.B #1,lbB0182A0 ;lbC014926 TST.B lbB0182A1 ; BNE.S lbC014942 ; JSR lbC0142A0 ; JSR lbC01422C ; MOVE.B #1,lbB0182A1 ;lbC014942 MOVEQ #0,D0 ; BRA.L lbC01484E ;abcdefg.MSG dc.b 'abcdefg',0 ;audiodevice.MSG dc.b 'audio.device',0,0 ;lbC01495E LINK.W A5,#-2 ; TST.B lbB0182A1 ; BEQ.S lbC014988 ; JSR lbC014290 ; JSR lbC014270 ; JSR lbC0142B4 ; JSR lbC01424E ; CLR.B lbB0182A1 ;lbC014988 TST.B lbB0182A0 ; BEQ.S lbC0149A4 ; MOVE.L lbL01F956,-(SP) ; JSR lbC017736 ; ADDQ.W #4,SP ; CLR.B lbB0182A0 ;lbC0149A4 TST.B lbB01829F ; BEQ.S lbC0149C4 ; MOVEA.L lbL01F956,A0 ; MOVE.L 14(A0),-(SP) ; JSR lbC0177F0 ; ADDQ.W #4,SP ; CLR.B lbB01829F ;lbC0149C4 TST.B lbB01829E ; BEQ.S lbC0149E4 ; PEA $44 ; MOVE.L lbL01F956,-(SP) ; JSR lbC017896 ; ADDQ.W #8,SP ; CLR.B lbB01829E ;lbC0149E4 CLR.W -2(A5) ;lbC0149E8 MOVE.W -2(A5),D0 ; EXT.L D0 ; ASL.L #2,D0 ; LEA lbL01827E,A0 ; TST.L 0(A0,D0.L) ; BEQ.S lbC014A1A ; PEA $40 ; MOVE.W -2(A5),D0 ; EXT.L D0 ; ASL.L #2,D0 ; LEA lbL01827E,A0 ; MOVE.L 0(A0,D0.L),-(SP) ; JSR lbC017896 ; ADDQ.W #8,SP ;lbC014A1A ADDQ.W #1,-2(A5) ; CMPI.W #8,-2(A5) ; BLT.S lbC0149E8 ; MOVEQ #0,D0 ; UNLK A5 ; RTS lbC014A2C LINK.W A5,#0 MOVE.W 8(A5),D0 EXT.L D0 ASL.L #2,D0 LEA lbL01827E,A0 MOVE.W 8(A5),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01402C,A1 MOVE.L 0(A0,D0.L),0(A1,D1.L) MOVE.W 10(A5),D0 EXT.L D0 ASL.L #2,D0 LEA lbL01827E,A0 MOVE.W 10(A5),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01402C,A1 MOVE.L 0(A0,D0.L),0(A1,D1.L) MOVE.W 10(A5),D0 EXT.L D0 MOVE.L D0,-(SP) MOVE.W 8(A5),D0 EXT.L D0 MOVE.L D0,-(SP) JSR lbC0141A2 ADDQ.W #8,SP UNLK A5 RTS lbC014A90 LINK.W A5,#0 MOVE.W 8(A5),D0 EXT.L D0 ASL.L #2,D0 LEA lbL01402C,A0 CLR.L 0(A0,D0.L) MOVE.W 8(A5),D0 EXT.L D0 MOVE.L D0,-(SP) JSR lbC01418A ADDQ.W #4,SP MOVE.W 10(A5),D0 EXT.L D0 ASL.L #2,D0 LEA lbL01402C,A0 CLR.L 0(A0,D0.L) MOVE.W 10(A5),D0 EXT.L D0 MOVE.L D0,-(SP) JSR lbC01418A ADDQ.W #4,SP UNLK A5 RTS lbC014ADC LINK.W A5,#0 MOVE.W 8(A5),D0 EXT.L D0 ASL.L #2,D0 LEA lbL01402C,A0 CLR.L 0(A0,D0.L) MOVE.W 8(A5),D0 EXT.L D0 MOVE.L D0,-(SP) JSR lbC01418A ADDQ.W #4,SP UNLK A5 RTS lbC014B06 LINK.W A5,#-6 MOVE.W 8(A5),D0 EXT.L D0 ASL.L #2,D0 LEA lbL01A782,A0 MOVE.L 0(A0,D0.L),-6(A5) BEQ.L lbC0151A2 MOVEA.L -6(A5),A0 MOVE.W 6(A0),-2(A5) MOVEA.L -6(A5),A0 TST.B $1A(A0) BEQ.L lbC014C44 CLR.W lbW01F960 MOVE.W #1,lbW01827C JSR lbC0151AC(PC) CLR.W lbW018320 CLR.W lbW01831E CLR.W lbW01831C CLR.W lbW01831A MOVE.W 8(A5),D0 LEA lbL01A72C,A0 ADDQ.B #1,0(A0,D0.W) ; TST.L lbL01F95A ; BEQ.S lbC014BCA ; TST.W lbW0182B6 ; BNE.S lbC014BAE ; MOVE.W #1,lbW0182B6 ; JSR lbC00FAC8 ; MOVE.L D0,lbL01F952 ; MOVE.W #$7530,-(SP) ; MOVE.L lbL01F95A,-(SP) ; MOVE.L lbL01F952,-(SP) ; JSR lbC0164E8 ; LEA 10(SP),SP ;lbC014BAE MOVE.L lbL01F95A,lbL01F952 ; MOVE.W #$FFFF,lbW0182B0 ; MOVE.W #$FFFF,lbW0182AE ; BRA.S lbC014BDE lbC014BCA ; JSR lbC00FAC8 ; MOVE.L D0,lbL01F952 ; samples ptr MOVE.B #1,lbB01A77F lbC014BDE MOVE.W 8(A5),lbW0182AC MOVE.W 8(A5),lbW0182AA MOVEA.L -6(A5),A0 MOVE.W 4(A0),lbW0182B4 MOVE.W 4(A0),lbW0182B2 CMPI.W #$FFFF,10(A5) BNE.S lbC014C10 CLR.W lbW01832C lbC014C10 CLR.W lbW01F968 MOVE.W #5,lbW01D56E MOVE.W 8(A5),lbW01832E MOVE.W lbW01832C,lbW01F95E CLR.W lbW01832C MOVE.W #1,lbW01F960 MOVEQ #0,D0 lbC014C40 UNLK A5 RTS lbC014C44 MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182AA,A0 CMPI.W #$FFFF,0(A0,D0.L) BEQ.S lbC014C7A MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182B2,A0 MOVEA.L -6(A5),A1 MOVE.W 0(A0,D0.L),D1 CMP.W 4(A1),D1 BLE.S lbC014C7A MOVEQ #1,D0 BRA.S lbC014C40 lbC014C7A MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A6,A0 MOVE.W 0(A0,D0.L),-(SP) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A2,A0 MOVE.W 0(A0,D0.L),-(SP) JSR lbC014A90(PC) ADDQ.W #4,SP ; TST.L lbL01F95A ; BEQ.S lbC014D18 ; MOVE.W -2(A5),D0 ; EXT.L D0 ; ASL.L #1,D0 ; LEA lbW0182AE,A0 ; MOVE.W 0(A0,D0.L),D1 ; CMP.W 8(A5),D1 ; BEQ.S lbC014CFE ; MOVE.W -2(A5),D0 ; EXT.L D0 ; ASL.L #1,D0 ; LEA lbW0182AE,A0 ; MOVE.W 8(A5),0(A0,D0.L) ; MOVEA.L -6(A5),A0 ; MOVE.W (A0),-(SP) ; MOVE.W -2(A5),D0 ; MULS.W #$3A98,D0 ; EXT.L D0 ; ADD.L lbL01F95A,D0 ; MOVE.L D0,-(SP) ; MOVE.L -6(A5),-(SP) ; JSR lbC0164E8 ; LEA 10(SP),SP ;lbC014CFE CLR.W lbW0182B6 ; MOVE.W -2(A5),D0 ; MULS.W #$3A98,D0 ; EXT.L D0 ; ADD.L lbL01F95A,D0 ; MOVE.L D0,-6(A5) ;lbC014D18 MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A2,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 MOVEA.L -6(A5),A0 MOVE.W 8(A0),D0 EXT.L D0 ADD.L -6(A5),D0 MOVE.L D0,(A1) MOVEA.L -6(A5),A0 MOVE.W 12(A0),D0 EXT.L D0 MOVE.W -2(A5),D1 EXT.L D1 ASL.L #1,D1 LEA lbW0182A2,A0 MOVE.W 0(A0,D1.L),D2 EXT.L D2 ASL.L #2,D2 LEA lbL01827E,A0 MOVEA.L 0(A0,D2.L),A1 MOVE.L D0,4(A1) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A2,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 MOVEA.L -6(A5),A0 MOVE.W $14(A0),D0 EXT.L D0 MOVEQ #$10,D1 ASL.L D1,D0 MOVE.L D0,8(A1) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A2,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 MOVEA.L -6(A5),A0 MOVE.B $18(A0),D0 EXT.W D0 EXT.L D0 MOVEQ #$10,D1 ASL.L D1,D0 MOVE.L D0,12(A1) MOVEA.L -6(A5),A0 MOVE.B $1B(A0),D0 EXT.W D0 EXT.L D0 MOVE.W -2(A5),D1 EXT.L D1 ASL.L #1,D1 LEA lbW0182A2,A0 MOVE.W 0(A0,D1.L),D2 EXT.L D2 ASL.L #2,D2 LEA lbL01827E,A0 MOVEA.L 0(A0,D2.L),A1 MOVE.L D0,$10(A1) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A2,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 CLR.L $20(A1) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A2,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 CLR.L $1C(A1) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A2,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 CLR.L $18(A1) MOVEA.L -6(A5),A0 TST.W $10(A0) BEQ.L lbC014F06 MOVEA.L -6(A5),A0 MOVE.W $10(A0),D0 EXT.L D0 MOVE.L -6(A5),D1 ADD.L D0,D1 MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A2,A0 MOVE.W 0(A0,D0.L),D2 EXT.L D2 ASL.L #2,D2 LEA lbL01827E,A0 MOVEA.L 0(A0,D2.L),A1 MOVE.L D1,$30(A1) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A2,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 CLR.L $34(A1) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A2,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 MOVE.L #1,$2C(A1) BRA.S lbC014F2A lbC014F06 MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A2,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 CLR.L $2C(A1) lbC014F2A MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A6,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 MOVEA.L -6(A5),A0 MOVE.W 10(A0),D0 EXT.L D0 ADD.L -6(A5),D0 MOVE.L D0,(A1) MOVEA.L -6(A5),A0 MOVE.W 14(A0),D0 EXT.L D0 MOVE.W -2(A5),D1 EXT.L D1 ASL.L #1,D1 LEA lbW0182A6,A0 MOVE.W 0(A0,D1.L),D2 EXT.L D2 ASL.L #2,D2 LEA lbL01827E,A0 MOVEA.L 0(A0,D2.L),A1 MOVE.L D0,4(A1) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A6,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 MOVEA.L -6(A5),A0 MOVE.W $16(A0),D0 EXT.L D0 MOVEQ #$10,D1 ASL.L D1,D0 MOVE.L D0,8(A1) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A6,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 MOVEA.L -6(A5),A0 MOVE.B $19(A0),D0 EXT.W D0 EXT.L D0 MOVEQ #$10,D1 ASL.L D1,D0 MOVE.L D0,12(A1) MOVEA.L -6(A5),A0 MOVE.B $1B(A0),D0 EXT.W D0 EXT.L D0 MOVE.W -2(A5),D1 EXT.L D1 ASL.L #1,D1 LEA lbW0182A6,A0 MOVE.W 0(A0,D1.L),D2 EXT.L D2 ASL.L #2,D2 LEA lbL01827E,A0 MOVEA.L 0(A0,D2.L),A1 MOVE.L D0,$10(A1) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A6,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 CLR.L $20(A1) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A6,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 CLR.L $1C(A1) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A6,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 CLR.L $18(A1) MOVEA.L -6(A5),A0 TST.W $12(A0) BEQ.L lbC015118 MOVEA.L -6(A5),A0 MOVE.W $10(A0),D0 EXT.L D0 MOVE.L -6(A5),D1 ADD.L D0,D1 MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A6,A0 MOVE.W 0(A0,D0.L),D2 EXT.L D2 ASL.L #2,D2 LEA lbL01827E,A0 MOVEA.L 0(A0,D2.L),A1 MOVE.L D1,$30(A1) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A6,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 CLR.L $34(A1) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A6,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 MOVE.L #1,$2C(A1) BRA.S lbC01513C lbC015118 MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A6,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 CLR.L $2C(A1) lbC01513C MOVEA.L -6(A5),A0 MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182B2,A1 MOVE.W 4(A0),0(A1,D0.L) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182AA,A0 MOVE.W 8(A5),0(A0,D0.L) MOVE.W 8(A5),D0 LEA lbL01A72C,A0 ADDQ.B #1,0(A0,D0.W) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A6,A0 MOVE.W 0(A0,D0.L),-(SP) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A2,A0 MOVE.W 0(A0,D0.L),-(SP) JSR lbC014A2C(PC) ADDQ.W #4,SP BRA.S lbC0151A8 lbC0151A2 MOVEQ #2,D0 BRA.L lbC014C40 lbC0151A8 BRA.L lbC014C40 lbC0151AC LINK.W A5,#0 CMPI.W #$FFFF,lbW0182AA BEQ.S lbC0151C4 MOVE.W lbW0182AA,-(SP) BSR.S lbC0151DC ADDQ.W #2,SP lbC0151C4 CMPI.W #$FFFF,lbW0182AC BEQ.S lbC0151D8 MOVE.W lbW0182AC,-(SP) BSR.S lbC0151DC ADDQ.W #2,SP lbC0151D8 UNLK A5 RTS lbC0151DC LINK.W A5,#-2 CLR.W -2(A5) lbC0151E4 MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182AA,A0 MOVE.W 0(A0,D0.L),D1 CMP.W 8(A5),D1 BNE.S lbC015264 MOVE.W 8(A5),D0 CMP.W lbW01832E,D0 BNE.S lbC01520E CLR.W lbW01F960 lbC01520E MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A6,A0 MOVE.W 0(A0,D0.L),-(SP) MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182A2,A0 MOVE.W 0(A0,D0.L),-(SP) JSR lbC014A90(PC) ADDQ.W #4,SP MOVE.W -2(A5),D0 EXT.L D0 ASL.L #1,D0 LEA lbW0182AA,A0 MOVE.W #$FFFF,0(A0,D0.L) TST.W lbW01827C BEQ.S lbC015264 MOVE.W 8(A5),D0 LEA lbL01A72C,A0 ADDA.W D0,A0 ANDI.B #$80,(A0) lbC015264 ADDQ.W #1,-2(A5) CMPI.W #2,-2(A5) BLT.L lbC0151E4 MOVE.W 8(A5),D0 CMP.W lbW01832E,D0 BNE.S lbC015294 MOVE.W #$FFFF,lbW01832E TST.W lbW01827C BEQ.S lbC015294 CLR.B lbB01A77F lbC015294 UNLK A5 RTS ;lbC015298 LINK.W A5,#-2 ; CLR.W lbW01827C ; MOVE.W lbW0182AA,lbW01F73C ; MOVE.W lbW0182AC,lbW01F73A ; MOVE.W lbW01F95E,lbW01832C ; JSR lbC0151AC(PC) ; MOVE.W lbW01D56E,lbW01F966 ; UNLK A5 ; RTS Init lbC0152D2 LINK.W A5,#0 CMPI.W #$FFFF,lbW01F73C BEQ.S lbC0152EE CLR.W -(SP) MOVE.W lbW01F73C,-(SP) JSR lbC014B06(PC) ADDQ.W #4,SP lbC0152EE CMPI.W #$FFFF,lbW01F73A BEQ.S lbC015314 MOVE.W lbW01F73C,D0 CMP.W lbW01F73A,D0 BEQ.S lbC015314 CLR.W -(SP) MOVE.W lbW01F73A,-(SP) JSR lbC014B06(PC) ADDQ.W #4,SP lbC015314 MOVE.W lbW01F966,lbW01D56E UNLK A5 RTS lbC015322 LINK.W A5,#-10 MOVE.L D4,-(SP) TST.W lbW01F960 BNE.S lbC015336 lbC015330 MOVE.L (SP)+,D4 UNLK A5 RTS lbC015336 MOVE.W lbW01F968,D0 ADDQ.W #1,lbW01F968 CMP.W #$1C,D0 BNE.S lbC015354 CLR.W lbW01F968 ADDQ.W #1,lbW01D56E lbC015354 CLR.B -1(A5) BRA.L lbC01542E lbC01535C MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #1,D0 LEA lbW01831A,A0 TST.W 0(A0,D0.L) BEQ.S lbC015382 MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #1,D0 LEA lbW01831A,A0 SUBQ.W #1,0(A0,D0.L) lbC015382 MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #1,D0 LEA lbW01831A,A0 TST.W 0(A0,D0.L) BNE.L lbC01542A MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #2,D0 LEA lbL01402C,A0 TST.L 0(A0,D0.L) BEQ.S lbC01542A MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #1,D0 LEA lbL018322,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 MOVE.L D1,D4 ASL.L #8,D4 MOVEQ #0,D0 MOVE.B -1(A5),D0 ADDQ.W #4,D0 MOVEQ #0,D1 MOVE.W D0,D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 MOVE.L 12(A1),D0 SUB.L D4,D0 MOVE.L D0,D4 TST.L D4 BGT.S lbC0153F8 MOVEQ #0,D0 MOVE.B -1(A5),D0 MOVE.W D0,-(SP) JSR lbC014ADC(PC) ADDQ.W #2,SP BRA.S lbC01542A lbC0153F8 MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #2,D0 LEA lbL01827E,A0 MOVEA.L 0(A0,D0.L),A1 MOVE.L D4,12(A1) MOVEQ #0,D0 MOVE.B -1(A5),D0 ADDQ.W #4,D0 MOVEQ #0,D1 MOVE.W D0,D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 MOVE.L D4,12(A1) lbC01542A ADDQ.B #1,-1(A5) lbC01542E CMPI.B #4,-1(A5) BCS.L lbC01535C SUBQ.W #1,lbW01F960 BEQ.S lbC015444 BRA.L lbC015330 lbC015444 MOVE.W lbW01832E,D0 EXT.L D0 ASL.L #2,D0 LEA lbL01A782,A0 MOVE.W lbW01F95E,D1 EXT.L D1 MOVEA.L 0(A0,D0.L),A1 ADDA.L D1,A1 ADDA.L #$1C,A1 MOVE.L A1,-10(A5) lbC01546C MOVEA.L -10(A5),A0 MOVE.B (A0),D0 EXT.W D0 AND.W #$F0,D0 CMP.W #$80,D0 BNE.L lbC015884 MOVEA.L -10(A5),A0 ADDQ.L #1,-10(A5) MOVE.B (A0),D0 AND.B #15,D0 MOVE.B D0,-2(A5) MOVEA.L -10(A5),A0 ADDQ.L #1,-10(A5) MOVE.B (A0),-3(A5) MOVEA.L -10(A5),A0 ADDQ.L #1,-10(A5) MOVE.B (A0),D0 EXT.W D0 EXT.L D0 DIVS.W #2,D0 MOVE.B D0,-4(A5) MOVEA.L -10(A5),A0 ADDQ.L #1,-10(A5) MOVE.B (A0),-6(A5) ADDQ.W #4,lbW01F95E TST.B -3(A5) BNE.S lbC0154DC MOVEQ #0,D0 MOVE.B -6(A5),D0 MOVE.W D0,lbW01F960 BRA.L lbC015956 lbC0154DC MOVE.B -2(A5),D0 AND.B #3,D0 MOVE.B D0,-1(A5) CLR.B -5(A5) BRA.S lbC01551A lbC0154EE MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #1,D0 LEA lbW01831A,A0 TST.W 0(A0,D0.L) BEQ.S lbC015522 ADDQ.B #1,-5(A5) MOVEQ #0,D0 MOVE.B -1(A5),D0 ADDQ.W #1,D0 AND.W #3,D0 MOVE.B D0,-1(A5) MOVEQ #0,D1 MOVE.B D0,D1 lbC01551A CMPI.B #4,-5(A5) BCS.S lbC0154EE lbC015522 MOVEQ #0,D0 MOVE.B -6(A5),D0 MOVEQ #0,D1 MOVE.B -1(A5),D1 ASL.L #1,D1 LEA lbW01831A,A0 MOVE.W D0,0(A0,D1.L) MOVEQ #0,D0 MOVE.B -3(A5),D0 SWAP D0 CLR.W D0 SWAP D0 DIVU.W #12,D0 SUBQ.W #2,D0 MOVE.B D0,-5(A5) MOVEQ #0,D0 MOVE.B -3(A5),D0 SWAP D0 CLR.W D0 SWAP D0 DIVU.W #12,D0 SWAP D0 MOVE.B D0,-3(A5) TST.B -5(A5) BCC.S lbC015570 CLR.B -5(A5) lbC015570 CMPI.B #5,-5(A5) BLS.S lbC01557E MOVE.B #5,-5(A5) lbC01557E MOVEQ #0,D0 MOVE.B -1(A5),D0 MOVE.W D0,-(SP) JSR lbC014ADC(PC) ADDQ.W #2,SP MOVEQ #0,D0 MOVE.B -2(A5),D0 MOVEQ #$3E,D1 JSR lbC01695A MOVEA.L D0,A0 MOVEQ #0,D0 MOVE.B -5(A5),D0 MOVEQ #10,D1 JSR lbC01695A ADDA.L D0,A0 ADDA.L lbL01F952,A0 MOVE.W 4(A0),D0 EXT.L D0 MOVE.L lbL01F952,D1 ADD.L D0,D1 MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #2,D0 LEA lbL01827E,A0 MOVEA.L 0(A0,D0.L),A1 MOVE.L D1,(A1) MOVEQ #0,D0 MOVE.B -2(A5),D0 MOVEQ #$3E,D1 JSR lbC01695A MOVEA.L D0,A0 MOVEQ #0,D0 MOVE.B -5(A5),D0 MOVEQ #10,D1 JSR lbC01695A ADDA.L D0,A0 ADDA.L lbL01F952,A0 MOVE.W 6(A0),D0 EXT.L D0 MOVEQ #0,D1 MOVE.B -1(A5),D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 MOVE.L D0,4(A1) MOVEQ #0,D0 MOVE.B -2(A5),D0 MOVEQ #$3E,D1 JSR lbC01695A MOVEA.L D0,A0 MOVEQ #0,D0 MOVE.B -5(A5),D0 MOVEQ #10,D1 JSR lbC01695A ADDA.L D0,A0 ADDA.L lbL01F952,A0 TST.W 8(A0) BEQ.L lbC01573E MOVEQ #0,D0 MOVE.B -2(A5),D0 MOVEQ #$3E,D1 JSR lbC01695A MOVEA.L D0,A0 MOVEQ #0,D0 MOVE.B -5(A5),D0 MOVEQ #10,D1 JSR lbC01695A ADDA.L D0,A0 ADDA.L lbL01F952,A0 MOVE.W 8(A0),D0 EXT.L D0 MOVE.L lbL01F952,D1 ADD.L D0,D1 MOVEQ #0,D0 MOVE.B -1(A5),D0 ADDQ.W #4,D0 MOVEQ #0,D2 MOVE.W D0,D2 ASL.L #2,D2 LEA lbL01827E,A0 MOVEA.L 0(A0,D2.L),A1 MOVE.L D1,(A1) MOVEQ #0,D0 MOVE.B -2(A5),D0 MOVEQ #$3E,D1 JSR lbC01695A MOVEA.L D0,A0 MOVEQ #0,D0 MOVE.B -5(A5),D0 MOVEQ #10,D1 JSR lbC01695A ADDA.L D0,A0 ADDA.L lbL01F952,A0 MOVE.W 10(A0),D0 EXT.L D0 MOVEQ #0,D1 MOVE.B -1(A5),D1 ADDQ.W #4,D1 MOVEQ #0,D2 MOVE.W D1,D2 ASL.L #2,D2 LEA lbL01827E,A0 MOVEA.L 0(A0,D2.L),A1 MOVE.L D0,4(A1) MOVEQ #0,D0 MOVE.B -1(A5),D0 ADDQ.W #4,D0 MOVEQ #0,D1 MOVE.W D0,D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #2,D0 LEA lbL01827E,A1 MOVEA.L 0(A1,D0.L),A6 MOVE.L 0(A0,D1.L),$20(A6) MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #2,D0 LEA lbL01827E,A0 MOVEA.L 0(A0,D0.L),A1 CLR.L $10(A1) MOVEQ #0,D0 MOVE.B -1(A5),D0 ADDQ.W #4,D0 MOVEQ #0,D1 MOVE.W D0,D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 MOVE.L #$FFFFFFFF,$10(A1) BRA.S lbC01576E lbC01573E MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #2,D0 LEA lbL01827E,A0 MOVEA.L 0(A0,D0.L),A1 CLR.L $20(A1) MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #2,D0 LEA lbL01827E,A0 MOVEA.L 0(A0,D0.L),A1 MOVE.L #1,$10(A1) lbC01576E MOVEQ #0,D0 MOVE.B -1(A5),D0 ADDQ.W #4,D0 MOVEQ #0,D1 MOVE.W D0,D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 MOVEQ #0,D0 MOVE.B -2(A5),D0 MOVEQ #$3E,D1 JSR lbC01695A MOVEA.L D0,A0 MOVEQ #0,D0 MOVE.B -5(A5),D0 MOVEQ #10,D1 JSR lbC01695A ADDA.L D0,A0 ADDA.L lbL01F952,A0 MOVE.W 12(A0),D0 MULS.W #$18,D0 MOVEQ #0,D1 MOVE.B -3(A5),D1 ASL.L #1,D1 ADD.L D1,D0 LEA lbW0182BA,A0 MOVE.W 0(A0,D0.L),D1 EXT.L D1 MOVEQ #$10,D0 ASL.L D0,D1 MOVE.L D1,8(A1) MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #2,D0 LEA lbL01827E,A0 MOVEA.L 0(A0,D0.L),A1 MOVE.L D1,8(A1) MOVEQ #0,D0 MOVE.B -1(A5),D0 ADDQ.W #4,D0 MOVEQ #0,D1 MOVE.W D0,D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 MOVEQ #0,D0 MOVE.B -4(A5),D0 MOVEQ #$10,D1 ASL.L D1,D0 MOVE.L D0,12(A1) MOVEQ #0,D1 MOVE.B -1(A5),D1 ASL.L #2,D1 LEA lbL01827E,A0 MOVEA.L 0(A0,D1.L),A1 MOVE.L D0,12(A1) MOVEQ #0,D0 MOVE.B -2(A5),D0 MOVEQ #$3E,D1 JSR lbC01695A MOVEA.L D0,A0 ADDA.L lbL01F952,A0 MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #1,D0 LEA lbL018322,A1 MOVE.W $40(A0),0(A1,D0.L) MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #2,D0 LEA lbL01827E,A0 MOVEQ #0,D1 MOVE.B -1(A5),D1 ASL.L #2,D1 LEA lbL01402C,A1 MOVE.L 0(A0,D0.L),0(A1,D1.L) MOVEQ #0,D0 MOVE.B -1(A5),D0 MOVE.L D0,-(SP) JSR lbC01418A ADDQ.W #4,SP BRA.L lbC015942 lbC015884 MOVEA.L -10(A5),A0 MOVE.B (A0),D0 EXT.W D0 bsr.w SongEnd AND.W #$FF,D0 CMP.W #$FB,D0 BNE.S lbC0158EA CLR.B -1(A5) BRA.S lbC0158CA lbC01589C MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #2,D0 LEA lbL01402C,A0 TST.L 0(A0,D0.L) BEQ.S lbC0158C6 MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #1,D0 LEA lbW01831A,A0 MOVE.W 0(A0,D0.L),lbW01F960 lbC0158C6 ADDQ.B #1,-1(A5) lbC0158CA CMPI.B #4,-1(A5) BCS.S lbC01589C TST.W lbW01F960 BNE.S lbC0158E8 CLR.W lbW01F95E MOVE.W #1,lbW01F960 lbC0158E8 BRA.S lbC015942 lbC0158EA CLR.B -1(A5) BRA.S lbC01591E lbC0158F0 MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #2,D0 LEA lbL01402C,A0 TST.L 0(A0,D0.L) BEQ.S lbC01591A MOVEQ #0,D0 MOVE.B -1(A5),D0 ASL.L #1,D0 LEA lbW01831A,A0 MOVE.W 0(A0,D0.L),lbW01F960 lbC01591A ADDQ.B #1,-1(A5) lbC01591E CMPI.B #4,-1(A5) BCS.S lbC0158F0 TST.W lbW01F960 BNE.S lbC015942 MOVE.W #1,lbW01827C MOVE.W lbW01832E,-(SP) JSR lbC0151DC(PC) ADDQ.W #2,SP lbC015942 TST.W lbW01F960 BNE.S lbC015956 CMPI.W #$FFFF,lbW01832E BNE.L lbC01546C lbC015956 BRA.L lbC015330 lbC01695A MOVEM.L D1-D3,-(SP) MOVE.W D1,D2 MULU.W D0,D2 MOVE.L D1,D3 SWAP D3 MULU.W D0,D3 SWAP D3 CLR.W D3 ADD.L D3,D2 SWAP D0 MULU.W D1,D0 SWAP D0 CLR.W D0 ADD.L D2,D0 MOVEM.L (SP)+,D1-D3 RTS lbW01827C dc.w 1 lbL01827E dc.l S1 dc.l S2 dc.l S3 dc.l S4 dc.l S5 dc.l S6 dc.l S7 dc.l S8 lbB01829E dc.b 0 lbB01829F dc.b 0 lbB0182A0 dc.b 0 lbB0182A1 dc.b 0 lbW0182A2 dc.w 0 dc.w 3 lbW0182A6 dc.w 1 dc.w 2 lbW0182AA dc.w $FFFF lbW0182AC dc.w $FFFF lbW0182AE dc.w $FFFF lbW0182B0 dc.w $FFFF lbW0182B2 dc.w 0 lbW0182B4 dc.w 0 lbW0182B6 dc.w 0 lbW0182B8 dc.w $F00 lbW0182BA dc.w $6B0 dc.w $650 dc.w $5F4 dc.w $5A0 dc.w $54C dc.w $500 dc.w $4B8 dc.w $474 dc.w $434 dc.w $3F8 dc.w $3C0 dc.w $388 dc.w $358 dc.w $328 dc.w $2FA dc.w $2D0 dc.w $2A6 dc.w $280 dc.w $25C dc.w $23A dc.w $21A dc.w $1FC dc.w $1E0 dc.w $1C4 dc.w $1AC dc.w $194 dc.w $17D dc.w $168 dc.w $153 dc.w $140 dc.w $12E dc.w $11D dc.w $10D dc.w $FE dc.w $F0 dc.w $E2 dc.w $D6 dc.w $CA dc.w $BE dc.w $B4 dc.w $A9 dc.w $A0 dc.w $97 dc.w $8E dc.w $86 dc.w $7F dc.w $F0 dc.w $E2 lbW01831A dc.w 0 lbW01831C dc.w 0 lbW01831E dc.w 0 lbW018320 dc.w 0 lbL018322 dc.l 0 dc.l 0 dc.w 0 lbW01832C dc.w 0 lbW01832E dc.w $FFFF lbL01A72C ds.l $14 ds.w 1 ds.b 1 lbB01A77F ds.b 3 lbL01A782 dc.l Song01 dc.l Song02 dc.l Song03 dc.l Song04 dc.l Song05 dc.l Song06 dc.l Song07 dc.l Song08 dc.l Song09 dc.l Song10 dc.l Song11 dc.l Song12 lbB01CCA0 ds.b 1 lbB01CCA8 ds.b 1 lbW01D56E ds.w 1 lbW01F73A ds.w 1 lbW01F73C ds.w 1 lbL01F952 dc.l Samples ;lbL01F956 ds.l 1 ;lbL01F95A ds.l 1 lbW01F95E ds.w 1 lbW01F960 ds.w 3 lbW01F966 ds.w 1 lbW01F968 ds.w 1 Song01 incbin ram:INDY01 ds.b 1 Song02 incbin ram:INDY02 ds.b 1 Song03 incbin ram:INDY03 ds.b 1 Song04 incbin ram:INDY04 ds.b 1 Song05 incbin ram:INDY05 ds.b 1 Song06 incbin ram:INDY06 ds.b 1 Song07 incbin ram:INDY07 ds.b 1 Song08 incbin ram:INDY08 ds.b 1 Song09 incbin ram:INDY09 ds.b 1 Song10 incbin ram:INDY10 ds.b 1 Song11 incbin ram:INDY11 ds.b 1 Song12 incbin ram:INDY12 ds.b 1 S1 ds.b 64 S2 ds.b 64 S3 ds.b 64 S4 ds.b 64 S5 ds.b 64 S6 ds.b 64 S7 ds.b 64 S8 ds.b 64 Samples incbin ram:Samples IJ_End