MOUSEFIX - TSR to fix bugs in mouse drivers when used with Turbo
Pascal 6.0
Usage: Run MOUSEFIX after loading your mouse driver, before running
the TP6 IDE. It's a 27K TSR; if it works, you'll probably
want to rewrite it in assembler.
A lot of people have had trouble with TP 6 losing their mouse
cursor. I didn't have this problem, until I started using the IDE
within Desqview: then using Alt-F5 to view the output screen, and
Enter to get back to the editor would confuse Desqview, so that the
next time I popped up the Desqview menu and got rid of it my mouse
cursor would be lost.
I recently got a copy of Schulman et al's Undocumented DOS (great
book!) and the program Intrspy included with it, so I tried spying
on the mouse interrupt to see what was going on. It looks as though
the offending code goes something like this:
( You hit Alt-F5 )
TP saves the mouse state
TP turns off the mouse cursor
( You hit enter to get back to the editor )
TP restores the mouse state.
TP seems to assume that restoring the mouse state will restore the
cursor, and it does: but Desqview doesn't know that it does, so it
thinks the cursor is still hidden.
I'd guess that similar problems happen with incompatible mouse
drivers: they don't restore the cursor when the state gets restored.
If that's true, then the program MOUSEFIX might fix it. What it does
is to keep track of the cursor status between saves & restores, and
enforce a balance of shows and hides. It seems to fix the problems
within Desqview, so I'm hopeful it'll work elsewhere, too.
I wrote it in TP using Object Professional's OPINT and OPTSR units
for clarity; if you want to really use the thing, you'll probably
want to rewrite it in as
|