Hi Ladislav, > Is possible to call a software interrupt from hardware interrupt? I > want to call INT33h/AX=3 from INT 1Ch handler. And this all works in > protected mode. I tried to call INT33h through DPMI service 31h but > it crashed. Is it possible at all?
Yes, sure, but you must avoid calling int33 while int33 is already active. The usual way to do this is: - write an own int33 handler which just calls the original int33 handler but which increments a counter before calling the old int33 and decrements it when the old int33 returns. Make sure not to mess with the flags returned by the old int33. - write a test in your int1c handler which makes it avoid the int33 call if the counter is found to be nonzero - you could also write a test in your int33 handler to do the same, but it is more polite to make only your int1c handler wait and not all int33 users - the int1c handler should not really WAIT until int33 is ready. instead, it should skip over the whole mouse stuff when int33 is busy... there will always be a next int1c clock tick :-) Of course things might get more complicated because you use protected mode (do you need it?), but the idea stays the same. Eric PS: Would you be interested in support for 4th and 5th PS2 mouse buttons for your mouse handler? :-) ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel