Tame® Release 6.0

 

Administrative User Guide

and

Technical Reference

 

Table of Contents

Installation.. 2

Usage. 3

Tame Startup Control 3

Customization.. 4

Specifying Options. 4

Application Programming Interface (API) 4

Application Enhancement 5

Systemwide Tuning. 6

Application Compatibility. 6

User Restrictions. 8

Tame GUI Console. 8

Registry reference. 12

Registry reference. 12

Multi-User Systems. 15

Troubleshooting and Diagnostics. 18

TameView.. 20

Display a Summary of DOS Processes. 20

List Process Details. 22

Command Line Options. 22

TameView Security Notes. 24

Contact Information.. 25

 

 

Installation

To install Tame on a Windows system, run the setup program and answer the questions.  The defaults should be chosen in most cases.   Setup will copy Tame system files onto the system, and update the system autoexec.nt file so that Tame is loaded with each DOS application.

 

Usage

 

After Tame is installed, it will run with each DOS application.  Application performance is enhanced, and a GUI console replaces the simple console supplied with the system. 

See Tame Console Usage for more information about the Tame GUI console.

Tame Startup Control

Some options may be defined prior to launching a DOS application.  This provides control to enable or disable Tame or some of its functions.

Shortcut Name

The shortcut can be renamed to set temporary conditions.  This may be convenient for testing and diagnostics. Note that this is only effective with .PIF shortcuts that launch the DOS program, not with shortcuts that launch a CMD.EXE batch file.

If the .PIF shortcut name ends in one of the following, special meaning is implied. 

.notame          Disable and do not load Tame
.tamegui         Load tame and the Tame Console
.tametrace      Begin tracing at startup (diagnostic use only)
.notamegui    Disable the Tame GUI Console

For example if a shortcut named MyApp.pif launches the app, rename it to MyApp.notame.pif to disable Tame.  Rename to MyApp.notamegui.pif to load using the default Windows console. 

Environment values

The following environment values may be used. This may be convenient when launching The DOS application from a WIN32 CMD.EXE batch file.

TAME_OPTION=DISABLE            Do not load Tame.

TAME=G-       Do not use the GUI Tame Console

NOTAME=P  = Do not launch tame if in a Win32 cmd prompt
NOTAME=B  = Do not launch tame if in a Win32 bat file
NOTAME=W = Do not launch tame in WOW (16 bit Windows apps)

Tame.ini file

Some startup options are listed in the file in the tame.ini file that is found Tame\Settings folder.  All possible options are listed in the file, and “commented out”.  Simply delete the first character in the line to activate that option.

Note that settings may be placed in the HKCU\Software\TameDOS or HKLM\Software\TameDOS registry key instead if preferred.   If a value appears in both user and system registry keys, the user registry key takes precedence.  This allows setting system default while allowing user override.

 

 

Customization

Specifying Options

Settings may be defined for any or all of the following:

·         System wide settings for global preferences and restrictions

·         Shortcut Settings allows different settings for different circumstances

·         Application settings to define requirements and tuning parameters for the app

·         User Preferences that apply to all applications

·         User Preferences for the shortcut may be saved when options are selected by the user.

Tame Settings Files

Tame performance and GUI settings for may be stored in settings files.  To change settings, simply edit the file using the system menu Alt-Space and choose “Default Options”.  In that menu, User Options apply to the current user, and Systemwide options apply to all users on the system.  See Tame Settings Files for detailed description of settings file strategy.

Application Tuning

Settings may be applied to a specific application.  In this case, a settings file for the application may be created.

Application settings are specified in a file with the same name as the program file.  For example, to define settings for MYAPP.EXE, use a file named MYAPP.EXE.TAM.    This file may be in the same folder as the executable, or in the Tame\Settings folder.

Settings for some applications are supplied in the Tame\Settings\Samples folder.  If one of these applications is launched, its settings are automatically copied to the Tame\Settings folder.   

If settings for the application are not supplied, Tame monitors the application in order to determine the appropriate performance settings.   This “auto-adapt” feature allows Tame to provide good results with no tuning in most cases, but it is less efficient than would be possible if the adapted settings were known up front.    

For optimal performance, let Tame adapt to the application, and then save the performance settings using the system menu of the Tame console.   In that menu, select to edit the application settings.  Tame will create the file present it for review.    Common settings for this type of application are described, and sample values are listed commented lines.  In addition, see examples in the Tame\DragDrop folder.   Those examples are in files that may be changed, and dropped on a tame console in order to assess the affect of that option before adding it to a more permanent file.

Application Programming Interface (API)

The application can detect the presence of Tame, self-configure Tame options, and invoke Tame functions.  This includes setting performance options, posting keystrokes,  and even updating the screen layout.

Invoking Tame

If the Application can invoke DOS commands, Tame provides an internal command to invoke Tame functions.  To do this, run the “TAME$SET” command, and provide tame options as arguments.  Optionally prefix the options with [q] for “quick” processing, which is not compatible with some settings.  Also, the “TAME” command is equivalent to TAME$Set which is more convenient when typing the command line at the command.com prompt.

Detecting Tame

The application can detect the presence of Tame and obtain its basic status by invoking the following DOS command line.

This will write the specified file.  After issuing the command, the application can read the file to obtain basic Tame status.  If the file is not created then Tame is not installed, or perhaps Tame version prior to version 6.0f is installed.  If the TAME command is not found then Tame is not installed.  If it executes with no error but no file is produced then a tame version prior to 6.0f may be installed.

 

TAME [q] /WriteTameStatus  File=<filename>

Note that if testing only for Tame version 6.0f or above, the TAME$SET command may be used instead.

Application Enhancement

FileRedirect

Tame allows a limited form of file name redirection.  This may help if an application has hard-coded paths that are not multi-user friendly. 

If the application has one of these problems, file redirection may help.

·         Create temp files in the program folder

·         Create user data files such as documents or settings are in a specific folder

·         Reference paths that are not on the local machine

 

Option

Description

TempFile

This will open a temp file that is unique for each process.  A folder matching the file name is created in the temp folder, and a unique instance of that file is created for each process.

 

One or more file names may be listed separated by a semi-colon.

FileMatch   

All file open or create operations matching files in this list will be redirected.

One or more file names may be listed separated by a semi-colon. 

FileLocation

Location where matched files are located

FolderMatch   

Only one folder may be specified.  All file open or create operations matching this string at the beginning of the path will be redirected.

FolderLocation

Location where matched files are located

SpoolPrintout

This causes Tame to expedite spooling to the printer in some cases where Windows normally delays 15 seconds or more to begin printing.  When this option is used, the /Parallel option is also required

Option

Description

 

Off/on

Force

Force spooling, even if the app uses DOS to write to the printer

SpoolFile

Option

Description

CloseCommand

Command to run when the file is closed.  The name of the temp file is appended to the command line.

 

The command line may be prefixed with [options].

 

[H] will run in a hidden window, [N] will run minimized, [W] will wait for the command to complete, and [D] will delete the file after the command completes.

Ext

File extension of the temp file

LPT

Specify the BIOS LPT port number to redirect.

Name

Name of the file to intercept.  This is usually “LPT1” or “PRN”

 

UseTempFile

This option will redirect access to selected local files to similarly named files in the temp folder.    Multiple file names may be specified, separated by a semi-colon.   Note that drive letters and folders are not allowed – just file names. 

 

Some applications may create temporary files (or session files) in the program folder.  This can be problematic on a multi-user system.  For example, users need write permission on the program folder, and in some cases, multiple users may not run the program simultaneously.  

 

 

Systemwide Tuning

 

 

 

LoadLimitCpu

Set this on to limit CPU usage during program loading.

 

ProcessorMask

Set the processor mask for the VDM thread.  This does not limit where the NTVDM worker threads or the TameConsole user interface thread can run.

 

WorkPriorityTicks

Reduce the performance impact that a long running process will have on other users of the system.  The running process will be throttled after the specified number of ticks.  Throttle may be either reduced priority, or if multiple CPUs are available, the process may be limited to a subset of CPUs while it is working.

 

WorkProcessorMask

Set the processor mask for the VDM thread while the app is working

 

 

 

Application Compatibility

Option

Description

 

FixDirectDisk

This option may be useful in order to run an application that attempts to perform direct disk I/O.  Windows will normally pop up a dialog box and force the user to abort the application or continue.   When this option is used, the disk request is intercepted by Tame, a failure condition is returned to the application, and no dialog box is presented to the user. 

 

ForceTextMode

Do not allow the application to enter graphics mode.  Note that this is off by default, and some applications may become unstable if they attempt to enter graphics mode and cannot deal with this attempt failing.

 

ForceTimerHook

This allows Tame to always use the DOS timer, and is enabled by default for efficiency.  Set to OFF to allow Tame to use the timer only when necessary.

 

ForceWin32Time

This option allows time inquiries made from a DOS app to use the system time, and not the DOS timer. 

 

FoxVideo

This option can speed screen repaints for some applications that were written using Foxpro. 

 

HoldDate

Do not allow date changes made in the DOS session to be passed on to the rest of the system, and do not update the date of this application to match the system date.  This allows the application to change the current date for its internal processing purposes independently of the current date as seen by other applications.

 

InitialTextMode

 

 

LoadSingleThead

Set this on to single thread application loads.  While one application begins loading, startup of other applications will be delayed until the first application has become idle.

 

 

 

 

UseWin32Time

This option forces time inquiries made from a DOS app to use the system time, and not the DOS timer.  This option is enabled by default, but will automatically become disabled if the application sets the time of day using a DOS request.

 

WindowsAware

 

 

 

 

 

File Activity Monitoring

 

 

 

/Lock Option=0

This disables all special file processing of Tame.

 

 

 

 

 

 

 

 

 

 

 

User Restrictions

 

 

System

Option

Description

 

 

CloseMessageText

Set the text the user sees in order to verify closing the console.  This is currency used only when closing the Tame console window.

CloseMessageTitle

Set the title for prompt used to verify closing the console.  This is currency used only when closing the Tame console window.

 

 

DeleteClose

Remove “Close” as an option of the console

EnableClose

Allow the user to close the console – set to “off” to gray out the close option

FastClose

Do not prompt before closing the console

MouseInput

Enable or disable mouse input for the DOS app 

SingleInstance

Limit the application to a single instance system-wide.

 

 

 

 

 

 

 

 

 

Tame GUI Console

The Tame Console allows running DOS applications without the annoyances and limitations of the native console window.   Some of the benefits of the Tame console are:

·         The window may be resized or maximized, and contents will expand or contract accordingly to fill the screen.   When resizing, Tame can vary the text size, or with some applications, adjust the number of rows and columns to fill the screen.

·         Ultra fast key repeat with no overrun when the key is released. The repeat rate can vary depending on the type of key.  By default, repeat is high for cursor movement, slightly lower for text insertion and very slow for function keys.

·         Supports any number of rows and columns, as long as the application can work in that configuration.

·         Multiple fonts may be displayed on the screen.  Fonts may be displayed based on the color of screen text. This allows a more WSYWYG look with DOS word processors, and can enhance the look of form entry

·         System menu provides access to Tame features

 

Option

Description

Cols

Change the size of the window

CursorBlink

Enable /disable cursor blink

CursorCapsLock

Change cursor shape to indicate caps lock

CursorHide

Hide the text cursor while the app is busy.

CursorInsert

Change cursor shape to indicate insert mode

CursorMax

Use the maximum size cursor.

CursorHeight

Set the height of the text cursor.  The value may be specified as percent of the character cell size so that it will change size with the text, or if negative, specifies the number of pixels high the cursor should be.

CursorWidth

Set the width of the text cursor.  The value may be specified as percent of the character cell size so that it will change size with the text, or if negative, specifies the number of pixels wide the cursor should be.

 

 

DropFileContents

Specify this option to allow drag/drop to supply the contents of the file as input to the DOS app.

DropLongPath

When dropping one or more files, Tame will normally paste the full path using short file names that are compatible with DOS.  This option allows pasting the long path names instead.

TextCursorEnhVis

Some apps hide the txt cursor at times.  In some cases, Tame would not hide the cursor.  This option provides additional steps to ensure the text cursor is hidden or shown correctly at all times

 

 

MouseWheelRate

When set, Ctrl-Wheel will start scrolling continuously.   Use the wheel to slow or speed the scroll.

MouseWheelRows

When set, the wheel will send cursor up and down keystrokes to the app

PasteCompatible

Use an alternate paste scheme that is compatible with more apps.

ResetCapsLock

Caps lock may be cancelled when shift is pressed

Rows

Change the size of the window

StartInsertMode

Set to assumed initial insert mode (off/on)

StatusBar

Enable or disable the status bar at the bottom of the screen

TextHeight

Specify height of each text cell.  If the width is not specified, this will be the text height in pts.   If the width is specified, both height and width are in pixels. 

TextWidth

 

WindowsKeys

Set as #0000FFFF  to disable Ctrl-V, Ctrl-C and Alt-F4

 

DosMouse

This option is used to configure the DOS mouse.  The option name is /DosMouse.  The following keywords are allowed.

 

Enable

Enable or disable use of the mouse by the DOS app.  This option may be toggled using the context menu;

 

Filter

Define which mouse messages are sent to the app, and which may be processed by Tame.  See below for details.

FixCoordinates      

Allow the DOS app to access mouse coordinates above 50 rows and 80 columns.

 

WordPerfectMode

Correct issues with WordPerfect mouse usage

 

Mouse Filter details

Each hex digit contains 4 bits representing the 4 toggle key states (none=1, shift=2, alt=4, ctrl=8).  If the bit is set, the corresponding mouse action is passed through to the DOS application.

Each digit represents the type of mouse event for that digit.  For a value if #12345678, the digits represent:

 8 - Mouse move events while the Right button is pressed
 7 - Mouse press and release of the Right button
 6 - Mouse move events while the Center button is pressed
 5 - Mouse press and release of the Center button
 4 - Mouse move events while the Left button is pressed
 3 - Mouse press and release of the Leftbutton
 2 - Mouse move events while no button is pressed
 1 - Mouse wheel events

Some example values:

#00000000   Disable the mouse - may not be toggled with the context menu
#77777776   Press CTRL to use the mouse with Tame
#22222200   Press shift for the app to see the mouse
#FFFFFF00 Allow the app to process all mouse messages except movements

 

Prefix the value with + or - to use the existing setting with a specific modification:

+#000000FF Send mouse movements to the app
-#000000FF Do not send mouse movements to the app
-#FF000000  Do not send right click messages to the app
-#0000000F Do not send mouse wheel messages to the app

 

AttributeDisplay

This option is used to configure how to display text. 

Each foreground/background color combination usually has a specific meaning within the application.   

For example, attribute #3F may be used as a text entry field.   Tame can display this data using a different font, or can change the color of the field to one that is easier to work with.  A more advanced example is with a word processor, where colors are used to indicate italics, bold, underline, etc…  Tame allows on-screen view to show the text with italics, bold, etc.

 

Option

Description

Match

Screen attributes to match.  Multiple Match= values may be used if several will map to the same display style.

Attribute

Use the colors of a different attribute

Font

Font to use for display

ForegroundColor

Set the foreground color – specify Red, Green and Blue components in the form of #RRGGBB (e.g. #4080FF)

BackgroundColor

Set the background color – specify Red, Green and Blue components in the form of #RRGGBB (e.g. #4080FF)

 

FontDefine

Fonts for screen display may be defined.

The following fonts are defined by default:  Default, Data, Bold, Italics, Underline, Strikeout, Subscript, Superscript, Bold+Underline

 

Option

Description

ID

Name for the font – if it matches an existing font name, that font will be replaced.

Face

Text face – the default is to use the face of the font named “Default”

Bold

On/off – whether the font is to be bold

Italics

On/off – whether the font is to be italic

Strikeout

On/off – whether the font is to be strikeout

Subscript

On/off – whether the font is to be subscript

Superscript

On/off – whether the font is to be superscript

Underline

On/off – whether the font is to be underlined

 

Registry reference

Registry reference

The following registry values may be specified in either the user registry key or the machine registry key (HKCU\Software\Tame or HKLM\Software\Tame). 

These values will be read only when the DOS box (NTVDM process) is created.  Changes to these values are not applied to NTVDM processes that are already running.

As an alternative to the registry, the values may be in a Tame.ini file.  See the sample Tame.ini file in the Settings\Samples folder.

 

Value Name

Description

ConsoleTitle

Set the title text of the console window.  This can provide immediate confirmation whether Tame is (or is not) loaded in a process.  The value may contain environment variable references that are expanded at run time.  The following environment values are set by Tame for inclusion into the title: TameVersion, TameSettings, TameDosAppName, TameDosAppPath, TameDosAppArgs.

EnableTameConsole

Set to F if you do not wish to disable the Tame console by default

EnableUserInterface

Set to F if you do not want Tame to pop up error messages

InhibitMouse

This option can be useful for applications that do not support use of a mouse.   This option will reduce CPU usage by preventing mouse actions from interrupting the process. 

LogFolder

This specifies the name of a folder where log files should be placed.  Note that if log files are used, this folder must be accessible with read and write privileges by all users.

The path may contain environment variable references that are expanded at run time.

LogEnable

This may be used to enable or disable logging to a file.  The default is enabled if a LogFile is set, so this value may be used to disable the use of the log without deleting the file name from the registry. 

ProcessorMask

Set the CPU affinity that applies to the entire process.  This is different from the corresponding value in a settings file.  The Settings file version applies to the VDM thread only, and does not limit where the NTVDM worker threads or the TameConsole user interface thread can run.

RunLogFile

This is the path to a file where the run log is to be written.   The path may contain environment variable references that are expanded at run time.

LogFile

If this entry is set, a brief trace of Tame activity is written to the file. 

Note that this is not the same file as the DOS trace log.  The trace log is much more verbose, and requires post processing.

TameFolder

Set the Tame folder

TraceFileSize

Set the size of the diagnostic trace file.  If the size is -1 then the file is written with no size limit.  The size may end with “M” to specify megabytes (e.g. 30M).

TraceStartup

Set to T if application startup is to be traced.

TraceSystemEnable

Create a trace file common to all users and processes.  The file contains less details than a diagnostic trace file.

TraceSystemSize

Set the size of the system trace file.  The size may end with “M” to specify megabytes (e.g. 50M).

TraceVectors

Set based on request from Tame technical support.

UpdatePif

Set to F if you do not want Tame to update the PIF to disable Windows idle detection

 

 

 

Multi-User Systems

Application has problems when run by more that one person at a time. 

Many DOS applications run problem free on a single user system but have problems on a multi-user system.  This can happen even if that single user system and multi-user system are otherwise identical.   Here are some basic reasons why that may happen.

 

·         Files are accessed in the application folder, and shared access is not an possible

·         Users need write access to the application folder, compromising security.

·         The application uses hardcode path names that must be present in order for it t run

·         The application requires the machine name to be unique 

·         Sequential output to the printer, file or other device requires serialization or other special processing

 

Tame provides solutions for these problems, and many others. 

 

Application creates files in the program folder

This basic issue can cause several problems unless the app was designed to work that way. 

 

Tame can intercept file access requests, and divert each files to the places that make sense on a multi-user system.  For example:

·         Temporary files may be created in the user Temp folder

·         Configuration files and other user-specific files may be kept a non-shared location such as "My Documents".

 

Temp file redirect - specify multiple files separated by semi-colon

/FileRedirect TempFiles  = "TEMP.DAT;{TEMP}"

 

File redirection

 

/FileRedirect

      FileMatch="C:\MyApp\MyApp.cfg" 

      FolderLocation="%ProfilePath%\My Documents\MyApp\Config"

 

Folder redirect

Tame can match a partial name, if the folder name is not always the same.

Use a trailing backslash to select only the folder that exactly matches.

 

 /FileRedirect

FolderMatch="C:\MyApp\Config\" 

     FolderLocation="%ProfilePath%\My Documents\MyApp\Config\"

 

The application uses hard coded paths

 

Without Tame, files are stored according to the hard coded drive letters and folders, and not based on standards or preferences of the  system.   When files are in the "wrong" place, it can complicates backup, maintenance and other functions that are tailored to a standard configuration.  If hard coded paths are to a server, faster local access on this multi-user system could be more efficient- but may not be possible.

 

Tame can intercept file access by the application, and divert files to places that make sense this system.  Individual files or entire folder trees may be mapped to another location.

 

Simple folder redirect

/FileRedirect

FolderMatch="C:\Data\" 

FolderLocation="D:\Thisapp\Data\"

 

Access data on a server by UNC

 

  /FileRedirect

FolderMatch="C:\Data\"

FolderLocation="\\servername\share\folder\"

App has hardcoded UNC, access local data instead

 

  /FileRedirect

FolderMatch="\\servername\share\folder\" 

FolderLocation="D:\Thisapp\Data\"

Spooled Files

When sequential output to the printer, file or other device requires custom processing when the data becomes available, the Tame spool option may be used.  This command will create a temporary file to collect data, and issue the specified command to do custom processing when the data becomes available.

  /SpoolFile Name="PRN"

  CloseCmd=  '[N]"%TameFolder%\EventProcs\On_SpoolFileClosed.bat"'

For the command line [] at the beginning may contain execution options as follows:

[V] Visible console

[N] Minimized

[H] Hidden console window

[.] Create no console window

[W] Wait for the command to finish before allowing the app continues.

 

NETBIOS names

If an application tracks sessions by the NETBIOS identity, it may fail on a multi-user system because the machine name is the same for all users.

Tame can intercept name queries and provide a name meeting your specifications.  The name may be based on user ID, session ID,  process ID, or any other value that is in the environment.

 

/System NetBiosName = "U%UserName%"    ; based on the user name

 

Add process ID and the user may run muultiple instances.

 

 /System NetBiosName = "U%UserName%_%TameProcessId%"

 

This terminal session and process is shorter than above and still allows multiple instances for this terminal session.

 

 /System NetBiosName = "S%SessionName%_%TameProcessId%"

 

Troubleshooting and Diagnostics

Application tuning and diagnostic steps frequently depend on the way the application interfaces with the system. Tame version 5 classifies applications based on the poling mode of the application, and displays the mode on the status bar of the Tame console.  .

Note: You should allow Tame to classify the polling mode and save initial settings before other troubleshooting steps are taken. 

The first time the application is run, Tame keeps track of how the app works, and makes minor adjustments as necessary.  These adjustments are tentative, and need to be committed.  After running the application for a few minutes, note CPU usage while idle.  If CPU is low, then it is time to save the settings.  Use the system menu to edit application settings.  Tame will use a template with some values set as needed for your application, and additional comments for things you may want to consider.  It is recommended that nothing be changes at first – return to the app and you may find that the settings that Tame computed are now optimal.

If additional steps are needed, see comments in the file.  Additional settings are available in a format that facilitates rapid application and test.  See the Tame\DragDrop\Samples folder, and copy files to the DragDrop folder for testing.   Edit the file and to test, drag it overt the Tame window and drop..

If you need additional help, TameDos support can look at the situation and recommend a course of action.  For best results, prepare a brief description of the problem and use the Troubleshooting menu to save a trace file that covers the problem.  Send a compressed copy of the trace along with the description to support@tamedos.com.

Advanced Troubleshooting

The Tame version 5 trace is extremely efficient, and can track details of many processes with little overhead.  This can be helpful fir an app with intermittent problems because the trace may be running all the time – and allow review recent activity after the problem starts.  The trace should show what lead up to the problem, and what happened after the problem started.   

If the application crashes, Tame can be configured to automatically create a dump file that includes the entire state of the process at the moment of the crash.

 

Version 5 also has a "system trace", that includes keystrokes, screens, file operations, and Tame operations for all processes in the order they occurred.  This will help if the problem is related to activities of multiple processes.

Registry Values

The values may be set in HKCU\Software\TameDOS  if you want them to affect only one user.

Value Name

Description

TraceStartup

Tame can start a trace whenever a DOS session starts.  To enable, add this value to the TameDOS registry key and set it to T

EnableCrashDump

Tame will also produce a dump file when an application crashes if this value is added to the TameDOS registry key and set to T

TraceFileSize

Set the size of the diagnostic trace file.  If the size is -1 then the file is written with no size limit.  The size may end with “M” to specify megabytes (e.g. 30M).

TraceSystemEnable

Create a trace file common to all users and processes.  The file contains less details than a diagnostic trace file.

TraceSystemSize

Set the size of the system trace file.  The size may end with “M” to specify megabytes (e.g. 50M).

 

 

TameView

TameView is a separate utility that simplifies administration and diagnostics of DOS processes.   The following functions are provided:

·         Centrally manage all DOS processes without the need to visit client workstations

·         View a compact list with basic information on each running DOS tasks

·         Continuously monitor all DOS tasks

·         Optionally filter the process list (e.g. list tasks that exceed a CPU threshold)

·         List the current tame options and Tame statistics for any DOS task

·         Provide a map of all modules that are loaded in a DOS process

·         Display the contents of the current console screen of a DOS process

·         List open files and file locks that are currently in use by a DOS process

·         Initiate diagnostic trace procedures for a DOS user that may be experiencing problems

·         Post-process diagnostic trace files

Display a Summary of DOS Processes

TameView can produce a summary of some or all of the DOS apps that are currently running.  By default, TameView will list all DOS processes.   A variety of  Process Selection Options are available to filter which processes are included in the list.   Here is an example of the summary screen.

 

              Proc           Elapsed  Tot  Cur  AA   Open Lock

UserId          Id Command      Time  CPU  CPU Mode Files Stat Tame Status

------------ ----- -------- -------- ---- ---- ---- ----- ---- ------------

LSKYWALKER    3392 INVEN     2:31:17   0%   1%  Non     4      NonWorkIdle

HPOTTER       3508 INVEN        7:06   1%   0% OneQ     4      Yield     

DVADER        4120 INVEN     1:12:46   4%   0% OneQ     4      Yield

JKIRK         5518 PINBALL      1:21  75%  92%  N/A    12      Not Loaded

H9000         5590 INVEN        2:45   7%  24% OneQ     5      Boost

 

5 processes listed

 

 

The following information is provided for each process.

 

Value Name

Description

UserId

This is the user name the process is running under.

Proc Id

This is the process ID that is assigned to the process.  The process ID is assigned by the system, and it may be used to obtain additional information about the process.

Elapsed Time

This is the length of time that the NTVDM process (or DOS session) has been running.  

Tot CPU

This is the percentage of a CPU that the process has used since it was started.  On a multiprocessor machine, this is the percent of a single CPU, not the total CPU that is available on the machine.

Cur CPU

This is the percentage of a CPU that the process has used since the last TameView sample.  Note that this is only available when the /I option is used to indicate that multiple samples are desired.

Tame Status

This represents the way that Tame is treating the process at this time.  The following values may be displayed:

 

Status            Meaning
Not Loaded   Tame is not loaded in the process
Sleep              The app is idle and is in a deep sleep mode
Working Xnn The app is active.  The Xnn value indicates why Tame considers it active.
Yield               The app is idle and Tame is yielding time slices.

When the app is working, one of the following values will be listed in place of X in the status.

W          Meaning

1           IRQ activity

B           Btrieve activity

D          DOS activity (nn will list the DOS function)

K           A Key was read

P           Parallel port activity

Q          AppQ response time is slow, Application assumed to be busy

S           Serial port activity

T           A key was pressed by the user but not yet requested by the application

V           Video activity

Y           System activity (Win32 I/O or page faults recently detected)

Open Files

The number of files that the process currently has open.

Lock Stat

The lock status indicates the overall status of file locks that the application currently holds or needs.  The status consists of a number which is a count of file locks that are held by the process.  If the process is waiting on a lock that is currently held by another process, the letter “W” will also be included.  This may be blank indicating that no locks are currently held or pending. 

Examples:

2          two locks are held
5W      five locks are held, and the process is waiting on another lock that is currently in use by another process

Note that more detailed lock status is available using the /LL command line option.

Last QTime

This is the most recent App Queue time.  This is a measure of the response time of the application.  For many applications, this is a low value while the app is waiting for input, and high when it is busy.   For those applications, Tame can be tweaked for increased efficiency.  To improve effectiveness in cases where the application does no I/O during busy periods, specify the /AppQueueWork option to be higher than the QTime that is seen while the app is idle and lower than the QTime value during busy times.   To reduce CPU usage during idle periods, specify the /AppQueueIdle option to be slightly above the QTime that is common during idle periods and below that of busy times. 

Command

This is the name of the program that is running.  This will normally be the name of the EXE or COM file minus the extension.  If the executable is listed as KRNL386.EXE then this is a process that hosts 16 bit Windows applications.

Full Command Line

This is the currently executing command line, including options.  In some cases, this information is not available.

 

List Process Details

Would you like to see what is going on with these processes?  TameView can do that and much more. 

 

Process ID  : 3080
User ID     : Greg
DOS Command : CV

Elapsed Time: 8.984 Seconds
Process CPU : 7.734 Seconds
Cur CPU Pct :  98%

Adapt Mode  : SinglePoll+WorkQ
Tame Status : Yield - Application is waiting for input.
Last QTime  :      61 us

PIF file    : D:\TameDev\ZZ_Links\All\CurTest\BTRTST.pif
Options From: C:\Tame\DefaultSettings\default.tam
Tame Folder : C:\Tame\Tame Options:

 

If more detailed information is needed, additional Command Line Options are available to select which details are to be displayed

Command Line Options

TameView can display information or change one or more DOS processes with a single command line.  Simple filtering is supported so that commands may be applied to all DOS processes that meet one or more criteria.

Trace Summary View options

To view an HTML summary of a diagnostic trace file, run TameView and pass the name of a trace file.  Or, use drag-drop – drop a trace file onto the Tameview program – and get the same results.   TameView will summarize the trace file into a temporary HTML file, and then display it using the current web browser.

Process View options

The following options may be used.   If none of the /L options are specified then the compact table view with one process per line is displayed, and the default is to list all DOS processes.  If any /L option is used then the default will list the DOS process most recently launched by the current user.

 

Option

Description

/I

Repeat the view at a regular interval.  The interval may be specified in seconds.  The default value varies between 1 and 5 depending on the number of processes that are listed.

/L

List details about the process.  This is equivalent to /LP /LM /LS /LF /LL

/LC

Show the console screen

/LF

List open files and enumerate sections of those files that are currently locked.

/LL

List file lock status including all file locks that are currently held.

/LM

List a memory map to include all modules currently loaded in memory

/LO

List Tame options that are currently in effect

/LP

Show a process summary

/LS

List Tame statistics

/LVx

Verbose options for list items that follow

/LX

Show a list of running DOS apps, and list details of one that is selected.   This option also allows starting and stopping a trace of the selected process.

/M

Continuously monitor selected details for the most recently launched DOS application for this user.

Process Selection Options

The following options may be used to specify which processes apply.

Option

Description

/P

Specify one or more process IDs

/PA

All DOS processes (may be further filtered by other options)

/PC

Select only processes that are using CPU.  An optional parameter may specify the minimum CPU

/PL

List processes that are currently waiting on a file lock

/PM

List only processes where a specific module is loaded

/PN

List the most recently launched (New) processes.  The number of processes to list may be specified, but normally the default ob 1 is used.

/PT

Select only processes where Tame is loaded

/PU

Select processes owned by the current user.  The user ID may optionally be specified to select a different user.

Other Options

Option

Description

/XA

Add tame-nt.com to the autoexec.nt file

/XE

Edit the autoexec.nt file

/XR

REMark tame commands from the autoexec.nt file (turns them into a comment line)

/XS

List the tame command(s) in the autoexec.nt file

/ZA

Add tame.systo the config.nt file

/ZE

Edit the config.nt file

/ZR

REMark tame commands from the config.nt file (turns them into a comment line)

/ZS

List the tame command(s) in the config.nt file

 

TameView Security Notes

On a multi-user system, TameView may be used by an administrator to access any DOS session on the machine.  A non-administrator may still run TameView, but access will be restricted to processes running in the same user session.

Contact Information

Tame is produced by TameDOS, and written by David G. Thomas. 

Email: info@tamedos.com

Web:   www.tamedos.com