home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 4 Drivers / 04-Drivers.zip / cs0929a.zip / cs40.txt < prev    next >
Text File  |  1999-09-29  |  4KB  |  88 lines

  1. 29-Sep-99
  2.  
  3. device=cs40.sys <switches>
  4.  
  5.  -i:n    n=irq, 3,5,7,9,10,11,(12)
  6.  
  7.  -bp:x   x=base port: 534, ... (x=hex)
  8.  
  9.  -cp:x   x=control port: 390, ... (hex)
  10.  
  11.  -xm:n   n=2 (optional)
  12.  
  13.  -dev:n  n=device, 0=CS423x, 3=OPL3SAx
  14.  
  15.  -dp:n   n=dma play channel (0,1,3,...)
  16.  -dps:x  x=dma play buffer size (def=8000 hex) (lower-three must be 000, so 1000,2000,...F000)
  17.  -dpi:n  n=dma play buffer interrupts per buffer (def=2) (can be 2,4,8,16,32)
  18.  -dpm:n  n=dma play mode (def=1, typeF dma) (can be 1 or 0)
  19.  
  20.  -dr:n   n=dma rec  channel (0,1,3,...)
  21.  -drs:x  x=dma rec  buffer size (def=8000 hex) (lower-three must be 000, so 1000,2000,...F000)
  22.  -dri:n  n=dma rec  buffer interrupts per buffer (def=2) (can be 2,4,8,16,32)
  23.  -drm:n  n=dma rec  mode (def=1, typeF dma) (can be 1 or 0)
  24.  
  25.  -v      verbose flag  (1)
  26.  -z1     set DTM flag  (2)
  27.  -Q      QUIET (0x80)
  28.  -t      do not install flag (goes through init stage but forces install to fail at last chance) (0x8000)
  29.  
  30. 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
  31. device=cs40.sys -v -dev:3 -i:5 -bp:534 -cp:390 -dp:1                         -dr:0 -Q
  32.  
  33.  
  34. Detail:
  35.  
  36. -dps:x  (x=1000,2000,...,[8000],9000,A000,...,E000,F000)
  37.  
  38.         Specifies the size of the physical DMA buffer used by the soundcard.
  39.         Should be a multiple of 4K, so low-three digits are 0.  Max is 60KB
  40.         (FOOO hex).
  41.  
  42. -dpi:n  (n=[2],4,8,16,32)
  43.  
  44.         Specifies the number of chunks that the -dps: buffer is divided into,
  45.         where at the end of each chunk and interrupt is fired.  Small -dps
  46.         sizes with high -dpi counts should be avoid.
  47.  
  48.         The default is 8000 hex (32768) bytes, and 2 interrupts per buffer,'
  49.         so an interrupt fires after 16K bytes of data is played (4096 samples
  50.         in 16-bit stereo), which is right in the middle of the buffer, and
  51.         again at the end of the buffer, at which point it starts again.
  52.  
  53.         It's an inter-twined trade-off:  larger buffer size means longer latency
  54.         (the time 'til the sound is heard); smaller dpi means more interrupts
  55.         so more bookkeeping overhead, but also less time spent in the interrupt
  56.         since there's less data to copy; few dpi means that if for whatever
  57.         reason a buffer wasn't able to be filled before it's need, the hardware
  58.         goes into shock (ie, data underrun on play, overrun on record).
  59.  
  60.         Also, some hardware may not like particular combinations.  These buffers
  61.         adjustments are different than tWave buffer sizes and counts.  tWave
  62.         buffers have to do with MMOS2 buffering (MMOS2 feeds cs40) while cs40
  63.         buffers have to do with the soundcard (cs40 feeds the hardware).
  64.  
  65.         AVOID things like -dps:1000 -dpi:32 (an interrupt is generated every
  66.         32 samples).
  67.  
  68.         -dps:8000 is 8000 hex, or 32768 bytes.  -dps:F000 is 61440 bytes, the
  69.         max (15360 16-bit/stereo samples, so if -dpi:2 then there are 7680
  70.         samples per interrupt, at 16-bit/stereo).  Samples per interrupt is
  71.         not the same as samples per second (ie, not the same as the sample rate).
  72.  
  73.  
  74. -drm:n  (n=0,[1])
  75.  
  76.         Specifies whether to use type F dma mode (less overhead) or not.  Use
  77.         1 to use type F, or 0 to not.
  78.  
  79.  
  80. -z1     Supposedly needed when using type F dma mode (doesn't seem to matter
  81.         on my hardware).  It's not even a documented bit on the OPL3SA3 hardware,
  82.         but is on Crystal stuff.
  83.  
  84.  
  85. -t      Does all initialization normally done, displaying the verbose output
  86.         if -v is used, but fails to install.  For testing, that's all.  One
  87.         use is to pause the screen.
  88.