Creative SB0350 Hardware Programming Guide

Creative SB0350 Manual

Creative SB0350 manual content summary:

  • Creative SB0350 | Hardware Programming Guide - Page 1
    Sound Blaster Series Hardware Programming Guide „ Hardware Overview „ Digital Sound Processor „ Mixer „ MIDI Port
  • Creative SB0350 | Hardware Programming Guide - Page 2
    ARE THE ONLY ONLINE SITES WHERE USERS MAY DOWNLOAD ELECTRONIC FILES CONTAINING THE MANUAL AND/OR SOFTWARE, (2) LICENSEE SHALL USE THE MANUAL AND/OR SOFTWARE ONLY FOR THE PURPOSE OF DEVELOPING LICENSEE APPLICATIONS COMPATIBLE WITH CREATIVE'S SOUND BLASTER SERIES OF PRODUCTS, UNLESS OTHERWISE AGREED
  • Creative SB0350 | Hardware Programming Guide - Page 3
    in the manual and software will be uninterrupted or error free and Licensee is encouraged to test the software for Licensee's intended use prior to placing any reliance thereon. Copyright 1993-1996 by Creative Technology Ltd. All rights reserved. Sound Blaster, Sound Blaster Pro, Sound Blaster 16
  • Creative SB0350 | Hardware Programming Guide - Page 4
    Should Know...ix Scope and Manual Organization...ix Document Conventions...x Determining User's Sound Blaster Card ...xii Determining User's Card Settings...xiii Chapter 1 Hardware Overview Anatomy of Sound Blaster Family of Audio Cards...1-2 Digital Sound Processor Chip...1-2 Mixer Chip...1-3 FM
  • Creative SB0350 | Hardware Programming Guide - Page 5
    -initialize Transfer...3-22 8-bit or 16-bit Single-cycle Transfer...3-25 8-bit or 16-bit Auto-initialize Transfer...3-27 Chapter 4 Mixer Chip Programming Programming Sequence...4-2 CT1335 Mixer ...4-4 Features ...4-4 Register Functions ...4-4 CT1345 Mixer ...4-6 Features ...4-6 Register Functions
  • Creative SB0350 | Hardware Programming Guide - Page 6
    Contents Appendix A Sound Blaster I/O Address Maps SB1.5 I/O Address Map...A-2 SBMCV I/O Address Map ...A-3 SB2.0 I/O Address Map...A-4 SB2CD I/O Address Map...A-5 SBPRO I/O Address Map ...A-6 SBPRO MCV I/O Address Map...A-9 SB16 I/O Address Map...A-10 Appendix B File Format Creative Voice File
  • Creative SB0350 | Hardware Programming Guide - Page 7
    Block Diagram of the Sound Blaster 2.0 CD Interface ...1-7 Block Diagram of the Sound Blaster Pro...1-8 Block Diagram of the Sound Blaster 16 Advanced Signal Processing ...1-9 PCM sample size...3-2 Order of 8-bit mono PCM data...3-3 Order of 8-bit stereo PCM data...3-3 Order of 16-bit mono PCM data
  • Creative SB0350 | Hardware Programming Guide - Page 8
    This manual documents the programming interface to the main Creative-specific Sound Blaster hardware components; namely the Digital Sound Processor (DSP), Mixer chip, and MIDI Port. The Digital Sound Processor handles digitized sound recording and playback. It supports 8- or 16-bit digitized sound
  • Creative SB0350 | Hardware Programming Guide - Page 9
    interrupt and DMA channels of Sound Blaster cards. Some chapters in this manual assume additional knowledge on your part. The introductions to these chapters will list these assumptions. Scope and Manual Organization This manual focuses on the Creative-specific hardware programming of the following
  • Creative SB0350 | Hardware Programming Guide - Page 10
    information for digitized sound I/O. This covers 8-bit and 16-bit, mono and stereo, high-speed and auto-initialize DMA programming. Chapter 4, "Mixer Chip Programming", discusses the essentials for control of the mixer chip. Chapter 5, "MIDI Port I/O Programming", discusses Sound Blaster MIDI Port
  • Creative SB0350 | Hardware Programming Guide - Page 11
    this manual: Example line indicate that you must provide the actual value of the enclosed item. It should not be typed verbatim. Slash in a command line indicates an either/or choice. It should not be typed verbatim. Acronyms are usually spelled out the first time they are used. / Sound Blaster
  • Creative SB0350 | Hardware Programming Guide - Page 12
    number 3. This means DSPs with major version number 4. Determining User's Sound Blaster Card Sound Blaster cards can be distinguished by their DSP version numbers. The table below lists the Sound Blaster cards and their respective DSP version numbers: Cards SB1.5, SBMCV SB2.0 SBPRO, SBPRO MCV SB16
  • Creative SB0350 | Hardware Programming Guide - Page 13
    DMA channel used by the Sound Blaster card. The command for setting the BLASTER environment is as follows: SET BLASTER=A220 I5 D1 [H5 M220 P330] where: A I D H M P specifies the Sound Blaster card's base I/O port specifies the interrupt request line specifies the 8-bit DMA channel specifies the 16
  • Creative SB0350 | Hardware Programming Guide - Page 14
    chapter gives an overview of the hardware architecture of the Sound Blaster family of audio cards. It is meant for developers who intend to do hardware level programming. Major building blocks of the Sound Blaster family cards and their functionalities will be discussed. This chapter also covers
  • Creative SB0350 | Hardware Programming Guide - Page 15
    communication path between Host and the Advanced Signal Processor (Sound Blaster 16 Advanced Signal Processing only) Provides the Advanced Signal Processor's code downloading (Sound Blaster 16 Advanced Signal Processing only) Provides DAC speaker control Controls various modes of DMA transfer
  • Creative SB0350 | Hardware Programming Guide - Page 16
    of the mixer chip is to mix signals from different input sources and to provide software volume control capabilities. All cards in the Sound Blaster family, except SB2.0 and earlier version of Sound Blaster cards, has mixer chip. Currently, there are three versions of mixer chip: CT1335 , CT1345 and
  • Creative SB0350 | Hardware Programming Guide - Page 17
    , and interrupt channel sharing by three different processes (8-bit digitized sound, 16-bit digitized sound and MIDI). Advanced Signal Processor Chip The Advanced Signal Processor, used on Sound Blaster 16 Advanced Signal Processing cards, is a technological breakthrough. It can perform high speed
  • Creative SB0350 | Hardware Programming Guide - Page 18
    Processor, including downloading, is handled by a device-level driver called CSP.SYS. You can access this device driver via the Creative Multimedia System (CTMMSYS) driver. Refer to the chapters "Creative Multimedia System Driver" in the Programmer's Guide and Library Reference manuals for details.
  • Creative SB0350 | Hardware Programming Guide - Page 19
    the introduction to the major building blocks of Sound Blaster cards, we will now present the block diagrams for SB2.0, SB2CD, SBPRO and SB16. JOYSTICK PORT MIDI PORT COMMAND/ DATA CT1351 DSP CT1336 BUS INTERFACE CHIP CONTROL AD/DA FILTER AGC MIC LINE IN ISA BUS FM SYNTHESIZER POWER AMP
  • Creative SB0350 | Hardware Programming Guide - Page 20
    IN SPKR ISA BUS CD Interface TO CD-ROM Drive Figure 1-3: Block Diagram of the Sound Blaster 2.0 CD Interface The SB2CD is the CD-ROM upgrade for SB2.0. It provides a CD-ROM interface which the SB2.0 does not have. It also includes an audio mixer for software volume control and a power amplifier
  • Creative SB0350 | Hardware Programming Guide - Page 21
    CT1336 BUS INTERFACE CHIP CONTROL VOICE DATA AGC CONTROL CT1345 MIXER CHIP CD IN MIC IN ISA BUS CONTROL LINE IN FM SYNTHESIZER POWER AMP CD INTERFACE SPKR CD-ROM DRIVE Figure 1-4: Block Diagram of the Sound Blaster Pro Sound Blaster Pro is a 8-bit stereo sampling card with stereo mixer chip
  • Creative SB0350 | Hardware Programming Guide - Page 22
    PC-SPKR CONTROL (Mono) LINE-OUT FM SYNTEHSIZER (Stereo) CD INTERFACE WAVE BLASTER POWER AMP SPKR CR-ROM DRIVE Figure 1-5: Block Diagram of the Sound Blaster 16 Advanced Signal Processing Sound Blaster 16 Advanced Signal Processing is a 16-bit stereo sampling card. It also features an enhanced
  • Creative SB0350 | Hardware Programming Guide - Page 23
    Chapter 2 Introduction to DSP Programming This chapter discusses the essentials for programming the Creative Digital Sound Processor (DSP). The DSP chip handles digitized sound I/O and MIDI operations. You must read this chapter carefully to ensure you understand the characteristics of the DSP
  • Creative SB0350 | Hardware Programming Guide - Page 24
    2-2 Introduction to DSP Programming DSP I/O Addresses The DSP is programmed through four selectable I/O addresses on the Sound Blaster cards. The following lists the I/O addresses and their functionalities. x represents the jumper selectable base I/O addresses. Reset Read Data Write Command/Data
  • Creative SB0350 | Hardware Programming Guide - Page 25
    Introduction to DSP Programming 2-3 Sound Blaster card may not be installed or an incorrect I/O ;*** Failed to reset DSP: Sound Blaster not detected! Reading from DSP When DSP data is available, it can be read in from the Read Data port. Before the data is read in, bit-7 of the Read-Buffer Status
  • Creative SB0350 | Hardware Programming Guide - Page 26
    al,bData dx,al ; Read Write-Buffer Status port ; Can write to DSP? ; Bit 7 set, try again ; Get DSP command or data ; Send to DSP dx,wSBCBaseAddx dl,0Ch ADC DMA mode DAC Interrupt mode MIDI input An interrupt service routine (ISR) has to be set up to handle the interrupts. Within the ISR, each DSP
  • Creative SB0350 | Hardware Programming Guide - Page 27
    use the same Interrupt Request (IRQ) line. These are the 8-bit and 16-bit DMA mode digitized sound I/O, Sound Blaster MIDI (SB-MIDI), and MPU- -401 D1 16-bit DMA-mode digitized sound I/O D0 8-bit DMA-mode digitized sound I/O SB-MIDI where the grayed areas denote reserved bits. A bit is set to 1 if
  • Creative SB0350 | Hardware Programming Guide - Page 28
    1). Perform your 16-bit DMA digitized sound I/O instructions ;*** 2). Acknowledge the DSP interrupt; in al,2xFh ;*** 3). Send EOI to the Programmable Interrupt Controller ;*** jmp ExitISR ChainPreviousISR: ;*** ;*** Chain to previous ISR ExitISR: Configuring DMA and Interrupt Settings With the DSP
  • Creative SB0350 | Hardware Programming Guide - Page 29
    Introduction to DSP Programming 2-7 The byte from register 81h is interpreted as follows: D7 DMA 7 D6 DMA 6 D5 DMA 5 D4 D3 DMA 3 D2 D1 D0
  • Creative SB0350 | Hardware Programming Guide - Page 30
    controller and the Programmable Interrupt Controller. This chapter is divided into two sections. The first section describes the various digitized sound the various modes of digitized sound operation described in the first part. Simple C language I/O port instructions are also included in the
  • Creative SB0350 | Hardware Programming Guide - Page 31
    Code Modulation (ADPCM) DMA mode digitized sound I/O DSP digitized sound I/O capability Digitized Sound Data Format The digitized sound data is in Pulse Code Modulation (PCM) format. For 8-bit PCM data, each sample is represented by an unsigned byte. For 16-bit PCM data, each sample is represented
  • Creative SB0350 | Hardware Programming Guide - Page 32
    Digitized Sound I/O Programming 3-3 The order of the data varies between 8-bit and 16-bit data, and mono and stereo Channel 0 High-byte sample 2 Channel 0 Low-byte Channel 0 High-byte Figure 3-4: Order of 16-bit mono PCM data sample 1 Channel 0 (left) Low-byte Channel 0 (left) High-byte Channel
  • Creative SB0350 | Hardware Programming Guide - Page 33
    to set the digitized sound I/O transfer rate. Direct Mode Direct mode digitized sound I/O should be used when direct data input from or output to the DSP is required. Under direct mode, only mono 8-bit unsigned PCM data transfer is supported. The data transfer rate of direct mode is controlled by
  • Creative SB0350 | Hardware Programming Guide - Page 34
    bit unsigned PCM, 16-bit signed PCM, and ADPCM compressed data transfers are supported. Auto-initialize DMA Mode In auto-initialize DMA mode digitized sound I/O transfer, the DMA controller must not straddle a 64 KB physical page boundary. The DSP block transfer size is then set to half of the DMA
  • Creative SB0350 | Hardware Programming Guide - Page 35
    . 2. Under auto-initialize DMA mode, 8-bit unsigned PCM, 16-bit signed PCM, and ADPCM compressed data transfers are supported. Auto-initialize DMA mode is crucial when dealing with high data rates. To give you some idea of the numbers involved, CD-quality sound (16-bit stereo at 44.1 kHz) involves
  • Creative SB0350 | Hardware Programming Guide - Page 36
    byte is used by the DSP as a reference during the data decompression. There are three ADPCM compression techniques supported by the DSP: 8-bit to 2bit, 8-bit to 3-bit, and 8-bit to 4-bit. There are two different sets of output commands used to operate on data blocks. The first block of data to be
  • Creative SB0350 | Hardware Programming Guide - Page 37
    High-Speed Auto-initialize 8-bit/16-bit Mono PCM Single-cycle 8-bit/16-bit Mono PCM Auto-initialize 8-bit/16-bit Stereo PCM Single-cycle 8-bit/16-bit Stereo PCM Auto-initialize 1.xx 2.00 4.xx 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 Table 3-1: DMA Operation Modes Supported
  • Creative SB0350 | Hardware Programming Guide - Page 38
    the sampling ranges for the supported DMA modes among the various DSP versions. Normal on the "Transfer Mode" column refers to non highspeed DMA mode. You must take note of the information below when programming for the different versions of the DSP. Digitized Sound Output Capability DSP Version
  • Creative SB0350 | Hardware Programming Guide - Page 39
    Sound Input Capability DSP Version 4.xx Transfer Mode Mono/Normal Mono/Normal Stereo/Normal Stereo/Normal Mono/Normal Mono/High-Speed Stereo/High-Speed Mono/Normal Mono/High-Speed Mono/Normal Data Format 8-bit unsigned 16-bit signed 8-bit unsigned 16-bit signed 8-bit unsigned 8-bit unsigned 8-bit
  • Creative SB0350 | Hardware Programming Guide - Page 40
    the various DMA modes of digitized sound operations described in the first bit or 16-bit PCM single-cycle DMA mode transfer 8-bit or 16-bit PCM auto-initialize DMA mode transfer To help you utilize the sample procedures more effectively, we have also included simple C language I/O port instructions
  • Creative SB0350 | Hardware Programming Guide - Page 41
    Procedures for a DMA mode Transfer The general steps for programming the DSP for digitized sound data transfer in DMA mode is as follows: 1. 2. 3. 4. Set up the interrupt service routine. Program the DMA controller. Program the DSP sampling rate. Program the DSP with the DMA transfer mode and
  • Creative SB0350 | Hardware Programming Guide - Page 42
    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
  • Creative SB0350 | Hardware Programming Guide - Page 43
    subsequent data block transfers must be programmed using different commands; specifically those that do not take a reference byte. At the end of data transfer: 1. 2. 3. Turn off the DAC speaker. outp(wSBCBaseAddx+0xC, 0xD3) Disable the interrupt used. Restore the original interrupt service routine.
  • Creative SB0350 | Hardware Programming Guide - Page 44
    . 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 auto
  • Creative SB0350 | Hardware Programming Guide - Page 45
    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
  • Creative SB0350 | Hardware Programming Guide - Page 46
    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
  • Creative SB0350 | Hardware Programming Guide - Page 47
    3-18 Digitized Sound I/O Programming At the end of data transfer: 1. 2. 3. Turn off the DAC speaker. outp(wSBCBaseAddx+0xC, 0xD3) Disable the interrupt used. Restore the original interrupt service routine. During high-speed DMA mode data I/O, the DSP will not accept any commands. Hence, to stop
  • Creative SB0350 | Hardware Programming Guide - Page 48
    . 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 auto
  • Creative SB0350 | Hardware Programming Guide - Page 49
    3-20 Digitized Sound I/O Programming To stop high-speed auto-initialize DMA mode, send the reset DSP command. 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
  • Creative SB0350 | Hardware Programming Guide - Page 50
    Digitized Sound I/O Programming 3-21 8-bit Stereo High-speed Single-cycle Transfer The following are the steps needed to perform 8-bit stereo PCM high-speed singlecycle DMA mode transfer: 1. 2. 3. Set up the DSP interrupt service routine. Enable the interrupt used. Turn on the DAC speaker for
  • Creative SB0350 | Hardware Programming Guide - Page 51
    the following: bCommand 99h 91h Description 8-bit PCM high-speed input 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. 2. Program the DMA controller for subsequent block. Set the DSP block size and program
  • Creative SB0350 | Hardware Programming Guide - Page 52
    to perform 8-bit stereo PCM high-speed autoinitialize DMA mode transfer: 1. Allocate a DMA buffer in contiguous memory without straddling a 64KB physical page boundary. Use an 8KB buffer as an example. Set up the DSP interrupt service routine. Enable the interrupt used. Turn on the DAC speaker for
  • Creative SB0350 | Hardware Programming Guide - Page 53
    3-24 Digitized Sound I/O Programming 9. Set the DSP block transfer size. outp(wSBCBaseAddx+0xC, 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
  • Creative SB0350 | Hardware Programming Guide - Page 54
    Digitized Sound I/O Programming 3-25 3. 4. 5. 6. Turn off the DAC speaker. outp(wSBCBaseAddx+0xC, 0xD3) Disable the interrupt used. Restore the original interrupt service routine. Release the allocated DMA buffer. During high-speed DMA mode data I/O, the DSP will not accept any further commands
  • Creative SB0350 | Hardware Programming Guide - Page 55
    PCM single-cycle DMA mode transfer on DSP version 4.xx: 1. 2. 3. Set up the DSP interrupt service routine. Enable the interrupt used. Program the DMA controller for 8-bit or 16-bit single-cycle DMA mode transfer. Set the DSP transfer sampling rate. outp(wSBCBaseAddx+0xC, bCommand) outp(wSBCBaseAddx
  • Creative SB0350 | Hardware Programming Guide - Page 56
    Sound I/O Programming 3-27 bMode is one of the following: bMode 00h 20h 10h 30h Description 8-bit mono unsigned PCM 8-bit stereo unsigned PCM 16-bit mono signed PCM 16-bit steps should be done in the interrupt service routine: 1. 2. Program the DMA controller for the next block. Program the DSP
  • Creative SB0350 | Hardware Programming Guide - Page 57
    28 Digitized Sound I/O Programming 8-bit or 16-bit Auto-initialize Transfer The following are the steps needed to perform 8-bit or 16-bit and Set up the DSP interrupt service routine. Enable the interrupt used. Program the DMA controller for 8-bit or 16-bit auto-initialize DMA mode transfer. Set
  • Creative SB0350 | Hardware Programming Guide - Page 58
    be set to 4K of 8-bit samples for 8-bit data transfer, or 2K of 16-bit samples for 16bit data transfer. At the end of every block transfer, the DSP will generate an interrupt to the application. Upon receiving an interrupt from the DSP, the following steps should be done in the interrupt service
  • Creative SB0350 | Hardware Programming Guide - Page 59
    CT1745. CT1335 is used on the Sound Blaster 2.0 CD Interface card, CT1345 is used on the Sound Blaster Pro and CT1745 is used on the Sound Blaster 16. This chapter discusses the essentials for programming the mixer chips. It covers the following topics: „ „ „ features of the mixer chips programming
  • Creative SB0350 | Hardware Programming Guide - Page 60
    4-2 Mixer Chip Programming Programming Sequence Each mixer chip uses two consecutive I/O ports: 2x4h and 2x5h where x depends on the jumper selectable setting of the base I/O address. Port 2x4h is the write-only Address Port. Port 2x5h is the Data Port which can be read or written. The
  • Creative SB0350 | Hardware Programming Guide - Page 61
    of the register and only alter the bit settings which you wish to change. When writing to a mixer register, always set the reserved bit to zero. 2. 3. 4. 5. As a rule of thumb when controlling a mixer register, you should always query the current settings before changing them and restore their
  • Creative SB0350 | Hardware Programming Guide - Page 62
    CT1335 mixer chip used on the Sound Blaster 2.0 CD Interface card. Features CT1335 is a mono mixer chip that only controls the output mixing. It has the following features: Volume Control CT1335 provides independent 8-level volume control for the Master, MIDI and CD sources. The Voice source has
  • Creative SB0350 | Hardware Programming Guide - Page 63
    to their default values. Register 0x02 (Master volume) Register 0x06 (MIDI volume) 3 bits, giving 8 levels. 0 to 7 ⇒ - 46 dB to 0 dB, in approximate 4 dB steps. Default is 4 ⇒ - 11 dB. Register 0x08 (CD volume) 3 bits, giving 8 levels. 0 to 7 ⇒ - 46 dB to 0 dB, in approximate 4 dB steps. Default
  • Creative SB0350 | Hardware Programming Guide - Page 64
    4-6 Mixer Chip Programming CT1345 Mixer This section describes the features and register functions of the CT1345 mixer chip used on the Sound Blaster Pro card. Features CT1345 is a stereo mixer that controls volume, output mixing, and input source selection as well as the input and output low-
  • Creative SB0350 | Hardware Programming Guide - Page 65
    for stereo digitized sound output. Register bit is used to control the element). The entire register is dedicated to the mixer element if D is omitted. The grayed areas of the table represent reserved bits. D6 Voice volume.L Input Filter Output Filter Master volume.L MIDI volume.L CD volume.L Line
  • Creative SB0350 | Hardware Programming Guide - Page 66
    (Input Source) Set these two bits to one of the following values to select the input source. 0 or 2 ⇒ Microphone source. 1 ⇒ CD source. 3 ⇒ Line-in source. signals during recording to achieve better recording quality. As a general guide, use the 3.2 kHz filter for mono recording with sampling
  • Creative SB0350 | Hardware Programming Guide - Page 67
    Programming 4-9 Register 0x0E:1 (Stereo Switch) Digitized sound data stereo output switch. This must be switched bits per channel, giving 8 levels. 0 to 7 ⇒ - 46 dB to 0 dB, in approximate 4 dB steps. Default is 4 ⇒ - 11 dB. Register 0x28 (CD volume .L/.R) Register 0x2E (Line volume .L/.R) 3 bits
  • Creative SB0350 | Hardware Programming Guide - Page 68
    the CT1745 mixer chip used on the Sound Blaster 16. Features The features of CT1745 have been greatly enhanced from CT1345 Mixer. Volume Control CT1745 provides independent 32-level volume control of both stereo channels for the Master, Voice, MIDI, CD and Line-In sources. The Microphone source is
  • Creative SB0350 | Hardware Programming Guide - Page 69
    the left and right output mixing paths. CT1745 features dynamic filtering. There is no need for filter controls as in the CT1345. There is also no need for the Stereo Switch bit as on the CT1345, which has to be set to enable stereo digitized sound output. Another difference is that the Mic volume
  • Creative SB0350 | Hardware Programming Guide - Page 70
    volume.L Voice volume.R MIDI volume.L MIDI volume.R CD volume.L CD volume.R Line volume.L Line volume.R Mic volume PC Speaker volume Output mixer switches Line.R CD.L CD.R Voice volume.R Mic volume Master volume.R MIDI volume.R CD volume.R Line volume.R Line.L 0x3D MIDI.L 0x3E MIDI.L 0x3F 0x40 0x41
  • Creative SB0350 | Hardware Programming Guide - Page 71
    Mixer Chip Programming 4-13 Figure 4-4: Logical Schematic of the Output Mixing Paths
  • Creative SB0350 | Hardware Programming Guide - Page 72
    4-14 Mixer Chip Programming Figure 4-5: Logical Schematic of the Input Mixing Paths
  • Creative SB0350 | Hardware Programming Guide - Page 73
    the finer level of control offered by CT1745, we recommend that the new volume control registers be used in (CD volume .L/.R) Register 0x2E (Line volume .L/.R) 4 bits per channel, giving 16 levels. 0 to 15 ⇒ - 60 dB to 0 dB, in 4 dB steps. Default is 0 ⇒ - 60 dB. Register 0x0A (Mic volume) 3 bits,
  • Creative SB0350 | Hardware Programming Guide - Page 74
    - 62 dB. Register 0x3B (PC Speaker volume) 2 bits, giving 4 levels. 0 to 3 ⇒ - 18 dB to 0 dB, in 6 dB steps. Default is 0 ⇒ - 18 dB. Register 0x3C (Output mixer switches) Set the appropriate bit to 1 to close the switch, 0 to open. The default is Line.L 1 Line.R 1 CD.L 1 CD.R 1 Mic 1 Register 0x3D
  • Creative SB0350 | Hardware Programming Guide - Page 75
    steps. Default is 0 ⇒ 0 dB. Register 0x43:0 (Mic AGC) 0 ⇒ AGC on (default). 1 ⇒ Fixed gain of 20 dB. Registers 0x44/0x45 (Treble .L/.R) Registers 0x46/0x47 (Bass .L/.R) 4 bits per channel, giving 16 levels. 0 to 7 ⇒ - 14 dB to 0 dB, in 2 dB steps. 8 to 15 ⇒ 0 dB to 14 dB, in 2 dB steps. Default is
  • Creative SB0350 | Hardware Programming Guide - Page 76
    cards. MPU-401 UART mode is available on the Sound Blaster 16 only. You can use either of the MIDI interfaces. However, it is better to use the MPU-401 mode on Sound Blaster 16 because it has its own independent I/O ports and interrupt status bit which means that it is possible to have digitized
  • Creative SB0350 | Hardware Programming Guide - Page 77
    MIDI time stamp mode which conforms to Microsoft Multimedia Extension Level 1 Specifications, is also available on DSP version 2.00 and above. Under -MIDI mode shares the same I/O ports and 8-bit DMA mode interrupt status bit associated with digitized sound. This means that you can access the MIDI
  • Creative SB0350 | Hardware Programming Guide - Page 78
    MIDI Port I/O Programming 5-3 Sending MIDI Data The following contrasts the difference between sending MIDI data in Normal mode and UART mode: Normal Mode Under MIDI Normal mode, all the MIDI out data must be preceded by a MIDI output command. The following assembly code fragment shows the
  • Creative SB0350 | Hardware Programming Guide - Page 79
    7 of the DSP Read-Buffer Status port is set. Conversely, when bit 7 is clear, no MIDI data is available. In interrupt mode, an interrupt occurs when MIDI data is available. An interrupt service routine has to be set up to retrieve the MIDI data. A read of the DSP Read-Buffer Status port will clear
  • Creative SB0350 | Hardware Programming Guide - Page 80
    supported on Sound Blaster 16. In this mode, the interface performs no services Sound Blaster 16 MPU-401 UART mode MIDI interface uses one IRQ line and two consecutive I/O addresses. Possible IRQ lines is not ready to receive a data/command byte Bit 7: Input Ready 0 - Data is available for reading
  • Creative SB0350 | Hardware Programming Guide - Page 81
    test al,40h ;Ready for output? jnz Busy ;*** ;*** Send command or MIDI data here dx,wMpuBaseAddx dx ;MPU-401 base I/O address ;Status port Bit 7, the Input Ready bit, indicates whether data is available for reading. If it is 1, no data is available. Otherwise, there is data to be read. Example code
  • Creative SB0350 | Hardware Programming Guide - Page 82
    5-7 Sending a Command Commands are sent through the Command port to control the operation of the interface. Before sending the command, the Status port I/O address ;Status port As only the UART mode is supported, only two commands are recognized. These two commands are Reset and Enter UART mode.
  • Creative SB0350 | Hardware Programming Guide - Page 83
    5-8 MIDI Port I/O Programming Reset The command byte 0FFh is used to reset the MPU-401 interface. After resetting the interface, a Command Acknowledge byte, 0FEh, should be read back from the Data port. This mechanism can also be used to detect the existence of the MPU-401 interface. After an
  • Creative SB0350 | Hardware Programming Guide - Page 84
    : loop Empty ;Try again ;*** ;*** Failed to switch to UART mode An interrupt is generated when the interface is set to UART mode. It is not necessary to set up an interrupt service routine to handle the interrupt because reading from the Data port will clear the interrupt signal. It important that
  • Creative SB0350 | Hardware Programming Guide - Page 85
    mode, as before, input data is available when bit 7 of the Status port is zero. Conversely, when bit 7 is a one, no MIDI data is available. In interrupt mode, an interrupt occurs when a MIDI code is ready. An interrupt service routine has to be set up to retrieve the MIDI code. Reading from the
  • Creative SB0350 | Hardware Programming Guide - Page 86
    Commands This chapter documents the commands for the Creative Digital Sound Processor (DSP). Many enhancements have been sound I/O was made available with version 3.xx. 16-bit digitized sound I/O made its appearance with version 4.xx. In the following discussions, a summary of the DSP command set
  • Creative SB0350 | Hardware Programming Guide - Page 87
    sound I/O control Digitized sound output speaker control MIDI I/O D0h D4h D1h D3h 30h 31h 38h 80h E1h Description Output Input Set digitized sound transfer time constant Output Input 8-bit to 4-bit ADPCM output 8-bit to 4-bit ADPCM output with ref. byte 8-bit to 3-bit ADPCM output 8-bit to 3-bit
  • Creative SB0350 | Hardware Programming Guide - Page 88
    I/O 48h 34h 35h 36h 37h Digitized sound output speaker control D8h Description Output Input 8-bit to 4-bit ADPCM output with ref. byte 8-bit to 3-bit ADPCM output with ref. byte 8-bit to 2-bit ADPCM output with ref. byte Exit 8-bit auto-init DMA-mode Set block transfer size Polling mode Interrupt
  • Creative SB0350 | Hardware Programming Guide - Page 89
    version 3.xx. Category Stereo control Cmd# A0h A8h Description Set input mode to mono Set input mode to stereo The commands below are only available on DSP version 4.xx. Category Digitized sound I/O sampling rate 8-bit DMA mode digitized sound I/O 16-bit DMA mode digitized sound I/O Cmd# 41h 42h
  • Creative SB0350 | Hardware Programming Guide - Page 90
    DSP Commands 6-5 Command Descriptions The DSP command descriptions will be presented in the following format: Command Output Remarks See Also Available purpose of the command The command byte follows by parameter(s) to output in byte. Detailed description of the command and its usage. Related
  • Creative SB0350 | Hardware Programming Guide - Page 91
    the DSP commands in ascending order: 10h Output Remarks 8-bit direct mode single byte digitized sound output 10h, bData Output one byte unsigned digitized sound data to the DSP. The application is responsible for controlling the sampling rate. The proper transfer sequence is: 1. 2. 3. Send
  • Creative SB0350 | Hardware Programming Guide - Page 92
    9 3.xx 9 4.xx 9 Available 17h Output Remarks Creative 8-bit to 2-bit ADPCM single-cycle DMA mode digitized sound output with reference byte 17h, wLength.LowByte, wLength.HighByte Output first block of digitized sound data compressed with Creative 8-bit to 2-bit ADPCM using single-cycle DMA mode
  • Creative SB0350 | Hardware Programming Guide - Page 93
    6-8 DSP Commands 1Ch Output Remarks 1Ch 8-bit auto-init DMA mode digitized sound output Output unsigned digitized sound data using auto-init DMA mode. The DSP will generate an interrupt to signal the application after transferring every Block of data of size set by command 48h. There are 2 ways
  • Creative SB0350 | Hardware Programming Guide - Page 94
    DSP Commands 6-9 1Fh Output Remarks 1Fh Creative 8-bit to 2-bit ADPCM auto-init DMA mode digitized sound output with reference byte Output digitized sound data compressed with Creative 8-bit to 2-bit ADPCM using auto-init DMA mode. Refer to command 1Ch on how to terminate an auto-init transfer.
  • Creative SB0350 | Hardware Programming Guide - Page 95
    a word giving the number of 8-bit samples less 1. command 14h, 8-bit single-cycle DMA mode digitized sound output 1.xx 9 2.00 9 2.01+ 9 3.xx 9 4.xx 9 See Also Available 2Ch Output Remarks 2Ch 8-bit auto-init DMA mode digitized sound input Input unsigned digitized sound data using auto-init DMA
  • Creative SB0350 | Hardware Programming Guide - Page 96
    DSP Commands 6-11 30h Output Remarks 30h Polling mode MIDI input Input MIDI data from the MIDI port using polling mode. The proper sequence is: 1. 2. Send command 30h. Poll DSP for MIDI data. See Also command 31h, Interrupt mode MIDI input command 34h, UART polling mode MIDI I/O 1.xx 9 2.00 9
  • Creative SB0350 | Hardware Programming Guide - Page 97
    6-12 DSP Commands 34h Output Remarks 34h UART polling mode MIDI I/O For MIDI UART mode, a read from the DSP is taken as reading MIDI data and a write to the DSP is taken as sending MIDI data. To terminate MIDI UART mode, send a DSP reset command. The DSP reset command behaves differently while
  • Creative SB0350 | Hardware Programming Guide - Page 98
    DSP Commands 6-13 36h Output Remarks 36h UART polling mode MIDI I/O with time stamping For time stamping mode, in-bound MIDI data is tagged with a time stamp by the DSP. The time stamp is a 3-byte quantity in units of milliseconds. The order of time stamped in-bound MIDI data is: nTime.LowByte,
  • Creative SB0350 | Hardware Programming Guide - Page 99
    Also Available command 30h, Polling mode MIDI input 1.xx 9 2.00 9 2.01+ 9 3.xx 9 4.xx 9 40h Output Remarks Set digitized sound transfer Time Constant 40h, bTimeConstant Set the digitized sound I/O transfer Time Constant. Time Constant is the sampling rate representation used by the DSP. It is
  • Creative SB0350 | Hardware Programming Guide - Page 100
    to pre-multiply the sampling rate by two before programming the sampling rate for stereo digitized sound I/O. See Also command 40h, Set digitized sound transfer Time Constant command 42h, Set digitized sound input sampling rate 1.xx 2.00 2.01+ 3.xx 4.xx 9 Available 42h Output Remarks See Also
  • Creative SB0350 | Hardware Programming Guide - Page 101
    16 DSP Commands 48h Output Remarks Set DSP block transfer size 48h, wBlockSize Creative 8-bit to 4-bit ADPCM single-cycle DMA mode digitized sound output 74h, wLength.LowByte, wLength.HighByte Refer to command 16h. command 75h, Creative 8-bit to 4-bit ADPCM single-cycle DMA mode digitized sound
  • Creative SB0350 | Hardware Programming Guide - Page 102
    9 Available 76h Output Remarks See Also Creative 8-bit to 3-bit ADPCM single-cycle DMA mode digitized sound output 76h, wLength.LowByte, wLength.HighByte Refer to command 16h. command 77h, Creative 8-bit to 3-bit ADPCM single-cycle DMA mode digitized sound output with reference byte 1.xx 9 2.00
  • Creative SB0350 | Hardware Programming Guide - Page 103
    Available 7Dh Output Remarks See Also 7Dh Creative 8-bit to 4-bit ADPCM auto-init DMA mode digitized sound output with reference byte Refer to command 1Fh. command 74h, Creative 8-bit to 4-bit ADPCM single-cycle DMA mode digitized sound output command DAh, Exit 8-bit auto-init DMA mode digitized
  • Creative SB0350 | Hardware Programming Guide - Page 104
    Creative 8-bit to 3-bit ADPCM auto-init DMA mode digitized sound output with reference byte Refer to command 1Fh. command 76h, Creative 8-bit to 3-bit ADPCM single-cycle DMA mode digitized sound output command DAh, Exit 8-bit command 40h, Set digitized sound transfer Time Constant 1.xx 9 2.00 9 2.01+ 9 3.
  • Creative SB0350 | Hardware Programming Guide - Page 105
    input 1.xx 2.00 2.01+ 9 3.xx 9 4.xx Available 91h Output Remarks 91h 8-bit high-speed single-cycle DMA mode digitized sound input After transferring a block of data of size set by command 48h, the DSP will generate an interrupt to signal the application and exit the high-speed mode. command
  • Creative SB0350 | Hardware Programming Guide - Page 106
    6-21 98h Output Remarks See Also 98h 8-bit high-speed auto-init DMA mode digitized sound input Refer to command 90h. command 90h, 8-bit high-speed auto-init DMA mode digitized sound output command 99h, 8-bit high-speed single-cycle DMA mode digitized sound input 1.xx 2.00 2.01+ 9 3.xx 9 4.xx
  • Creative SB0350 | Hardware Programming Guide - Page 107
    6-22 DSP Commands A0h Output Remarks See Also Available A0h Set input mode to mono The default input mode is mono. command A8h, Set input mode to stereo 1.xx 2.00 2.01+ 3.xx 9 4.xx A8h Output Remarks A8h Set input mode to stereo This command must be sent if stereo recording is desired. After
  • Creative SB0350 | Hardware Programming Guide - Page 108
    less 1. Refer to command 1Ch on how to terminate auto-init DMA mode. See Also command D5h, Pause 16-bit DMA mode digitized sound I/O command D6h, Continue 16-bit DMA mode digitized sound I/O command D9h, Exit 16-bit auto-init DMA mode digitized sound I/O 1.xx 2.00 2.01+ 3.xx 4.xx 9 Available
  • Creative SB0350 | Hardware Programming Guide - Page 109
    See Also command Bxh, Program 16-bit DMA mode digitized sound I/O on common details command D0h, Pause 8-bit DMA mode digitized sound I/O command D4h, Continue 8-bit DMA mode digitized sound I/O command DAh, Exit 8-bit auto-init DMA mode digitized sound I/O 1.xx 2.00 2.01+ 3.xx 4.xx 9 Available
  • Creative SB0350 | Hardware Programming Guide - Page 110
    D1h Output Remarks D1h Turn on speaker The speaker here refers to the connection of the digitized sound output to the amplifier input. It output signal. However, it will still set to 'On' the DSP's internal speaker On/Off flag so that command D8h, Get speaker status, will return the correct status.
  • Creative SB0350 | Hardware Programming Guide - Page 111
    Also command D1h, Turn on speaker command D8h, Get speaker status 1.xx 9 2.00 9 2.01+ 9 3.xx 9 4.xx 9 Available D4h Output Remarks D4h Continue 8-bit DMA mode digitized sound I/O Resumes the DMA transfer paused by command D0h, Pause 8-bit DMA mode digitized sound I/O. Applicable to both single
  • Creative SB0350 | Hardware Programming Guide - Page 112
    This acts on I/O initiated by command Bxh. Applicable to both single-cycle and auto-init DMA modes. command Bxh, Program 16-bit DMA mode digitized sound I/O command D6h, Continue 16-bit DMA mode digitized sound I/O 1.xx 2.00 2.01+ 3.xx 4.xx 9 See Also Available D6h Output Remarks D6h Continue 16
  • Creative SB0350 | Hardware Programming Guide - Page 113
    , 00h that it's off. command D1h, Turn on speaker command D3h, Turn off speaker 1.xx 2.00 9 2.01+ 9 3.xx 9 4.xx 9 See Also Available D9h Output Remarks D9h Exit 16-bit auto-init DMA mode digitized sound I/O Exits at the end of the current 16-bit auto-init DMA block transfer, and terminates the
  • Creative SB0350 | Hardware Programming Guide - Page 114
    -init DMA block transfer, and terminates the I/O process. command Cxh, Program 8-bit DMA mode digitized sound I/O commands that initiate 8-bit auto-init DMA mode digitized sound I/O 1.xx 2.00 9 2.01+ 9 3.xx 9 4.xx 9 See Also Available E1h Output Remarks E1h Get DSP version number After sending
  • Creative SB0350 | Hardware Programming Guide - Page 115
    with other add-on cards. The factory default base I/O address setting for all Sound Blaster cards is 220 Hex. In the following discussion, x is used to denote the selected base I/O address. The joystick port on Sound Blaster cards is identical to the standard PC Game Control Adapter (or game
  • Creative SB0350 | Hardware Programming Guide - Page 116
    I/O Address Maps SB1.5 I/O Address Map Sound Blaster version 1.5 or earlier uses I/O addresses 2x0h - 2xFh, where x Port DSP Read Data Port DSP Write Command/Data DSP Write-Buffer Status (Bit 7) DSP Read-Buffer Status (Bit 7) Access Write Only Write Only Write Only Write Only Write Only Read Write
  • Creative SB0350 | Hardware Programming Guide - Page 117
    I/O Address Maps A-3 SBMCV I/O Address Map Sound Blaster for Micro Channel Version uses I/O addresses 2x0h - 2xFh, Port DSP Read Data Port DSP Write Command/Data DSP Write-Buffer Status (Bit 7) DSP Read-Buffer Status (Bit 7) Access Write Only Read Write Write Only Read Only Write Read Read Only
  • Creative SB0350 | Hardware Programming Guide - Page 118
    I/O Address Maps SB2.0 I/O Address Map Sound Blaster 2.0 uses base I/O address 220h or 240h. These are jumper Data Port DSP Read Data Port DSP Write Command/Data DSP Write-Buffer Status (Bit 7) DSP Read-Buffer Status (Bit 7) Access Write Only Write Only Write Only Write Only Write Only Read Write
  • Creative SB0350 | Hardware Programming Guide - Page 119
    I/O Address Maps A-5 SB2CD I/O Address Map Sound Blaster 2.0 CD Interface uses base I/O address 250h or 260h. These are jumper selectable. Base Address 250h 260h I/O Addresses Used 250h to 255h 260h to 265h Table A-7: SB2CD I/O
  • Creative SB0350 | Hardware Programming Guide - Page 120
    operator FM (OPL3) chip. The following table lists the functions of the I/O ports on the Sound Blaster Pro that uses the OPL2 chip: I/O Address Base + 0h Base + 0h Base + 1h (Bit 7) DSP Read-Buffer Status (Bit 7) CD-ROM Command or Data Register CD-ROM Status Register CD-ROM Reset Register CD-ROM
  • Creative SB0350 | Hardware Programming Guide - Page 121
    The following table lists the functions of the I/O ports on the Sound Blaster Pro that uses the OPL3 chip: I/O Address Base + 0h Base Write-Buffer Status (Bit 7) DSP Read-Buffer Status (Bit 7) CD-ROM Command or Data Register CD-ROM Status Register CD-ROM Reset Register CD-ROM Enable Register Access
  • Creative SB0350 | Hardware Programming Guide - Page 122
    I/O Address Maps SBPRO MCV I/O Address Map Sound Blaster Pro for Micro Channel Version uses base I/O address DSP Read Data Port DSP Write Command/Data DSP Write-Buffer Status (Bit 7) DSP Read-Buffer Status (Bit 7) Reserved Reserved Reserved Reserved Access Read Write Write Only Read Write Write
  • Creative SB0350 | Hardware Programming Guide - Page 123
    I/O Address Maps A-9 SB16 I/O Address Map Sound Blaster 16 uses base I/O address 220h, 240h, 260h Command/Data DSP Write-Buffer Status (Bit 7) DSP Read-Buffer Status (Bit 7) CD-ROM Command or Data Register CD-ROM Status Register CD-ROM Reset Register CD-ROM Enable Register Access Read Write Write
  • Creative SB0350 | Hardware Programming Guide - Page 124
    A-10 Sound Blaster I/O Address Maps Sound Blaster 16 also uses the following I/O addresses for MPU-401 UART mode support. The base I/O address is jumper selectable for either 300h or 330h. The factory default is 330h. Base Address 300h 330h I/O Addresses Used 300h to 301h
  • Creative SB0350 | Hardware Programming Guide - Page 125
    ASCIIZ text and/or marker. include information on compression techniques. loop on a portion of the .VOC file. use digitized sound data with multiple sampling rates within a file. The Creative ADPCM wave type is used in the Multimedia Wave File to support the Creative ADPCM compression technique.
  • Creative SB0350 | Hardware Programming Guide - Page 126
    of the Data Block and not the entire .VOC File when calling this driver to perform digitized sound output. Header Block Offset (Hex) 00H - 13H Description File type description. The following message is stored here: "Creative Voice File", 1AH 14H - 15H Offset of the Data Block from the start
  • Creative SB0350 | Hardware Programming Guide - Page 127
    of data contained in the sub-block. The next three bytes is the 24-bit (3-byte) Block Length. It is the number of bytes in the sub- no other sub-blocks after it. The high-level digitized sound drivers terminate digitized sound output when this Block Type is encountered. This Block Type should be
  • Creative SB0350 | Hardware Programming Guide - Page 128
    is set to 9C hex using the following calculation: Time Constant = 65536 - (256 000 000 / 10 000) = 39936 (09C00H) bPackMethod This is an 1 byte field which indicates the packing method used by the digitized sound data of this block. It is defined as: Value 0 1 2 3 Meaning 8-bit PCM Creative 8-bit
  • Creative SB0350 | Hardware Programming Guide - Page 129
    Block Header is organized as follows: BYTE BYTE bBlockID; nBlockLen[3]; // == 2 // 3-byte block length The header is followed immediately by the digitized sound data. Here is a discussion of various fields: bBlockID The Block Type identifier is 2. nBlockLen Length of the block (in bytes), excluding
  • Creative SB0350 | Hardware Programming Guide - Page 130
    described in Block Type 1. Block Type 4 This is a special block that specifies a Marker in the digitized sound data. The Block Header is organized as follows: BYTE BYTE WORD bBlockID; nBlockLen[3]; wMarker; // == 4 inclusive. The 0 and 0FFFF hex values are reserved by the digitized sound drivers.
  • Creative SB0350 | Hardware Programming Guide - Page 131
    File Format B-7 During digitized sound output, the CT-VOICE and CTVDSK drivers update the digitized sound status word with this value when the marker is encountered. You program can check for the desired marker value to perform synchronization with the digitized sound output process. Block Type 5
  • Creative SB0350 | Hardware Programming Guide - Page 132
    is a 2-byte field which specifies the number of times to repeat. It can be any value between 1 to 0FFFE hex inclusive. If this value is set to 0FFFF hex, an endless loop occurs. Block Type 7 This block indicates the end of a repeat loop. It works in conjunction with Block Type 6. The
  • Creative SB0350 | Hardware Programming Guide - Page 133
    (in bytes), excluding the bBlockID and nBlockLen fields. The value is 4. wTimeConstant This is a 2-byte field which indicates the Time Constant of the digitized sound data in the Block Type 1. The calculation of the Time Constant is the same as described on Block Type 1, but the whole word of the
  • Creative SB0350 | Hardware Programming Guide - Page 134
    Time Constant = 65536 - (256 000 000 / (2 * 22 050)) = 59732 (0E95H) bPackMethod This is a 1-byte field which indicates the packing method used by the digitized sound data of this block. The meaning of the field is the same as the bPackMethod field in Block Type 1: bVoiceMode This is a 1-byte field
  • Creative SB0350 | Hardware Programming Guide - Page 135
    the digitized sound data length supported formats are: Value 0x0000 0x0001 0x0002 0x0003 0x0004 0x0006 0x0007 0x0200 Meaning 8-bit unsigned PCM Creative 8-bit to 4-bit ADPCM Creative 8-bit to 3-bit ADPCM Creative 8-bit to 2-bit ADPCM 16-bit signed PCM CCITT a-Law CCITT µ-Law Creative 16-bit to 4-bit
  • Creative SB0350 | Hardware Programming Guide - Page 136
    B-12 File Format Creative ADPCM Wave Type Format WAVE_FORMAT_CREATIVE_ADPCM, the name for a , 22050 and 44100 Hz. Average data rate. Block alignment. 1 for both mono and stereo data. Number of bits per sample. The value is 4. Number of bytes of extra information in the extended WAVE 'fmt ' header.
  • Creative SB0350 | Hardware Programming Guide - Page 137
    Appendix C Relevant Information If you need more information on the digital audio, MIDI, joystick, Programmable Interrupt Controller (PIC) or Direct Memory Access (DMA) Controller, you may refer to the following sources: Digital Audio For more information on digital audio, see the following books:
  • Creative SB0350 | Hardware Programming Guide - Page 138
    The joystick port on Sound Blaster cards is identical to the standard PC Game Control Adapter, thus for more information on the joystick port programming, see the IBM PC/AT Technical Reference Manual. FM Synthesizer Chip The FM synthesizer chips used on Sound Blaster cards are YAMAHA OPL2 and
  • Creative SB0350 | Hardware Programming Guide - Page 139
    8-bit to 2-bit, 3-15 8-bit to 3-bit, 3-15 8-bit to 4-bit, 3-15 definition, 3-7 DSP versions supported, 3-8 reference byte, 3-7 single-cycle 8-bit to 2-bit, 3-13 8-bit to 3-bit, 3-13 8-bit to 4-bit, 3-13 Advanced Signal Processor, 1-2, 1-4 block diagram, 1-4 downloading, 1-5 features, 1-5 Auto
  • Creative SB0350 | Hardware Programming Guide - Page 140
    see Register functions MPU-401 UART mode, 1-2 entering, 5-9 I/O addresses, 5-5 input ready bits, 5-5 output ready bits, 5-5 reading MIDI data, 5-10 resetting, 5-8 sending command, 5-7 T_____ Time constant, 3-4 Transfer modes auto-initialize, 3-5 single-cycle, 3-5 U_____ User's card settings, xiii
  • Creative SB0350 | Hardware Programming Guide - Page 141
    Index3
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141

Sound Blaster Series
Hardware Programming Guide
±
Hardware Overview
±
Digital Sound Processor
±
Mixer
±
MIDI Port