The problem is, that you have drawn something on the screen that the mouse interrupt does not know about. When it moves the pointer, it restores the background as it was when last checked or used. That shouldn't happen if you initialize the mouse after you have drawn on the screen. Try, first removing the mouse cursor (int 33,2) and then draw your stuff, then call int 33,0 (to reset) and then int 33,1 to show it again. That worked for me in a program I wrote a few weeks ago. If it fails anyway, I would first try another mouse driver. A more elegant way to do it, and more professional, is to hide the cursor, and hook the mouse IRQ (I think it's on int 74) and write your totally own procedure for drawing it. |