Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Sep 1997 17:17:29 -0400
From:      Randall Hopper <rhh@ct.picker.com>
To:        Luigi Rizzo <luigi@labinfo.iet.unipi.it>
Cc:        multimedia@FreeBSD.ORG
Subject:   Re: speed setting problem with SB16 on snd970904.tgz
Message-ID:  <19970915171729.32304@ct.picker.com>
In-Reply-To: <199709051729.TAA12468@labinfo.iet.unipi.it>; from Luigi Rizzo on Fri, Sep 05, 1997 at 07:29:25PM %2B0200
References:  <199709051718.TAA12430@labinfo.iet.unipi.it> <199709051729.TAA12468@labinfo.iet.unipi.it>

next in thread | previous in thread | raw e-mail | index | archive | help
Luigi Rizzo:
 |right. I am in the middle of implementing split format operation (some
 |cards do support that, and the SB16 needs that if you want to do full
 |duplex without too much hassle) so I applied an inverse substitution
 |forgetting that the original name was play_speed, not just speed :(

Thanks Luigi!  This'll be fun to play with.

 |yes. The reason is that I am not using auto mode right now (other work
 |in progress, see dmabuf_auto.c ... ) so when you get an interrupt (4
 |times per second default) you might miss a sample. This problem seems
 |not to appear with the CS4236, either because they have a bigger data
 |fifo (does the SB16 has a data fifo at all ? and how do I enable it ?)
 |or because it generates an interrupt earlier (maybe when the last
 |sample is acquired, rather than at the first underrun/overrun) or a
 |combination of the two.

Grepping some SB/SB16 programming docs I have lying around, it appears it
does have a FIFO.  I'll mail you the full docs.  They describe this,
setting up auto-DMA, and all sorts of things.  Haven't used them myself,
but they look pretty useful.

Randy


 Bx - Program 16-bit DMA mode digitized sound I/O
      Command sequence:  Command, Mode, Lo(Length-1), Hi(Length-1)
       Command:
        -------------------------------------------------
        | D7 | D6 | D5 | D4 |  D3   |  D2  |  D1   | D0 |
        -------------------------------------------------
        |  1 |  0 |  1 |  1 |  A/D  |  A/I | FIFO  |  0 |
        -------------------------------------------------
                            | 0=D/A | 0=SC | 0=off |
                            | 1=A/D | 1=AI | 1=on  |
                            ------------------------
       Common commands:
         B8 - 16-bit single-cycle input
         B0 - 16-bit single-cycle output
         BE - 16-bit auto-initialized input
         B6 - 16-bit auto-initialized output



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970915171729.32304>