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 Precedence: bulk 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.