                INCLUDE SoundDevices.INC


EXTRN DSPWritePort : WORD
EXTRN SbSplTimeout : WORD
EXTRN SbCmdTimeout : WORD


MACRO  SBLoop Tout
LOCAL @@tst, @@cnt

                MOV     DX,[DSPWritePort]
                MOV     BX,Tout
@@tst:
                 DEC    BX
                 JZ     @@cnt
                 IN     AL,DX
                 TEST   AL,80h
                 JNZ    @@tst
@@cnt:

ENDM  SBLoop


                CODESEG

PUBLIC SBIntHandler

SBIntHandler:
                Chunk1

                Chunk21

                Chunk221

                SBLoop  [SbCmdTimeout]
                MOV     AL,10h
                OUT     DX,AL

                Chunk222

                MonoChunk31

                Chunk41

                SBLoop  [SbSplTimeout]
                MOV     AL,CL
                OUT     DX,AL

                Chunk5

PUBLIC DMASBIntHandler
PUBLIC DMASBTimHandler

DMASBIntHandler:
                Chunk1

                SBLoop  [SbCmdTimeout]
                MOV     AL,10h
                OUT     DX,AL

                Chunk2

                MonoChunk31

                Chunk41 8

                SBLoop  [SbSplTimeout]
                MOV     AL,CL
                OUT     DX,AL

                Chunk51

DMASBTimHandler:
                Chunk1

                SBLoop  [SbCmdTimeout]
                MOV     AL,10h
                OUT     DX,AL

                Chunk2

                MonoChunk31

                Chunk41 8

                SBLoop  [SbSplTimeout]
                MOV     AL,CL
                OUT     DX,AL

                Chunk51

END
