EIDL version 1.0.0 released (Announce)
> Wasn't in RBIL, but in Vernon Brooks' DOS API notes.
> - INT 28h was added in DOS 2.0 to allow the resident print spooler
> (PRINT.COM) to gain control while DOS is idle.
> - The DOS kernel issues INT 28h during the keyboard idle loop and once for
> every 4 (DOS 2.x and 3.x) or 64 (DOS 4+) characters output via INT 21h
> function 02h.
> - INT 21h function 09h uses the function 02h code internally so strings
> printed via function 09h also contribute to the INT 28h character output
> count.
Vernon Brooks was lead developer for PC-DOS 7, and has also written a (more-advanced) DOS idling program. He has this to say about it:
-----
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.
-----
You can download the HLTIDLE program (asm source included) here:
https://sites.google.com/site/pcdosretro/hltidle
There is a wealth of other DOS-related history and programming info on his website, as well as a few original patches and programs.
- Doug B.
Complete thread:
- EIDL version 1.0.0 released - rr, 18.02.2020, 21:32 (Announce)
- EIDL version 1.0.0 released - Japheth, 20.02.2020, 13:16
- EIDL version 1.0.0 released - rr, 20.02.2020, 15:44
- EIDL version 1.0.0 released - Doug, 20.02.2020, 19:20
- EIDL version 1.0.0 released - rr, 20.02.2020, 20:34
- EIDL version 1.0.0 released - Doug, 20.02.2020, 19:20
- EIDL version 1.0.0 released - rr, 20.02.2020, 17:54
- EIDL version 1.0.0 released - Japheth, 21.02.2020, 20:23
- EIDL version 1.0.0 released - rr, 21.02.2020, 21:57
- EIDL version 1.0.0 released - Japheth, 22.02.2020, 03:14
- EIDL version 1.0.0 released - rr, 23.02.2020, 19:10
- EIDL version 1.0.0 released - Japheth, 24.02.2020, 19:04
- EIDL version 1.0.0 released - rr, 23.02.2020, 19:10
- EIDL version 1.0.0 released - Japheth, 22.02.2020, 03:14
- EIDL version 1.0.0 released - rr, 21.02.2020, 21:57
- EIDL version 1.0.0 released - Japheth, 21.02.2020, 20:23
- EIDL version 1.0.0 released - rr, 20.02.2020, 15:44
- EIDL version 1.0.0 released - Japheth, 20.02.2020, 13:16