Speed control programs for AMI 386 cache motherboard    12/18/89

The AMI 386 motherboards provide keyboard control of CPU speed, but
sometimes you want to control the speed in a batch file or a program. 
The enclosed three programs let you change the speed from a batch
file.  The programs are:

FAST.COM        Sets fast speed and enables cache, same as Ctrl-Alt-Plus
SLOW.COM        Sets slow speed, same as Ctrl-Alt-Minus
NOCACHE.COM     Disables cache, same as Ctrl-Shift-Alt-Minus

To enable the memory cache after running NOCACHE.COM, use FAST.COM. 
It enables the cache as well as setting the fast speed.  In slow
speed, the cache is always disabled.

For those who would like to control the CPU speed or cache from their
own programs, here is how to do it.  There is a byte register at I/O
port 460h that controls the speed and cache.  This register also
contains some other bits that should be left alone.

To change the speed or cache setting:

1.  Read the byte port 460h.

2.  Change bits 5 and 6 as desired:
    Bit 5 controls the speed.  1 = fast, 0 = slow.
    Bit 6 controls the cache.  1 = enabled, 0 = disabled.
    Note that the cache is always disabled in slow speed regardless
    of the bit 6 setting, but it's recommended that you turn off
    both bits if you are setting slow speed.

3.  Turn on bit 7.  The machine will crash if you don't do this!

4.  Write the new byte value back to port 460h.  You don't have to
    do any JMP SHORT $+2's - this I/O port is on the motherboard.

In Microsoft C, the would look like this:

#define AMIPORT 0x460

    // Set fast speed and enable cache
    outp( AMIPORT, inp(AMIPORT) | 0xE0 );

    // Set slow speed and disable cache
    outp( AMIPORT, inp(AMIPORT) & 0x9F | 0x80 );

    // Disable cache when in fast speed
    outp( AMIPORT, inp(AMIPORT) & 0xBF | 0x80 );


These programs are in the public domain and may be freely
distributed.  Please include this README.TXT file.

Michael Geary
P.O. Box 1479
Los Gatos, CA  95031-1479

BIX: geary
CompuServe: 76704,35
