acs@amdahl.UUCP (Tony Sumrall) (12/11/86)
Well, after all the aggravation that this particular problem has caused *me* a friend and I decided to take a look at what init.c was doing (via db). After a lot of knocking around we finally discovered that line 344 Audio_Request.ioa_Length = (ULONG) sizeof(Audio_AllocMap); was generating a clr.b instead of setting ioa_Length to 4. (Here's where you ask "Why?") Well, the define for Audio_AllocMap in vt100.h (line 265) is extern UBYTE Audio_AllocMap[]; (remember that MODULE_MAIN is *not* defined here, MODULE_INIT *is* unless you use DBW's make script - more on that later.) I don't know if this should cause a compile-time error or not *but* them's the facts. A *zero* in this field causes OpenDevice to allocate *no* channels and a subsequent sound won't have anyplace to play. Now, about DBW's make script--it creates a precompiled header file while compiling vt100.c (MODULE_MAIN). To the best of my knowledge this will cause all of the #define's to be saved in their current state *including* MODULE_MAIN. I don't know if this is gonna break anything, just wanted to warn y'all about it. -- Tony Sumrall ...!{ihnp4,hplabs,seismo,sun}!amdahl!acs [ Opinions expressed herein are the author's and should not be construed to reflect the views of Amdahl Corp. ]
acs@amdahl.UUCP (Tony Sumrall) (12/11/86)
In article <4537@amdahl.UUCP> I forgot to tell you what we did to fix the
problem...all that was necessary was to change:
Audio_Request.ioa_Length = (ULONG) sizeof(Audio_AllocMap);
to
Audio_Request.ioa_Length = 4
While this is a might kludgy, it *does* give me my beeps.
--
Tony Sumrall ...!{ihnp4,hplabs,seismo,sun}!amdahl!acs
[ Opinions expressed herein are the author's and should not be construed
to reflect the views of Amdahl Corp. ]