***************************************************** **** "Darius +" intro - 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 Dar_Start PLAYERHEADER PlayerTagArray dc.b "$VER: Darius + intro - 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_StartInt,StartInt dc.l DTP_StopInt,StopInt dc.l DTP_InitPlayer,InitPlayer dc.l DTP_EndPlayer,EndPlayer dc.l DTP_InitSound,InitSound dc.l DTP_EndSound,EndSound dc.l EP_GetPositionNr,GetPosition dc.l EP_Get_ModuleInfo,Get_ModuleInfo dc.l TAG_DONE PlayerName dc.b "CustomPlay",0 Text dc.b 10 dc.b " DARIUS +",10 dc.b 10 dc.b " PROGRAM BY",10 dc.b " GLYN KENDALL",10 dc.b " VISUALS BY",10 dc.b " TAHIR RASHID",10 dc.b " SOUNDTRACK BY",10 dc.b " UNCLE ART",10 dc.b 10 dc.b 10 dc.b " (C) 1987 TAITO",10 dc.b " (C) 1989 THE EDGE",0 even EagleBase dc.l 0 *************************************************************************** ***************************** EP_Get_ModuleInfo *************************** *************************************************************************** Get_ModuleInfo lea InfoBuffer(PC),A0 rts InfoBuffer dc.l MI_SpecialInfo,Text dc.l MI_LoadSize,Dar_End-Dar_Start dc.l MI_Length,54 dc.l 0 *************************************************************************** ********************************* EP_GetPosNr ***************************** *************************************************************************** GetPosition move.l Length(PC),D0 rts Length dc.l 0 *************************************************************************** ***************************** DTP_InitPlayer ****************************** *************************************************************************** InitPlayer move.l A5,EagleBase move.l dtg_AudioAlloc(A5),A0 jmp (A0) *************************************************************************** ***************************** DTP_EndPlayer ******************************* *************************************************************************** EndPlayer move.l dtg_AudioFree(A5),A0 jmp (A0) *************************************************************************** ***************************** DTP_InitSound ******************************* *************************************************************************** InitSound clr.l Length move.l #lbL000152,SONGPOS bra.w Init *************************************************************************** ***************************** DTP_EndSound ******************************** *************************************************************************** EndSound bra.w End *************************************************************************** ***************************** DTP_StartInt ******************************** *************************************************************************** StartInt movem.l D0/A6,-(A7) lea InterruptStruct(PC),A1 moveq #INTB_AUD0,D0 move.l 4.W,A6 ; baza biblioteki exec do A6 jsr _LVOSetIntVector(A6) move.l D0,Audio0 lea InterruptStruct(PC),A1 moveq #INTB_AUD1,D0 jsr _LVOSetIntVector(A6) move.l D0,Audio1 movem.l (A7)+,D0/A6 move.w #$8180,$DFF09A move.w #$8003,$DFF096 rts InterruptStruct dc.l 0 dc.l 0 dc.b NT_INTERRUPT dc.b 5 ; priority dc.l Name ; ID string dc.l SONGPOS dc.l Interrupt Name dc.b 'Darius+ Aud0/Aud1 Interrupt',0 even Audio0 dc.l 0 Audio1 dc.l 0 SONGPOS dc.l 0 *************************************************************************** ***************************** DTP_StopInt ********************************* *************************************************************************** StopInt move.w #3,$DFF096 move.l A6,-(A7) moveq #INTB_AUD0,D0 move.l Audio0(PC),A1 move.l 4.W,A6 jsr _LVOSetIntVector(a6) movea.l Audio1(PC),A1 moveq #INTB_AUD1,D0 jsr _LVOSetIntVector(A6) move.l (A7)+,A6 rts *************************************************************************** ***************************** DTP_Intterrupt ****************************** *************************************************************************** Interrupt movem.l D1-A6,-(SP) move.w #$180,$DFF09A move.w #$180,$DFF09C bsr.w Play move.w #$8180,$DFF09A 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 Play move.l A1,A0 move.l (A1),A1 tst.l (A1)+ bne.b .OK lea lbL000152+4(PC),A1 clr.l Length bsr.w SongEnd .OK move.l A1,(A0) move.l -(A1),A1 addq.l #1,Length lea $DFF0A0,A2 lea $DFF0B0,A0 move.l (A1),(A2)+ move.l (A1)+,(A0)+ move.w (A1),(A2)+ move.w (A1)+,(A0)+ move.w (A1),(A2)+ move.w (A1)+,(A0)+ move.w (A1),(A2) move.w (A1),(A0) rts *************************************************************************** *************************************************************************** *************************************************************************** ; Intro music from "Darius +" (c) 1989 by Taito/The Edge ;lbC00000C BSR.L lbC0000B2 ; BSR.S lbC000016 ; BRA.L lbC0000B2 ;lbC000016 LEA $DFF0A0,A2 ; LEA $DFF0B0,A5 ;lbC000022 LEA lbL000152(PC),A1 ; LEA lbL00022E(PC),A4 ;lbC00002A TST.L (A1) ; BEQ.S lbC000022 ; MOVEA.L (A1)+,A3 ; BSR.S lbC00007A ; MOVEA.L (A4)+,A3 ; BSR.S lbC000096 ;lbC000036 MOVE.W $DFF01E,D4 ; ANDI.W #$80,D4 ; BEQ.S lbC000036 ; BSR.S lbC000068 ;lbC000044 BTST #7,$BFE001 ; BEQ.S lbC000066 ; MOVE.W $DFF01E,D4 ; ANDI.W #$80,D4 ; BEQ.S lbC000044 ; MOVE.W #$180,$DFF09C ; BSR.S lbC000068 ; BRA.S lbC00002A ;lbC000066 RTS ;lbC000068 MOVE.W $DFF006,D0 ; ANDI.W #$FF00,D0 ; CMPI.W #$FF00,D0 ; BNE.S lbC000068 ; RTS ;lbC00007A MOVE.L (A3)+,D1 ; ADD.L A0,D1 ; MOVE.L D1,(A2) ; MOVE.W (A3)+,4(A2) ; MOVE.W (A3)+,6(A2) ; MOVE.W (A3)+,8(A2) ; MOVE.W #$8201,$DFF096 ; RTS ;lbC000096 MOVE.L (A3)+,D1 ; ADD.L A0,D1 ; MOVE.L D1,(A5) ; MOVE.W (A3)+,4(A5) ; MOVE.W (A3)+,6(A5) ; MOVE.W (A3)+,8(A5) ; MOVE.W #$8202,$DFF096 ; RTS Init End ;lbC0000B2 MOVE.W #$180,$DFF09C ; BSR.S lbC000068 ; BSR.S lbC000068 MOVE.W #15,$DFF096 ; MOVE.L lbL000C42,$DFF0A0 ; MOVE.L lbL000C42,$DFF0B0 ; MOVE.L lbL000C42,$DFF0C0 ; MOVE.L lbL000C42,$DFF0D0 ; MOVE.W #$3E8,$DFF0A4 ; MOVE.W #$3E8,$DFF0B4 ; MOVE.W #$3E8,$DFF0C4 ; MOVE.W #$3E8,$DFF0D4 move.l #lbL000C42,$DFF0A0 move.l #lbL000C42,$DFF0B0 move.l #lbL000C42,$DFF0C0 move.l #lbL000C42,$DFF0D0 move.w #160,$DFF0A4 move.w #160,$DFF0B4 move.w #160,$DFF0C4 move.w #160,$DFF0D4 MOVE.W #1,$DFF0A6 MOVE.W #1,$DFF0B6 MOVE.W #1,$DFF0C6 MOVE.W #1,$DFF0D6 MOVE.W #0,$DFF0A8 MOVE.W #0,$DFF0B8 MOVE.W #0,$DFF0C8 MOVE.W #0,$DFF0D8 ; BRA.L lbC000068 rts lbL000152 dc.l lbL000332 dc.l lbL000328 dc.l lbL000346 dc.l lbL000346 dc.l lbL000328 dc.l lbL000328 dc.l lbL00035A dc.l lbL000346 dc.l lbL00035A dc.l lbL0003A0 dc.l lbL00038C dc.l lbL00038C dc.l lbL0003B4 dc.l lbL0003AA dc.l lbL00033C dc.l lbL00031E dc.l lbL00030A dc.l lbL00030A dc.l lbL00030A dc.l lbL000396 dc.l lbL00038C dc.l lbL00038C dc.l lbL0003B4 dc.l lbL0003AA dc.l lbL00033C dc.l lbL0003DC dc.l lbL0003C8 dc.l lbL0003C8 dc.l lbL0003C8 dc.l lbL0003F0 dc.l lbL00038C dc.l lbL0003F0 dc.l lbL0003F0 dc.l lbL0003F0 dc.l lbL0003F0 dc.l lbL000350 dc.l lbL000346 dc.l lbL000314 dc.l lbL00030A dc.l lbL00030A dc.l lbL00030A dc.l lbL0003C8 dc.l lbL0003C8 dc.l lbL0003F0 dc.l lbL000350 dc.l lbL000346 dc.l lbL000346 dc.l lbL000346 dc.l lbL000378 dc.l lbL00036E dc.l lbL000382 dc.l lbL000382 dc.l lbL00036E dc.l 0 dc.l 1 ;lbL00022E dc.l lbL000332 ; dc.l lbL000328 ; dc.l lbL000346 ; dc.l lbL000346 ; dc.l lbL000328 ; dc.l lbL000328 ; dc.l lbL00035A ; dc.l lbL000346 ; dc.l lbL00035A ; dc.l lbL0003A0 ; dc.l lbL00038C ; dc.l lbL00038C ; dc.l lbL0003B4 ; dc.l lbL0003AA ; dc.l lbL00033C ; dc.l lbL00031E ; dc.l lbL00030A ; dc.l lbL00030A ; dc.l lbL00030A ; dc.l lbL000396 ; dc.l lbL00038C ; dc.l lbL00038C ; dc.l lbL0003B4 ; dc.l lbL0003AA ; dc.l lbL00033C ; dc.l lbL0003DC ; dc.l lbL0003C8 ; dc.l lbL0003C8 ; dc.l lbL0003C8 ; dc.l lbL0003F0 ; dc.l lbL00038C ; dc.l lbL0003F0 ; dc.l lbL0003F0 ; dc.l lbL0003F0 ; dc.l lbL0003F0 ; dc.l lbL000350 ; dc.l lbL000346 ; dc.l lbL000314 ; dc.l lbL00030A ; dc.l lbL00030A ; dc.l lbL00030A ; dc.l lbL0003C8 ; dc.l lbL0003C8 ; dc.l lbL0003F0 ; dc.l lbL000350 ; dc.l lbL000346 ; dc.l lbL000346 ; dc.l lbL000346 ; dc.l lbL000378 ; dc.l lbL00036E ; dc.l lbL000382 ; dc.l lbL000382 ; dc.l lbL00036E ; dc.l 0 ; dc.l 1 lbL00030A dc.l 0+Samples dc.l $740400DE dc.w $40 lbL000314 dc.l 0+Samples dc.l $740400FE dc.w $40 lbL00031E dc.l 0+Samples dc.l $740400FE dc.w $40 lbL000328 dc.l $E80A+Samples dc.l $5BAC00FE dc.w $40 lbL000332 dc.l $E80A+Samples dc.l $5BAC00DE dc.w $40 lbL00033C dc.l $E80A+Samples dc.l $5BAC00DE dc.w $40 lbL000346 dc.l $143B6+Samples dc.l $2DD600FE dc.w $40 lbL000350 dc.l $143B6+Samples dc.l $2DD600DE dc.w $40 lbL00035A dc.l $E80A+Samples dc.l $2DD600FE dc.w $40 dc.l $15C0E+Samples dc.l $208500FE dc.w $40 lbL00036E dc.l $19F62+Samples dc.l $199B00DE dc.w $40 lbL000378 dc.l $19F62+Samples dc.l $199B00FE dc.w $40 lbL000382 dc.l $19F62+Samples dc.l $CCD00DE dc.w $40 lbL00038C dc.l $19E0+Samples dc.l $339000DE dc.w $40 lbL000396 dc.l 0+Samples dc.l $408000DE dc.w $40 lbL0003A0 dc.l 0+Samples dc.l $408000FE dc.w $40 lbL0003AA dc.l 0+Samples dc.l $C9000DE dc.w $40 lbL0003B4 dc.l $19E0+Samples dc.l $273600DE dc.w $40 dc.l $2400+Samples dc.l $26A000DE dc.w $40 lbL0003C8 dc.l 0+Samples dc.l $192000DE dc.w $40 dc.l 0+Samples dc.l $261000FE dc.w $40 lbL0003DC dc.l 0+Samples dc.l $261000FE dc.w $40 dc.l 0+Samples dc.l $179000DE dc.w $40 lbL0003F0 dc.l $19E0+Samples dc.l $135000DE dc.w $40 lbL000C42 ds.b 320 Samples incbin ram:Samples Dar_End