Creative SB0350 Hardware Programming Guide - Page 53
Creative SB0350 Manual
View all Creative SB0350 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 53 highlights
3-24 Digitized Sound I/O Programming 9. 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. 10. Send an I/O command to start high-speed auto-initialize DMA mode transfer. outp(wSBCBaseAddx+0xC, bCommand) bCommand is one of the following: bCommand 98h 90h Description 8-bit PCM high-speed input 8-bit PCM high-speed output Upon receiving an interrupt from the DSP, the following step should be done in the interrupt service routine: 1. Transfer data between the DMA buffer and the storage buffer. To stop high-speed auto-initialize DMA mode, send the reset DSP command. At the end of data transfer: 1. Restore the filter status. a. b. For stereo input: outp(wSBCBaseAddx+0x4, 0xC) outp(wSBCBaseAddx+0x5, bInputFilter) For stereo output: outp(wSBCBaseAddx+0x4, 0xE) outp(wSBCBaseAddx+0x5, bOutputFilter) 2. Set the hardware to mono mode. a. b. For stereo input: outp(wSBCBaseAddx+0xC, 0xA0) For stereo output: outp(wSBCBaseAddx+0x4, 0xE) bTmp = inp(wSBCBaseAddx+0x5) outp(wSBCBaseAddx+0x5, (bTmp & 0xFD))