Creative SB0350 Programming Manual page 53

Hardware programming guide
Table of Contents

Advertisement

3-24
Digitized Sound I/O Programming
9.
10. Send an I/O command to start high-speed auto-initialize DMA mode
Upon receiving an interrupt from the DSP, the following step should be done in the
interrupt service routine:
1.
To stop high-speed auto-initialize DMA mode, send the reset DSP command.
At the end of data transfer:
1.
2.
Set the DSP block transfer size.
outp(wSBCBaseAddx+0xC, 0x48)
outp(wSBCBaseAddx+0xC, wBlkSize.LowByte)
outp(wSBCBaseAddx+0xC, wBlkSize.HighByte)
wBlkSize is one less than the actual transfer size.
transfer.
outp(wSBCBaseAddx+0xC, bCommand)
bCommand is one of the following:
bCommand
Description
98h
8-bit PCM high-speed input
90h
8-bit PCM high-speed output
Transfer data between the DMA buffer and the storage buffer.
Restore the filter status.
a.
For stereo input:
outp(wSBCBaseAddx+0x4, 0xC)
outp(wSBCBaseAddx+0x5, bInputFilter)
b.
For stereo output:
outp(wSBCBaseAddx+0x4, 0xE)
outp(wSBCBaseAddx+0x5, bOutputFilter)
Set the hardware to mono mode.
a.
For stereo input:
outp(wSBCBaseAddx+0xC, 0xA0)
b.
For stereo output:
outp(wSBCBaseAddx+0x4, 0xE)
bTmp = inp(wSBCBaseAddx+0x5)
outp(wSBCBaseAddx+0x5, (bTmp & 0xFD))

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents