www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/11/06/03:47:31

Newsgroups: comp.os.msdos.djgpp
From: mksmith AT idirect DOT com (Martin Smith)
Subject: Help re. Interrupt 0x33 & 32 bit pointers.
MIME-Version: 1.0
Reply-To: mksmith AT idirect DOT com
Message-ID: <Edina1996Nov6.003932.20748@oasis.idirect.com.compulink.com>
Date: 6 Nov 96 05:39:32 UTC
Sender: @chaos.idirect.com
Lines: 21
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

I am rewriting some old code which sets a graphics mouse cursor 
via a call to DOS interrupt 0x33.  In the bad old days (the 
days of SEGMENT:OFFSET), I could do this sort of thing:

	unsigned short ScreenMaskArray[32];
  
        union REGS registers;

	registers.ax = 9;       //to set the graphics cursor bitmap
	...
	registers.dx = ofset(ScreenMaskArray);
	registers.es = segment(ScreenMaskArray);   // THIS doesn't work
	CallInterrupt(0x33, &registers, &registers);

I can't get this to work, because I can't translate a 32-bit pointer to 
the ScreenMaskArray into anything that DOS can understand.  What can be 
done?

{Getting the mouse calls to work is secondary to my learning how to 
deal with this kind of problem if it arises again.}

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019