home *** CD-ROM | disk | FTP | other *** search
/ hobbes.nmsu.edu / 2008-06-02_hobbes.nmsu.edu.zip / dos / tame330.zip / TAME.DOC < prev    next >
Text File  |  1994-07-23  |  49KB  |  1,098 lines

  1.                                 
  2.                                 
  3.                                 
  4.                                 
  5.                                 
  6.                                 TAME(r) release 3.3
  7.  
  8.                               Shareware Documentation
  9.  
  10.                        Copyright 1988-1994 by David G. Thomas
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19. Tame is a registered trademark of David G. Thomas
  20. -------------------------------------------------------------------------------
  21.                                     Overview
  22. -------------------------------------------------------------------------------
  23.  
  24. Introduction
  25.  
  26.    Tame will help you get maximum performance from your multitasking
  27.    environment by speeding up the processing of your applications.
  28.  
  29.    TAME works with many MS-DOS based multitasking environments.  In fact,
  30.    there are special hooks in TAME for use with most of the popular
  31.    multitaskers including Windows, OS/2, Windows NT, DESQview, Double Dos,
  32.    Omniview, VM/386 and PC/MOS.
  33.  
  34.  
  35. Installation
  36.  
  37.    The exact procedure to install Tame varies slightly depending on the
  38.    multi-tasker that is being used.  See below for detailed instructions for
  39.    installing Tame in your environment. 
  40.    
  41.    A generic installation that applies to all multi-taskers is as follows.
  42.  
  43.    Copy the distribution files onto the hard drive.  You may find it
  44.    convenient to place the Tame directory in the path or to copy the Tame
  45.    files into a directory that is in the path.  Another option is to copy just
  46.    TAME.EXE into a pathed directory, and set the TAME environment variable to
  47.    point to the directory where the rest of the Tame files are.
  48.  
  49.    Tame should be loaded into each DOS task.  To do this, type the following 
  50.    command line.
  51.  
  52.       TAME /I
  53.  
  54.    Other options may be used to optimize performance if necessary.  I suggest
  55.    you try the following.
  56.  
  57.       TAME /I 9
  58.  
  59.    If this makes the program run noticeably more slowly, try:
  60.  
  61.       TAME /I 5
  62.  
  63.    If this makes the program run noticeably more slowly, try:
  64.  
  65.       TAME /I 1
  66.  
  67.    A complete list of Tame options appears at the end of this document.
  68.  
  69.  
  70. Why do you need TAME?
  71.  
  72.    Using a multitasking environment increases your productivity because you
  73.    can run more than one application at a time.  While you are running a word
  74.    processor in the "foreground", you can calculate a spreadsheet or print a
  75.    report in the "background".  Although you appear to be getting several
  76.    things done at the same time, multitasking can actually slow down your
  77.    system.  This will continue to get worse as you run more applications at
  78.    the same time.
  79.  
  80.    Most DOS applications are designed to run in a single-tasking environment.
  81.    The application acts as if it is the only program running on the computer.
  82.    It spends most of its time waiting for an instruction, and very little
  83.    time carrying out the instruction.
  84.  
  85.    While the application is waiting, it queries the various devices
  86.    (keyboard, mouse, etc.) to see if you have sent an instruction.  Then it
  87.    checks again and again in a continuous cycle.  This constant checking is
  88.    known as "polling". In just a few seconds between key strokes, a program
  89.    may poll the keyboard hundreds or even thousands of times.
  90.  
  91.    All this polling uses a lot of the CPUs processing time.  In a
  92.    single-tasking DOS environment with only one program competing for CPU
  93.    time, polling doesn't affect performance.  There are no other applications
  94.    competing for CPU time.
  95.  
  96.    But when you are multitasking, this constant polling wastes a lot of CPU
  97.    time.  The background program is continually polling while you are trying
  98.    to work in the foreground.  This unnecessary loss of CPU time from your
  99.    foreground program makes it perform much slower.  That's where TAME can
  100.    improve your performance.
  101.  
  102.  
  103. How does TAME work?
  104.  
  105.    TAME re-allocates how the CPU spends its time.  It applies more CPU time
  106.    to active tasks (like printing or spell-checking) and less time to idle
  107.    tasks that are merely polling.  In essence, TAME speeds up your "active"
  108.    work by slowing down your "inactive" work.
  109.  
  110.    TAME monitors what a program is doing.  TAME notices when a program is
  111.    idle and its only activity is polling the keyboard.  After enough polls,
  112.    TAME can see that the program is wasting time and tells the multitasker to
  113.    move on to the next task.  When the multitasker returns to the idle task,
  114.    TAME will be less patient than before and force a task switch as soon as
  115.    the program starts polling again.
  116.  
  117.    When the program does something active -- such as processing keyboard
  118.    input, performing disk I/O or changing the video screen -- TAME redirects
  119.    the CPU's attention to it.  TAME detects the activity and boosts the
  120.    program's priority for about a tenth of a second.  The priority boost
  121.    prevents TAME from causing a task switch during that period of time.
  122.  
  123.    You may configure TAME to go so far as to instruct the multitasker not to
  124.    waste any more time on a background task until it is brought into the
  125.    foreground. Other TAME options may be used to help it correctly identify
  126.    and deal with programs that are wasting your CPU time by polling input
  127.    devices.
  128.  
  129. -------------------------------------------------------------------------------
  130.                               License and Registration
  131. -------------------------------------------------------------------------------
  132.  
  133. You are given a 30 day trial period to evaluate the effectiveness of Tame.  If
  134. you decide to keep it, fill in the registration form (REGISTER.FRM), and send
  135. it with $20 to the following address.
  136.  
  137.    David G. Thomas
  138.    4290 Bells Ferry Road
  139.    Suite 106 Room 576
  140.    Kennesaw, GA 30144-1300
  141.  
  142. If you would like to use a credit card, you may call the following numbers:
  143.  
  144.    (404) 516-0381 FAX
  145.    (404) 516-0759 Voice
  146.    (404) 928-9294 BBS
  147.  
  148. After receiving the registration fee, I will send you a diskette with a
  149. version of the program that has no delay screens or timeout period.  It also
  150. includes the full printed documentation which is much more extensive than that
  151. provided in this file.
  152.  
  153. NOTE: Checks must be made out to David G. Thomas, and payable in U.S. funds.
  154.  
  155. -------------------------------------------------------------------------------
  156.                               Installation
  157. -------------------------------------------------------------------------------
  158.  
  159. Installing TAME
  160.  
  161.    Tame is installed onto the hard drive by uncompressing the Tame archive
  162.    file (TAME320.ZIP).
  163.  
  164.    Once TAME is installed, there are several ways to run it.  With both
  165.    DESQview and Windows 3.x, you may automatically add TAME to each program's
  166.    window description, or you may manually edit each description to run TAME.
  167.    With other multitaskers, you may load TAME at the DOS command line or from
  168.    within a batch file.
  169.  
  170.    The quick start section is a starting point that quickly produces
  171.    excellent results.  You'll effortlessly achieve almost all of TAME's
  172.    potential benefits. When you feel comfortable with TAME, try the advanced
  173.    features to achieve optimal performance of your system.
  174.  
  175.  
  176. Quick Start
  177.  
  178.    Follow the quick start instruction to run TAME with the multitasker you
  179.    are using.  If you use DESQview or Windows 3.x, you should then review the
  180.    advanced setup options that follow the quick start.  When your setup is
  181.    complete, refer to the section on how to test TAME with your applications.
  182.  
  183.  
  184. DESQview Quick Start
  185.  
  186.    To automatically add TAME to DESQview, change to the C:\DV directory.  Now
  187.    run the TAMEDVP update program to add TAME to the selected DVP window
  188.    description.  For example, the following command lines add TAME to the
  189.    default Big DOS (BD) window.
  190.  
  191.       CD \DV
  192.       TAMEDVP BD
  193.  
  194.    TAME will be in effect the next time the window is opened.  Any existing
  195.    BD windows will need to be closed and re-opened for TAME to affect them.
  196.    Continue to run the TAMEDVP program for each DVP window description that
  197.    needs TAME. Note that TAME will automatically add 10K to the memory size
  198.    and modify the program options for the window you specify.  See the
  199.    DESQview Advanced Setup for an explanation of the options that are
  200.    automatically modified by TAMEDVP.
  201.  
  202. Windows 3.x Quick Start
  203.  
  204.    To automatically add TAME to Windows, change to the C:\Window directory.
  205.    Now run the TAMEPIF update program.  This will add TAME to the selected
  206.    PIF window description.  The following command lines add TAME to the
  207.    Window's default window (_DEFAULT).
  208.  
  209.       CD \WINDOWS
  210.       TAMEPIF _DEFAULT
  211.  
  212.    TAME will be in effect the next time the window is opened.  Any existing
  213.    _DEFAULT windows will need to be closed and re-opened for TAME to affect
  214.    them. Continue to run the TAMEPIF program for each PIF window description
  215.    that needs TAME.  Note that TAME will automatically add 10K to the memory
  216.    size and modify the program options for the PIF window you specify.  See
  217.    the Windows Advanced Setup section for an explanation of the options that
  218.    are automatically modified by TAMEPIF.
  219.  
  220.  
  221. Other Multitaskers Quick Start
  222.  
  223.    First, make sure you are running in your multitasker.  Then, load TAME at
  224.    the DOS prompt from within a window (or task).  Note that you may also load
  225.    TAME from within a batch file, which is explained in the Placing TAME in a
  226.    batch file section.
  227.  
  228.    To install the TAME resident (TSR) program that includes the pop-up
  229.    screens, at the DOS prompt from within your multitasker, enter  TAME /I.
  230.    You may also load the smaller version of TAME by entering  TAME /TINY /I.
  231.  
  232.    Now that TAME is active, load the application you want to run under TAME.
  233.    For example, the following commands will load the TAME program that
  234.    includes pop-up screens, and then load Lotus 123.
  235.  
  236.       TAME /I
  237.       123
  238.  
  239.    Repeat these steps for each task you want to run with TAME.  Then test them
  240.    as described in a later section.
  241.  
  242.  
  243. DESQview Advanced Setup
  244.  
  245.    DESQview must be running before your begin.  Press the DESQview system key
  246.    (Default is Alt) to be sure you are at the DESQview menu.  Press
  247.    "OCP" for Open, Change a Program.  From the list, select the program that
  248.    you want to tame.
  249.  
  250.    Examine the Program field to see which program the window runs.  If it is a
  251.    command to run a batch file, then you may load the TAME TSR from within the
  252.    batch file.  (See the section on Placing TAME in a batch file.)  Otherwise,
  253.    you will need to change the DVP information as follows.
  254.  
  255.    Move the name of the program from the Program field to the Parameters
  256.    field. Be sure to enter the program name before any parameters that were
  257.    already in this field.  Enter the TAME /RUN command prior to the program
  258.    name.  Now enter TAME in the Program field.  (Note that the TAMEDVP
  259.    program will automatically do this for you.  If the DESQview "exit to DOS"
  260.    option is set to NO, TAMEDVP will also add the /I option.)
  261.  
  262.    In the Parameters field, you may add any TAME options you want to run with
  263.    this program.  You must place the TAME options prior to the program name.
  264.    The /RUN command must always be the last TAME command on the line, and
  265.    must be entered just before the program name.  For example, the following
  266.    may be placed in the Parameter field to load the small TAME TSR, and then
  267.    run Lotus 123.
  268.  
  269.       /TINY /RUN 123
  270.  
  271.    You need to increase the memory given to the task by 10K if you want to
  272.    use the TAME pop-up screens, or by 2K if you do not need this feature.  If
  273.    you don't specify the /TINY option when you run TAME, the 10K TAME TSR
  274.    will automatically be loaded.  (Note that the TAMEDVP program will
  275.    automatically increase the memory for you.)
  276.  
  277.    You may also want to set the two advanced options for "Run in the
  278.    background" and "Share CPU in foreground" to "Y".  These two settings are
  279.    frequently not used, but should work quite well with TAME.  Press the
  280.    space bar at the Change a Program screen to move to the Advanced Options
  281.    screen.
  282.  
  283.    Repeat these steps for each application you want to run with TAME.  Then
  284.    test them as described in a later section.
  285.  
  286.  
  287. Windows Advanced Setup
  288.  
  289.    Windows must be running before you begin.  Open the PIF editor window and
  290.    edit the PIF file of the window that needs TAME.
  291.  
  292.    Examine the Program Filename field to see which program the window runs.
  293.    If it is a command to run a batch file, then you may load the TAME TSR
  294.    from within the batch file.  (See the section on Placing TAME in a batch
  295.    file.) Otherwise, you will need to change the PIF information as follows.
  296.  
  297.    Move the name of the program from the Program Filename field to the
  298.    Optional Parameters field.  Be sure to enter the program name before any
  299.    parameters that were already in this field.  Enter the TAME /RUN command
  300.    prior to the program name.  Now enter TAME in the Program field.  (Note
  301.    that the TAMEPIF program will automatically do this for you.  If the PIF
  302.    editor option to Close Window on Exit is set to NO, TAMEPIF will also add
  303.    the /I option.)
  304.  
  305.    In the Optional Parameters field, you may add any TAME options you want to
  306.    run with this program.  You must place the TAME options prior to the
  307.    program name. The /RUN command must always be the last TAME command on the
  308.    line, and must be entered just before the program name.  For example, the
  309.    following may be placed in the Optional Parameter field to load the small
  310.    TAME TSR, and then run Lotus 123.
  311.  
  312.       /TINY /RUN 123
  313.  
  314.    You may also need to increase the memory given to the task by 10K if you
  315.    want to use the TAME pop-up screens, or by 2K if you do not need this
  316.    features.  If you don't specify the /TINY option when you run TAME, the
  317.    10K TAME TSR will automatically be loaded.  (Note that the TAMEPIF program
  318.    will automatically increase the memory for you.)
  319.  
  320.    Repeat these steps for each application you want to run with TAME.  Then
  321.    test them as described in a later section.
  322.  
  323.  
  324. Placing TAME in a batch file
  325.  
  326.    Decide which TAME resident (TSR) program you want to use (the default TSR
  327.    includes the pop-up screens, the other does not).  To load the default
  328.    TSR, use the TAME /I command.  To load the smaller version of TAME, use the
  329.    TAME /TINY /I command.  For example, place the following commands in your
  330.    batch file to load TAME and then run Lotus 123.
  331.  
  332.       TAME /I
  333.       123
  334.  
  335. -------------------------------------------------------------------------------
  336.                        Testing TAME with your applications
  337. -------------------------------------------------------------------------------
  338.  
  339. TAME can benefit nearly any program that uses CPU cycles to look for keyboard
  340. input.  The best way to see if a program does this is to run a simple test.
  341. You should test all programs that you use regularly, including word
  342. processors, spreadsheets, editors, DOS shells, and communication programs.
  343.  
  344. The following explains several ways to test a program to see if it needs
  345. TAME. Select the method you want to use.  If TAME appears to be needed, but
  346. appears to have no effect, see Trouble Shooting in Appendix B.
  347.  
  348. 1. Use a stopwatch
  349.  
  350.    This is the best way to measure TAME performance.  Note that other ways to
  351.    test the effectiveness of TAME may be more convenient, but they are
  352.    measuring performance indirectly and may occasionally yield misleading
  353.    results.
  354.  
  355.    First, open a single window (W1) running DOS and make sure no other window
  356.    is open.  If available in your multitasker, set the "Share the CPU" and
  357.    "run in the background" options to Yes.
  358.  
  359.    Now, measure the time required to do a CPU or disk intensive operation.
  360.    Choose any lengthy operation, such as copying a group of files.  Run the
  361.    operation once without timing it so that the effect of other system
  362.    enhancements (such as a disk cache) may be eliminated.  Run the operation
  363.    again and record the time required.  This is the optimal time, since no
  364.    multitasking is taking place.
  365.  
  366.    Now open another window (W2) and run an application that is not tamed.  Be
  367.    sure this window (W2) is also set to "Share the CPU" and to "Run in the
  368.    background".  Switch to the original DOS window (W1) and time how long it
  369.    takes to run the same operation in the foreground.  Then time how long it
  370.    takes the operation (W1) to run in the background with the application
  371.    (W2) in the foreground.  If the original operation (W1) takes longer than
  372.    the optimal time, then the application (W2) is slowing it down.  The
  373.    application (W2) needs TAME.
  374.  
  375.    Note that you should expect a slightly slower time with the application
  376.    running.  But, anything that takes more than 5% longer is not acceptable
  377.    and needs TAME.
  378.  
  379.    Exit the application (W2) and run TAME in that window (W2).  Then run the
  380.    application again in the window (W2) with TAME active.  Switch to the
  381.    original DOS window (W1) and time how long it takes to do the same
  382.    operation in the foreground, and then again in the background.  The timing
  383.    should now be much closer to the original optimal time.  TAME has
  384.    prevented the idle application (W2) from degrading system performance.
  385.  
  386. 2. Use a standard CPU benchmark
  387.  
  388.    This is a variation of the stopwatch method where you use a CPU benchmark
  389.    to time execution of a CPU intensive operation.  Use the same procedure,
  390.    where lower stopwatch timing is equivalent to higher CPU speed ratings.
  391.  
  392.    NOTE: If you use Norton's System Information (SI) program for the
  393.          benchmark, be sure it is version 4.5 or earlier.  The new versions
  394.          of this program are capable of computing nearly the same number
  395.          without regard to whether the system is loaded.  It may also
  396.          erroneously report tamed systems to be slower than systems not
  397.          running TAME.
  398.  
  399. 3. Use the Geiger counter
  400.  
  401.    Another direct method is to run TAME with the /Geiger option.  This method
  402.    will give you an audible indication for the effectiveness of TAME.  To do
  403.    this, make sure no windows are open.  Then open a DOS window and at the
  404.    DOS prompt enter:
  405.  
  406.       TAME /GEIGER
  407.  
  408.    You will immediately hear steady ticking; the Geiger's audible reference
  409.    that the CPU is processing.  Now, open a second window and run the
  410.    application you are testing.  Be sure TAME is not present.  If the ticks
  411.    slow considerably, or if they become sporadic, the application in the
  412.    foreground probably needs TAME.
  413.  
  414.    Now run TAME with the foreground application.  The ticks probably are
  415.    smoother and faster than before.  This means TAME is keeping your
  416.    background task running at nearly full speed, at least while you are not
  417.    actively needing the CPU.
  418.  
  419. 4. Check the visual indicators
  420.  
  421.    The monitor displays visual indicators to check system performance.  To 
  422.    pop-up the monitor, press the hot-key sequence Alt-Ctrl-M.  This hot-key
  423.    will toggle the monitor on and off.  If you are not using pop-up screens,
  424.    load the monitor from the DOS prompt with the TAME /MOnitor command.  The
  425.    monitor appears as a small a box in the upper right corner of the screen.
  426.  
  427.    Four symbols appear in the box from left to right that indicate System
  428.    status, Current task status, Polling status and Task switch status.  The
  429.    status that may appear in each of the four monitor positions indicate:
  430.  
  431.    S  = System status: (?) don't know, (I)dle, (W)orking
  432.  
  433.    C  = Current task: (I)dle, (W)orking, (i)dle switched, (K)ey read
  434.  
  435.    /  = Spinner: continuously turns while the system is polling
  436.  
  437.    .  = Task switch indicator: throbs as TAME causes task switches
  438.  
  439.    System status:  A ? means that the system is awaiting keyboard input, but
  440.                    is not in a polling state.  An I indicates that a program
  441.                    is running, but is currently in an idle state.  A W means
  442.                    that a program is running and is actively processing.
  443.  
  444.    Current task:   
  445.                    Both I and i indicate that the current task is idle, and a
  446.                    W means that there is active processing in the task.  A K
  447.                    means that the task is wait for a key stroke, but the task
  448.                    is not in the polling mode.
  449.  
  450.    Spinner:        While an application is polling, the spinner will
  451.                    constantly turn. When the application is active, the
  452.                    spinner will stop.  For example, the spinner stops when you
  453.                    are at the DOS prompt, or when an application is actively
  454.                    printing, sorting, calculating, etc.
  455.  
  456.    Task switch indicator:  A constant throb means an application is inactive.
  457.                    The throb will stop when the application is active.
  458.  
  459.    Use the spinner and task switch indicator to monitor an application.  When
  460.    a task is idle, the spinner should turn and the task switch indicator
  461.    should throb.  When active processing occurs, both should stop.  If an
  462.    application is inactive and the spinner is turning but the task switch
  463.    indicator does not throb, you need to lower the idle threshold for that
  464.    application.
  465.  
  466. 5. Check the TAME polling statistics
  467.  
  468.    Evaluate whether or not TAME is effective by running the application with
  469.    TAME and then checking the statistics generated with the TAME /Status
  470.    command.
  471.  
  472.    To test the program, TAME must be run in a multitasking window.  At the
  473.    DOS prompt, type the following command line.
  474.  
  475.       TAME /I
  476.  
  477.    Now, run your program in this window and work in it for a short time. Then
  478.    exit normally.  Type the following command line to obtain a summary of
  479.    TAME activity.
  480.  
  481.       TAME /Status
  482.  
  483.    The displayed totals include the number of keyboard polls that the program
  484.    performed.  If this number is small or zero, then TAME may not be needed
  485.    with the application.  On the other extreme, some keyboard-hungry programs
  486.    can generate thousands of keyboard polls in just a few seconds.  In this
  487.    case, the application needs TAME.
  488.  
  489. Applications that are DESQview-aware
  490.  
  491.    Most sophisticated programs poll the keyboard.  A few of these programs
  492.    have made themselves DESQview-aware, meaning that they recognize and work
  493.    with DESQview.  Most are sufficiently DESQview aware to run in a window,
  494.    but still hog the CPU.  These programs need TAME as much as ones that are
  495.    not DESQview-aware.
  496.  
  497.    To be fully DESQview-aware, an application must release its time slice
  498.    while it is polling the keyboard.  TAME is normally not needed when one of
  499.    these fully-aware programs are used in DESQview.
  500.  
  501.    However, only a few programs are fully DESQview-aware.  With the ones that
  502.    are, TAME can transform their DESQview-awareness into Windows-awareness,
  503.    or awareness of any other supported multitasker.  This is done by
  504.    specifying the /DVAWARE option.  When all programs that are run in a
  505.    specific window will be DESQview-aware, you may turn off the options that
  506.    cause automatic recognition of polling programs (except for communication
  507.    programs.  The following command line tells TAME that all the programs
  508.    will be DESQview-aware.
  509.  
  510.       TAME /DVAWARE /NKI /II NONE
  511.  
  512.    It is possible that a program uses DESQview/Topview functions that are not
  513.    supported with TAME.  TAME can fool these programs into thinking they are
  514.    in DESQview, but if they try unsupported functions, they may crash the
  515.    system.  If
  516.  
  517. -------------------------------------------------------------------------------
  518.                         Functional Option Summary
  519. -------------------------------------------------------------------------------
  520.  
  521.    Usage: TAME /option [value] /option {value} ... [] = required, {} = optional
  522.  
  523. Common Options:
  524.  
  525.   /CLeaR
  526.   /Help              {option}
  527.   /Install           [1,5,9]
  528.   /NoMonitor
  529.   /OFf
  530.   /ON
  531.   /RUN               [command_line]
  532.   /SETtings          [1,5,9]
  533.   /Status
  534.   /Uninstall
  535.  
  536. Tuning Options:
  537.  
  538.   /BackGround
  539.   /NoBackGround      [count]
  540.  
  541.   /Boost             [key_boost work_boost]
  542.   /Geiger            {delay time freq spinner}
  543.   /Idle_Indicate     [first rest]
  544.   /Idle_Indicate     [first rest] {POLLS}
  545.   /Idle_Indicate     [Key,Time,PSP,NoWork,NONE]
  546.   /NoIdle_Indicate   [Key,Time,PSP,NoWork]
  547.  
  548.   /KeyIdle           [count]
  549.   /NoKeyIdle
  550.  
  551.   /KeyWaitPoll
  552.   /NoKeyWaitPoll
  553.  
  554.   /TaskSwitchREPeat  [count]
  555.  
  556.   /Timer
  557.   /NoTimer
  558.  
  559.   /Work_Indicate     [Com1,Com2,Com3,Com4,IRQn,SERial,PARallel,NONE]
  560.   /Work_Indicate     [work_boost]
  561.   /NoWork_Indicate   [Com1,Com2,Com3,Com4,IRQn,SERial,PARallel]
  562.  
  563.   /NoWorkTime        [first] {repeat}
  564.   /NoWorkRange       [bytes]
  565.  
  566. Other Options:
  567.  
  568.   @filename
  569.   /CLONE             [file command_line]
  570.   /DVAware
  571.   /NoDVAware
  572.  
  573.   /Hot_Key           [Monitor,Status key_name]
  574.   /OFf               [ticks]
  575.   /Task_Switch       [OS2,WINdows,DesqView,DoubleDos,OmniView,TopView,
  576.                      VM/386,Key_Read,HaLT] {time_slice}
  577.   /TINY
  578.   /WriteOptions
  579. -------------------------------------------------------------------------------
  580.                        Detailed Option Summary
  581. -------------------------------------------------------------------------------
  582.  
  583. @filename
  584.  
  585.    Tame will load preset command options from the file specified.  These
  586.    options may have been previously placed into the file using the
  587.    /Write_Options option.
  588.  
  589. /BackGround
  590.  
  591.    Turns off the /NoBackGround option.
  592.  
  593. /Boost [key_boost work_boost]
  594.  
  595.    This option is intended to prevent Tame from slowing an application.  It
  596.    will boost the priority of the application for key_boost clock ticks after
  597.    each key press, and work_boost clock ticks after each DOS or video action.
  598.    Both values default to 2.  You may need to decrease the second value to zero
  599.    if Tame does not seem to be effective.  See The Boost Parameter in the
  600.    Advanced Options section for a detailed explanation.
  601.  
  602. /CLeaR
  603.  
  604.    Sets the totals that Tame displays on status screen to zero.  This option
  605.    will clear the totals that appear on both the pop-up status screen and the
  606.    command line status screen.
  607.  
  608. /CLONE [file command_line]
  609.  
  610.    This command will make a special version of the Tame TSR (the TAME-RES.COM
  611.    that does not include the pop-up screens) that has customized default
  612.    parameters, and will automatically run a specific command.  The currently
  613.    active defaults will be placed into the cloned program.  In all cases, the
  614.    /CLONE option should be the only command line option that is specified.
  615.  
  616.    The cloned program is specified with the file value, and should be named
  617.    TAME-xxx where xxx is an abbreviation for the application name
  618.    (TAME-123.COM).  You may optionally specify a command_line to automatically
  619.    run a specific command.  Note that file is the name of the new COM file
  620.    (without the .COM suffix), and command_line contains the full path name of
  621.    the EXE or COM style command that is to be run.
  622.  
  623.    The new TAME-xxx.COM may then be run in place of TAME /I that is used when
  624.    starting a new task.  See the section on Setting default options for a
  625.    detailed explanation.
  626.  
  627. /CPU
  628.  
  629.    This command will calculate a suggested frequency threshold based on the
  630.    speed of your CPU.  Tame sets this threshold to 3.  Unless your application
  631.    runs slower under, you should not change the default frequency threshold.
  632.  
  633. /DVAware
  634.  
  635.    This command allows you to run DESQview-aware programs with multi-taskers
  636.    other than DESQview.  See the section on Applications that are
  637.    DESQview-aware for a detailed explanation.
  638.  
  639. /Geiger {delay time freq spinner}
  640.  
  641.    This option provides audible ticks that sound like a Geiger counter.  The
  642.    ticks speed up when the system is idle, and slow down as other tasks demand
  643.    CPU time.  This is a very useful tool for monitoring the effectiveness of
  644.    Tame.  It allows you to monitor the amount of CPU that an application will
  645.    use both when Tame is loaded and when it is not.
  646.  
  647.    There are some optional parameters that you may specify.  These options will
  648.    vary depending on the speed of the CPU you are using.  When you run the
  649.    Geiger command, it will display the current default values for each
  650.    parameter.
  651.  
  652.    delay     The delay parameter sets the amount of time between each Geiger
  653.              tick.  The default value is based on the speed of the CPU.  When
  654.              you use Geiger for tuning your applications, you will want to use
  655.              the default value for this parameter.
  656.  
  657.              However, you can set the Geiger to use very little CPU when Tame
  658.              is loaded and tuned so you can monitor total system CPU usage.
  659.              But, remember that doing this is not very useful for tuning Tame.
  660.  
  661.              To monitor CPU usage, specify a negative value for delay to set
  662.              the real time between each tick in 1/18 second increments.
  663.              Setting it to -1 will make a tick each 1/18 of a second.  Its only
  664.              value in tuning Tame is in the fact that it will simulate a heavy
  665.              keyboard poller, and may help you adjust the settings.  Setting
  666.              delay to zero will give a tick each time this task gets a time
  667.              slice, but the zero setting requires the Tame TSR to be loaded.
  668.  
  669.    time      This parameter sets the amount of time each tick takes.  The
  670.              default is based on the speed of your CPU, and normally you would
  671.              not want to change it.  You may set time as low as zero and a
  672.              faint tick will still be heard.
  673.  
  674.    frequency This sets the frequency of the ticks in Hertz.  The default for
  675.              this value is 100 Hertz.
  676.  
  677.    spinner   This option will display a spinner on the screen that visually
  678.              supplements the ticking sounds.  You simply specify how often to
  679.              move the spinner relative to the tick sounds; 1 means move it on
  680.              each tick, two means for every other tick, etc.
  681.  
  682. /Help {option}
  683.  
  684.    This command lets you list all of the on-line help for Tame, or only help
  685.    for a specific command or option.  Entering /H or /? provides the complete
  686.    help document, one screen at a time.  To get help on a specific command,
  687.    enter the full command or its abbreviation. For example, /Help HotKey or /H
  688.    HK.
  689.  
  690. /Hot_Key [function key_name]
  691.  
  692.    You may assign the hot key you want to use to display either the Tame pop-up
  693.    status screen or the pop-up monitor.
  694.  
  695.    function  You must enter either Status or Monitor to let Tame know which
  696.              pop-up screen you are assigning a hot key.  If you do not enter a
  697.              key_name, you will be prompted to press the key to assign.
  698.  
  699.    key_name  This is the name of the key you want to assign.  The name of the
  700.              key may normally be derived by its label on the key cap.  The
  701.              following names are valid.
  702.  
  703.              F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, Ins, Del, PgUp, PgDn,
  704.              GrayMinus, GrayPlus, Left, Right, Up, Down, Home, End, TAB, ESC,
  705.              Backspace, Enter, GrayStar, Space, A, B, ...  Z, 0, 1, 2, ...  9
  706.  
  707.           Also, any key may be modified as follows:
  708.  
  709.               Alt-Key
  710.               Ctrl-Key
  711.               Shift-Key
  712.               Alt-Ctrl-Key
  713.  
  714.    For example, the following command line assigns the [Key: Alt-T] key to the
  715.    Tame pop-up status screen.
  716.  
  717.       TAME /HK STATUS ALT-T
  718.  
  719. /Idle_Indicate [first rest]
  720.  
  721.    This option may help you fine-tune Tame.
  722.  
  723.    first This value sets the number of consecutive keyboard polls per clock
  724.          tick that are acceptable before Tame decides that the program is idly
  725.          polling the keyboard.  This number defaults to 3.  If this number is
  726.          too low, then Tame may switch tasks while the program is really
  727.          working.  You should set this number as accurately as possible.  You
  728.          may run a special TAME /CPU command and Tame will compute a
  729.          reasonable value that you may want to use based on the speed of your
  730.          CPU.
  731.  
  732.    rest  If the application is inactive, Tame will wait first polls before task
  733.          switching.  If the application is still inactive the next time Tame
  734.          checks, it will wait only rest polls before task switching.  Tame will
  735.          continue to wait only rest polls until the application again becomes
  736.          active.  This number defaults to 2.  You will normally want to set
  737.          this number low.
  738.  
  739.          You may set either of these values to -1, which indicates that Tame
  740.          should not cause a task switch based upon polling alone.  This is
  741.          effective with programs that issue the keyboard idle interrupt while
  742.          they are polling the keyboard, and will prevent Tame from switching
  743.          tasks based upon intermittent keyboard polls.
  744.  
  745. /Idle_Indicate [first rest] {POLLS}
  746.  
  747.    This is an alternate form of the previous option to specify that the values
  748.    are not to be based on the time.  Instead, Tame will cause a task switch
  749.    after first polls, even if the polls span several clock ticks.
  750.  
  751. /Idle_Indicate [poll_types]
  752.  
  753.    This option lets you specify the type of activity that Tame should check
  754.    when considering polling.  You may select any combination of the following
  755.    poll type values.
  756.  
  757.        Key       Tame should look for key polls.
  758.  
  759.        Time      Tame should look for time polls.
  760.  
  761.        PSP       Tame should look for PSP polls.
  762.                  This is frequently helpful with network-aware programs.
  763.  
  764.        NoWork    Tame should detect the absence of work and assume that the
  765.                  application is idle.  This detection may be restricted based
  766.                  on /NoWorkTime and /NoWorkRange parameters.
  767.  
  768.                  Note that this parameter is recommended only with
  769.                  applications that do not poll.
  770.  
  771.        NONE      Tame should not look at any type of polls.  This may be used 
  772.                  as the first parameter in order to cancel any idle indicators
  773.                  that are in effect before specifying new parameters.
  774.  
  775. /Install  {settings}
  776.  
  777.    This is the command you will use to load the Tame TSR into memory.  It may
  778.    be removed from memory using the /Uninstall option.
  779.  
  780.    One of the standard settings may optionally be specified.  See the
  781.    /Settings command for details on available settings.
  782.  
  783. /KeyIdle [count]
  784.  
  785.    This option works well with many programs that inform DOS when they are
  786.    polling the keyboard while in an idle state.  Tame detects this idle
  787.    situation and temporarily lowers the Idle Indicate first rest option to
  788.    count.  You may set count set to -1 which tells Tame to never switch tasks
  789.    unless the application confirms that it is really idle.
  790.  
  791.    This option may be turned off by specifying /NoKeyIdle.
  792.  
  793.    NOTE: With DESQview release 2.26 and later, this option is not recommended
  794.           for tasks that spend a lot of time at the DOS prompt.  This is
  795.           because DESQview detects the fact that Tame is watching the idle
  796.           interrupt, and when at the DOS prompt, DESQview goes out of its way
  797.           to make sure the idle interrupt is called.  This wastes some
  798.           processing time unnecessarily.  This option is still very effective
  799.           inside some programs, and the problem only occurs at the DOS prompt.
  800.  
  801. /KeyWaitPoll 
  802.  
  803.    Tame should look for the program requesting a key, and  continue a task
  804.    switch until a key is pressed. This is frequently helpful in Windows and
  805.    defaults to being enabled in Windows.
  806.  
  807. /Monitor
  808.  
  809.    This option turns on the monitor that displays Tame actions.  The same
  810.    monitor displays whether you load it with the hot key or with this
  811.    command.  The status monitor appears in the upper right hand corner of your
  812.    screen, similar to the following.
  813.  
  814.       ╔════╗
  815.       ║SC/*║
  816.       ╚════╝
  817.  
  818.    The status that may appear in each of the four monitor positions indicate:
  819.  
  820.       S = System status: (?) don't know, (I)dle, (W)orking
  821.       C = Current task:  (I)dle, (W)orking, (i)dle switched, (K)ey read (B)usy
  822.       / = Spinner:  continuously turns while the program is polling
  823.       * = Task switch indicator:  throbs when Tame is causing task switches.
  824.  
  825.    The monitor may be turned off using the /NoMonitor option.
  826.  
  827.  
  828. /NoBackGround [count]
  829.  
  830.    This option can be very effective with DESQview, and will be ignored if
  831.    another multi-tasking system is being used.  When this option is specified,
  832.    Tame will patiently do a normal task switch count times when the
  833.    application is run in the background.  If no activity is detected, then it
  834.    will instruct DESQview to temporarily run this program only while it is in
  835.    the foreground.  As soon as this program is brought to the foreground, Tame
  836.    will instruct DESQview to again allow it to execute in the background.
  837.  
  838.    For example, you may have a large spreadsheet to calculate and a lot of
  839.    data to enter into a data base.  You can run the spreadsheet with the Tame
  840.    /NBG command and move it to the background.  While it is calculating, you
  841.    can be entering data in the data base.  When Tame detects that the
  842.    spreadsheet is complete, it will put that background window to sleep and
  843.    free the CPU for the foreground.  When the spreadsheet is brought to the
  844.    foreground, Tame will again activate it.
  845.  
  846.    Note that you should not use this option with programs that need to start
  847.    by themselves, such as communications programs and mail programs.
  848.  
  849.    This option may be turned off by specifying /BackGround.
  850.  
  851. /NoDVAware
  852.  
  853.    This option sets DESQview-aware programs so that they will not run with any
  854.    other multi-taskers.  The programs will run only with DESQview.
  855.  
  856. /No_Idle_Indicate [poll_types]
  857.  
  858.    One or more activities may no longer be considered to be polling.  You may
  859.    instruct Tame to no longer watch for the program to poll one or both of the
  860.    following poll type values.
  861.  
  862.    Key           Tame should not look for key polls.
  863.  
  864.    PSP           Tame should not look for PSP polls.
  865.  
  866.    Time          Tame should not look for time polls.
  867.  
  868.    NoWork        Tame should not detect the absence of work.
  869.  
  870. /NoKeyIdle
  871.  
  872.    Turns off the /KeyIdle option.
  873.  
  874. /NoMonitor
  875.  
  876.    Turns off the visual Monitor.
  877.  
  878. /NoTimer
  879.  
  880.    This option prevents the application from processing the timer interrupt
  881.    that is normally issued by the PC about 18.2 times per second.  This option
  882.    may disable some features of the program, and should be used with caution.
  883.    It is very useful with programs that use a lot of CPU time to process the
  884.    timer interrupt with little benefit.  For example, a program that constantly
  885.    displays the current time on the screen, but you are running the program in
  886.    the background.
  887.  
  888.    This option works by intercepting the programs request to be called by the
  889.    timer interrupt.  The program assumes it will be called on a regular basis
  890.    by the timer interrupt, but, since Tame did not pass this request on to
  891.    DOS, the program will never be called by the interrupt.
  892.  
  893.    This option may be turned off by specifying /Timer.
  894.  
  895. /No_Work_Indicate [activities]
  896.  
  897.    Define activities that Tame should not watch for to help it determine when
  898.    the program is active.  You may enter any of the following values.
  899.  
  900.       Com1       Program does not access COM1 using hardware.
  901.       Com2       Program does not access COM2 using hardware.
  902.       Com3       Program does not access COM3 using hardware.
  903.       Com4       Program does not access COM4 using hardware.
  904.       IRQn       IRQ number n should not be monitored by Tame.
  905.       SERial     Program does not access serial ports using the BIOS.
  906.       PARallel   Program does not access the printer.
  907.  
  908. /NoWorkRange [bytes]
  909.  
  910.    Tame can detect that a program is doing no work, and interpret that as a
  911.    signal to switch tasks.  Tame may falsely assume no work is being
  912.    done if the program is using CPU but no other resources.  As a
  913.    failsafe, Tame also checks that the program stack pointer is also
  914.    fairly constant.  A truely compute-intensive application will
  915.    normally be using the stack heavily.  Tame can detect this use and
  916.    assume that work is being done.
  917.  
  918.    The stack change that is interpreted as work may be specified with this
  919.    parameter.  The default is 30 bytes.  If Tame fails to detect work, lower
  920.    this parameter, and if Tame fails to properly detect idleness, raise it.
  921.  
  922. /NoWorkTime [start_ticks] [retry_ticks]
  923.  
  924.    Tame can detect that a program is doing no work, and interpret that as a
  925.    signal to switch tasks.  This parameter sets how long the program should do
  926.    no work before Tame considers it to be idle.  A second time may also be
  927.    specified, if you wish to use a lower tolerance after idleness is already
  928.    detected.  
  929.    
  930.    The default is 8,1.  This will detect idleness after 8 ticks with no work,
  931.    and after idleness is detected, switch after 1 tick of no work.
  932.  
  933. /OFf
  934.  
  935.    The /OFf option will temporarily disable Tame, but leave it in memory for
  936.    later use.
  937.  
  938. /OFf [ticks]
  939.  
  940.    The /OFf ticks option will temporarily disable Tame for the number of ticks
  941.    you specify.  Tame is automatically activated at the end of that time. This
  942.    is beneficial when you need to load a program and not have Tame active
  943.    until after the program is loaded.  Note that pressing a key will cancel
  944.    this option.
  945.  
  946. /ON
  947.  
  948.    Enable Tame task switching.  Tame is on by default.
  949.  
  950. /RUN [command_line]
  951.  
  952.    Runs the command line with Tame active.  Any Tame options that are specified
  953.    must be placed before /RUN and will be in effect while running the command
  954.    line.
  955.  
  956. /SEttings settings_file
  957.  
  958.    Set Tame options to one of the standard settings.  The following settings 
  959.    may be used:
  960.  
  961.        1 = Minimum taming of the application, and maximum detection of work;
  962.            Use this level if Tame seems to slow the application.
  963.  
  964.        5 = Average taming of the application and maximum detection of work;
  965.            Use this setting if maximum taming makes the program sluggish.
  966.  
  967.        9 = Maximum taming and maximum detection of work;
  968.            Some applications may run slower with this setting.
  969.  
  970.    NOTE:  The options specified for each setting are listed in a file named
  971.           *.SET (where * is the setting name).  You are free to add your own 
  972.           settings by adding more .SET files to the Tame directory.
  973.  
  974. /Status
  975.  
  976.    Display a summary report.  The summary includes the number of task switches
  977.    that were initiated by Tame, the total number of keyboard calls that the
  978.    application made, and also a summary of the current options.
  979.  
  980. /Task_Switch [method]
  981.  
  982.    The main purpose of Tame is to switch to another task when it detects that
  983.    the application is wasting time polling the keyboard.  With DESQview,
  984.    Windows, Omniview, Topview, VM/386 and Double Dos, the native pause
  985.    function is used to switch tasks.  Since Tame does not have specific
  986.    support for other multi-taskers, you need to set the task switching method
  987.    used by your multi-tasker.  
  988.    
  989.    The following task switching methods are available.
  990.  
  991.       DesqView   Use the native DESQview task switching method.
  992.  
  993.       DoubleDos  Use the native Double DOS task switching method.
  994.  
  995.       HaLT       The Halt option specifies that Tame should execute a HLT
  996.                  instruction when polling is detected.  This instruction has
  997.                  been found to cause some multi-taskers to immediately switch
  998.                  to another task.  This is the default task switching method
  999.                  when Tame does not recognize the multi-tasker.
  1000.  
  1001.       Key_Read   The Key_Read option specifies that when the program polls the
  1002.                  keyboard, Tame should tell a white lie and say that a key has
  1003.                  been pressed.  Most applications will immediately read the key
  1004.                  that Tame claimed was already pressed.  Since it really was
  1005.                  not pressed, DOS will wait for a key to be pressed.  Most
  1006.                  multi-taskers use this wait for a key press as a Que to switch
  1007.                  tasks.
  1008.  
  1009.                  The Key_Read option could be the most effective task
  1010.                  switching method in Tame, but it will not work with some
  1011.                  applications. Specifically, it will not work with any
  1012.                  applications that poll devices other than the keyboard, or
  1013.                  with programs that occasionally flush the keyboard buffer. It
  1014.                  is also not effective in Windows/386.
  1015.  
  1016.       OmniView   Use the native Omniview task switching method.  This requires
  1017.                  that Omniview is set up to be Topview compatible.
  1018.  
  1019.       OS/2       Use the native OS/2 task switching method.  The task switch
  1020.                  time may be adjusted using the /Task_Switch_Time parameter
  1021.                  which defaults to 100 milliseconds (1/10 second).
  1022.  
  1023.       TopView    Use the native Topview task switching method.
  1024.  
  1025.       VM/386     Use the native VM/386 task switching method which happens to
  1026.                  be the same as Halt.
  1027.  
  1028.       WINdows    Use the native Windows task switching method.  This is
  1029.                  effective with Windows 3.x and Windows NT.  It also seems
  1030.                  to work with some other multi-taskers such as OS/2.
  1031.  
  1032.  
  1033. /Task_Switch_REPeat  [count]
  1034.  
  1035.    When Tame detects an idle system and switches tasks, it will normally
  1036.    switch tasks once and then return control to the application.  This option
  1037.    causes Tame to continue to switch tasks a specified number of times without
  1038.    giving the application a chance to resume its polling ways.  The task
  1039.    switch repeat count will be terminated automatically by Tame if it detects
  1040.    a key press or other IRQ-based work (e.g. COM port activity).
  1041.  
  1042. /Task_Switch_Time {timeslice}
  1043.  
  1044.    Some multitaskers allow releasing for a specific amount of time.  The
  1045.    amount of time specified here is dependent on the multitasker in  use.  
  1046.  
  1047.    This option is currently supported only with OS/2.
  1048.  
  1049. /Timer
  1050.  
  1051.    Turns off the /NoTimer option.
  1052.  
  1053. /TINY
  1054.  
  1055.    This option will cause the small version of the resident Tame program to be
  1056.    loaded.  It is a fully operational version, except the pop-up status screen
  1057.    and pop-up monitor are not available.  If you use this option, it must
  1058.    always be the first option on the command line.
  1059.  
  1060. /Uninstall
  1061.  
  1062.    Remove the resident (TSR) portion of Tame from memory.  This is only
  1063.    necessary when you load Tame using the /Install option.
  1064.  
  1065. /Work_Indicate [activities]
  1066.  
  1067.    You may define the activities that Tame should watch for to help it
  1068.    determine when the program is active.  You may enter any combination of the
  1069.    following values, except that a maximum ot two IRQs may be monitored at
  1070.    any given time (Each COM port counts as an IRQ).
  1071.  
  1072.       Com1       Program accesses COM1 using hardware.
  1073.       Com2       Program accesses COM2 using hardware.
  1074.       Com3       Program accesses COM3 using hardware.
  1075.       Com4       Program accesses COM4 using hardware.
  1076.       IRQn       IRQ number n is activated by some hardware and should be 
  1077.                  detected by Tame.  Specify IRQ number 0 through 7.
  1078.       SERial     Program accesses serial ports using the BIOS.
  1079.       PARallel   Program accesses the printer.
  1080.       NONE       Program does none of the above.
  1081.  
  1082. /Work_Indicate [work_boost]
  1083.  
  1084.    This option sets the number of clock ticks after a work activity that TAME
  1085.    should elevate the priority of the task.
  1086.  
  1087. /Write_Options
  1088.  
  1089.    This option will write out all the current Tame parameters.  For best
  1090.    results, redirect output to a file.  When fine-tuning, you may want to
  1091.    check your current settings against the statistics on the Tame ANL report.
  1092.    The following example creates a file named TAMEOPT.DAT that contains all
  1093.    the current Tame options.
  1094.  
  1095.       TAME /WO >TAMEOPT.DAT
  1096.  
  1097.    This option works in conjunction with the @filename option.
  1098.