 ' **********************************
 ' *	    CPU_MOD PLAYER	    *
 ' *	    by Ruiz lionel	    *
 ' **********************************
 '  V0.01 Phenix soft (c)Nov94/Nov94

 CLS : PRINT "f"
 DEFINT "A-Z"
 CLEAR (700000)
 Cpu_Mod%L= MEMORY(80000)'   You have to reserve size of CPU_MOD.BIN + 70Ko	
 Module%L= MEMORY(512000)'   Size max of the desired module to reserve + 1Ko
 '			     You must be in supervisor mode (for GfA)
 Rep%=0
 BLOAD "CPU_MOD.BIN",Cpu_Mod%L
 Chem$="F:\*.*"
 Nom$=""
 MOUSEON
 Chem$="F:\ENTREES.MOD\*.*"
 Nom$="SH_GREY4.MOD"
 Length%L=70248'		 Length of the desired Module
 BLOAD LEFT$(Chem$, LEN(Chem$)-3)+Nom$,Module%L
 CALL Cpu_Mod%L(1,0,0,3,L Module%L,L Length%L)'   Power ON
 CALL Cpu_Mod%L(2,0,0,0,L Module%L,L Length%L)'   Load and work with the Mod
 CALL Cpu_Mod%L(3,0,0,3,L Module%L,L Length%L)'   Play the Mod
 REPEAT UNTIL INKEY$ <>""
 CALL Cpu_Mod%L(1,0,0,0,L Module%L,L Length%L)'   Stop and clear
 END

This is just an example of use of CPU_MOD.BIN. It can be easily translated in
GfA or any other Language. Ask to me at kirstin@odin.u-3mrs.fr if you can't
figure it. (Or by Snail Mail; see .DOC for more details).
There are also other calls possible; which are:


Error.B = CPU_MOD( Cmd.W ,0.W , Mo_St.W , Freq.W , MOD_Ad.L , MOD_Ln.L )
D0		   SP+4 	SP+8	  SP+10    SP+12      SP+16
		   Command	Stereo	  KHz	   AdresseMod Longueur du Mod
Error= 0:No error
      -1:Error (Power OFF ? , Incorrect module ? , No module ?)

Cmd=	0:-
	1:Power OFF/ON					       [Esc]
	2:Open new module at address=MOD_Ad and length=MOD_Ln
	3:Pause/Play					       [SP]
	4:Stop						       [-]
	5:Song position Reverse Search			       [(]
	6:Song position Forward Search			       [)]
	7:Fast Forward OFF/ON				       [+]
	8:Repeat mode OFF/ON				       [.]

Mo_St= 0:-
       1:Mono/Stereo					       [*]

Freq=  0:-
       1: 6258 Hz (Default)				       [0]
       2:12517 Hz					       [1]
       3:25033 Hz					       [2]
       4:50066 Hz					       [3]
