K6-2, 2+, III+ Resources
A friend who has a vast knowledge about the more technical aspects of computing, helped me with getting write allocation and write combining working on the AMD K6-2 processors. You can check out his website here.
What we found was that some of these tools below, only worked with the regular K6-2, and possibly the K6-III, but not with the mobile CPUs, the K6-2+ and K6-III+. This was quite confusing at first and I tried various motherboards and other components.
After enabling Write Combining I saw a significant boost in DOS VESA games, such as Quake, Duke Nukem 3D or PC Player Benchmark at 640 x 480 resolutions. Performance of DOS 320 x 200 games didn't improve and Windows 3D games such as GLQuake, Incoming or 3DMark2000 saw a measurable, but small, performance improvement.
With the K6-2, and possibly K6-III, under DOS you can use MXK6OPT or SETK6V3. The first is easier to use, the latter has more options to configure. Under Windows you can use CTU, this is a very powerful tool with some other tweaks.
With the K6-2+ and K6-III+ only MXK6OPT worked for me under DOS.
What we found was that some of these tools below, only worked with the regular K6-2, and possibly the K6-III, but not with the mobile CPUs, the K6-2+ and K6-III+. This was quite confusing at first and I tried various motherboards and other components.
After enabling Write Combining I saw a significant boost in DOS VESA games, such as Quake, Duke Nukem 3D or PC Player Benchmark at 640 x 480 resolutions. Performance of DOS 320 x 200 games didn't improve and Windows 3D games such as GLQuake, Incoming or 3DMark2000 saw a measurable, but small, performance improvement.
With the K6-2, and possibly K6-III, under DOS you can use MXK6OPT or SETK6V3. The first is easier to use, the latter has more options to configure. Under Windows you can use CTU, this is a very powerful tool with some other tweaks.
With the K6-2+ and K6-III+ only MXK6OPT worked for me under DOS.
Here are a collection of K6-2 utilities and tools that can be a bit hard to find.
|
SetMul v1.2 - Multiplier control for VIA C3, AMD K6 Mobile and Cyrix 5x86
G. Broers 2014, 2015 - Free for non-profit use. DESCRIPTION ----------- The main purpose of this program is to quickly change the multiplier of VIA C3 and AMD K6 Mobile x86 processors in MS-DOS and Windows 9X. It will display the multiplier and resulting speed. In addition it can enable and disable processor L1 and L2 cache. BACKGROUND ---------- Many DOS game and programs have issues with a CPU speed higher then expected, while other software benefits from increased CPU speed. Having a means to adjust the processor speed is important for making a system suitable for a broad range of vintage software. Originally a classic Pentium processor multiplier was set through jumpers, without any means to adjust this through software. Around 2000 came a line of 'mobile' processors specifically aimed for laptops, which had a new feature to preserve battery life when idle: -Intel called this feature (Enhanced) SpeedStep. -AMD called this feature PowerNow! -VIA/Centaur called this feature Longhaul, but later renamed it to PowerSaver. In all cases it is about temporarily decreasing the processor multiplier by software. The resulting net processor speed is the Front Side Bus speed times the selected multiplier. For example: 66 MHz FSB times 5.5 = 366 MHz. MULTIPLIER OPTIONS ------------------ This table shows the available options for each supported processor: VIA C3 Samuel 1: 3.0x to 8.0x, 11 choices VIA C3 Samuel 2 step 0: 3.0x to 8.0x, 11 choices VIA C3 Samuel 2 step 1+: 3.0x to 12.0x, 16 choices VIA C3 Ezra: 3.0x to 12.0x, 16 choices VIA C3 Ezra-T: 3.0x to 16.0x, 27 choices VIA C3 Nehemiah: 4.0x to 16.0x, 25 choices AMD K6-2+ / K6-III+: 2.0x to 6.0x, 8 choices (2.5x is excluded) Cyrix 5x86 1.0x to jumpered multiplier (being 2, 3 or 4), 2 choices A VIA C3 may, or may not work reliably at a total core speed below 250MHz. BUILD-IN CACHE OPTIONS ---------------------- Disabling L1 Cache makes a processor very slow, at least half the processing speed is cut. Disabling L2 Cache also slows the net speed, but has far less impact. SetMul allows disabling the L1 cache on any x86 processor from the 486 onwards. SetMul allows disabling the L2 cache on the K6 Mobile and VIA C3. Note that the C3 Samuel 1 has no L2 cache. Contrary to many other cache disabling tools it still works when EMM386 or Windows 9X are loaded. PARAMETERS ---------- /? - default help screen. [Multiplier] - as a single digit like '5', or '5.0', or halves like '5.5'. L1D - L1 Cache Disable. L1E - L1 Cache Enable. L2D - L2 Cache Disable. L2E - L2 Cache Enable. ICD - L1 I-Cache Disable, on VIA C3. (I-Cache is half the total L1) ICE - L1 I-Cache Enable, on VIA C3. (I-Cache is half the total L1) BPD - Branch Prediction Disable, on VIA C3. BPE - Branch Prediction Enable, on VIA C3. Multiple commands can be passed at once. Running SetMul on a K6 mobile / VIA C3 without parameters gives the current speed. It will also give the multiplier range and parameters that apply. Also supported are 4 or 5 wide raw bit patterns: like '1010b' or '01010b'. But these values are not checked for support, and allow for faulty register input! OPERATING SYSTEM COMPATIBILITY ------------------------------ -Compatible with MS-DOS, both with and without EMM386 loaded. -Compatible with Windows 95, 98 and ME. -SetMul requires CWSDPMI.exe or a compatible DPMI host. -SetMul sets up a Ring0 exploit to get privileged access to the CPU registers. -Windows NT/2K/XP/Vista/7/8 or later cannot be fooled, these systems are not supported. DISCLAIMER ---------- Use SetMul at your own risk! The author takes no responsibility for loss of data or damage to hardware through the use of this software. This program is for vintage hardware hobby use only. It has not been sufficiently tested to be used while simultaneously working on important data. ALTERNATIVES ------------ C3Mul for DOS, all functionality retained in SetMul. Relies on CWSDPR0.exe. WCPUID for Windows (works with Samuel 1, does not work with Ezra-T) CrystalCPUID for Windows (Does not work with Samuel 1, works with Ezra-T) K6DOS config.sys Driver for DOS, and K6Speed for windows. AMD K6 Central Tweaking Unit (CTU), for Windows. http://falcosoft.hu/ has DOS-based multiplier tools for AMD Athlon etc. |
|
Program name: K6DOS.SYS
Purpose: Initialize k6+ CPUs Program version: 1.0 k6dos.sys is a DOS driver program that initializes k6+ CPUs prior to the loading of a memory manager. The primary objective of the program is to initialize the k6+ (k6-2+ and k6-3+) CPUs to operate at peak settings (multiplier, write combining modes and write allocation) as early as possible in the boot process. Upon completing the process of initializing the CPU, k6dos.sys unloads itself from memory and returns any used memory to DOS. Following are the command line switches that are recognized and a brief description of each. (Note- prefix each switch with a "-" or "/" in the device=k6dos.sys line in config.sys): ------------ -2.0 2.0x multiplier -3.0 3.0x multiplier -3.5 3.5x multiplier -4.0 4.0x multiplier -4.5 4.5x multiplier -5.0 5.0x multiplier -5.5 5.5x multiplier -6.0 6.0x multiplier -wah Enable write allocation with a 15-16 megabyte memory hole -wcg Enable write combining GEWBED mode -wcs Enable write combining SEWBED mode -wc0 Enable write combining Strong Write Ordering mode -------------- The config.sys line should be created as follows: device=k6dos.sys [optional command line switches] Here's an example line that might be inserted into the config.sys file: device=k6dos.sys -6.0 -wcg The example line above sets the CPU multiplier to 6x, will enable write allocation automatically for the entire memory range of the computer, and will enable write combining GEWBED mode. Make certain that the k6dos.sys line is the first line at the top of the config.sys file to ensure that all will work properly, since k6dos.sys must run before any other drivers are loaded in the config.sys file. Default values assumed are as follows: Default multiplier: 5.5 If you do not specify a multiplier value on the command line, 5.5x is assumed to be the desired multiplier. Default Write allocation mode : The size of memory is detected by the driver and all memory is set to use Write Allocation, use the "-wah" setting only if you desire a hole at 15-16 meg in memory for write allocation. Default Write Combining mode: wc0 This program will work ONLY with k6+ CPUs, do not use it with any other CPU. Copyright Kyle S. Brant 2001, all rights reserved. Commercial use and distribution of this program is strictly prohibited unless the program was obtained via purchase of a k6+ CPU from Computer Adjusters of Allegan. Use by home users or individuals in a non-commercial setting is allowed. Duplication and reselling of this program is strictly prohibited. |
|
This file is patched up version of the mxk6opt.exe program by (I don't know
who wrote it). Anyway it was meant for the k6-2 and k6-3 but wouldn't work with the k6-2+ and k6-3+ because it couldn't recognise their cpuid. Anyway I patched out the cpu identification code with a hex editor and renamed it mxk6crck.exe. I should work exactly the same as the original mxk6opt program but just not be fussy about what cpu model it runs on. PS. I took a look at what this programs does and it appears to do a combination of Write Combining enabling and EWB enabling. That is you should get the same result as applying my k6wc.exe and setewb programs separately. Be warned though that this one does the equivalent of "setewb 2" which I've found can cause display anomalies on some machines. Personally I think "setewb 1" is a much better option. Note that this program is only compatible with k6-2(cxt), k6-3, k6-2+ and k6-3+. Now that the cpuid has been cracked out it is your responibility to check that you have the correct processor type. Uart. 8/28/2000 |
|
***************************************************************************
AMD K6, K6-2, K6-2 CXT - Utility SetK6, c't, Andreas Stiller -- November 98 *************************************************************************** Included in this .zip file -- ----------------------------- SetK6.exe 32-Bit-Version for Win95/98 and NT SetK6D.exe DOS-Version Direct95.VXD Drivers for Win95/98 DirectNT.SYS Drivers for NT SetK6.txt German Readme file SetK6-Eng.txt English Readme file Overview -------- SetK6 controls and sets the internal processor registers for Write Allocation (K6-2) and Write Combining (only K6-2 CXT). If the processor's BIOS is not aware and does not correctly initialize, the processor runs on average about five percent more slowly than optimum. Usage ----- One should call SETK6 under Windows from the MSDOS Shell as a console application, if one wants to set parameters. SETK6 can be included in autoexec.bat (DOS) or the Windows Startup Folder (Win95/98/NT), so its executes automatically at Startup. *************************************************************************** Setting Write Allocation on K6-2 and K6-2 CXT *************************************************************************** Options ------- SetK6 Setk6D without parameters outputs the current status. Setk6 /on activate Write Allocation for all memory under Windows. Setk6 /off deactivate Write Allocation Setk6 /on xxM activate the memory to xx MByte or briefly: Setk6 xxM with xx: in decimal with attached M, thus e.g.. set 64M NOTE : In DOS the memory amount must be indicated! ********************************************************************************************* Setting Write Combining on K6-2 CXT ********************************************************************************************* The CXT processor supports so-called Write Combining for uncached MEMORY. Concerning this can be managed in particular faster accesses on the Linear Frame Buffer (LFB) of the diagram card (similar to the Pentium II). for this purpose offers the K6-2 CXT two Memory Type Range Register (MTRR), which one can adjust to the physical address position and the size of the LFBs. setk6 gets the address position from the PCI header, however several resources can be entered here. Options ------- setk6 /M0:LFB,xxM MTRR0 sets on the first found entry in the header with xxM as size of (default 64M) on attribute WC (Write Combining) setk6 /M0:LFB2,xxM MTRR0 sets on the second found entry setk6 /M1:LFB,xxM accordingly for MTRR1 One can explicitly indicate an attribute, e.g. setk6 / M0:LFB, 16m, wc or...,uc(UnCached) ne(No Effect) setk6 / M0:E0000000 or / M0:3584M In case the entries in the PCI header do not correspond to the actual Framebuffer,one can instead input the adress. Note that the 'M' suffix denotes a decimal number. No 'M' defaults to Hex. setk6 / M:LFB: Without specification of the MTRR number setk6 takes the next free MTRR thus: first free MTRR set on LFB in accordance with PCI headers with a default setting of 64M setk6 also outputs the comparison with/without Write Allocation the filling rate (Memset) for 32 KByte a large memory area into the memory. ----------------------------- | SETK6 Utility was | | Written by Andreas Stiller | ----------------------------- |
|
AMD K6, K6-2, K6-2/CXT K6-III-Utility SetK6, V3
c't, Andreas Stiller March 99 ********************************************************************** SetK6.exe 32 Bit version for Win95/98 and Win NT SetK6D.exe DOS version Direct95.VXD Driver for Win95/98 DirectNT.SYS Driver for NT (V3 hats little corrections against V2, mainly the default size of the frame buffer is changed to 16 MByte) SetK6 controls and sets the internal processor registers for Write Allokation and Write Combining (K6-2/CXT, K6-III only). If the BIOS does not recognize and does not correctly intitialize the processor, it runs about 5 % slower than necessary. Under Windows setk6 is a consol application, which normaly should be started from the MSDOS shell, at least if you want to pass parameters. SetK6, Setk6D without parameters show the actual state. Setk6 /on : activates Write Allocation under Windows for the complete system memory Setk6 /off : deactivates Write Allocation Setk6 /on:xxM: activates WA for memory until xx MByte oder shortform: Setk6 xxM with xx: decimal with suffix M means xx MByte i.e. setk6 64M (without M setk6 interpretes the number hexadecimal in MByte, i.e setk6 64 => setk6 100M) under DOS you always have to specify the maximal memory ! Extension for the K6-2/CXT and K6-III The K6-2/CXT and K6III processors support a so called Write Combining for uncached memory. This enables a much faster access to the linear frame buffer (LFB) of the grafic card. For this the processor offers two Memory Type Range Registers (MTRR), where you can program the physical address and size of the LFBs. Modern grafic cards usually support two LFBs, one for direct accesses and one for the hardware accelerator. setk6 looks into the PCI header of the grafic card, where normally these resources are stored. setk6 /M0:LFB,xxM sets MTRR0 according to the first entry in the PCI header with the size xxM (default 16M) and with attribut WC (Write Combining) setk6 /M1:LFB2,xxM sets MTRR1 to the second Entry You even can specify an attribut, i.e. setk6 /M0:LFB,16M,WC or ...,UC (uncached) ...NE (No effect) If the entries in the PCI header are not conform with the real address of the framebuffer or you have other hardware with PCI-memory, you can specify directly a wanted address (in hex): setk6 /M0:E0000000 which is the same as /M0:3584M If you do not specify a Number with MTRR, setk6 looks for the next unused MTRR: setk6 /M:LFB : first unused MTRR is set for LFB according to the PCI header with default size 16M Mostly the typical setting under Windows looks like this: setk6 /on /M0:LFB /M1:LFB2 and so under DOS with 64 MByte memory: setk6D /on:64M /M0:LFB /M1:LFB2 Andreas Stiller/c't March 1999 |
|
Look in the help file for additional information.
Phil: This is a really cool Windows utility. Let's you enable Write Allocation, Write Combining and other tweaks. |
|
Program : k6clk* sets the power-now soft-multiplier for the k6-2+ and k6-3+.
Author : Uart. Files : k6clk.exe, 8,336 bytes, 10-22-2000. : k6clkw.exe, 8,400 bytes, 10-22-2000. : k6clkini.com, 21 bytes, 10-22-2000. : k6clkwin.exe, 178,688 bytes, 10-22-2000. : k6ckptch.exe, 14,440 bytes, 10-22-2000. Limitations : Probably only suitable for Dos, Win95, Win98 and 98SE. Don't load emm386.exe (in config.sys) if using this software. Description : - k6clk.exe is a stand alone DOS version of the program. It can be run from autoexec.bat when starting windows but can't run from within Windows. - k6clkw.exe is a command line version of the program that can be run in either DOS (autoexec.bat) or in Windows. This version however is not "stand alone" and requires the file "k6clkini.com" to be loaded before it can be run. - k6clkwin.exe is a graphical (gui) version of the program and can be run in Windows only. This version also requires that "k6clkini.com" be loaded (typically during autoexec.bat) before it can run. - k6clkini.com is a dos mode program (eg autoexec.bat when starting windows) that must be run BEFORE either k6clkw.exe or k6clkwin.exe can be run. - k6ckptch.exe is an optional patch program that allows you to change the IO (Input/Output) address resources used by both k6clkw and k6clkwin. The patch program will target the three files, k6clkini.com, k6clkw.exe and k6clkwin.exe. Note that the stand alone DOS version k6clk.exe does not require any IO resources and is not affected by this patch. By default the I/O address space used by these programs is 0xFFF0...0xFFFF That is the I/O base address is 0xFFF0. k6ckptch.exe lets you select a different base address if you want. Unless the default range conflicts with your hardware then there is no reason to run this patch. Usage : - k6clk.exe "k6clk <mult>" (without quotes) where <mult> is a number and one of either 2, 3, 3.5, 4, 4.5, 5, 5.5 or 6, sets the cpu clock multiplier. "k6clk =" (without quotes) reports the current (soft) clock multiplier setting. Note that the multiplier can not be reported unless it has previously been software set. Initial hardware multiplier settings are not reported. - k6clkini.com is run without any parameters. It is typicaly run from autoexec.bat at start up. It does not make any changes to the clock multiplier but simply enables the Power-Now hardware so that either k6clkw.exe and/or k6clkwin.exe can change the multiplier later. - k6clkw.exe has identical syntax to k6clk.exe. The only difference is that k6clkw requires k6clkini.com to have been previously loaded and that k6clkw can be run from within windows. - k6clkwin.exe launches the gui version. You may launch from a command prompt if you like though you would typically launch it from a windows shortcut. The program accepts one or two optional numerical command line parameters. If you specify one number such as "k6clkwin 4.5" (either in the command line or in the shortcut) then that number will be the highest multiplier setting that the gui version will allow you to select. In the above example the 5.0", "5.5" and "6.0" radio buttons would be inactive (greyed out). This is useful if you wish to prevent settings that would crash your computer from being applied. If you specify two numbers in the commmand line (or shortcut) such as "k6clkwin 5.5 5" then the first number is treated as the maximum allowed multiplier value and the second parameter is the initial mulitplier value. In the above example the program will immediately set the multiplier to 5.0 and also make 5.5 the highest possible setting by disabling the radio buttons for 6.0x. - k6ckptch.exe Only run this if you have a clash with the default I/O mapping of 0xFFF0 for the Power-Now base address. To run the patch simply copy the patch file (k6ckptch.exe) and the three target files to a single directory then run the patch program without any parameters. The program will prompt you for a new Base I/O address, patch the three target files and produce a log file (k6ckptch.log) with all the details. The three target files are k6clkini.com, k6clkw.exe and k6clkwin.exe. It is preferable to let these three be patched all at the same time. Note that the original files are not modified but a patched copy is made of each. Misc Issues. - Current multiplier reporting. The software can not report the current multipler value unless the current multiplier value was software set. If you booted with hardware selected multipier (as is normally the case) then the software won't initially be able to report the correct multipler. Once you make a software setting however the reporting will then be correct from then on, even if you exit the program and restart it (as many times as you like). There are three valid work arounds for this problem. 1. Do nothing. As long as you know what's happening you can do nothing and just accept that the software will report the initial muliplier setting as 4.5x regardless of what it's true (hardware set) value is. The reason why it reports 4.5x is because the power-now field is set to zero at reset and the mult-code 000 just happens to correspond to 4.5x 2. Alternatively you can just set the initial mult using either k6clk.exe or k6clkw.exe in autoexec.bat. That way when you run the software under windows it can report the correct mult setting even before changes are made. Be aware that if you use k6clkw.exe in autoexec.bat then it must appear AFTER k6clkini.com and if you use k6clk.exe then it must be run BEFORE k6clkini.com. The reason for this is because the stand-alone k6clk.exe un-does some of the required initializations that k6clkini.com sets up. This is to do with opening and closing the Power-now I/O resources as explained in the next section. 3. The third option is to use a "sentinel" file to indicate to the software that no software multiplier has yet been set. Each of k6clk, k6clkw and k6clkwin test for the existence of a file called "c:\k6clk000.tmp" when they are invoked. If this file exists then they assume that the currently read multiplier is invalid. Each of the above three programs clears this sentinal file when an actual soft-multipier setting is made. If either k6clk (=) or k6clkw (=) detects the sentinal file they will report "not yet set" to requests for the present multiplier setting. If k6clkwin detects the sentinel file it will initially leave all radio buttons unchecked and the bar graph empty, indicating that it does not yet know the multiplier setting. To use the sentinal file simply create the file "c:\k6clk000.tmp" from within autoexec.bat. For example "echo xxx > c:\k6clk000.tmp" is the recommended way. Note that the contents of this file are totally unimportant and only the presence or absence of the file is detected. You do not need to create this sentinel file if you don't want to, the program will not report any errors if it is not present. - I/O resources issue. The reason why the windows versions require I/O resources is because the Model Specific Registers (MSR's) that access the Power-Now hardware are NOT accessible to programs with "normal user privileges" under windows. For this reason the Power-Now hardware must remain I/O mapped for the entire Windows session to make possible the control from normal user programs (instead of dedicated drivers). If you had a choice then you would not do it this way. Nice programs (like the stand-alone DOS version) close down the Power-Now I/O space when they are finished to guarantee that no conflict can occur (even if you have an actual hardware I/O device in the same address space, it's no problem). k6clkini.com on the other hand deliberately opens up the Power-Now I/O space and leaves it open so that k6clkw and k6clkwin can access it as required. Be aware that while this should cause absolutely no problems as long as the chosen I/O space (see k6ckptch) is unused, it does leave open the small possibility of some errant I/O writes affecting the Power-Now hardware and sending your cpu speed crazy-date. |
|
K6-Pro User Guide
Copyright (C)1999 BlueSky Innovations LLC NOTICE : TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO CIRCUMSTANCES, INCLUDING NEGLIGENCE, SHALL BLUESKY INNOVATIONS BE LIABLE FOR ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES (INCLUDING DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE OR ITS DOCUMENTATION, EVEN IF BLUESKY INNOVATIONS OR ITS AUTHORIZED REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. In no event shall BLUESKY INNOVATIONS' total liability to Licensee for all damages, losses, and causes of action (whether in contract, tort, including negligence, or otherwise) exceed the amount paid by Licensee for the Software and its documentation. 1. What is K6-Pro? K6-Pro is a shareware utility that enables the various optimizations of the AMD K6-series microprocessors. K6-Pro is loaded from config.sys when the PC boots and is compatible with DOS, Windows 95 and Windows 98. If there is sufficient interest, we might also produce a version that resides in the Master Boot Record and which will be operating system-independent. 2. Do I need K6-Pro? If you have upgraded your motherboard with an AMD K6 microprocessor and if your motherboard BIOS does not explicitly support the K6 processor, K6-Pro will provide some performance enhancements. K6-Pro will work for the K6, K6-2 and K6-III processors. K6-Pro is more convenient and safer than a BIOS upgrade if you want to get the maximum performance out of your new processor. 3. How would I know if my BIOS supports the K6-series processors? One way is to look at the motherboard manual. Does it mention the kind of processors that are supported? This information may be in the section that describes the various jumper settings of the motherboard. If you have upgraded your BIOS, look at the release notes for mention of support for the K6 processor. The best way to find out is to install and run a benchmark program. If you get some performance improvements with K6-Pro, then your BIOS probably does not correctly initialize the K6 processor. 4. What is the Performance Gain with K6-Pro? For testing the before and after, we used an AMD K6-III(tm)/400 and an AMD K6-2(tm)/400 and ran WinTune 98 4.0 under Windows 98. The bus speed was 66MHz, a clock multiplier of 6x was used and main memory was 160MBytes. The motherboard used is circa-1997 and the system BIOS does not support the K6-2 and better processors. Improvement with the K6-III was up to 16% for integer operations. More information is available at our website : http://www.blueskyinnovations.com/k6pro.html 5. How do I use K6-Pro? K6-Pro is loaded as a device driver. You would put the following line in your CONFIG.SYS file: DEVICE=C:\K6-PRO.SYS This assumes that K6-PRO.SYS is found in the root directory of your C: drive. IMPORTANT : Note that the DEVICE=... line MUST be the first line in the CONFIG.SYS file. If you do not want to edit CONFIG.SYS yourself, we provide INSTALL.EXE which creates a directory in C: drive called C:\K6-PRO. It then copies all the necessary files into that directory and modifies CONFIG.SYS. The original CONFIG.SYS file is changed to CONFIG.K6. 6. What if K6-Pro does not work? Unlike a BIOS upgrade, you can undo the installation of K6-Pro. If your PC ever becomes unstable after installing K6-Pro, reboot the machine. Then when you see the message "Starting Windows 9x", press F8 very quickly. You will be presented with a menu. Choose "Safe mode command prompt only". Then copy the config.k6 file to config.sys like this: copy config.k6 config.sys This will restore the original CONFIG.SYS file. 7. Where to go for help Contact us at [email protected] if you have any problems, comments or suggestions. We try to answer all our emails. 8. How do I register K6-Pro? K6-Pro registrations costs $10. It entitles you to free upgrades and the removal of the nag screen. To register, send US$10 to : BlueSky Innovations LLC 2530 Berryessa Road, PWB#321 San Jose, CA 95132 USA Or call BMT Micro at 1-800-414-4268. You can also order via the Internet at htt://www.blueskyinnovations.com/orderpage.html |
|
THIS PROGRAM IS A WELL TESTED BETA, HOWEVER THERE ASRE NO GUARANTEES AS
TO RELIABILITY OR FUNCTIONALITY. USE AT YOUR OWN RISK. THIS PROGRAM CAN CAUSE SYSTEM DAMAGE IF YOU OVERCLOCK YOUR CPU BEYOND THE POINT OF STABILITY. THIS PROGRAM IS FREE, HOWEVER IF YOU WISH TO CONTRIBUTE TO THE SUPPORT OF THIS PRODUCT, OR WANT TO CONVEY YOUR APPRECIATION FOR MY EFFORTS, CONSIDER SENDING $2 US, OR A BRITISH POUND NOTE, OR A DEUTCHE MARK OR A SAMPLE OF WHATEVER YOUR COUNTRY'S CURRENCY MAY BE TO LET ME KNOW YOU APPRECIATE THE EFFORTS THAT WERE REQUIRED TO CREATE THIS PROGRAM, ESPECIALLY YOU NT/W2K USERS SINCE I HAD TO PURCHASE NT4 AND VISUAL C++ IN ORDER TO CREATE THE NT/W2K DRIVER. SEE BELOW FOR ADDRESS. Updated 4-24-01 Version 0.87 K6SPEED by Kyle Brant Software OS Compatibility: Version .86 and ealier only support win9x/me Version .87 now supports win9x/me/NT4/Win2000 Provides control over software multiplier of k62+ and k63+ cpus, enable/disable write allocation, and control of write combining modes of k6-2 CXT and k62/3+ CPUs. Files: K6SPEED.VXD (win9x/me driver) K6SPEED.SYS (nt/w2k driver) K6SPEED.EXE README.TXT (this file) Unzip all the files in the zip archive into a single folder of your choosing. K6SPEED provides a programmatic interface to the bus divisor control bits of the k62+/3+ cpu. This program is designed to not function completely unless a k6-2+/3+ cpu is detected. The cpu speed displayed is not extremely accurate but is fairly close (more accurate speed measurement is possible but takes more time and is not really necessary, and in reality, what's shown is actually pretty darn close most of the time). Presently, K6SPEED provides a mechanism for manually changing the k6+ cpu speed by mouse clicking on buttons labeled "Faster" and "Slower". To prevent startup crashes, K6SPEED will begin execution without changing your cpu speed. When you click on FASTER or SLOWER, the multiplier will be incremented/decremented. Trust me, if you jump to the 6x multiplier and your system is not ready for that (Vcore too low), you'll most likely encounter system lockups, and possibly damage data on your hard disk. K6SPEED lives in the Systray when running. A right click on the Systray icon will bring up a popup menu providing access to all of the functions available. A left-click on the systray icon will cause the main window of K6SPEED to become visible. When the main window loses focus (is not the "active window"), K6SPEED will hide the main window from view. Also, note the "tool tip" text displayed when you move the mouse over the Systray icon will display "CPU Mhz=xxx 5.5x FSB=100" or some such similar display dependent upon your system settings. This data is updated every time you change the multiplier and when the program is started. Direct access to the CPU control registers is provided via the driver K6SPEED.VXD, a virtual device driver necessary for access to those registers. K6SPEED.VXD must be in the same directory as the K6SPEED.EXE executable file. This is the first VxD driver I've written, and trust me, it's not an entirely straightforward learning process, thank you Microsoft. A new (as of 12/15/00 version) SETTINGS dialog provides control of write allocation and write combining settings in a convenient display. New in 1/16/01 and 1/23/01 versions: ----------------------- Command Line Switches: ----------------------- -nomax Prevents startup multiplier dialog from being displayed -WAN Enable Write Allocation at startup with No Hole -WAH Enable Write Allocation at startup with a Hole at 15-16 Mb in memory -2.0 Startup with 2.0x multiplier -3.0 Startup with 3.0x multiplier -4.0 Startup with 4.0x multiplier -4.5 Startup with 4.5x multiplier -5.0 Startup with 5.0x multiplier -5.5 Startup with 5.5x multiplier -6.0 Startup with 6.0x multiplier (the following are new in 1/23/01 version) -WCG Startup with write combining/ordering mode of GEWBED -WCS Startup with Write combining/ordering mode of SEWBED -WC0 Startup with Strong Write ordering (no write combining) -EXIT Causes Program to exit after attending to any other command line switch options All command line switches work under NT/w2k as well as win9x/me New in 4/24/01 0.87 version: NT/W2K support via driver named k6speed.sys. Faster operation using -exit command line switch (k6speed skips cpu speed measurement code since you aren't going to see it anyway). NT/W2K Notes: ------------- Extract all the files (keep them together) to a folder and run K6speed as Administrator to install the driver/service. Thereafter, you can run k6speed as a lesser privileged user. Do NOT try to manually start the driver as this is unnecessary. Do NOT move the driver file to winnt\system32\drivers directory as k6speed installs the driver and runs it from the directory where k6speed.exe is located. Thus, if you move k6speed.sys, you will have to reinstall the driver or edit the registry and update the path to the driver in accordance with the new location of the driver k6speed.sys. K6speed Driver installation is automatically accomplished by running the program as Administrator. NT and W2k will create some registry entries for the driver under the key HKLM\system\currentcontrolset\services\k6speed, this is unavoidable UnInstalling the executable and driver: Exit k6speed if it is running, uninstall the old driver by editing the registry and removing HKLM\system\currentcontrolset\services\k6speed key and its subkeys and rebooting. Updating K6speed: Remove the driver as described above then copy over the old files and run k6speed as Admin. to install the newer driver file. End objective of this program, as it develops, is to hook the APM system in win9x/me and slow down the cpu during non-use of the system. In particular, where one has a laptop capable of running the k62+/3+ cpu, power saving can be achieved by taking advantage of the ability to slow down the cpu into a lower energy consuming state (note, this functionality is still under development). Check back at the web site http://msnhomepages.talkcity.com/cerfst/kylesb/k6speed.htm often for updates. If you have technical problems, or want to report bugs, send me an email at: [email protected]. If you want to make a token contribution to the support of good free software, send it to: KYLE BRANT SOFTWARE 5441 FENMORE ROAD INDIANAPOLIS, IN 46228 USA Last updated 4/24/01 |
|
IMPORTANT NOTE: These are "real mode" programs, to be run from Autoexec.bat.
They will not run if you have "device=emm386.exe" in Config.sys. Files : k6waon.exe, 4,272 bytes (7-21-2000) : k6waonh.exe, 4,480 bytes (9-02-2000) Author : Uart Function : Turns Write allocation On for k6-2(cxt), k6-3, k6-2+, k6-3+ k6waon does NOT leave a "hole" in the address space at 15..16M. k6waonh leaves a hole in the 15-16M region and is only needed if you have some IO device that maps to this region. MOST PEOPLE DO NOT NEED TO USE k6waonh and should just use k6waon. Usage : k6waon(h) <mem_size_in_MB> Examples : k6waon 128 ; Turns on W/A for 128MB of memory (no 15..16M hole). : k6waon 0 ; Disables W/A : k6waonh 64 ; Turns on W/A for 64MB memory (with hole at 15..16M). : k6waonh 0 ; Disables W/A Notes: - Must be run from DOS or from Autoexec.bat in the case of win95/98/98SE - This version is very basic. It doesn't identify the processor and it is therefore the users responsibility to check they have the correct cpu type. The target cpu's are, k6-3 All versions, k6-2+ All versions, k6-3+ All versions, k6-2 cxt versions. If you have a standard k6-2 (not a k6-2+) and are unsure as to whether or not it is a cxt version then read the following. All k6-2's rated at 400MHz or faster are cxt types. Many 300MHz to 380MHz chips are also cxt. If the stepping is 8 or higher then your k6-2 is a cxt type. (NB: Some cpuid programs report steppings 10..15 as 'A'..'F' respectively). - This program was written because the commonly used setk6 utility currently doesn't work with k6-2+ and k6-3+ processors. |
|
Program: k6wc.exe
Author: Uart Function: Enables one or two Wite Combining memory range for any of k6-2(cxt core), k6-3, k6-2+ or k6-3+ cpu's. OS: DOS, Win95/98/98SE. Should be run from autoexec.bat with no protected mode drivers loaded. Won't run if emm386.exe is loaded. Usage: "k6wc.exe WC_Range_Base_Address_in_Hex WC_Range_Size_in_Mbytes" or "k6wc.exe Hex_Address1 MB_size1 Hex_Address2 MB_size2" Example1: "k6wc.exe e0000000 16" ;(without quotes) enables Write Combining for a 16 Mbytes range at starting at hex address 0xE0000000. Example2: "k6wc.exe e0000000 16 e4000000 16" ; Enables write combining for one 16MB range starting at hex address 0xE0000000 and for another 16MB range starting at hex address 0xE4000000 Example3: "k6wc.exe 0 0 0 0" ;Disable all write combining. Notes: 1.Get the program "setk6.exe" if you don't know what base address (LFB) to use. Run setk6.exe with no parameters and observe the locations it reports for the pci frame buffers. Use these for the hex address parameters 2.If you don't know many megabytes to use for the size parameters then 16 is a good default value. About this file : This is a supplement to the k6wc.exe readme file and relates to modifications made to the new k6wcx.exe program. Please read the k6wc.exe documentation in the file "readme.txt" first. Summary: k6wcx.exe is basically the same as k6wc.exe except that you specify the size of the write combining ranges in 128KB blocks instead of whole megbytes. It is particularly useful for enabling write combining for your legacy VGA memory (see the last FAQ). FAQ: Q. Why are 2 programs (k6wc.exe and k6wcx.exe) needed to enable write combining? A. They aren't both needed. You can use either. k6wc.exe is the original program and I simply added one new feature to k6wcx.exe. I left k6wc.exe as it was because for some people the original program will be easier to use. Q. So how is k6wcx.exe different from k6wc.exe? A. Very simply, k6wcx.exe expects the size of the wite combining range to be specified in 128K blocks (one eigth of a megaybte blocks) rather than in whole megabytes as was the case with k6wc.exe. Apart from how you specify the size of the write combining range the two programs are identical. For example the commands, "k6wc e8000000 4 ec000000 8" and "k6wcx e8000000 32 ec000000 64" would both do exactly the same job. They would both enable one 4MB write combining range starting at address e8000000 and another 8MB write combining range starting at address ec000000. Q. Why would you use k6wcx.exe instead of k6wc.exe? A. If you want to enable a fractional megabyte write combining range. For most "linear frame buffers" (pci frame buffers) this is not needed. One particular case where k6wcx is useful however is for enabling write conbining on the "legacy" VGA memory. This is a 128KB range starting at address A0000 (000A0000). For example on my computer I only have the one pci frame buffer (at address E0000000). The AMD k6-2/3 provide for two write combining ranges, so I make use of the second available write combining range by enabling write combining on the legacy VGA memory. So in my autoexec.bat file I have the following command (without the quotes), "k6wcx e0000000 128 a0000 1". This sets up one 16MB (128/8 MB) range at address e0000000 and another 128KB (1/8 MB) range at a0000. |
|
Program : SETEWB.EXE
Programmer : Uart Size : 4.000kB Function : Enables extended write merge buffering for the k6-2/3 cxt core. Limitations: Won't run in protected mode (ie win95/98 etc). Must be run from either DOS (eg "Restart the computer in MSDOS mode") or from Autoexec.bat (which is processed before Windows switches to protected mode). Only for k6-2 cxt or k6-3. Doesn't test for cpu type, will probably give an error if run on other cpu type (un-tested on other cpu's). Usage : setewb : Reads and displays current EWB mode if run without parameters. setewb 0: Sets the EWB mode to "Full write ordering". (Slowest) setewb 1: Sets the EWB mode to "Partial write ordering. (Close to fastest) setewb 2: Sets the EWB mode to "No write ordering". (Fastest). setewb x: Any parameter other than 0,1 or 2 invokes help. Descript: The k6-2 (cxt) and k6-3 implement a "write merge buffer" for write-combining. The function of this can be enhanced by relaxing the strict write ordering normally placed between internal and external write events. At power up the default mode is 0 which forces strict write ordering for all memory ranges. Mode 1 relaxes the write ordering only on the write combine space. Mode 2 relaxes write ordering on all memory space. I recommend that this program is used in conjuntion with setk6 to enable write combining and a suitable EWB mode. If your EWB setting has any adverse effect on system stability then select a lower mode. |