Device
Soundblaster 16 PnP, configured by BIOS as
- Base address: 220H
- DMA 8-bit: 1
- DMA 16-bit: 5
Documentation
Using direct I/O, 8-bit, mono, no DMA, no Interrupt
The DSP channel will be written with I/O. Here is the block image. Store this wave file to block 100.
Works well by accident. Maybe the sample rate is fixed to 22050 Hz in this
mode.
8-bit, Mono, DMA, no Interrupt
DMA and mixer (volume control) is added. The maximum length of the sound data
is 64KB. Here is the block image. It is located at blocks 68-77.
Store this wave file to block 100.
Sample rate can be changed.
16-bit, Stereo, DMA, no Interrupt
This plays a wave record of arbitrary length. 16-bit DMA is used for stereo.
Here is the block image. It is
located at blocks 78-87. Store this wave file to block 180.
To get access to blocks greater than 161 use the following procedure:
- Linux:
bput 78 wavplay-sb16-16bit-stereo-dma.blk
- Linux:
bput 180 car.wav
- colorForth:
33 nc ! save
- Boot colorForth again.
- colorForth:
78 load play
The code is still buggy:
- After the first
play
the sound will be played not
correctly.
- The tail of the sound record (modulo 10000H) will be discarded.
Updated:
Thu Aug 23 07:59:19 MET DST 2001