Files
lba1-classic/LIB386/LIB_SAMP/WAVE_I.ASM

228 lines
4.6 KiB
NASM

;*──────────────────────────────────────────────────────────────────────────*
; SAMP_A.ASM 386
; (c) Adeline 1993
;*──────────────────────────────────────────────────────────────────────────*
;*--------------------------------------------------------------------------*
.386
jumps
.model SMALL, SYSCALL
.DATA
PUBLIC NoLanguage Wave_listfcts
PUBLIC NoLanguage Wave_Driver_Enable
Wave_listfcts dd 0
Wave_Driver_Enable dd 0
.CODE
PUBLIC NoLanguage _InitCard
PUBLIC NoLanguage _ClearCard
PUBLIC NoLanguage WaveAskVars
PUBLIC NoLanguage WavePlay
PUBLIC NoLanguage WaveGiveInfo0
PUBLIC NoLanguage WaveStop
PUBLIC NoLanguage WaveStopOne
PUBLIC NoLanguage WaveInList
PUBLIC NoLanguage WaveGetSnap
PUBLIC NoLanguage WavePause
PUBLIC NoLanguage WaveContinue
PUBLIC NoLanguage WaveSaveState
PUBLIC NoLanguage WaveRestoreState
PUBLIC NoLanguage WaveChangeVolume
PUBLIC NoLanguage WaveGetAddr
PUBLIC NoLanguage _GetBufferSize
PUBLIC NoLanguage WaveChangeVolume
PUBLIC NoLanguage WaveMove
PUBLIC NoLanguage WaveStopOneLong
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
WaveCallFuncs PROC
cmp byte ptr[Wave_Driver_Enable], 0
je return
shl eax, 2
add eax, dword ptr[Wave_listfcts]
jmp dword ptr[eax]
return:
xor eax, eax ; FALSE, NULL or 0
ret
WaveCallFuncs ENDP
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
_InitCard PROC
mov eax, 0
jmp WaveCallFuncs
_InitCard ENDP
;----------------------------------------------------------------------------
_ClearCard PROC
mov eax, 1
jmp WaveCallFuncs
_ClearCard ENDP
;----------------------------------------------------------------------------
WaveAskVars PROC
mov eax, 2
jmp WaveCallFuncs
WaveAskVars ENDP
;*--------------------------------------------------------------------------*
WavePlay PROC
mov eax, 3
jmp WaveCallFuncs
WavePlay ENDP
;----------------------------------------------------------------------------
WaveGiveInfo0 PROC
mov eax, 4
jmp WaveCallFuncs
WaveGiveInfo0 ENDP
;*--------------------------------------------------------------------------*
WaveStop PROC
mov eax, 5
jmp WaveCallFuncs
WaveStop ENDP
;*--------------------------------------------------------------------------*
WaveStopOne PROC
mov eax, 6
jmp WaveCallFuncs
WaveStopOne ENDP
;*--------------------------------------------------------------------------*
WaveInList PROC
mov eax, 7
jmp WaveCallFuncs
WaveInList ENDP
;----------------------------------------------------------------------------
WaveGetSnap PROC
mov eax, 8
jmp WaveCallFuncs
WaveGetSnap ENDP
;*--------------------------------------------------------------------------*
WavePause PROC
mov eax, 9
jmp WaveCallFuncs
WavePause ENDP
;*--------------------------------------------------------------------------*
WaveContinue PROC
mov eax, 10
jmp WaveCallFuncs
WaveContinue ENDP
;----------------------------------------------------------------------------
WaveSaveState PROC
mov eax, 11
jmp WaveCallFuncs
WaveSaveState ENDP
;----------------------------------------------------------------------------
WaveRestoreState PROC
mov eax, 12
jmp WaveCallFuncs
WaveRestoreState ENDP
;----------------------------------------------------------------------------
WaveGetAddr PROC
mov eax, 13
jmp WaveCallFuncs
WaveGetAddr ENDP
;----------------------------------------------------------------------------
_GetBufferSize PROC
mov eax, 14
jmp WaveCallFuncs
_GetBufferSize ENDP
;----------------------------------------------------------------------------
WaveChangeVolume PROC
mov eax, 15
jmp WaveCallFuncs
WaveChangeVolume ENDP
;----------------------------------------------------------------------------
WaveMove PROC
mov eax, 16
jmp WaveCallFuncs
WaveMove ENDP
;----------------------------------------------------------------------------
WaveStopOneLong PROC
mov eax, 17
jmp WaveCallFuncs
WaveStopOneLong ENDP
;----------------------------------------------------------------------------
END