| delorie.com/archives/browse.cgi | search | 
| Xref: | news-dnh.mv.net comp.os.msdos.djgpp:4237 | 
| Path: | news-dnh.mv.net!mv!news.sprintlink.net!news.mindspring.com!usenet | 
| From: | robhenry AT atl DOT mindspring DOT com (Robert Henry) | 
| Newsgroups: | comp.os.msdos.djgpp | 
| Subject: | Mouse code - What am I doing wrong? | 
| Date: | Tue, 09 Jan 1996 03:51:43 GMT | 
| Organization: | MindSpring Enterprises, Inc. | 
| Lines: | 29 | 
| Message-ID: | <4cvd2h$etf@brickbat.mindspring.com> | 
| Reply-To: | robhenry AT atl DOT mindspring DOT com | 
| NNTP-Posting-Host: | user-168-121-70-97.dialup.mindspring.com | 
| To: | djgpp AT delorie DOT com | 
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp | 
I'm trying to use int 33 function C to set up an interrupt handler for
the mouse. The following code causes a GPF when int86x is called.
What an I doing wrong?
void click_handler (_go32_dpmi_registers *r)
{
}
_go32_dpmi_registers regs;
_go32_dpmi_seginfo info;
void init_mouse(void)
{
	struct SREGS sregs;
	union REGS inregs, outregs;
	info.pm_offset = (u_long)click_handler;
	a=_go32_dpmi_allocate_real_mode_callback_retf(&info, ®s);
	if(a!=0)
		abandon_ship("Could not allocate real mode callback for mouse.");
	inregs.x.ax = 0xC;
	inregs.x.cx = 0xFFFF;
	inregs.x.dx = info.rm_offset;
	sregs.es = info.rm_segment;
 	int86x( 0x33, &inregs, &outregs, &sregs);
}
| webmaster | delorie software privacy | 
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |