home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.c++
- Path: sparky!uunet!wupost!emory!gatech!destroyer!ais.org!empath
- From: empath@ais.org (Tim Triemstra)
- Subject: 32bit Zortech Pointers
- Message-ID: <C03usF.8CA@ais.org>
- Organization: UMCC
- Date: Thu, 31 Dec 1992 03:53:01 GMT
- Lines: 28
-
- I've worked long and hard converting some SoundBlaster code from MicroSoft C
- to Zortech C++ support (added BC++ along the way as well.) However, the
- one catch I have come accross seems to be related to the pointers.
-
- I already converted all the INT calls to reflect 2bytes in the 32bit mode to
- ensure compatibility (I can optimize later.) So, since it works under the
- Zortech 16bit modes it SHOULD work under the 32bit model. It does compile
- (using the quick-and-dirty command line) and produce a "working" .exe file.
- However, where it is supposed to play a VOC file of ??? bytes, it comes out
- playing ??? bytes - but the wrong bytes! I know the interrupts are working
- as you can time the routines when they work (and play something like "HELLOW
- STRANGER" outta the SB Speaker) and the garbage and they are equal because
- the length of the sample is controled in a standard 2byte short. However,
- I get garbage for that period of time. I also know it is working simply
- because the entire thing is handed via interrupts and wouldn't work at all
- if it wasn't kicking in.
-
- My assumtion is that since the data for the VOC is stored in a pointer of
- unsigned char's in both versions, that the pointer is somehow not protected
- enough for the interrupt handler. So, any ideas on how to get this working?
- I thought I may need to use one of the DOS extenders pointer making
- functions, but none of them really seem aplicable.
-
- I am using Zortech C++ 3.04 with FlashTek's X32-VM (very similar to the
- standard DOSX.)
-
- Tim.
-
-