Creative Developers' Corner - Programmer's Handbook

Sound Blaster Series Hardware Programming Guide FAQ

  1. What is the SBHWPG?
  2. What are the contents and features of the SBHWPG?
  3. What are the prerequisites for developers to use the SBHWPG?
  4. What cards does the SBHWPG support?
  5. What platforms/OS does the SBHWPG support?
  6. What programming languages and compilers does the SBHWPG support?
  7. How do I obtain the SBHWPG? Is there any cost involved?
  8. What MIDI support does the SBHWPG provide?
  9. How do I control the SB Mixer, such as volume setting and audio source selection, from my program?
  10. Can my application control SoundFonts on my AWE32 using the SBHWPG?
  11. How do I program the 3D Positional Audio on my AWE32?
  12. Can I program 2 SB cards on the same PC simultaneously?
  13. Where can I get file formats for .VOC, .WAV and .MID?
  14. How do I program the FM Synthesizers OPL-2 & OPL-3?
  15. Can I configure DMA and Interrupt settings on my SB32 PnP card by writing to Mixer registers 80h and 81h of the card?

What is the SBHWPG?

SBHWPG stands for the Sound Blaster Series Hardware Programming Guide. It is designed for any third party developer or user who wants to write programs that exploit the features of Creative's line of Sound Blaster audio cards.

Return to Menu


What are the contents and features of the SBHWPG?

The SBHWPG contains the following sections:

Hardware Overview
provides an anatomy of Sound Blaster family of audio cards
Introduction to Digital Sound Processor Programming
covers basic concept of programming the Digital Sound Processor
Digitized Sound I/O Programming
covers Direct-mode and DMA mode programming of digitized audio with sample procedures on all the 8-bit and 16-bit transfer modes
Mixer Chip Programming
provides programming sequence and descriptions of features and register functions for the various versions of Mixer chips
MIDI Port I/O Programming
covers MIDI port I/O programming for both SB-MIDI mode and MPU-401 UART mode.
Sound Blaster I/O Address Maps
provides I/O address maps for the range of Sound Blaster family of audio cards.

Return to Menu


What are the prerequisites for developers to use the SBHWPG?

You should be familiar with any of the common programming languages like C, Pascal, Basic or Assembly; have some knowledge in writing low-level hardware program. Some understanding in music, digital audio will be an added advantage.

Return to Menu


What cards does the SBHWPG support?

The SBHWPG supports Sound Blaster, Sound Blaster Pro, Sound Blaster 16, and Sound Blaster 32 as well as Sound Blaster AWE32.

Return to Menu


What platforms/OS does the SBHWPG support?

The hardware programming information is not specific to any OS and is useful for development of drivers on most PC-based platforms.

Return to Menu


What programming languages and compilers does the SBHWPG support?

The SBHWPG is not specific to any programming languages or compilers. You may use any programming languages or compilers that support direct hardware programming through the system's I/O Ports.

Return to Menu


How do I obtain the SBHWPG? Is there any cost involved?

The SBHWPG is available to public for free.

You can download it now (1,143k).

Return to Menu


What MIDI support does the SBHWPG provide?

You may use hardware-level programming to control external MIDI devices attached to the SB-MIDI port or the MPU-401 port.

Return to Menu


How do I control the SB Mixer, such as volume setting and audio source selection, from my program?

You may program the SB Mixer registers directly to control such functions.

Return to Menu


Can my application control SoundFonts on my AWE32 using the SBHWPG?

No, the SBHWPG does not cover the SoundFont programming. You will need to refer to the AWE32 Developer Information Pack.

Return to Menu


How do I program the 3D Positional Audio on my AWE32?

You will need to refer to the AWE32 Developer Information Pack, which is available as a separate programming reference.

Return to Menu


Can I program 2 SB cards on the same PC simultaneously?

Yes, you may program 2 SB cards concurrently on the same PC, provided that you have enough different base addresses, interrupts and DMA channels for both cards to use.

Return to Menu


Where can I get file formats for .VOC, .WAV and .MID?

For .VOC file format, you can refer to the SBHWPG Appendix. For .WAV file format, you can either contact Microsoft or refer to commercially available reference books on PC digital audio programming. As for .MID file format, you can obtain the MIDI 1.0 Detailed Specification or Standard MIDI Files 1.0 from MIDI Manufacturers Association.

Return to Menu


How do I program the FM Synthesizers OPL-2 & OPL-3?

Hardware programming information of the OPL-2 and OPL-3 are not included in the SBHWPG. However, you may refer to the FMSAMPLE program in the package.

Return to Menu


Can I configure DMA and Interrupt settings on my SB32 PnP card by writing to Mixer registers 80h and 81h of the card?

Since all PnP devices are configured by the PnP configuration manager, like Creative Configuration Manager, during boot-up in DOS, the Mixer registers 80h and 81h have been restricted to only the READ operation. Therefore, you cannot change the DMA and Interrupt settings through software. This also applies to the SB AWE32 PnP and PhoneBlaster 28.8 PnP cards.

Return to Menu


Creative Zone Developers' Corner Copyright ©1996 Creative Labs Europe.