Jump to content

IDLE utility - why you should not use it?


ppgrainbow

Recommended Posts

If you're using PC virtualisations such as Virtual PC, VMWare Player/Workstation, Microsoft has a tiny utility for MS-DOS called IDLE. I'm gonna tell you why you shouldn't use that utility if you have a mouse installed.

It's only bytes in 128 bytes size and it's only meant to slow reduce CPU utilitisation of the first core, because DOS does not properly utilise the HLT command thus always consuming 100% of the CPU. However, when you run DOS-based programmes and have the following:

1. The IDLE driver installed.

2. A compatible mouse driver installed.

3. Move the mouse around and type random keys.

The mouse acts and jumps around erratically even if you barely move the mouse! The only way to fix this is to uninstall and reload the mouse driver.

To prevent this from happening, get rid of the IDLE utility and use the FreeDOS APM driver, aka FDAPM (7.3 KB) and type FDAPM ADV:REG at the command prompt. The utility takes only 928 bytes of base memory. :)

I'm wondering if using FDAPM will have a negative effect on some DOS software or not.

Thoughts?

Link to comment
Share on other sites


A similar program to consider is HLTIdle that i found on Vernon Brooks' "PC DOS Retro" site (ASM source code is included in the download):

https://sites.google.com/site/pcdosretro

I haven't tested whether or not it exhibits the behavior you described; i'm just offering this info as a potential alternative that might offer more stability than MS Idle and a smaller memory footprint than FDAPM.

Here is the program description:

"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 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."

- Doug B.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...