home *** CD-ROM | disk | FTP | other *** search
/ hobbes.nmsu.edu / 2008-06-02_hobbes.nmsu.edu.zip / dos / ostsr12i.zip / OSTSR.DOC < prev    next >
Text File  |  1995-09-26  |  14KB  |  276 lines

  1.  
  2.  
  3.                 OSTSR version 1.2 Copyright 1994 by Jay Clegg
  4.  
  5.    OSTSR requires OS/2 version 2.1 or higher (Warp) to run properly. Please
  6.    read the legal disclaimer at the end of this document before using this
  7.    program. DO NOT run OSTSR unless you are running OS/2 2.1 or higher, as
  8.    running it from straight DOS will cause the machine to lock up. It has
  9.    not been tested with 2.0, and I do not know at this time whether it would
  10.    work with that version.
  11.  
  12.    OSTSR is an acronym for OS/2 Time Slice Releaser.  It was designed to
  13.    allow programs that are Desqview-aware run smoothly and consume less of
  14.    the system's time when running under OS/2.
  15.  
  16.    If you are currently using OS2SPEED -or- OS2SPEED combined with TAME21,
  17.    this program offers a speed/size enhancement over the capabilities of
  18.    these two programs.  If you are using either of these programs, remove
  19.    them before using this one.  You do not need both.
  20.  
  21.    OSTSR is, quite simply, a DOS TSR that, when it is run in an OS/2 2.x DOS
  22.    session, will convert Desqview time-slices to OS/2 timeslices
  23.    (technically, DV-PAUSEs are intercepted and converted to DOSSLEEP calls).
  24.  
  25.    Desqview-aware programs will typically consume FAR less CPU time when
  26.    this program is running. Instead of having a high (up to 100%) CPU
  27.    utilization all the time, OSTSR will cut CPU utilization for most
  28.    DV-aware programs to below 50%, and as low as 0% in some situations. The
  29.    exact amount depends on OSTSR's settings, the speed of the machine, and
  30.    how much work the DV-aware program is doing at any particular time.
  31.  
  32.    OSTSR works by fooling DV-aware programs into thinking that they are
  33.    running under Desqview.  When such a program makes a request to return
  34.    the rest of its timeslice to Desqview, the call is intercepted by OSTSR
  35.    and is turned into a similar request to OS/2.
  36.  
  37.    OSTSR has been tested and is known to work very well with the latest
  38.    versions of the following programs:
  39.  
  40.         Wildcat!    TXZM
  41.         COMMO       DSZ
  42.         Qedit       SHEZ
  43.         List        SLMR/OLX
  44.         Various BBS programs/utilities
  45.  
  46.    ...and should work with any DV-aware program.  It will be ignored and
  47.    have NO effect on non-DV-aware programs.  OSTSR will work in full-screen,
  48.    windowed, and minimized sessions.  OSTSR 1.2 takes only 336 bytes from a
  49.    DOS session, and may be loaded into high memory.
  50.  
  51.    OSTSR allows the user to specify the amount of time to give back to OS/2
  52.    when a DV-aware program relenquishes it's time slice.  The command line
  53.    option allows settings from 0 to 65535 milliseconds. The actual amount of
  54.    time taken from the application may vary, and is ultimately determined by
  55.    OS/2's scheduler.  While this limits the actual amount of tweeking a
  56.    person can do using this program, it generally insures that things run
  57.    smoothly no matter what option you select.  Experimentation is the key to
  58.    determining what setting is best for your system.  On tests that I and
  59.    others have conducted, a setting of 2 or 3 seems to work best for almost
  60.    any DV-aware program, although you may find a lower or higher setting
  61.    works better for you. Note that a setting of 0 milliseconds does little
  62.    for overall system performance, but should (I haven't been able to
  63.    confirm this) give up the rest of a timeslice *if* another thread is
  64.    running which has a higher priority.  (Under OS/2 Warp, a setting of 1
  65.    seems to be equivalent to a setting of 0 under OS/2 2.1 and vice-versa.
  66.    Apperently, IBM swapped these values in this version of OS/2)
  67.  
  68.    For starters, try a setting of 3, then go up or down to find what works
  69.    best for you.  If you are running Wildcat! or other DV-aware
  70.    communications programs, try a setting of 2 first, if that causes
  71.    problems, try a setting of 1 (or 0 if running Warp).
  72.  
  73.    OSTSR has a "monitor" mode that displays two indicators when a DV-aware
  74.    program is running.  They are very useful for determining which programs
  75.    are DV-aware, and for gaugeing the impact of OSTSR. When in "monitor"
  76.    mode, the indicators are displayed in the upper left-hand corner of the
  77.    screen or window that it is running in.  The first one is a smiley face,
  78.    which appears when OS/2 has taken over from the application via OSTSR.
  79.    (i.e. when the program gives up it's time-slice, OSTSR displays the
  80.    smiley, and when OS/2 returns to the program, the smiley is erased.)  The
  81.    character to the right of the is a "twirly-bar" which moves one "notch"
  82.    every time OSTSR returns part of a timeslice to OS/2.
  83.  
  84.    Generally, the more the smiley is displayed, the better for total system
  85.    performance.
  86.  
  87.    It should be noted that these indicators will only be displayed if you
  88.    are running a program that releases time-slices.
  89.  
  90.    Once you have "tweeked" your system, disable the monitor mode.  The
  91.    monitor mode does impact on performance itself (particularly for dos apps
  92.    that a run in a window), and should only be used for testing purposes.
  93.  
  94.    New in this version is a "fix" for the problems many have experienced
  95.    running Borland Pascal Dos-Extended programs in conjunction with OSTSR,
  96.    including the Wildcat-related programs WCPACKX and WCC386 and countless
  97.    others. These programs would lock up when OSTSR 1.1 was loaded with
  98.    DesqView-emulation enabled.  This was traced to some "funky" memory
  99.    allocation that RTM.EXE (the Pascal run-time module) does when it detects
  100.    DesqView. Specifically, I found that if DV was detected it would allocate
  101.    one less paragraph than it actually needed for it's DPMI private data
  102.    area.  This tended to work with real DesqView, but it didn't when used
  103.    with OSTSR, and would crash the DOS box after it had overwritten MSB
  104.    chain. At least that's what the problem was with the version I played
  105.    with.
  106.  
  107.    Anyway, this version of OSTSR has a work-around that attempts to detect
  108.    when RTM.EXE is running and correct the allocation amount (by increasing
  109.    it by 1 paragraph) before the allocation reaches DOS.  It seems to work.
  110.    If you think this new feature is giving you trouble with another
  111.    program, you can disable it by running (or re-running) OSTSR with the
  112.    /F switch.
  113.  
  114.                                 -------
  115.  
  116.    QuickStart:
  117.  
  118.         Open a Dos session, either windowed or full-screen (full-screen
  119.         is recomended for testing in monitor mode). Run OSTSR with these
  120.         options:
  121.  
  122.         OSTSR 3 /m
  123.  
  124.         This loads OSTSR resident in your DOS session with a 2 millisecond
  125.         release setting, with monitor mode ON.
  126.  
  127.         Now run your Desqview-aware application(s) from this session. If
  128.         they are indeed Desqview-aware, you should see the smiley and
  129.         twirly-bar in the upper left-hand corner of the screen or window,
  130.         indicating that OSTSR is doing it's job.
  131.  
  132.         (NOTE: if IDLE_SENSITIVITY in the settings folder for your DOS
  133.         session is set to 100%, OSTSR will not have a positive impact on
  134.         performance. If it is set to 100%, change it to 99% or lower)
  135.  
  136.         Try running your DV-aware applications in a window, both with and
  137.         without OSTSR loaded, while watching PULSE or another CPU
  138.         utilization monitor.  This will gauge the impact that OSTSR has on
  139.         increasing overall system performance.
  140.  
  141.         REMEMBER: the monitor mode increases CPU activity when in use, so
  142.         disable it (run without /m switch) once you're done testing.
  143.  
  144.                                 -------
  145.  
  146.    Usage:
  147.            OSTSR # [/M] [/D] [/F]
  148.  
  149.     where # is a number between 0 and 65535.  if # is not specified, a
  150.     value of 1 is assumed.  /M and /D are optional.
  151.  
  152.       /M enables monitor mode.  This should be used for testing only,
  153.          as it increases CPU utilization when in use.
  154.  
  155.       /D temporarily disables Desqview emulation. This usually has the
  156.          effect that OSTSR will not seem to be present.  This switch was
  157.          added to allow users to temporarily turn OSTSR 'off'.  OSTSR can be
  158.          turned back 'on' by re-running it without the /D switch.  Note that
  159.          if the program requests a time-slice release, it will still be sent
  160.          to OS/2, this simply disables the function that 'fools' other
  161.          programs into thinking they are running under DesqView.
  162.  
  163.       /F Disables memory allocation fix.  See above.  Use this switch only
  164.          if you think that this fix interfering with another program. This
  165.          switch will probably never be needed, but if you find a program or
  166.          situation that does require this switch to work, please report it
  167.          to me.
  168.  
  169.  
  170.    Examples:
  171.  
  172.     OSTSR                (running OSTSR with no parameters
  173.                                     specifies a default 2 ms DOSSLEEP,
  174.                                     with no indicators.)
  175.  
  176.     OSTSR 3             ( 3 millisecond DOSSLEEP, no
  177.                      indicators)
  178.  
  179.     OSTSR 2 /m            ( 2 millisecond DOSSLEEP, with
  180.                      "monitor" indicators turned on)
  181.  
  182.    Running OSTSR when it is already installed in memory will change the
  183.    values of the already running copy.  This allows you to change its
  184.    settings "on-the-fly".  If you do not specify otherwise, it will
  185.    default to: Monitor Mode OFF, 2 ms release, DV-faking ON.
  186.  
  187.    You may wish to put OSTSR somewhere in your path so that you can use it
  188.    from any directory.   However, most users will find it easiest to load
  189.    OSTSR via their AUTOEXEC.BAT, so that it will be automatically loaded for
  190.    each DOS session on startup.
  191.  
  192.                   -------
  193.  
  194.    OSTSR is copyrighted free-ware, which means you can use it as you see
  195.    fit (free of charge) as long as you do not modify the program in any
  196.    way.  Please do not distribute it without this documentation file.
  197.  
  198.    I have tested OSTSR to the best of my ability. However, if you find
  199.    any bugs, or programs that cause incompatibilities, I'd appreciate
  200.    hearing about them. I can be contacted at the address below, and also
  201.    through via the Madmen & Maniacs BBS (USA 706-860-5781, FIDO Netmail
  202.    at 1:360/12 , be sure to put return fido address in body of message),
  203.    or (preferably) via internet email (jclegg@augusta.net).
  204.  
  205.             Jay Clegg
  206.                         P.O. Box 204201
  207.             Martinez, GA 30907
  208.  
  209.    If OSTSR is useful to you, SEND ME A POSTCARD!  It'll encourage me to
  210.    continue developing this program.  (If you want, send money, that works
  211.    even better. <grin>)  If you wish to remain anonymous, you can leave
  212.    off the return address, but send the card anyway...If possible, send
  213.    one that has a picture of the city that you live in.
  214.  
  215.  
  216.                   -------
  217.  
  218.    Warranty: There is no warranty, period.
  219.    Full Legalese follows:
  220.  
  221.                                 DISCLAIMER
  222.  
  223.    Jay Clegg makes no warranty, either express or implied, including but not
  224.    limited to implied warranties of merchantability and fitness for a parti-
  225.    cular purpose with respect to this software.
  226.  
  227.    IN NO EVENT SHALL JAY CLEGG OR ANY OF HIS ASSOCIATES BE LIABLE FOR ANY
  228.    DAMAGES, INCLUDING DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS
  229.    INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS
  230.    ARISING OUT OF THE USE OF OR INABILITY TO USE THIS PROGRAM, EVEN IF
  231.    JAY CLEGG HAS BEEN ADVISED OF THE POSSIBILITY OF DAMAGES.
  232.  
  233.    Program history: OSTSR
  234.  
  235.     0.1  This version was written in C and was much larger
  236.          than the final product.  Just a test program to see if it
  237.          would work.
  238.  
  239.     0.8  ASM version with time slice indicator.  Seperated resident
  240.          code from startup code to squeeze resident size to a
  241.          minimum.  Allowed for specifying DOSSLEEP parameter.
  242.  
  243.     0.9  Beta test.  Added TS indicator switch, and allowed for
  244.          changing parameters of resident program by reruning the program.
  245.          Fixed a few esoteric buglets.
  246.  
  247.     1.0  First public release.
  248.  
  249.         1.1  'Maintenance release'.  Added support for converting MS-Windows
  250.              time slice releases to OS/2 releases. Some programs (SHEZ)
  251.              were calling this instead of the DV call.  Added switch to
  252.              temporarily disable DesqView emulation (/d), when used,
  253.              program will not emulate DV until OSTSR is re-run without
  254.              the switch.  Some programs (Usurper - game door?) were
  255.              trying to use additional DV functions which OSTSR simply
  256.              cannot provide, hence, this allows users to temporarily
  257.              disable OSTSR and re-enable it when a certain program has
  258.              completed.  Refined code so that resident size is still 336
  259.              bytes, despite additions.
  260.  
  261.         1.2  'Another maintenance release'.  Added a workaround that
  262.              corrects a problem caused by RTM.EXE when it detects that
  263.              DesqView is running.  This "feature" in RTM doesn't affect 'Real
  264.              DesqView', but caused havoc when using a 'DV-faker' such as the
  265.              previous version of OSTSR, or OS2SPEED, or TAME.  The exact
  266.              reason is rather tenuous, and involves the MCB chain when
  267.              allocating from high (conventional) memory. But the workaround
  268.              code appears to work, and I've taken steps to assure that it
  269.              doesn't interfere with other programs. I did some optimizations
  270.              to the code to keep the resident code size down to 336 bytes
  271.              (The actual running ISR's are only about 256 bytes!).  Also,the
  272.              program modifies it's own MCB to reflect the name 'OSTSR'.
  273.  
  274.         1.2i Identical executables to 1.2, but changed the docs to
  275.              reflect my new email address.
  276.