From owner-freebsd-multimedia Mon Sep 15 14:22:15 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id OAA26308 for multimedia-outgoing; Mon, 15 Sep 1997 14:22:15 -0700 (PDT) Received: from whqvax.picker.com (whqvax.picker.com [144.54.1.1]) by hub.freebsd.org (8.8.7/8.8.7) with SMTP id OAA26303 for ; Mon, 15 Sep 1997 14:22:12 -0700 (PDT) Received: from ct.picker.com by whqvax.picker.com with SMTP; Mon, 15 Sep 1997 17:20:59 -0400 (EDT) Received: from elmer.ct.picker.com ([144.54.57.34]) by ct.picker.com (4.1/SMI-4.1) id AA14532; Mon, 15 Sep 97 17:20:57 EDT Received: by elmer.ct.picker.com (SMI-8.6/SMI-SVR4) id RAA16475; Mon, 15 Sep 1997 17:17:29 -0400 Message-Id: <19970915171729.32304@ct.picker.com> Date: Mon, 15 Sep 1997 17:17:29 -0400 From: Randall Hopper To: Luigi Rizzo Cc: multimedia@FreeBSD.ORG Subject: Re: speed setting problem with SB16 on snd970904.tgz References: <199709051718.TAA12430@labinfo.iet.unipi.it> <199709051729.TAA12468@labinfo.iet.unipi.it> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.81 In-Reply-To: <199709051729.TAA12468@labinfo.iet.unipi.it>; from Luigi Rizzo on Fri, Sep 05, 1997 at 07:29:25PM +0200 Sender: owner-freebsd-multimedia@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk 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