HLTIDLE - reduce CPU power usage in DOS

HLTIDLE reduces power usage during the DOS keyboard idle loop by executing a
HLT instruction when the keyboard idle function (INT 2Ah function 84h) is
called. INT 28h is not used because in addition to being called during the DOS
keyboard idle loop, INT 28h is called once for every 64 characters output
(every 4 characters output in DOS 2.x and 3.x) via INT 21h function 02h (note
INT 21h function 09h uses the function 02h code). HLTIDLE also hooks INT 15h
and checks for functions 90h (wait) and 91h (post) with device type codes 01h
(floppy drive) or 02h (keyboard) so it can execute a HLT instruction while
waiting for floppy disk I/O completion or BIOS keyboard input via INT 16h
functions 00h or 10h.

HLTIDLE is a small TSR program which uses 192 bytes of memory and may be
loaded into upper memory. If the LO parameter is specified then HLTIDLE will
relocate itself to the unused area from 556h to 5BFh (segment 50h) effectively
using no DOS memory at all.

homepage: https://pcdosretro.gitlab.io/hltidle.htm
