Creative SB0350 Hardware Programming Guide - Page 42
Creative SB0350 Manual
View all Creative SB0350 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 42 highlights
Digitized Sound I/O Programming 3-13 8-bit Mono Single-cycle Transfer The following are the steps needed to perform 8-bit mono PCM and ADPCM singlecycle DMA mode transfer: 1. 2. 3. Set up the DSP interrupt service routine. Enable the interrupt used. Turn on the DAC speaker for digitized output. Otherwise, turn it off. to turn off the DAC speaker outp(wSBCBaseAddx+0xC, 0xD3) to turn on the DAC speaker outp(wSBCBaseAddx+0xC, 0xD1) Program the DMA controller for 8-bit single-cycle DMA mode transfer. Set the DSP transfer Time Constant. outp(wSBCBaseAddx+0xC, 0x40) outp(wSBCBaseAddx+0xC, bTimeConstant) 4. 5. 6. Send an I/O command followed by data transfer count. outp(wSBCBaseAddx+0xC, bCommand) outp(wSBCBaseAddx+0xC, wLength.LowByte) outp(wSBCBaseAddx+0xC, wLength.HighByte) bCommand is one of the following: bCommand 24h 14h 75h 77h 17h Description 8-bit PCM input 8-bit PCM output 8-bit to 4-bit ADPCM output with reference byte 8-bit to 3-bit ADPCM output with reference byte 8-bit to 2-bit ADPCM output with reference byte wLength is one less than the actual number of bytes to be transferred. For example, to transfer 8KB of 8-bit PCM data, wLength = 2000h - 1 = 1FFFh Hence, wLength.LowByte = 0FFh and wLength.HighByte = 1Fh. The transfer begins here. The DSP will generate an interrupt after transferring the programmed number of bytes.