3-22
Digitized Sound I/O Programming
8.
Set the DSP block transfer size.
outp(wSBCB0xC, 0x48)
outp(wSBCB0xC, wBlkSize.LowByte)
outp(wSBCB0xC, wBlkSize.HighByte)
wBlkSize
is one less than the actual transfer size.
9.
Send an I/O command to start high-speed single-cycle DMA mode
transfer.
outp(wSBCB0xC, bCommand)
bCommand
is one of the following:
bCommand
Description
99h
8-bit PCM high-speed input
91h
8-bit PCM high-speed output
Upon receiving an interrupt from the DSP, the following steps should be done in the
interrupt service routine:
1.
Program the DMA controller for subsequent block.
2.
Set the DSP block size and program the DSP for the next block.
At the end of data transfer:
1.
Restore the filter status.
a.
For stereo input:
outp(wSBCB0x4, 0xC)
outp(wSBCB0x5, bInputFilter)
b.
For stereo output:
outp(wSBCB0x4, 0xE)
outp(wSBCB0x5, bOutputFilter)
2.
Set the hardware to mono mode.
a.
For stereo input:
outp(wSBCB0xC, 0xA0)
b.
For stereo output:
outp(wSBCB0x4, 0xE)
bTmp = inp(wSBCB0x5)
outp(wSBCB0x5, (bTmp & 0xFD))
3.
Turn off the DAC speaker.
outp(wSBCB0xC, 0xD3)
4.
Disable the interrupt used.
5.
Restore the original interrupt service routine.
During high-speed DMA mode data I/O, the DSP will not accept any commands.
Hence, to stop data transfer before the end of a block, send the reset DSP command.
Содержание SB0350
Страница 29: ......
Страница 71: ...Mixer Chip Programming 4 13 Figure 4 4 Logical Schematic of the Output Mixing Paths ...
Страница 72: ...4 14 Mixer Chip Programming Figure 4 5 Logical Schematic of the Input Mixing Paths ...
Страница 141: ...Index3 ...