sound ioctls used by quake...

Dan Merillat (harik@merillat.org)
Fri, 18 Oct 1996 21:55:45 -0400 (EDT)


Ok, check this: (strace of xf86quake)
open("/dev/dsp", O_RDWR) = 8
ioctl(8, 0x5000, 0) = 0
ioctl(8, 0x8004500f, 0xbffffc94) = 0

How do I break down the ioctl command? If someone can give me an idea
on how to do it I'd really appreciate it... Actually, some just a pointer
to a doc on how the IOCTLS work (I tried reading the source but I'm not
sure what all is going on.) I understand it's a 32 bit number broken into
a lot of fields, but what the fields are I dunno.

Anyway, This is what quake uses to see if the sound card can do DMA (or
something) It likes my SB, dosn't like my GUS classic. I think it's
expecting some value back in it's buffer (it always executes the above 2
ioctls on both cards, on the SB it continues, on the GUS it closes the
device and gives me a warning.)

I can probably get this working if I knew where to look.

Linus, if you have a second to look at that chunk of the code, what
exactally does quake do to init sound and what does it expect back? I'd
assume the alpha and i386 versions use the same C code to do sound.

Thanks,

--Dan