home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 4 Drivers
/
04-Drivers.zip
/
cs0929a.zip
/
cs40.txt
< prev
next >
Wrap
Text File
|
1999-09-29
|
4KB
|
88 lines
29-Sep-99
device=cs40.sys <switches>
-i:n n=irq, 3,5,7,9,10,11,(12)
-bp:x x=base port: 534, ... (x=hex)
-cp:x x=control port: 390, ... (hex)
-xm:n n=2 (optional)
-dev:n n=device, 0=CS423x, 3=OPL3SAx
-dp:n n=dma play channel (0,1,3,...)
-dps:x x=dma play buffer size (def=8000 hex) (lower-three must be 000, so 1000,2000,...F000)
-dpi:n n=dma play buffer interrupts per buffer (def=2) (can be 2,4,8,16,32)
-dpm:n n=dma play mode (def=1, typeF dma) (can be 1 or 0)
-dr:n n=dma rec channel (0,1,3,...)
-drs:x x=dma rec buffer size (def=8000 hex) (lower-three must be 000, so 1000,2000,...F000)
-dri:n n=dma rec buffer interrupts per buffer (def=2) (can be 2,4,8,16,32)
-drm:n n=dma rec mode (def=1, typeF dma) (can be 1 or 0)
-v verbose flag (1)
-z1 set DTM flag (2)
-Q QUIET (0x80)
-t do not install flag (goes through init stage but forces install to fail at last chance) (0x8000)
device=cs40.sys -v -dev:3 -i:5 -bp:534 -cp:390 -dp:1 -dps:8000 -dpi:2 -dpm:1 -dr:0 -drs:8000 -dri:2 -drm:1
device=cs40.sys -v -dev:3 -i:5 -bp:534 -cp:390 -dp:1 -dr:0 -Q
Detail:
-dps:x (x=1000,2000,...,[8000],9000,A000,...,E000,F000)
Specifies the size of the physical DMA buffer used by the soundcard.
Should be a multiple of 4K, so low-three digits are 0. Max is 60KB
(FOOO hex).
-dpi:n (n=[2],4,8,16,32)
Specifies the number of chunks that the -dps: buffer is divided into,
where at the end of each chunk and interrupt is fired. Small -dps
sizes with high -dpi counts should be avoid.
The default is 8000 hex (32768) bytes, and 2 interrupts per buffer,'
so an interrupt fires after 16K bytes of data is played (4096 samples
in 16-bit stereo), which is right in the middle of the buffer, and
again at the end of the buffer, at which point it starts again.
It's an inter-twined trade-off: larger buffer size means longer latency
(the time 'til the sound is heard); smaller dpi means more interrupts
so more bookkeeping overhead, but also less time spent in the interrupt
since there's less data to copy; few dpi means that if for whatever
reason a buffer wasn't able to be filled before it's need, the hardware
goes into shock (ie, data underrun on play, overrun on record).
Also, some hardware may not like particular combinations. These buffers
adjustments are different than tWave buffer sizes and counts. tWave
buffers have to do with MMOS2 buffering (MMOS2 feeds cs40) while cs40
buffers have to do with the soundcard (cs40 feeds the hardware).
AVOID things like -dps:1000 -dpi:32 (an interrupt is generated every
32 samples).
-dps:8000 is 8000 hex, or 32768 bytes. -dps:F000 is 61440 bytes, the
max (15360 16-bit/stereo samples, so if -dpi:2 then there are 7680
samples per interrupt, at 16-bit/stereo). Samples per interrupt is
not the same as samples per second (ie, not the same as the sample rate).
-drm:n (n=0,[1])
Specifies whether to use type F dma mode (less overhead) or not. Use
1 to use type F, or 0 to not.
-z1 Supposedly needed when using type F dma mode (doesn't seem to matter
on my hardware). It's not even a documented bit on the OPL3SA3 hardware,
but is on Crystal stuff.
-t Does all initialization normally done, displaying the verbose output
if -v is used, but fails to install. For testing, that's all. One
use is to pause the screen.