***************************************************** **** Skizzo Demo II End Music - Custom Module **** **** all adaptions by Wanted Team **** ***************************************************** incdir "dh2:include/" include 'misc/eagleplayer2.01.i' SECTION Player,Code SD2_Start PLAYERHEADER PlayerTagArray dc.b "$VER: Skizzo Demo II End Music - 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 EP_Get_ModuleInfo,Get_ModuleInfo dc.l TAG_DONE PlayerName dc.b "CustomPlay",0 Text dc.b 10 dc.b " SKIZZO DEMO II",10 dc.b " --------------------",10 dc.b " credits for this",10 dc.b " demo goes to :",10 dc.b " --------------------",10 dc.b " tax - made the code",10 dc.b " tax and twn - made the crunch player",10 dc.b " jail - made the music",10 dc.b " sportsman and jail - made the graphics",10 dc.b " the white noise - made the end music",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,SD2_End-SD2_Start+$24000 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_Intterrupt ****************************** *************************************************************************** Interrupt movem.l D1-A6,-(SP) bsr.w Play movem.l (SP)+,D1-A6 moveq #0,D0 rts *************************************************************************** ***************************** DTP_InitSound ******************************* *************************************************************************** InitSound move.l lbL000592(PC),D0 bne.b TimerOK move.w dtg_Timer(A5),D0 mulu.w #125,D0 move.l D0,lbL000592 TimerOK bra.w Init *************************************************************************** ***************************** DTP_EndSound ******************************** *************************************************************************** EndSound lea $DFF000,A0 move.w #15,$96(A0) bra.w End *************************************************************************** *************************************************************************** *************************************************************************** ; End music from "Skizzo Demo II" (c) 1993 by Gnu Design Init BRA.S lbC00007E End BRA.L lbC000240 dc.b 'This is a player routine able to play crunch' dc.b 'ed samples. Coded by Tax & theory by The Whi' dc.b 'te Noise. ' dc.b $A9 dc.b ' 1992 by Gnu Design.',0 lbC00007E MOVEM.L D0-D4/A0-A3/A5/A6,-(SP) MOVEA.L lbL000688(PC),A0 LEA $14(A0),A0 MOVE.L A0,lbL00058E MOVEA.L A0,A1 LEA $82(A0),A0 LEA lbL0005A0(PC),A5 LEA lbL0005CC(PC),A6 MOVE.W -6(A0),lbW00059A MOVEQ #0,D0 MOVE.W (A0),D0 MOVE.L A0,(A5) ADDQ.L #2,(A5) MOVE.L (A5),4(A5) ADDA.L D0,A0 MOVE.W (A0),D0 MOVE.L A0,(A6) ADDQ.L #2,(A6) MOVE.L (A6),4(A6) ADDA.L D0,A0 ADDQ.L #2,A0 LEA lbL0001C4(PC),A2 MOVEQ #$1E,D1 lbC0000C8 MOVE.L A0,(A2)+ TST.W (A1) BEQ.S lbC0000D6 MOVE.W -2(A0),D0 ADDA.L D0,A0 ADDQ.L #2,A0 lbC0000D6 ADDQ.L #4,A1 DBRA D1,lbC0000C8 ; MOVE.L A6,-(SP) ; MOVEA.L lbL000678(PC),A6 ; MOVE.L #$24000,D0 ; MOVEQ #0,D1 ; JSR -$36(A6) ; MOVE.L D0,lbL000596 ; MOVEA.L (SP)+,A6 move.l #Buffer,D0 MOVE.L D0,8(A5) ADDI.L #$9000,D0 MOVE.L D0,12(A5) ADDI.L #$9000,D0 MOVE.L D0,8(A6) ADDI.L #$9000,D0 MOVE.L D0,12(A6) MOVEQ #0,D0 MOVE.W D0,$12(A5) MOVE.W D0,$12(A6) MOVE.W D0,$16(A5) MOVE.W D0,$16(A6) MOVE.W #3,$10(A5) MOVE.W #12,$10(A6) MOVE.B D0,lbB00059C CLR.B lbB00059D lbC000142 LEA lbL0005A0(PC),A0 MOVE.W $10(A0),D7 BSR.L lbC0004D6 TST.L $28(A0) BNE.S lbC000142 lbC000154 LEA lbL0005CC(PC),A0 MOVE.W $10(A0),D7 BSR.L lbC0004D6 TST.L $28(A0) BNE.S lbC000154 ; MOVE.L $78,lbL00058A ; SF lbB00059E ; another protection :-) st lbB00059E ; LEA $BFD000,A0 ; MOVE.B #$7F,$D00(A0) ; MOVE.L #$1B0F87,D0 ; MOVE.L D0,lbL000592 ; DIVU.W #$7D,D0 ; MOVE.B D0,$400(A0) ; LSR.W #8,D0 ; MOVE.B D0,$500(A0) ; BSET #0,$E00(A0) ; MOVE.L #lbC000292,$78 ; MOVE.B #$81,$D00(A0) ; MOVE.W #$A000,$DFF09A BSET #1,$BFE001 MOVEM.L (SP)+,D0-D4/A0-A3/A5/A6 RTS lbL0001C4 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.l 0 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.l 0 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.l 0 dc.l 0 dc.l 0 dc.l 0 dc.l 0 lbC000240 ; MOVE.L A0,-(SP) SF lbB00059E ; LEA $BFD000,A0 ; BCLR #0,$E00(A0) ; MOVE.W #$2000,$DFF09A ; MOVE.L lbL00058A(PC),$78 MOVE.W #0,$DFF0A8 MOVE.W #0,$DFF0B8 MOVE.W #0,$DFF0C8 MOVE.W #0,$DFF0D8 ; MOVEA.L lbL000678(PC),A6 ; MOVE.L lbL000596(PC),D0 ; JSR -$3C(A6) ; MOVEA.L (SP)+,A0 RTS Play ;lbC000292 TST.B $BFDD00 MOVEM.L D0-D4/D7/A0-A3/A5/A6,-(SP) TST.B lbB00059E BEQ.S lbC0002C8 ADDQ.B #1,lbB00059D MOVE.B lbB00059D(PC),D0 CMP.B lbB00059C(PC),D0 BNE.S lbC0002C6 CLR.B lbB00059D SUBQ.W #1,lbL0005B2 SUBQ.W #1,lbL0005DE lbC0002C6 BSR.S lbC0002D6 lbC0002C8 ; MOVE.W #$2000,$DFF09C MOVEM.L (SP)+,D0-D4/D7/A0-A3/A5/A6 ; RTE rts lbC0002D6 MOVEQ #0,D7 LEA lbL0005A0(PC),A0 TST.W $12(A0) BNE.S lbC0002E6 BSR.L lbC000420 lbC0002E6 LEA lbL0005CC(PC),A0 TST.W $12(A0) BNE.S lbC0002F4 BSR.L lbC000420 lbC0002F4 LEA lbL0005A0(PC),A0 LEA lbL0005CC(PC),A1 MOVEA.L lbL00058E(PC),A2 LEA $DFF000,A6 MOVE.W D7,$96(A6) MOVE.B 6(A6),D1 ADDQ.B #8,D1 lbC000310 CMP.B 6(A6),D1 BNE.S lbC000310 MOVE.W $1E(A0),$A8(A6) MOVE.W $1E(A0),$B8(A6) TST.W $14(A0) BNE.S lbC000358 ST $14(A0) MOVE.W D7,D1 AND.W $10(A0),D1 BEQ.S lbC000358 MOVE.L $18(A0),$A0(A6) MOVE.L $18(A0),$B0(A6) MOVE.W $1C(A0),$A4(A6) MOVE.W $1C(A0),$B4(A6) MOVE.W lbW00059A(PC),$A6(A6) MOVE.W lbW00059A(PC),$B6(A6) lbC000358 MOVE.W $1E(A1),$C8(A6) MOVE.W $1E(A1),$D8(A6) TST.W $14(A1) BNE.S lbC00039A ST $14(A1) MOVE.W D7,D1 AND.W $10(A1),D1 BEQ.S lbC00039A MOVE.L $18(A1),$C0(A6) MOVE.L $18(A1),$D0(A6) MOVE.W $1C(A1),$C4(A6) MOVE.W $1C(A1),$D4(A6) MOVE.W lbW00059A(PC),$C6(A6) MOVE.W lbW00059A(PC),$D6(A6) lbC00039A ORI.W #$8000,D7 MOVE.W D7,$96(A6) MOVE.B 6(A6),D1 ADDQ.B #8,D1 lbC0003A8 CMP.B 6(A6),D1 BNE.S lbC0003A8 LEA lbL0005A0(PC),A0 LEA $DFF0A0,A6 BSR.S lbC0003D8 LEA lbL0005CC(PC),A0 LEA $DFF0C0,A6 BSR.S lbC0003D8 LEA lbL0005A0(PC),A0 BSR.L lbC0004D6 LEA lbL0005CC(PC),A0 BSR.L lbC0004D6 RTS lbC0003D8 MOVE.W D7,D1 AND.W $10(A0),D1 BEQ.S lbC00041E MOVE.W $16(A0),D1 SUBQ.W #1,D1 ASL.W #2,D1 TST.W 2(A2,D1.W) BNE.S lbC0003FC MOVE.W #1,4(A6) MOVE.W #1,$14(A6) RTS lbC0003FC MOVEQ #0,D0 MOVE.W 2(A2,D1.W),D0 MOVE.L $18(A0),D2 ADD.L D0,D2 ADD.L D0,D2 MOVE.L D2,(A6) MOVE.L D2,$10(A6) SUB.W 0(A2,D1.W),D0 NEG.W D0 MOVE.W D0,4(A6) MOVE.W D0,$14(A6) lbC00041E RTS lbC000420 MOVEA.L (A0),A1 lbC000422 MOVEQ #0,D0 MOVEQ #0,D1 MOVE.B (A1)+,D0 MOVE.B (A1)+,D1 LEA lbW000438(PC),A2 ADD.W D0,D0 ADDA.W 0(A2,D0.W),A2 JSR (A2) BRA.S lbC000422 lbW000438 dc.w lbC000444-lbW000438 dc.w lbC00044A-lbW000438 dc.w lbC000450-lbW000438 dc.w lbC00047C-lbW000438 dc.w lbC0004A8-lbW000438 dc.w lbC0004B6-lbW000438 lbC000444 MOVEA.L 4(A0),A1 RTS lbC00044A MOVE.W D1,$1E(A0) RTS lbC000450 MOVE.W D1,D2 LSR.W #4,D1 TST.W D1 BEQ.S lbC00046C ADD.W D1,$1E(A0) CMPI.W #$40,$1E(A0) BLE.S lbC00047A MOVE.W #$40,$1E(A0) RTS lbC00046C ANDI.W #15,D2 SUB.W D2,$1E(A0) BPL.S lbC00047A CLR.W $1E(A0) lbC00047A RTS lbC00047C CMPI.W #$20,D1 BCC.S lbC000490 MOVE.B D1,lbB00059C CLR.B lbB00059D RTS lbC000490 MOVE.L lbL000592(PC),D2 DIVU.W D1,D2 ; LEA $BFD000,A5 ; MOVE.B D2,$400(A5) ; LSR.W #8,D2 ; MOVE.B D2,$500(A5) movem.l A1/A5,-(SP) move.l EagleBase(PC),A5 move.w D2,dtg_Timer(A5) move.l dtg_SetTimer(A5),A1 jsr (A1) movem.l (SP)+,A1/A5 RTS lbC0004A8 ADD.W D1,$12(A0) SF $14(A0) MOVE.L A1,(A0) ADDQ.L #4,SP RTS lbC0004B6 MOVEA.L lbL00058E(PC),A2 SUBQ.W #1,D1 ASL.W #2,D1 MOVE.L 8(A0),$18(A0) MOVE.W 0(A2,D1.W),$1C(A0) MOVE.W #$40,$1E(A0) OR.W $10(A0),D7 RTS lbC0004D6 TST.L $28(A0) BEQ.S lbC0004E6 MOVEA.L $20(A0),A2 MOVEA.L $24(A0),A3 BRA.S lbC000544 lbC0004E6 MOVE.W D7,D2 AND.W $10(A0),D2 BEQ.L lbC000588 MOVEA.L (A0),A1 MOVEA.L A1,A2 MOVEQ #0,D2 lbC0004F6 TST.B (A2) BNE.S lbC000508 TST.W D2 BNE.L lbC000588 MOVEQ #-1,D2 MOVEA.L 4(A0),A2 BRA.S lbC0004F6 lbC000508 CMPI.B #5,(A2) BEQ.S lbC000512 ADDQ.L #2,A2 BRA.S lbC0004F6 lbC000512 MOVEQ #0,D2 MOVE.B 1(A2),D2 CMP.W $16(A0),D2 BEQ.S lbC000588 MOVE.W D2,$16(A0) SUBQ.W #1,D2 ASL.W #2,D2 MOVEA.L lbL00058E(PC),A2 MOVEQ #0,D3 MOVE.W 0(A2,D2.W),D3 ADD.W D3,D3 MOVE.L D3,$28(A0) LEA lbL0001C4(PC),A2 MOVEA.L 0(A2,D2.W),A2 MOVEA.L 12(A0),A3 MOVE.B (A2)+,(A3)+ lbC000544 MOVE.W #$2FF,D3 lbC000548 MOVE.B (A2)+,D2 MOVE.B D2,D4 ASR.B #4,D2 ADD.B -1(A3),D2 MOVE.B D2,(A3)+ ROR.B #4,D4 ASR.B #4,D4 ADD.B -1(A3),D4 MOVE.B D4,(A3)+ SUBQ.W #2,D3 BHI.S lbC000548 BEQ.S lbC000548 MOVE.L A2,$20(A0) MOVE.L A3,$24(A0) SUBI.L #$300,$28(A0) BPL.S lbC000588 CLR.L $28(A0) MOVE.L 8(A0),D0 MOVE.L 12(A0),8(A0) MOVE.L D0,12(A0) lbC000588 RTS ;lbL00058A dc.l 0 lbL00058E dc.l 0 lbL000592 dc.l 0 ;lbL000596 dc.l 0 lbW00059A dc.w 0 lbB00059C dc.b 0 lbB00059D dc.b 0 lbB00059E dc.b 0 dc.b 0 lbL0005A0 dc.l 0 dc.l 0 dc.l 0 dc.l 0 dc.w 0 lbL0005B2 dc.l 0 dc.l 0 dc.l 0 dc.l 0 dc.l 0 dc.l 0 dc.w 0 lbL0005CC dc.l 0 dc.l 0 dc.l 0 dc.l 0 dc.w 0 lbL0005DE 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.l 0 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.l 0 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.l 0 dc.l 0 dc.l 0 dc.l 0 dc.w 0 dc.l $FFF0FFF dc.l $FFF0FFF dc.l $FFF0FFF dc.l $FFF0FFF dc.l $FFF0FFF dc.l $FFF0FFF dc.l $FFF0FFF dc.l $FFF0FFF ;lbL000678 dc.l 0 ; dc.l 0 ; dc.l 0 ; dc.l 0 lbL000688 dc.l Module Module incbin ram:mod SD2_End Section Buffer,BSS_C Buffer ds.b $24000