Subject: Re: another sound survey...
To: SUNAGAWA Keiki <kei_sun@ba2.so-net.ne.jp>
From: Colin Wood <cwood@ichips.intel.com>
List: port-mac68k
Date: 05/07/1998 13:25:26
SUNAGAWA Keiki wrote:
> Good morning:-)

Afternoon, here :-)
 
> Colin Wood <cwood@ichips.intel.com> wrote:
> 
> >> The code I sent drove ASC in free-wave mode and This
> >> drives it in four voice mode.
> 
> Colin> No, this is the EASC's square-wave mode (which
> Colin> appears to simply be a variation on
> Colin> synthesized/free-wave mode).  Four-voice or wavetable
> Colin> mode is _much_ more complicated on both, mainly
> Colin> because the hand-coded assembly does strange things
> Colin> to avoid running out of registers :-)
> 
> Really?  So I must be confusing here.  I'll recheck my
> disassembled code.

Take a look at my C-ish pseudocode for the Q700 or IIci driver.  I've used
both header files and Inside Mac to label the various structures and
routines involved.  I'm pretty sure I've got the right names on the right
routines :-)

> I hacked asc.c and ascvar.h of 1.3.1 and added ascreg.h, but
> it doesn't work for the moment, but you might hit the reason.
> Thanks.

Let me know if I can be of more help!

> Colin> The ASC appears to have a dedicated square-wave mode.
> Colin> The interesting thing about it is that the current
> Colin> asc.c driver appears to be playing a synthesized
> Colin> sound in the ASC's dedicated square-wave mode
> Colin> (i.e. it sets 0x830-0x837 to a value related to the
> Colin> frequency instead of to 0xFE like in synthesized
> Colin> sound mode).
> 
> I think asc.c sets freq's to 0x814-0x82f and doesn't touch
> 0x830-837.  Am I missing something?

Hmmm...maybe.  Ah, I see.  According to my pseudocode version of the ASC
driver, all of 0x811-0x820 or so are set to 0.  Oh, wait, now I found it.
It was 0x814-0x82F (with some gaps) which get set to some value related to
the frequency.  0x830-0x837 just get cleared.

Later.

-- 
Colin Wood                                 cwood@ichips.intel.com
Component Design Engineer - PMD                 Intel Corporation
-----------------------------------------------------------------
I speak only on my own behalf, not for my employer.