From mailserv@gaia.ucs.orst.edu Fri Apr 15 19:35:25 1994
Precedence: Bulk
Date: Fri Apr 15 15:14:18 PDT 1994
From: gus-sdk-request@gaia.ucs.orst.edu (GUS Programmer's Server)
Reply-To: gus-sdk@gaia.ucs.orst.edu (GUS Programmer's Digest)
Subject: GUS Programmer's Digest V10 #8

GUS Programmer's Digest     Fri, 15 Apr 94 15:14 PST     Volume 10: Issue   8 

Today's Topics:
                           Help me please!

Standard Info:
	- Meta-info about the GUS can be found at the end of the Digest.
	- Before you ask a question, please READ THE FAQ.

----------------------------------------------------------------------

Date: Fri, 15 Apr 1994 12:00:04 +0100 (BST)
From: A Clark <a3_clark@pat.uwe.ac.uk>
Subject: Help me please!

 Please, please, please can someone help me? I've looked through all the
sample files in the SDK (V2.10) and I can't find a function named
UltraGetCfg() which is referenced in the sample program. I've attempted
writing my own but it falls over when it comes to getting the MIDI irq
from the ULTRASND enviroment variable. The symptom is that it 
evaluates the MIDI irq to be 48! and not 7 (which obviously it is set to
in the enviroment variable). If someone can spare some code to fulfill
this job I would be very greatful as it's an active component of a final
year degree project that hasn't really got off the ground yet (and it's
due in in about 3 weeks!). If anyone out there could also give me some
advice on a recording routine I would also be grateful. My project
requires a recording period of a few minutes, and therefore I'm using
extended memory as main store for the samples, while recording and
transferring from a buffer/buffers in main memory. So far I've tried
two different schemes for achieving this. The first was to use
UltraRecordData in a continuous recording loop, and use
UltraReadRecordPosition to trigger transfer of half the buffer into
extended memory, while the end-of-record interrupt would trigger
transfer of the second half of the buffer. This caused problems as
the virtual DMA services provided by EMM386 was too slow, and thus
it took a couple of seconds before UltraReadRecordPosition came
back with a value. This was solved by removing EMM386 from the
config.sys but I intended this program to work without too much change
to the system setup. Even with EMM386 removed I still encountered some
problems so I tried another approach. This time I decided I would try
priming a record into a second buffer while recording into the first, 
but I soon found out that priming couldn't occur until the recording
had finished, which meant possible breaks in the recording. For the 
second time I'm considering re-designing the routine, this time using
UltraRecordData in continuous loop mode again, but using one of the
timers to trigger that transfer into extended memory of the first half
of the buffer. As you can see my predicament isn't an easy one. If
anyone can help, please help as soon as possible as my project is
currently on hold until this problem is solved.

		a3_clark@uk.ac.uwe.csd

p.s. Does anyone know of any compression algorithms I could apply
    to the resultant samples to reduce their size for saving to
    disk. What I'm looking for is a routine I can feed 'char' values
    in as the calling parameter and get 'char' values returned when
    a compressed 'char' is available (effectively a pipe routine).

------------------------------

End of GUS Programmer's Digest V10 #8
*************************************

To post to tomorrow's digest:                    <gus-sdk@mail.orst.edu>
To (un)subscribe or get help:            <gus-sdk-request@mail.orst.edu>
To contact a human (last resort):          <gus-sdk-owner@mail.orst.edu>

FTP Sites              Archive                       Directories
---------              -------                       -----------
Main N.American Site:  archive.orst.edu              pub/packages/gravis
                       wuarchive.wustl.edu           systems/ibmpc/ultrasound
Main Asian Site:       nctuccca.edu.tw               PC/ultrasound
European Callers ONLY: theoris.rz.uni-konstanz.de    pub/sound/gus
Submissions:           archive.epas.utoronto.ca      pub/pc/ultrasound/submit
Newly Validated Files: archive.epas.utoronto.ca      pub/pc/ultrasound
Mirrors:               garbo.uwasa.fi                mirror/ultrasound
 
MailServer For Archive Access: Email to <mail-server@nike.rz.uni-konstanz.de>

Hints:
      - Get the FAQ from the FTP sites or the request server.
      - Mail to <gus-sdk-request@mail.orst.edu> for info about other GUS
	related mailing lists (general use, musician's, etc.).


