Subj : small advertisement (TIMER0 & TSPOOL)
To   : All
From : Lesha Tsoorgaev
Date : Sun Jul 30 2000 07:52 am

Hello All,

I have rewritten TIMER0.SYS recently and I want to make it available for all
who need (with ASM sources). Docs are not ready yet. Differences compared with
Timur Tabi's version are most cosmetical:

The counter _is_ synchronized with InfoSegGDT.SIS_msCount. More precisely it is
always some (fixed) milliseconds late. Solution is quite simple. At start
SIS_msCount value is simply copied and then the counter is never allowed to
exceed it.

Timer handlers are called on ms boundary with interrupts enabled and IRQ0
dismissed. This makes counter accurate even if HRT handlers hold control for
more than 1ms. If it takes place, TIMER0 skips the delivering of the next
interrupt to handlers. Instead the next time handlers are called, they receive
a counter of skipped calls as a parameter both on stack and in ax register.

I have used a request queue and DevDone to process HRT_BLOCKUNTIL IOCTL
removing any restrictions for amount of requests. Restriction for  a maximum of
8 handlers is remaining however.

I have reordered IOCTL numbers to conform OS/2 considerations (4xh and 6xh).
Old IOCTL numbers remains valid for compatibility with Timur's version.
HRT_FREE_POINTER does release timer pointer now but it's functionality is not
tested yet. HRT_SET_RESOLUTION is still not functional, and I think even to
completely remove this request. IMHO it is more handy to have a command line
switch to change resolution and _not_ to have such a request.

TSPOOL... This is a spooler for T-Shell. It is simply monitoring LPT, write
spool queue and then despool it quietly, not disturbing a user with pop-up
messages if a printer is busy. It does no transformations but allow to send
some data before and after each file printed (to download national fonts, for
example). It provide the very fast way to terminate an entire queue too. VP/2
sources are available.

Cheers,
\Lesha

--- MadMED v0.42i/OS2 (Apr 25 1997 15:17:26)
* Origin: HDD2G/HPFS+HDD32M/RT-11 (2:5020/1613)