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>
