Contents of the WILDWIND.TXT file
A Dissertation on the operation of WILDCAT! 3.5+
in the Microsoft Windows 3.1,
DOS 5.0 environment.
Mustang Software Inc. has a disclaimer in their reference manual stating that WILDCAT! is not a
Windows application and that they do not recommend or support WILDCAT! in this environment
because of the various ways Windows can be configured or mis-configured.
We agree with this statement in principle, WILDCAT! is not a Windows application and Windows
3.1 can indeed be mis-configured. It would be an impossible task for a software vendor to
attempt to address these environmental issues. This however, should not be construed to mean
that WILDCAT! cannot successfully run in a Windows environment, what it does mean is that it is
your responsibility to insure that Windows is configured correctly for the operation of WILDCAT!
Since Mustang Software, Inc. felt it appropriate to include a disclaimer statement we see no
reason to break with tradition. Therefore we do not assume any liability for the use of the
information contained in this document. We can attest to the fact that all information presented
here has been tested on our machine with WILDCAT! 3.52, Windows 3.1, DOS 5.0, and works
as described. We make no guarantees or warranties either express or implied that, should you
use any of the information contained herein, that it will perform in your environment, or that it is
safe in your environment. The reader must assume all risk for the application of any information
The first question is, "Why would anyone want to run WILDCAT! under Windows?" To answer
this we must first understand exactly what Windows is and what it can and cannot do. Windows
is a non-preemptive multi-tasking environment manager that allows you to run more than one
application at a time, provides the ability to transfer information between applications, and has a
graphical interface that provides a more intuitive and efficient work environment. Non-preemptive
means that Windows does not "time-slice" applications but instead gives control to another
application that wants it only when all other applications are idle.
In order for Windows to work efficiently, the DOS environment must first be optimized. Because
of the vast differences in configurations possible in a PC environment, this discussion will
address those issues common to all PC's first and concentrate on Windows and WILDCAT!
specific issues later.
The first and most important consideration is memory, real physical memory installed in your PC.
This memory can be in the form of SIMM's (System In-Line Memory Modules) or add-on memory
expansion boards. Your system can have as many as three types of memory;
This is the basic type of memory found on all PC's. Most have at least 256k and can
accommodate up to 640k.
This type of memory is available only to those systems with an 80286 or higher
processor and extends from 1024 to the end of physical memory. In the DOS 5.0/Windows 3.1
environment this memory is managed by the Extended Memory Manager, HIMEM.SYS. (More on
Most PC's can accommodate Expanded Memory that consists of two parts; an
Expanded Memory board and an Expanded Memory Manager. EMM386.EXE is a device
driver that can use Extended Memory to simulate Expanded Memory. (More on this
In addition, most systems have an
Upper Memory Area.
The Upper Memory Area of 384k is immediately adjacent to the 640k (max) of
conventional memory. It is not considered part of the total memory of your PC because it
is not available to application programs. However, DOS can make use of this area. (More
on this later).
Windows 3.1 runs in either Standard Mode or 386 Enhanced Mode and needs Extended Memory
in order to run. Windows loves Extended Memory, the more you have the better Windows will
perform. For Standard Mode, the minimum recommended configuration is an 80286 or higher
processor and 640k of conventional memory plus 256k of Extended Memory. For operation in
386 Enhanced Mode the requirements are an 80386 or higher processor, 640k of Conventional
Memory plus 1024k of Extended Memory. Therefore if you have installed Expanded Memory
boards, Windows will run best if you configure these memory boards as all Extended Memory.
This discussion will focus on Windows running in the 386 Enhanced Mode. Of course the
minimum configurations are not recommended, these are the bare minimums that will allow
Windows to start in the designated mode.
386 Enhanced Mode.
The advantage to running in 386 Enhanced Mode is to use the virtual memory capabilities of the
80386 or higher processor. With virtual memory, applications have access to more memory than
is physically available on your system. We are covering the memory considerations in detail here,
not to bore the experienced Windows professional, but to insure that the requirements of
Windows are totally understood by all. Windows will use all the memory you allocate to it. This is
not to say Windows is a memory hog, Windows is your multi-tasking environment and your
environment should be allocated all your memory.
System Configuration Files.
Critical to the utilization of system resources are two important files, the System Configuration
File, CONFIG.SYS, and the AUTOEXEC.BAT file. Through these two files you will set up the
DOS environment in which Windows will run. You also will allocate various system drivers and
memory managers as well as controlling where DOS locates itself.
The following is the System Configuration File for our system. We will cover each line and
parameter in detail and discuss various options that may apply to your environment. It is
important to understand that unless the operating environment is configured for maximum
efficiency, running WILDCAT! under Windows will result in less than optimum performance.
install=c:\dos\share.exe /f:4096 /l:40
device=c:\windows\emm386.exe 640 d=64 ram
device=c:\windows\smartdrv.sys 512 256
files=40 WILDCAT! contains special code to allow DOS to open more than the
normal maximum of 20 files at one time. This statement is VERY
IMPORTANT. It may be larger than 40 but never less than that.
buffers=99,8WILDCAT! recommends that this read (buffers=40). Contrary to what the
WILDCAT! and Windows operating manuals say, DOS buffers do improve some
disk operations even if you are using SMARTDRV.SYS as a disk caching
device. We use SMARTDRV.EXE, see line #7, together with the
maximum allowable DOS buffers, 99. We are also using secondary buffers
that can enhance certain disk operations. If you have many subdirectories,
maxing out the buffers to 99,8 can improve system performance at the cost of
memory. If DOS is in the High Memory Area then the buffers will be there also.
This leaves more conventional memory for DOS applications such as WILDCAT!
stacks=9,256The stacks command supports the dynamic use of data stacks to handle
hardware interrupts. The default, if no stacks command is specified is 0,0,
this means that each running program must have enough stack space to
accommodate the PC's hardware interrupt drivers. The values 9,256 allocate 9
stacks of 256 bytes each. This costs some memory but we do not make the
assumption that a program will always have sufficient stack space available.
share.exeThe DOS share program installs the file sharing and locking facilities.
Share is used in a network or multi-tasking environment in which
programs share files, and validates all read and write requests. Since
WILDCAT! opens at least twice the default values, (/f:space) 2048 and
(/:locks) 20, doubling these parameters insures that room is provided for
in the system lock table.
himem.sys.HIMEM.SYS manages programs' use of Extended Memory and of the High
Memory Area, this driver prevents programs from simultaneously using the same
area of memory. HIMEM.SYS must precede any device commands that use
Extended Memory such as SMARTDRV.SYS and EMM386.EXE. Some PC's
support "shadowram", this is a feature in which ROM code is read into and
executed from faster RAM memory. If this feature is available on your PC, the
inclusion of this switch will speed up the operation of your system at the cost of a
little conventional memory.
emm386.exeEMM386.EXE simulates Expanded Memory for programs that request it and
provides access to the Upper Memory Area on 80386 or higher processors. The
640 parameter requests that 640k of Expanded Memory be available for an
application requesting EMS. Since WILDCAT! can swap out during a DOS shell,
the preferred option, EMM386.EXE provides EMS memory to hold WILDCAT!
until it regains control again thus freeing memory for the DOS command
processor. The d=64 parameter reserves 64k for buffered direct memory access
(DMA). This increases the size of the DMA buffer used to communicate with the
Expanded Memory manager and the Upper Memory Area, the ram parameter
tells EMM386.EXE to provide access to both.
smartdrv.sysSMARTDRV.SYS creates a disk cache in Extended or Expanded Memory that
can significantly speed-up DOS operations. The default cache size is 256k.
Windows can reduce the cache size to 0 in memory critical situations effectively
disabling disk caching unless you provide additional parameters. The parameter
512 sets an initial cache of 512k and the parameter 256 does not allow the
cache to be reduced below 256k thus insuring that the SMARTDRV.SYS's cache
mechanism is always active.
setver.exeThis sets the DOS version that DOS 5.0 reports to a program. Programs
designed to run with a prior version of DOS will run correctly with DOS 5.0.
Sometimes, however, a program may not run correctly unless its name is
included in the version table. This table indicates to the program that it is running
with the DOS version for which it was designed, although it is running with DOS
The second critical file is the Autoexec.Bat file. At startup or reboot time DOS carries out the
commands in your CONFIG.SYS file, then DOS looks for an AUTOEXEC.BAT file. This file
defines the characteristics of each device connected to your system. The following is the
AUTOEXEC.BAT we use for running WILDCAT! under Windows.
loadhigh c:\windows\mouse.com /y
loadhigh c:\dos\fastopen.exe c:=40 d:=120 /x
Again we will describe each line in detail, not to bore you as was said before, but to insure that
everything that is critical to Windows is explained in detail. First, the last line, win. We start
windows from a batch file that allows us to check other parameters such as what "mode" we are
in now. In our environment weI swap to different DOS configurations to perform various functions
like disk compaction where no extraneous TSR's or device drivers are loaded. In the example
presented below we are checking to see if the system is in the correct mode to start Windows.
@echo offPrevents the batch commands from echoing on the screen. The @ in front of the
echo command prevents the echo off command from being echoed to the
clsSimply clears the screen.
path=This is environmentally specific but the critical entries are for Windows, DOS,
mouse.comLoads the mouse driver. Try running Windows without a mouse and learn what
frustration feels like. The loadhigh= loads the mouse driver into the Upper
memory Area if there is sufficient space.
fastopen.exeFASTOPEN.EXE is a program that decreases the time needed to open
frequently used files. It tracks the location of files on your hard disks and saves
the information in memory for fast access. With the correct parameters, and here
you must check your DOS User's Guide and Reference, FASTOPEN can
significantly reduce access time by going directly to a file rather than having to
perform a directory lookup every time a file is referenced. Again, this is being
loaded into the High Memory Area.
The following parameters set the DOS prompt format, establish environmental variables, and
finally invoke the win batch file. This is not necessary, the last line could have simply read
c:\windows\win /3. The /3 Windows command line parameter insures that Windows starts in 386
Enhanced Mode or fails in the attempt. While we have never had Windows fail to come up in the
proper mode, its there for insurance in the event we have switched DOS into an alternate
configuration not compatible with running Windows in Enhanced Mode and did not switch it back
to its full operating mode. To insure that this does not happen we use the win batch file below
and test what mode the system is set for. A simple text file is named and renamed from
swap1.txt to swap2.txt as our operating modes are changed for system maintenance. If swap2.txt
is present Windows cannot be started, all the required drivers have not been loaded.
The WIN.BAT file.
if exist swap2.txt echo System is in "Stripped Down" configuration,
if exist swap2.txt echo Windows may not be started in this mode.
if exist swap2.txt goto exit
echo System is in "Normal Windows" configuration.
Following the win /3 command is another command for SMARTDRV.SYS, smartdrv /c, this writes
all cached information from memory to the hard disk. We use this to insure that when Windows is
terminated, all its information is written to disk before we run any other tasks. The following
statements simply get the system back to the root directory, clear the screen, and remind me that
the system is presently configured for Windows operation. "Normal Windows" configuration is the
full-blown environment on our machine.
At this point memory is configured correctly, all required device drivers are loaded, and Windows
3.1 is up and running in 386 Enhanced Mode. The next task is critical to how WILDCAT!
performs in the Windows environment.
The PIF (Program Information) file.
When Windows is requested to run a non-Windows application such as WILDCAT!, Windows
needs some application specific information. This is stored in an application's PIF file. While a
PIF file is not absolutely required, (Windows supplies default PIF information), it is mandatory for
a communications program such as WILDCAT! in order for it to perform effectively. The PIF tells
Windows how the application will use resources, the mode in which the application runs, and
several other parameters critical to running WILDCAT! in the Windows environment. The
following discussion will cover each of these parameters in detail and describe their effect on
Windows and the environment Windows provides for non-Windows applications.
Since we are only discussing operations in the 386 Enhanced Mode we will not elaborate on the
differences between PIF settings for Standard Mode and Enhanced Mode.
We recommend that you create your own WILDCAT! PIF specific to your environment using the
Windows PIF editor. Mustang's BBS has available PIF's for running WILDCAT! under Windows
but wer'e not sure whether they would be appropriate or applicable to your specific environment.
Instead of using values that someone else developed from a different paradigm, we prefer doing
it the hard, but accurate, way. Remember, the PIF not only describes the WILDCAT! application
to Windows, it also can affect how, and even whether WILDCAT! runs at all.
Let's take the PIF fields one at a time, analyze what they do, and arrive at a correct value for
The first field is Program Filename, this should be wildcat.exe. The Window Title is the name
that Windows puts across the top of the window when the application is switched from full-screen
to windowed. (we suggest simply, "WILDCAT!".) (More on this later).
Optional Parameters are those that follow the invocation of the wildcat.exe program such as /B
2400 that can pass the callers baud rate to WILDCAT!. This has not been necessary for me. A
description of these parameters is in the WILDCAT! Sysop Guide in the section, TOMCAT and
Startup Directory specifies the directory you wish to be current when WILDCAT! starts. In our
environment WILDCAT! is located on the "d" drive in directory "wc30" so the Startup Parameter
in our PIF reads "d:\wc30".
Those were the easy parameters, now we get into the serious stuff.
The Video Memory options specify how WILDCAT! appears on the screen when it is started. The
options are Text, Low Graphics, and High Graphics. You should select the highest resolution
video mode that the application will run in. For WILDCAT! we specify Low Graphics.
Normally you should leave this set at 128. Windows will attempt to start WILDCAT! only if there is
at least 128k of free memory available. This does not limit how much memory WILDCAT!
receives. Windows gives WILDCAT! at least as much memory as specified by KB Required, plus
any available Expanded Memory up to the amount specified in the next parameter, the KB
This limits the amount of conventional memory WILDCAT! can get. A setting of -1,
recommended, gives WILDCAT! as much memory as possible up to the maximum of 640k. It is
important that the DOS partition running WILDCAT! be allocated as much memory as possible so
that shells to DOS for Doors, and TOMCAT, etc.. have enough memory to run.
Although Windows doesn't use Expanded Memory when running in 386 Enhanced Mode, it
simulated Expanded Memory for those applications that can use it such as WILDCAT! As noted
early in the WILDCAT! Sysop Guide, it is preferable to have WILDCAT! swap out of memory into
EMS/XMS/Disk rather than terminate when calling a Door program or TOMCAT. Allowing
WILDCAT! to swap-out to EMS will make your entire operation faster as the program code can
be restored very quickly. Another consideration is that swapping simplifies the operation of
WILDCAT! as opposed to terminating and restarting the program. A terminate and restart
process involves exiting the program, freeing up the resources, allocating them to another task
such as a Door or TOMCAT, and reloading and initiating WILDCAT! when the external program
is done. All this contributes significantly to the system overhead and slows the operation. Be sure
that you have specified in MAKEWILD that WILDCAT! will swap out during DOS shells and that
the data should be held in EMS, also specify that the overlay be held in EMS. Now, how to
specify EMS memory.
This should be set at 184 indicating to Windows that it should give WILDCAT! at least 184k of
Expanded Memory (EMS).
Instead of specifying -1 as we did with the conventional memory, here we wish to limit the
amount of EMS memory WILDCAT! can request. The value of 1024 allows WILDCAT! to have up
to 1024k or 1 meg of EMS memory. Some applications will take all the EMS available whether
they need it or not. We doubt that WILDCAT! is mis-behaved but we set the limit at 1024k just to
Since we have configured WILDCAT! to swap to EMS memory, a setting of 0 in both the KB
Required and KB Limit is appropriate. You should evaluate this for your environment. If you do
not have EMS memory configured and only have XMS then set the parameters for EMS above to
0 and use the values specified in this XMS entry instead. Make sure that the MAKEWILD swap
parameter specifies XMS not EMS or Disk.
This indicates whether you want WILDCAT! to start in a window or a full screen. We would
suggest that you start WILDCAT! in the full screen mode. You can always switch WILDCAT! to a
window by pressing ALT + ENTER thus allowing you to easily switch to other applications while
WILDCAT! is active. You also can reduce the clutter on your "Desktop" by clicking on the down
arrow in the upper right corner of the WILDCAT! window to reduce the window to an icon.
WILDCAT! will still be running and monitoring the modem but it is out of the way while you do
other things in the Windows environment. I'll talk about what happens while you're working with a
Windows application and a call comes in shortly.
There are two options, Background and Exclusive. Background specifies that WILDCAT! will
continue to run while you use another application. If you do not select this option, WILDCAT! will
be suspended if you switch to another application. Exclusive says that when WILDCAT! is the
active application, busy and doing work, all other applications are suspended, even if the other
applications have the Background option selected. Both these options should be selected for
WILDCAT! and since the Exclusive is selected, it is important that WILDCAT! be run in the Full
Screen mode. (See the parameter above). If you run an exclusive application in a window,
Windows reserves some resources for itself and for running Windows applications.
Close Window on Exit.
This should be checked for WILDCAT! The only reason for not closing an application's window
when it finishes is if it has displayed some information on the screen and you want a chance to
see it before the window is closed.
Now we get into the serious, and often confusing, section of the PIF. The Advanced Options for
386 Enhanced Mode. The first two options, Background Priority and Foreground Priority deserve
a much better explanation than we will present here. These options determine how WILDCAT!
runs in relationship to other applications. For our purposes we want to insure that when
WILDCAT! wants something it gets it. Anything less for a communications program would cause
chaos. WILDCAT!, is, as are all communications programs, interrupt driven. For instance,
WILDCAT! will want to become immediately active when a Ring condition is detected on the
We cannot suggest setting for these values because we do not know what you may have
specified for other applications in your system. In our environment we have specified 500 for
WILDCAT!'s Background Priority. An application is eligible to receive this priority only when its
Background check box is selected and any other application's Exclusive box is not selected. The
figure you specify is meaningful only when compared with other application's background and
foreground priorities. It refers to the amount of processor time the applications use.
Foreground Priority specifies how much processor time the application receives when it is the
active application. Since we want WILDCAT! to receive as much of the processor time as it
needs as setting of 10000 is appropriate. At this setting no background applications can run
unless this foreground application, WILDCAT!, is idle. Idle in WILDCAT! could mean no user is
logged on and the system is waiting, or a user is on and not performing active work such as
reading a screen of information, etc.. Again, the figure specified is meaningful only when
compared with other application's Background and Foreground priorities.
Detect Idle Time
This should be selected to allow Windows to give resources to other applications while
WILDCAT! is idle.
These options control how WILDCAT! uses the PC's available memory when running in 386
Enhanced Mode. The options are;
EMS Memory Locked
Checking this prevents WILDCAT!'s EMS memory from being swapped out to a hard disk.
Locking WILDCAT!'s EMS memory improves the performance of WILDCAT! at the expense of
slowing the rest of the system and reducing the amount of available memory but it is the best
choice from a performance standpoint.
XMS Memory Locked
If you do not have EMS memory or if you specified in MAKEWILD that WILDCAT! should swap
to XMS memory, then check this option. The same considerations apply to locked XMS memory
as to EMS memory.
Use High Memory Area
Normally this should be left selected for most applications. If the HMA is available and WILDCAT!
uses it, then more memory is available to WILDCAT!. If WILDCAT! does not use the HMA then
memory is not wasted.
Lock Application Memory
This option affects how WILDCAT!'s conventional memory is handled. The use of WILDCAT!'s
Expanded or Extended memory is controlled separately by the locked options in the EMS
Memory and XMS Memory section. We would suggest that you lock WILDCAT!'s conventional
memory to prevent swapping out to disk in the event of a Windows memory shortage situation.
These options control how WILDCAT! appears on the screen and how Windows handles memory
when it displays WILDCAT! Since WILDCAT! does not interact directly with input and output
ports you can leave these options at their default settings. Windows should not be set to monitor
any ports so none of these boxes should be checked.
Emulate Text Mode
For most applications, including WILDCAT! you can leave this check box selected. This will
increase the rate at which WILDCAT! can display text.
Retain Video Memory
This setting determines if Windows will release WILDCAT!'s extra video memory for use by other
applications. We suggest that it not be checked.
Forget Allow Fast Paste, you're not going to be pasting information into WILDCAT! from other
Windows applications, and definitely forget Allow Close When Active. Who would want to close
WILDCAT! when its busy working? There is also no need to Reserve Shortcut Keys.
This concludes the Windows PIF section, we hope we have explained the PIF parameters
affecting WILDCAT!'s operation without confusing anyone. If you have any questions at this point
we would have to refer you to the User's Guide for Windows 3.1.
What happens when a call comes in?
You've started WILDCAT!, its up and running, and you've iconized it and started a Windows
application. Maybe you're doing something like we're doing here, working with Word for Windows
preparing this document. Yes, while we're pounding on these keys WILDCAT! is ready to pounce
on the phone when it detects a ringing condition.
So what happens to your Windows application? Not much really. It does take a sharp drop in
performance, sometimes seeming to stand still. Its not really stopped altogether, but it's close.
We usually do a fast save of whatever we have going, exit the application, and restore
WILDCAT! to its full screen mode. This is not really necessary but if we're at the keyboard we like
to see who is logging on and how they are using our system.
Windows 3.1 operating in 386 Enhanced Mode should always have a permanent swap file
allocated. Our recommendation for the size of this file is to make a permanent swap file at least
the size of the real physical memory you have available. We have been challenged on this but
our system never runs out of memory, real or virtual, unless we do something stupid like keep
starting DOS partitions using real memory, until we can't start any more. See the User's Guide
for Windows for instructions on setting up a permanent swap file.
Don't put WILDCAT! into 43-line high resolution mode. Insure that WILDCAT! runs in full screen
80x25 mode. Remember, windowing WILDCAT! takes extra Windows resources. Since you have
DOS Share installed be carefull about working with files that WILDCAT! may need or is using
while operating. If you manage to get update access to a file that WILDCAT! requests, a sharing
violation will occur when WILDCAT! The violation message will be written to the WILDCAT! local
screen that you probably can't see because the program that has WILDCAT!'s file is probably in
full screen mode. If you switch away from the program that has the WILDCAT! file, Windows will
inform you that a sharing violation has occured. Meanwhile, WILDCAT! just sits and waits to get
We hope that this dissertation has clarified some important considerations for running WILDCAT!
in the Windows 3.1 environment. We are still working on the optimization of our system, a
seemingly never ending task considering our constant state of hardware and software evolution.
Changing DASD, memory, and major software requires that the environment be reevaluated and
optimized to insure optimal performance.
WILDCAT! does run under Windows 3.1 and it runs quite well. SEE FOR YOURSELF!!! CALL
We operate a totally FREE Bulletin Board system that currently has over 700 TrueType and over
700 Adobe PS Type-1 fonts available for downloading, along with a growing number of Windows
utilities and graphic image files. If you would like to log-on to our system to see for yourself how
WILDCAT! functions you may do so any evening, Monday through Friday from 10:00 pm until
7:00 am without obligation by dialing (813) 886-0988. Our modem is a V.32/bis, V.42/bis MNP
Hayes compatable at up to 14,400 bps, 8N1. Because of the file sizes and time limitations for
downloading we must ask that you limit your connect time to no more than one hour per day and
we cannot accept 300/1200 bps calls, sorry.
In preparing this disertation we have drawn on our experience with Windows since it was first
introduced. We have also tended to remain on the cautious side, especially with some of the
system parameters such as SHARE, etc. Our position is not to dictate to you how you should run
your system, but how we are running ours and what we have done that makes WILDCAT! so
successful for us.
If you have any questions or comments on this paper, anything you feel should be included, or
any other consideration for the operation of WILDCAT! in a multi-tasking or LAN environment we
would be pleased to hear from you. We can be reached at (813) 882-8693, (by voice or FAX). Or
on CompuServe, 71201,370.
Gerard E. Bernor
President and Senior Partner
BC Creative Services, Inc.
A Graphic Arts and Publishing Enterprise
9044 Bayou Dr.
Tampa, FL 33635-5925