MTask DM version 2.01 changes

 

All changes with respect to version 2.00 refer to the handling of timer interrupts.

 

InitMTask(mspertick, timeslice) now allows setting the number of milliseconds between real time interrupts and the time slice in milliseconds. Passing  0 for these arguments keeps the default values, 55 and 110 msecs. respectively. The timer is reprogrammed to the original DOS setting (55 msecs) upon program termination. The previous DOS handler is called every 55 msecs. on the average.

 

SetHandler(irq,  handler) will Panic() if you try to trap the timer interrupt (IRQ 0).

 

SetTimerCallback(callback) allows hooking the timer interrupt by installing a callback that will be called on each timer tick. To un-hook, call SetTimerCallback(NULL);

 

GetTime() returns the number of milliseconds elapsed since MTask was initialized. Not to be used for absolute time measurement, since it may not be very accurate, but rather for measuring time intervals.