+++ /dev/null
-/*
- Sound card operations
-
- http://www.cae.wisc.edu/~brodskye/sb16doc/sb16doc.html
-*/
-
-#include <ntddk.h>
-#include "sndblst.h"
-
-VOID SetOutputSampleRate(ULONG BasePort, ULONG SampleRate)
-{
- // This only works for DSP v4.xx ONLY - need a workaround!
- DPRINT("Setting output sample rate\n");
-
- // WAIT
-// if (! WaitToSend(BasePort))
-// return;
-
- SB_WRITE_BYTE(BasePort, SB_SET_OUTPUT_RATE);
- SB_WRITE_BYTE(BasePort, SampleRate / 256); // high
- SB_WRITE_BYTE(BasePort, SampleRate % 256); // low
-}
-
-
-VOID EnableSpeaker(ULONG BasePort, BOOLEAN SpeakerOn)
-{
- DPRINT("Setting speaker status %d\n", SpeakerOn);
-
-// if (! WaitForWrite(BasePort))
-// return;
-
- SB_WRITE_BYTE(BasePort, SpeakerOn ? SB_ENABLE_SPEAKER : SB_DISABLE_SPEAKER);
-}
-
-
-BOOLEAN IsSpeakerEnabled(ULONG BasePort)
-{
- DPRINT("Obtaining speaker status\n");
-
-// if (! WaitToSend(BasePort))
-// return FALSE;
-
- SB_WRITE_BYTE(BasePort, SB_GET_SPEAKER_STATUS);
- if (! WaitToReceive(BasePort))
- return FALSE;
-
- return SB_READ_DATA(BasePort) == 0xff;
-}
-
-
-VOID BeginPlayback(ULONG BasePort, ULONG BitDepth, ULONG Channels, ULONG BlockSize)
-{
- DPRINT("BeginPlayback(%d, %d, %d, %d)\n", BasePort, BitDepth, Channels, BlockSize);
-
-// switch(BitDepth)
-// {
-// case 8 : Command = 0xc0; break;
-// case 16 : Command = 0xb0; break; // Make sure we support it
-// default : Command = 0xc0;
-// }
-
- DPRINT("Initiating playback\n");
-
- // TEMPORARY:
- SB_WRITE_BYTE(BasePort, 0xc6);
- SB_WRITE_BYTE(BasePort, 0); // mode - TEMPORARY
- SB_WRITE_BYTE(BasePort, BlockSize % 256);
- SB_WRITE_BYTE(BasePort, BlockSize / 256);
-}