Pro-formance c't 10/96 S. 124, Andreas Stiller, translated by Thomas Pabst

-----------------------------------------------------
ctppro.exe   executable program

The Pentium Pro CPU contains internal registers (Memory Type Range Register
MTRR), which have to be programed for reaching full PCI performance, e.g. for
the frame buffer of the video card.
In this case the transfer performance of fast video cards (Matrox Millennium,
ET6000 etc) goes up from about 20 MB/sec to about 90 MB/sec - as long as the
chipset write buffers are enabled as well.

The MTRRs of the PPro are divided between the Fix Range MTRRs between 0 und 1
MByte of the main memory (where you can find the VGA buffer at A0000 - BFFFF),
and 8 Variable Range MTRRs, responsible for the address range above 1 MB.

For the regarding address ranges you can choose between the following memory
attributes:

UC  uncached
WC  Write Combining
WP  Write Protect
WT  Write Through
WB  Write Back

The first Variable Range MTRR (no. 0) is responsible for the normal main
memory and hence usually set to WB. The second Variable Range MTRR (no. 1) is
usually not used, so you can enter the linear frame buffer (LFB) of the video
card, which has to bet set to WC (write combining). To find the location of
the frame buffer, have a look into the Win95 Device Manager under 'ressorces'
of the video adapter.

ctppro can display and change the contents of the MTRRs and is able to change
some special bits in the Intel Orion (450GX/KX) and Intel Natoma (440FX)
chipsets, to e.g. enable/disable the PCI write buffers and more.

Command line parameters:

V              : sets VGA-memory A0000-BFFFF to WC
V:aa           : sets VGA-memory A0000-BFFFF to attribute 'aa'
n/xx,yy:aa     : sets MTRR 'n' for start address 'xx' and size 'yy' to 'aa'
xx,yy:aa       : sets MTRR 1 for start address 'xx' and size 'yy' to 'aa'
xx,yy          : sets MTRR 1 for start address 'xx' and size 'yy' to 'WC'

'xx' and 'yy' have to be either hex or decimal with additional K, M, G for
kB, MB or GB.

M:             : enable 'Fast String Move'

S1             : set bits displayed under 1) to ON or '1'
S123           : set bits displayed under 1), 2), 3) to ON or '1'
R1             : set bits displayed under 1) to OFF or '0'
R123           : set bits displayed under 1), 2), 3) to OFF or '0'

P              : display frame buffer address (detected from PCI header)
FRAME,yy       : set MTRR1 to detected frame buffer address with size 'yy'
FRAME          : set MTRR1 to detected frame buffer address with detected
                 size, this can sometimes lead to crashes or system
                 instabilities

You can sum up the command line parameters for using in batch files, separated
by spaces.

If you want to use this with Windows 95/98/ME, you can add this command in
your autoexec.bat.

For further help please use the help function of ctppro.