Xref: utzoo rec.music.synth:4941 comp.sys.next:120 Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!mit-eddie!rutgers!bellcore!faline!thumper!ulysses!andante!alice!debra From: debra@alice.UUCP (Paul De Bra) Newsgroups: rec.music.synth,comp.sys.next Subject: Re: NeXT! Message-ID: <8323@alice.UUCP> Date: 22 Oct 88 17:53:49 GMT References: <881019-085756-6643@Xerox> <1127@leah.Albany.Edu> <2881@sugar.uu.net> <3284@utastro.UUCP> <1604@oakhill.UUCP> Reply-To: debra@alice.UUCP () Organization: AT&T, Bell Labs Lines: 34 In article <1604@oakhill.UUCP> bryant@oakhill.UUCP (Bryant Wilder) writes: >In article <3284@utastro.UUCP>, james@utastro.UUCP (James McCartney) writes: >> Which brings up a subject -- How was the NeXT music demo done (it was real >> time) ? and, What techniques does one use to implement real time operations >> in Mach or Unix ? > > >the NeXT demo with the violinist was done in real time using a program >written by the NeXT engineers for the Motorola DSP56001. there was some >question in my mind whether the general audience realized this. in fact This isn't difficult to realize at all. The IBM-AT (and clones) only have a very primitive sound generator (nothing like the DSP56001 at all, wish it did...) and a simple device driver for Xenix could generate real-time music without any problem: The device driver uses a buffer of 1024 notes (would have to be something slightly more complicated for the NeXT) so you can asynchronously fill the buffer while the music is playing. If the (small) device driver gets the highest interrupt priority it operates at real time and can generate at most 60 notes per second but that is usually enough. The NeXT can have much more intelligence in the DSP56001, to handle the buffer for instance, so Mach (and the 68030) don't have to operate in real time at all. The buffers for the DSP can be made large enough so the OS can keep the buffers filled even when the machine is heavily loaded. So not the whole OS needs to be real-time to perform some real-time operations using intelligent (real-time) periferals. Paul. -- ------------------------------------------------------------------------- |debra@research.att.com | uunet!research!debra | att!grumpy!debra | -------------------------------------------------------------------------