home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1996-10-23 | 2.8 KB | 93 lines |
- 'Doc's Audio 1.0 - Kamikaze (LLFB)
- 'Changes...V.-1.1: PROTRACKER-Player library adapted by Lobo (LLFB) (HI KAMIKAZE!)
- Break Off
- Led Off
- Global M,MD_POINTER,MD_NAME$
- Unpack 6 To 0
- Erase 6
- Limit Mouse 128,42 To 436,286
- Reserve Zone 3
- Set Zone 1,147,433 To 242,486 : Set Zone 2,282,433 To 374,486 : Set Zone 3,415,433 To 502,486
- 'Llamada a la libreria (Usa canal 2 de lib open para compatibilidad con mi procedure de Doc's.)
- If Exist("LIBS:ptreplay.library") Then Lib Open 2,"ptreplay.library",0 Else End
- Proc MENU
- Procedure MENU
- Do
- Screen 0
- MZ=Mouse Zone : MK=Mouse Click
- If(MZ=1 and MK=1) Then Proc CARGAR
- If(MZ=2 and MK=1 and MD_POINTER>0 and M=0) Then M=1 : Proc MD_CON[1]
- If(MZ=3 and MK=1 and MD_POINTER>0 and M=1) Then M=0 : Proc MD_CON[2]
- If Key State(69) Then Exit
- Wait Vbl
- Loop
- Proc SALIDA
- End Proc
- Procedure CARGAR
- F$=Fsel$("","","Elige el modulo a cargar")
- If F$="" Then Pop Proc
- If F$<>""
- Open In 1,F$
- Line Input #1,L$
- 'Protracker seguro?
- Pof(1)=1080
- FMA$=Input$(1,4)
- Close 1
- If FMA$="M.K." or FMA$="M!K!" or FMA$="FLT4"
- If MD_POINTER>0
- Proc MD_CON[2]
- Proc MD_CON[3]
- End If
- MD_POINTER=0
- MD_NAME$=F$
- L$=L$-Chr$(10)
- L$=L$-Chr$(13)
- Proc MD_CON[4]
- Ink 2,1
- Cls 1,0,498 To 640,511
- Text 200,498,"Memoria CHIP libre: "+Str$(Chip Free)
- Text 200,506,"Modulo: "+L$
- M=1 : Proc MD_CON[1]
- End If
- End If
- End Proc
- Procedure MD_CON[CONTROL]
- 'Control variable: (Valores implementados)
- '1=play 2=stop 3=eliminar mod. 4=cargar mod.
- 'Master, control. Procedure BY Lobo (Kickin' ass!)
- If CONTROL>4 or CONTROL<1 Then Pop Proc[-1]
- ' * Play muzak!
- If CONTROL=1
- If MD_POINTER=0 : RESULT=-1 : Pop Proc[RESULT] : End If
- Areg(0)=MD_POINTER
- RESULT=Lib Call(2,-42)
- End If
- ' * Stop muzak!
- If CONTROL=2
- If MD_POINTER=0 : RESULT=-1 : Pop Proc[RESULT] : End If
- Areg(0)=MD_POINTER
- RESULT=Lib Call(2,-48)
- End If
- ' * WipEoUt muzak
- If CONTROL=3
- If MD_POINTER=0 : RESULT=-1 : Pop Proc[RESULT] : End If
- Areg(0)=MD_POINTER
- RESULT=Lib Call(2,-48)
- Wait Vbl
- Areg(0)=MD_POINTER
- RESULT=Lib Call(2,-36)
- End If
- 'Llamada a la libreria para cargar el modulo (NO SOPORTA AMOS TRACKER-BANK!)
- If CONTROL=4
- If MD_NAME$="" : RESULT=-1 : Pop Proc[RESULT] : End If
- Areg(0)=Varptr(MD_NAME$)
- MD_POINTER=Lib Call(2,-30)
- End If
- 'OJO!, LAS VARIABLES MD_POINTER y MD_NAME$ HAN DE SER GLOBALES!!!, si no, esto no va!...
- Led Off : Wait Vbl
- End Proc[RESULT]
- Procedure SALIDA
- If MD_POINTER>0 : Proc MD_CON[2] : Proc MD_CON[3] : End If
- Lib Close 2
- End
- End Proc