[comp.sys.amiga] VT100 Beeps!

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. ]