First commit 09/12/1994

This commit is contained in:
2021-09-03 17:43:05 +02:00
commit 89a9bade50
18 changed files with 6079 additions and 0 deletions

98
SONIDO.ASM Normal file
View File

@ -0,0 +1,98 @@
_TEXT SEGMENT BYTE PUBLIC 'CODE'
ASSUME CS:_TEXT
DIR_VOC DD 0
DIR_SFXDRV DD 0
;------------------------------------------------------------------------------;
; INICIALIZACION DEL SFX DRIVER ;
;------------------------------------------------------------------------------;
; entrada: BX = n<> de la funci<63>n ;
; ES:DI = dir. de la variable word de estado ;
; [CS:DIR_SFXDRV] = dir. de la rutina ct-voice ;
; ;
; salida: AX = 0 si la tarjeta de sonido est<73> instalada ;
; = -1 si no hay tarjeta de sonido ;
;------------------------------------------------------------------------------;
PUBLIC _INICIALIZADRV
_INICIALIZADRV PROC NEAR
PUSH BP
MOV BP,SP
PUSH BX
PUSH DI
PUSH ES
LES DI,[BP+4]
MOV WORD PTR CS:[DIR_SFXDRV],DI
MOV WORD PTR CS:[DIR_SFXDRV+2],ES
MOV BX,3
CALL DWORD PTR CS:[DIR_SFXDRV]
CMP AX,0
JNZ NO_HAY_TARJ
MOV BX,5
LES DI,[BP+8]
CALL DWORD PTR CS:[DIR_SFXDRV]
XOR AX,AX
NO_HAY_TARJ: POP ES
POP DI
POP BX
POP BP
RET
_INICIALIZADRV ENDP
;------------------------------------------------------------------------------;
; ELIGE UN FICHERO DE SONIDO ;
;------------------------------------------------------------------------------;
; entrada: ES:DI = dir. del fichero de sonido .VOC ;
;------------------------------------------------------------------------------;
PUBLIC _ELIGEFICHFX
_ELIGEFICHFX PROC NEAR
PUSH BP
MOV BP,SP
PUSH DI
PUSH ES
LES DI,[BP+4]
MOV WORD PTR CS:[DIR_VOC],DI
MOV WORD PTR CS:[DIR_VOC+2],ES
POP ES
POP DI
POP BP
RET
_ELIGEFICHFX ENDP
;------------------------------------------------------------------------------;
; LLAMADA AL CT-SOUND DRIVER ;
;------------------------------------------------------------------------------;
; entrada: BX = n<> de la funci<63>n ;
; ES:DI = dir. del fichero de sonido .VOC ;
; [CS:DIR_SFXDRV] = dir. de la rutina ct-voice ;
;------------------------------------------------------------------------------;
PUBLIC _SOUNDFXDRIVER
_SOUNDFXDRIVER PROC NEAR
PUSH BP
MOV BP,SP
PUSH BX
PUSH DI
PUSH ES
MOV BX,[BP+4]
LES DI,CS:[DIR_VOC]
CMP BX,6
JNE NO_INI
ADD DI,ES:[DI+14h] ;ES:DI=dir. del data block
NO_INI: CALL DWORD PTR CS:[DIR_SFXDRV]
POP ES
POP DI
POP BX
POP BP
RET
_SOUNDFXDRIVER ENDP
_TEXT ENDS
END