Creative SB0350 Hardware Programming Guide - Page 45
Creative SB0350 Manual
View all Creative SB0350 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 45 highlights
3-16 Digitized Sound I/O Programming When the DSP sends an interrupt, the following steps should be done in the interrupt service routine: 1. Transfer data between the DMA buffer and the storage buffer. To stop auto-initialize DMA mode, you can either send the exit auto-initialize DMA mode command or program the DSP for single-cycle DMA mode transfer. 2a. Send the exit auto-initialize DMA command. outp(wSBCBaseAddx+0xC, 0xDA) Upon receiving the exit auto-initialize DMA mode command, the DSP will exit auto-initialize DMA mode immediately at the end of the current block transfer. 2b. Program the DSP for single-cycle DMA mode transfer. outp(wSBCBaseAddx+0xC, bCommand) outp(wSBCBaseAddx+0xC, wLength.LowByte) outp(wSBCBaseAddx+0xC, wLength.HighByte) bCommand is one of the following: bCommand 24h 14h 74h 76h 16h Description 8-bit PCM input 8-bit PCM output 8 bit to 4 bit ADPCM output without reference byte 8 bit to 3 bit ADPCM output without reference byte 8 bit to 2 bit ADPCM output without reference byte At the end of data transfer: 1. 2. 3. 4. Turn off the DAC speaker. outp(wSBCBaseAddx+0xC, 0xD3) Disable the interrupt used. Restore the original interrupt service routine. Release the allocated DMA buffer.