***************************************************** **** "Super Huey" - 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 SH_Start PLAYERHEADER PlayerTagArray dc.b "$VER: Super Huey - 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 " SUPER HUEY",10 dc.b 10 dc.b " Designed by:",10 dc.b " The Electronic Designed Group",10 dc.b 10 dc.b " Russ Bedord",10 dc.b " Dave Lundberg",10 dc.b " Steve Penners",10 dc.b 10 dc.b " Creator:",10 dc.b " Paul Norman",10 dc.b 10 dc.b 10 dc.b " © 1987 COSMI",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,SH_End-SH_Start dc.l MI_Length,4 dc.l 0 *************************************************************************** ********************************* EP_GetPosNr ***************************** *************************************************************************** GetPosition moveq #0,D0 move.w lbW038BBC(PC),D0 divu.w #6,D0 subq.w #1,D0 rts *************************************************************************** ***************************** 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 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 *************************************************************************** ***************************** 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 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 Data dc.l Interrupt Name dc.b 'SuperHuey Aud0/Aud1 Interrupt',0 even Audio0 dc.l 0 Audio1 dc.l 0 *************************************************************************** ***************************** DTP_StopInt ********************************* *************************************************************************** StopInt lea $DFF000,A0 move.w #3,$96(A0) move.w #$180,$9A(A0) move.w #$180,$9C(A0) moveq #INTB_AUD0,D0 move.l Audio0(PC),A1 move.l A6,-(A7) move.l 4.W,A6 jsr _LVOSetIntVector(A6) moveq #INTB_AUD1,D0 move.l Audio1(PC),A1 jsr _LVOSetIntVector(A6) move.l (A7)+,A6 rts *************************************************************************** ***************************** 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 *************************************************************************** *************************************************************************** *************************************************************************** Data lbL038B98 dc.l $00A1F6-$00A1F0+Samples dc.w $C000 dc.l $0221F6-$00A1F0+Samples dc.w $B4D1 dc.l $00A1F6-$00A1F0+Samples dc.w $C000 dc.l $0221F6-$00A1F0+Samples dc.w $B4D1 dc.l lbL038BBE dc.w $10 dc.w 0 dc.w 0 dc.w 0 lbW038BBC dc.w 0 lbL038BBE dc.l 0 dc.l 0 dc.l 0 dc.l 0 dc.l 0 dc.l 0 dc.l 0 dc.l 0 dc.w 0 Init LEA lbL038B98,A0 LEA $DFF000,A1 MOVE.W #$40,$A8(A1) MOVE.W #$40,$B8(A1) MOVE.W #$340,$A6(A1) MOVE.W #$340,$B6(A1) MOVE.L (A0),$A0(A1) MOVE.L (A0)+,$B0(A1) MOVE.W (A0),$A4(A1) MOVE.W (A0),$B4(A1) MOVE.W #6,lbW038BBC ; MOVE.W #$8080,$9A(A1) ; MOVE.W #$8003,$96(A1) RTS Play MOVE.W lbW038BBC,D0 MOVE.L 0(A1,D0.W),D1 BEQ.S lbC038C52 MOVE.L D1,$A0(A0) MOVE.L D1,$B0(A0) MOVE.W 4(A1,D0.W),$A4(A0) MOVE.W 4(A1,D0.W),$B4(A0) ADDQ.W #6,lbW038BBC BRA.S lbC038C5E lbC038C52 bsr.w SongEnd ; MOVE.W #3,$96(A0) ; MOVE.W #$80,$9A(A0) lbC038C5E ; MOVE.W #$80,$9C(A0) move.w #$180,$9C(A0) RTS Samples incbin ram:samples SH_End