OSTSR version 1.1 Copyright 1994 by Jay Clegg OSTSR requires OS/2 version 2.1 to run properly. Please read the legal disclaimer at the end of this document before using this program. DO NOT run OSTSR unless you are running OS/2 2.1, as running it from straight DOS will cause the machine to lock up. It has not been tested with 2.0, and I do not know at this time whether it would work with that version. OSTSR is an acronym for OS/2 Time Slice Releaser. It was designed to allow programs that are Desqview-aware run smoothly and consume less of the system's time when running under OS/2. If you are currently using OS2SPEED -or- OS2SPEED combined with TAME21, this program offers a speed/size enhancement over the capabilities of these two programs. OSTSR is, quite simply, a DOS TSR that, when it is run in an OS/2 2.x DOS session, will convert Desqview time-slices to OS/2 timeslices (technically, DV-PAUSEs are intercepted and converted to DOSSLEEP calls). Desqview-aware programs will typically consume FAR less CPU time when this program is running. Instead of having a high (up to 100%) CPU utilization all the time, OSTSR will cut CPU utilization for most DV-aware programs to below 50%, and as low as 0% in some situations. The exact amount depends on OSTSR's settings, the speed of the machine, and how much work the DV-aware program is doing at any particular time. OSTSR works by fooling DV-aware programs into thinking that they are running under Desqview. When such a program makes a request to return the rest of its timeslice to Desqview, the call is intercepted by OSTSR and is turned into a similar request to OS/2. OSTSR has been tested and is known to work very well with the latest versions of the following programs: Wildcat! TXZM COMMO DSZ Qedit SHEZ List SLMR/OLX ...and should work with any DV-aware program. It will be ignored and have no effect on non-DV-aware programs. OSTSR will work in full-screen, windowed, and minimized sessions. OSTSR 1.1 takes only 336 bytes from a DOS session, and may be loaded into high memory. OSTSR allows the user to specify the amount of time to give back to OS/2 when a DV-aware program relenquishes it's time slice. The command line option allows settings from 0 to 65535 milliseconds. The actual amount of time taken from the application may vary, and is ultimately determined by OS/2's scheduler. While this limits the actual amount of tweeking a person can do using this program, it generally insures that things run smoothly no matter what option you select. Experimentation is the key to determining what setting is best for your system. On tests that I and others have conducted, a setting of 2 or 3 seems to work best for almost any DV-aware program, although you may find a lower or higher setting works better for you. Note that a setting of 0 milliseconds does little for overall system performance, but should (I haven't been able to confirm this) give up the rest of a timeslice *if* another thread is running which has a higher priority. For starters, try a setting of 3, then go up or down to find what works best for you. If you are running Wildcat! or other DV-aware communications programs, try a setting of 2 first, if that causes problems, try a setting of 1. OSTSR has a "monitor" mode that displays two indicators when a DV-aware program is running. They are very usefull for determining which programs are DV-aware, and for gaugeing the impact of OSTSR. When in "monitor" mode, the indicators are displayed in the upper left-hand corner of the screen or window that it is running in. The first one is a smiley face, which appears when OS/2 has taken from the application via OSTSR. (i.e. when the program gives up it's time slice OSTSR displays the smiley, and when OS/2 returns to the program, the smiley is erased.) The character to the right of the is a "twirly-bar" which moves one "notch" every time OSTSR returns part of a timeslice to OS/2. Generally, the more the smiley is displayed, the better for total system performance. It should be noted that these indicators will only be displayed if you are running a DV-aware program. Once you have "tweeked" your system, disable the monitor mode. The monitor mode does impact on performance itself (particularly for dos apps that a run in a window), and should only be used for testing purposes. ------- QuickStart: Open a Dos session, either windowed or full-screen (full-screen is recomended for testing in monitor mode). Run OSTSR with these options: OSTSR 2 /m This loads OSTSR resident in your DOS session with a 2 millisecond release setting, with monitor mode ON. Now run your Desqview-aware application(s) from this session. If they are indeed Desqview-aware, you should see the smiley and twirly-bar in the upper left-hand corner of the screen or window, indicating that OSTSR is doing it's job. (NOTE, if IDLE_SENSITIVITY in the settings folder for your DOS session is set to 100%, OSTSR will may not have a positive impact on performance. If it is set to 100%, change it to 99% or lower) Try running your DV-aware applications in a window, both with and without OSTSR loaded, while watching PULSE or another CPU utilization monitor. This will gauge the impact that OSTSR has on increasing overall system performance. ------- Usage: OSTSR # [/M] [/D] where # is a number between 0 and 65535. if # is not specified, a value of 1 is assumed. /M and /D are optional. /M enables monitor mode. /D temporarily disables Desqview emulation. This usually has the effect that OSTSR will not seem to be present. This switch was added to allow users to temporarily turn OSTSR 'off'. OSTSR can be turned back 'on' by re-running it without the /D switch. Note that if the program requests a time-slice release, it will still be sent to OS/2, this simply disables the function that 'fools' other programs into thinking they are running under DesqView. (New switch for version 1.1!) Examples: OSTSR (running OSTSR with no parameters specifies a default 1 ms DOSSLEEP, with no indicators.) OSTSR 3 ( 3 millisecond DOSSLEEP, no indicators) OSTSR 2 /m ( 2 millisecond DOSSLEEP, with "monitor" indicators turned on) Running OSTSR when it is already installed in memory will change the values of the already running copy. This allows you to change its settings "on-the-fly". If you do not specify otherwise, it will default to: Monitor Mode OFF, 1 ms release, DV-faking ON. You may wish to put OSTSR somewhere in your path so that you can use it from any directory. However, most users will find it easiest to load OSTSR via their AUTOEXEC.BAT, so that it will be automatically loaded for each DOS session on startup. ------- OSTSR is copyrighted free-ware, which means you can use it as you see fit (free of charge) as long as you do not modify the program in any way. Please do not distribute it without this documentation file. I have tested OSTSR to the best of my ability. However, if you find any bugs, or programs that cause incompatibilities, I'd appreciate hearing about them. I can be contacted at the address below, and also through the Wildnet! Programming conference, the FIDO OS/2 DOS support conference or via the Madmen & Maniacs BBS (706-860-5781). Jay Clegg P.O. 204201 Martinez, GA 30907 ------- Warranty: There is no warranty, period. Full Legalese follows: DISCLAIMER Jay Clegg makes no warranty, either express or implied, including but not limited to implied warranties of merchantability and fitness for a parti- cular purpose with respect to this software. IN NO EVENT SHALL JAY CLEGG OR ANY OF HIS ASSOCIATES BE LIABLE FOR ANY DAMAGES, INCLUDING DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS ARISING OUT OF THE USE OF OR INABILITY TO USE THIS PROGRAM, EVEN IF JAY CLEGG HAS BEEN ADVISED OF THE POSSIBILITY OF DAMAGES. Program history: OSTSR 0.1 This version was written in C and was much larger than the final product. Just a test program to see if it would work. 0.8 ASM version with time slice indicator. Seperated resident code from startup code to squeeze resident size to a minimum. Allowed for specifying DOSSLEEP parameter. 0.9 Beta test. Added TS indicator switch, and allowed for changing parameters of resident program by reruning the program. Fixed a few esoteric buglets. 1.0 First public release. 1.1 'Maintenance release'. Added support for converting MS-Windows time slice releases to OS/2 releases. Some programs (SHEZ) were calling this instead of the DV call. Added switch to temporarily disable DesqView emulation (/d), when used, program will not emulate DV until OSTSR is re-run without the switch. Some programs (Usurper - game door?) were trying to use additional DV functions which OSTSR simply cannot provide, hence, this allows users to temporarily disable OSTSR and re-enable it when a certain program has completed. Refined code so that resident size is still 336 bytes, despite additions.