delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/05/12/06:34:11

From: boylesgj AT lion DOT cs DOT latrobe DOT edu DOT au (Gregary J Boyles)
Newsgroups: comp.os.msdos.djgpp
Subject: Call back wrappers.
Date: 12 May 1997 07:12:13 GMT
Organization: Comp.Sci & Comp.Eng, La Trobe Uni, Australia
Lines: 26
Distribution: world
Message-ID: <5l6fsd$rl9@lion.cs.latrobe.edu.au>
NNTP-Posting-Host: lion.cs.latrobe.edu.au
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

I have 3 problems I need solved.

1) How do you uninstall a mouse driver call back function.
   I have tried mouse service function 0 (reset driver), function 14
   (exchange call back function) with the call mask and function address
   zeroed, and function C (install call back function) with the call mask
   and function address zeroed. In all cases a divide overflow error
   results and the system hangs. If I don't bother uninstalling it then
   as soon as I touch the mouse after my program exits I get a protection
   fault and the system hangs. RB int list doesn't explicitly tell me
   how to uninstall a call back. 

2) I can't figure out any way to hook int 1C without getting a general
   protection fault and system hangup when I try to install the original
   ISR. I tried disabling interrupts while I restored the old ISR but that
   doesn't work. I don't actually need to hook it now but it would be nice
   to know how to do it for future projects.

3) Is dosmemget appropriate for obtaining the 'timer ticks since
   midnight'. I actually tried it in a loop but the value it returns does
   not change. So either it is not located in DOS memory, it is not
   located at 0x0040:0x006C or 0x0040 * 16 + 0x006C is not the correct
   offset  into DOS memory. That's point I haven't tried using just the
   0x0040 as the offset.


- Raw text -


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