home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.c++
- Path: sparky!uunet!cs.utexas.edu!sdd.hp.com!spool.mu.edu!umn.edu!csus.edu!netcom.com!netcomsv!proto!joe
- From: joe@proto.com (Joe Huffman)
- Subject: Re: 32bit Zortech Pointers
- Organization: FlashTek, Inc.
- Date: Wed, 06 Jan 1993 21:51:13 GMT
- Message-ID: <1993Jan06.215113.6205@proto.com>
- References: <C03usF.8CA@ais.org> <1992Dec31.203531.1158@proto.com> <C06441.8oI@ais.org>
- Lines: 30
-
- empath@ais.org (Tim Triemstra) writes:
-
- >The code goes something like this:
-
- >unsigned char *buffer;
- >//malloc the buffer I believe
- >InitVoice(buffer);
-
- >My pointer logic is real bad at 4am but that is the gist of it. In the
- >32bit mode, I get static - but the proper amount of static which mean that
- >the interrupt is being called and killed correctly, but not given the proper
- >data - hence the concept of improper pointer holding in 32bit modes with
- >interrupts.
-
- What I suspect the problem is that your InitVoice() routine does is execute
- something in real mode. The protected mode pointer that you pass to it is
- not valid while in real mode. What you will need to do is allocate some
- real mode memory (int 21H function 48H) then use the protected mode pointer
- to put the data into the buffer from protected mode, then use the real mode
- pointer to pass to the real mode code to take the data out of the buffer.
-
- >Thanks again guys. Joe - I sent this code a while back UUENCODED to
- >you att proto com, so if this interests you and you would "like" to get
- >it working go fer it. It's just gonna be GNU distrubuted when done anyhow.
-
- I have the code, but I don't have a sound blaster to try it out on... thanks.
-
- --
- netcom!proto!joe
- joe@proto.com
-