home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Audio 4.94 - Over 11,000 Files
/
audio-11000.iso
/
msdos
/
sndbords
/
proaudio
/
pcmtlsrc
/
pcm.arj
/
MVSTATE.ASM
< prev
next >
Wrap
Assembly Source File
|
1992-09-01
|
3KB
|
113 lines
;$Author: BCRANE $
;$Date: 01 Sep 1992 13:33:54 $
;$Header: X:/sccs/sdkapp/mvstate.asv 1.1 01 Sep 1992 13:33:54 BCRANE $
;$Log: X:/sccs/sdkapp/mvstate.asv $
;
; Rev 1.1 01 Sep 1992 13:33:54 BCRANE
; moved data to mvsound.asm, code to end of program to be jettisoned on exit
;
; Rev 1.0 31 Aug 1992 09:46:18 BCRANE
; Initial revision.
;
; Rev 1.4 24 Jul 1992 15:41:14 DCODY
; The function now will search for the board in 4 locations if the
; user passes in a 0 as the base address.
;
; Rev 1.3 20 Jul 1992 11:46:18 DCODY
; Makes up to 4 passes to find the hardware at up to 4 I/O addresses.
;
; Rev 1.2 17 Jul 1992 14:02:32 DCODY
; moved TheDMAChannel and TheIRQChannel into gethw. Also declared a copy
; of mvtranslatecode in the code segment.
;
; Rev 1.1 23 Jun 1992 16:32:50 DCODY
; PAS2 update
;
; Rev 1.0 15 Jun 1992 09:39:50 BCRANE
; Initial revision.
;$Logfile: X:/sccs/sdkapp/mvstate.asv $
;$Modtimes$
;$Revision: 1.1 $
page 64,131
subttl MVSTATE -- Audio Spectrum Sound Support Code
; /*\
; |*|----====< MVSTATE >====----
; |*|
; |*| This module maintains the state table and pointer
; |*|
; |*| Media Vision, Inc. Copyright (c) 1991,1992. All Rights Reserved.
; |*|
; \*/
.xlist
; include model.inc
; include masm.inc
; include state.inc
; include common.inc
.list
; .code
;
; /*\
;---|*|---------------====< MVInitStatePtr() >====---------------
;---|*|
;---|*| Initializes the state table pointer.
;---|*|
;---|*| Entry Conditions:
;---|*| None
;---|*|
;---|*| Exit Conditions:
;---|*| DX:AX point to the state table
; \*/
public MVInitStatePtr
MVInitStatePtr proc
;
; this code can only be processed once per loading
;
cmp wptr [mvhwShadowPointer+2],0 ; have we been here?
jnz imvsp_done ; yes, don't do this again
;
; setup a pointer to our local hardware state table
;
lea bx,HardwareShadowTable
mov wptr [mvhwShadowPointer+0],bx
mov wptr [mvhwShadowPointer+2],ds
mov [bx._audiomixr],31h ; lowest filter setting
mov [bx._crosschannel],09h ; cross channel l-2-l, r-2-r
;
; find the int 2F interface and if found, use it's state table pointer
;
mov ax,0BC00h ; MVSOUND.SYS ID check
mov bx,'??'
sub cx,cx
sub dx,dx
int 2fh ; will return something if loaded
xor bx,cx
xor bx,dx
cmp bx,'MV' ; is the int 2F interface here?
jnz imvsp_done ; no, exit home
mov ax,0BC02H ; get the pointer
int 2fh
cmp ax,'MV' ; busy or intercepted
jnz imvsp_done
mov wptr [mvhwShadowPointer+0],bx
mov wptr [mvhwShadowPointer+2],dx
;
imvsp_done:
mov ax,wptr [mvhwShadowPointer+0]
mov dx,wptr [mvhwShadowPointer+2]
ret
MVInitStatePtr endp