Metropoli BBS
VIEWER: csndms.asm MODE: TEXT (ASCII)
;	CSOUND.ASM
;
; interface langage C du sound-driver resident.
;
; 87/03/18, Marc Savary, Ad Lib.
; 88/03/1,  Benoit Robitaille, Ad Lib.
;
;
	INCLUDE	VERSION.INC
	INCLUDE	CMICRO.MAC		; for Microsoft C 5.0

	INCLUDE DEFS.MAC		; equates & sound-driver version proc.



	PSEG CSOUND

	INCLUDE VERSION.MAC		; signature du sound-driver ...

;
;	unsigned GetSoundDrvVersion()
;		retourne le numero de version du sound-driver
;		charge en memoire, ou 0 si non-charge.
; 		utilise la MACRO ..
;
	DrvVersionProc _GetSoundDrvVersion




;	int SoundCall( functionNumber, arg_list)
;		int functionNumer;
;		any... arg_list
;
;	genere l'interruption au sound driver
;	avec l'address des arguments dans ES:BX,
;	et le numero de function dans SI

aaframe	STRUC
		dw	?		; old BP
		db	CPSIZE DUP (?)	; return addr
aaargs		dw	?		; function number
others		dw	?		; from this point... all other param.
aaframe	ENDS	

BEGIN _SoundCall

	penter	0			; Normal C calling format ( 0= Local variables)
	push	es

	mov	si, [bp].aaargs		; get function number
	lea	bx, [bp].others		; get pointers to others args...
	push	ss
	pop	es
	int	sound_driver_int	; call sound-driver ...

	pop	es
	pleave	0			; Restore Stack pointers ( sp, bp)
_SoundCall	ENDP




; ===================================================================
;
;	definition des fonction qui remplacent les anciens appels
;	au sound-driver en C.
;

fInitSon	equ	0
fFinSon		equ	1
fEcrTempsDebut	equ	2
fActiveSon	equ	3
fLisSonActif	equ	4
fChut		equ	5
fEcrMode	equ	6
fLisMode	equ	7
fEcrVolume	equ	8
fEcrTempo	equ	9
fEcrDiapason	equ	10
fLisDiapason	equ	11
fEcrFileAct	equ	12
fLisFileAct	equ	13
fJouePoly	equ	14
fJoueNote	equ	15
fEcrTimbre	equ	16
fEcrPitch	equ	17
fEcrTickTemps	equ	18
fSoundOn	equ	19
fSoundOff	equ	20
fSetVParam	equ	21


	ENDPS CSOUND
	end


[ RETURN TO DIRECTORY ]