Category : Alternate Operating Systems - Quarterdeck DesqView, CP/M, etc
Archive   : QWHITE13.ZIP
Filename : MAKEXDVP.TEC

 
Output of file : MAKEXDVP.TEC contained in archive : QWHITE13.ZIP

ID:MX DESQview/X: Making a Program Information File (DVP)
Quarterdeck Technical Note #260 Filename: MAKEXDVP.TEC
by Quarterdeck Testing & Compatibility CompuServe: MKXDVP.ZIP
Last revised: 8/21/92 Category: DVX

Subject: Information for end-users and program developers on creating a
DESQview/X Program Information File (.DVP), with emphasis on
flexibility and portability.


This technote contains the instructions for making a .DVP (DESQview/X
Profile) file for Quarterdeck to distribute to the public. These instructions
are NOT the same as the instructions for creating .DVP files for your own
use although you may find good advice to that end included here.
Consult the "DVP Information" section of the "Using DVP Manager" chapter
(chapter 8) of the DESQview/X "User Guide" as a first source of guidance for
setting these parameters.

PROGRAM NAME
DESQview/X does not care what you put in this field. This selection
only affects the exact text appearing on the menu. Although it does not
need to be unique, use a unique, descriptive name. If you have multiple
DVPs for the same program, assign a unique name to each one (e.g., "WonderWord
(text)" and "WonderWord (WYSIWYG)"; or "WonderCalc (real mode)" and
"WonderCalc (protected mode)"). If you have multiple versions of the same
program put the version in the program name (e.g., "WonderCalc III"). If the
same DVP is appropriate for multiple versions of the same program, list all
version numbers (e.g., "WonderWord 3 & 4"). This field is 30 characters.

MEMORY SIZE
Make this field contain the MINIMUM amount of memory necessary to run
your program, plus 20. Discover this by a binary search (see below) until you
find the point at which a change of 1 will make the program fail, then add 20.
For a complicated program, exercise options that may use more memory (e.g.,
use "WonderWord"'s spell checker.) A program may run more slowly in this
amount of memory, but individual users may raise this number as they choose.
Too-large a number in this field will keep DESQview/X from loading a program
even when there is enough memory for it to run. This is a common mistake for
users to make. In addition to the extensive discussion in the DESQview/X
manual, see "MEMSIZE.TEC" and "OUTMEM.TEC" for further discussion of of
setting this field.
Binary Search: A binary search is the quickest method of finding an
unknown, but measurable, quantity. This is a somewhat modified binary search.
Start with "400" in "Memory size", if the program runs, decrease to "300"; if
the program does not run, increase to "500". Continue decreasing the number
in "Memory Size" by a hundred until you find the smallest multiple of a
hundred that works.
Once you have found the smallest multiple of a hundred that works,
decrease the number in "Memory size" by fifty. If this does not work, add
twenty-five; if it does, subtract twenty-five: You are now at "x25" or "x75".
Continue decreasing or increasing this number by halves (from "x25", go to
"x12" or "x37"; from "x75", go to "x87" or "x63"), until you find the smallest
amount of memory that will allow the program to run properly.

DOS COMMAND
This field holds the name of the executable program. In the case of .COM
and .EXE files, use the extensions UNLESS the program will not run unless DOS
loads it. DESQview/X loads a .EXE or .COM program directly when the extension
is on the line; when the extension is not on the line, DESQview/X loads a copy
of COMMAND.COM in the window and then lets DOS load the program. This imposes
an overhead of 3-5K (depending on the version of DOS). DOS must load batch
files, so use of the extension is irrelevant for batch files. For this
reason, use a .COM or .EXE file instead of a batch file whenever possible.
Usually you put only the name of the executable on this line, not a path
to it. When a program installs itself so that the executable is not in the
same directory as the directory that must be current when the executable
starts, use a relative path (e.g., WonderWord stores its executable
(Wonderword.com) in the "programs" subdirectory, and configuration file it
needs to read on start-up in the "config" directory, so that you CANNOT start
WonderWord in the directory in which the executable resides; in this case, put
"PROGRAMS\WONDERWORD.COM" in this field. There can be no spaces in this
field. This field is 64 characters long.
Any parameters that are necessary to run this program must be on this
line (unlike DESQview Classic).

DIRECTORY
Leave this field empty. The user will fill it in as appropriate for
his/her system. This field contains the directory that will be current when
the window is opened.

WRITES DIRECT TO SCREEN
This field instructs DESQview/X to treat the program as if it writes
directly to video memory, whether it does or not. To perform this test, set
this field off, set "Virtualize text" off, and put "15" in "Maximum Height".
Open the window; then, if the screen comes up blank, the program writes text
directly to screen and you must set this field on and set "Virtualize Text"
(see below) on. If the program writes to the full screen it is a DOS
graphics program; set this field on. Any graphics program, except X/Windows
programs, writes directly to screen. Set this field off unless on is
necessary.
It is possible that a program can be made to be TOPview or DESQview-
aware, and thus not need this field set on, if you instruct the program to run
in TOPview or DESQview compatibility mode. Although most programs with this
feature detect TOPview/DESQview automatically, some do not, and must be told.
Search for this option in the program's manual. It is also possible that the
program has an option of not writing directly to screen, which may be used in
lieu of setting this field on; the DVP author must search out such information
him or herself. For a further discussion of this matter see "DIRECTLY.TEC".
X/Windows programs write to the X display server, not directly to screen.

DISPLAYS GRAPHICS INFORMATION
This field instructs DESQview/X to save a graphics screen (except for
X/Windows programs) for this window when the window goes to background. For a
graphics program, other than a X/Windows program displays graphics, set this
field on. Set this field off for any X/Windows program. If you set this
field off, and the program displays graphics information (other than X/Windows
graphic information), when you switch this program back to the foreground,
DESQview/X will not restore its screen properly.

VIRTUALIZE TEXT
This field instructs DESQview/X to "virtualize" text. Set this field off
unless the program writes directly to screen. If a program writes text
directly to screen (see the test in that section above), set this field on.
For a further discussion of virtualization, see "VIRTUALI.TEC".

DISPLAY DOS WINDOW
X programs launch themselves from DOS windows, but display in another
window. Usually there is no need to display the DOS window from which an X
program is launched, so set this field off for X programs, and on for DOS
programs. If you set this field off for a DOS program, the window will not
display, even though it has loaded.

USE SCALABLE DOS FONTS
Set this off; the end user may decide to use scalable fonts.

USES ITS OWN COLORS
Set this field on for a color program, off for a black & white program.

USES SERIAL PORT 1
Set this field on if the program can use a serial port, and off if it
does not. If you have any doubt, set this field on. The end user may choose
to change this field. Setting this field off may cause a program that wishes
to use serial port 1 not to see it (but probably will not.)

USES SERIAL PORT 2
Set this field on if the program can use a serial port, and off if it
does not. If you have any doubt, set this field on. The end user may choose
to change this field. Setting this field off may cause a program that wishes
to use serial port 2 not to see it (but probably will not.)

USES MATH COPROCESSOR
Set this field on if the program can use a math coprocessor. It does not
matter if the machine does not have a math coprocessor.

ALLOW CLOSE WINDOW COMMAND
Set this field to "N" for programs that may malfunction when not exited
by their own means. Closing a window when a program is open is just like
turning your computer off when that program is open, possibly keeping the
program from updating all its files. Close the window by the close window
command on the program in question, see how it responds (check the files you
were editing, other files the program had open, etc., to see if they have been
updated/closed properly), then open the program again, and see if it
complains; Wordperfect, for one, will always ask if you have other sessions
open when you open it after closing the window on it. If it does, set this
field to "N". Traditionally, Quarterdeck has put an "N" in database programs
and a "Y" on most others, though Quarterdeck recommends always exiting a
program by its own means rather than closing the window on it.

CLOSE WINDOW ON EXIT
Start with this field set to "auto". When you quit the program, if its
window does not close (but leave you at a DOS prompt in the window), set it to
"Y". If the window closes automatically just after you open it (as may be
expected with some batch files and all TSRs), set this field to "N". Leave
this field at "auto" otherwise.

ADVANCED OPTIONS

SYSTEM MEMORY (IN K)
System memory is used by DESQview-Aware programs and by DESQview/X to
save fonts for a program that changes fonts by use of BIOS calls. To discover
if your font-changing program uses BIOS calls to change fonts, set this field
to "5", open this window, change the font in the window, switch to another
window, then back: if the font has not reverted to what it was before you
changed it, DESQview/X has successfully saved the font, and the program uses
BIOS calls to change fonts. For programs that change fonts by means of BIOS
calls set this field to "5". Set this field to "0" except for such programs
and for DESQview/X.

MAXIMUM PROGRAM MEMORY SIZE (IN K)
Leave this field blank. DESQview/X will allocate the amount of memory in
this field to the window, whether the program uses it or not; setting this
field high can waste memory. If an end user wants a program to take more
memory than the amount in "Memory Size", he or she may raise this number.
Then the window will open if as little memory as is specified in "Memory Size"
is available, and take up to the amount in this field. In addition to the
thorough discussion of this field in the manual, see "OUTMEM.TEC" and
"MEMSIZE.TEC".

MAXIMUM EXPANDED MEMORY SIZE (IN K)
Set this field to some number for any program that uses expanded memory.
Typical values for this field are "256" to "1024". Choose a conservative
value, in deference to users without a lot of RAM. If you leave a blank
number in this field, a program that grabs all expanded memory (or XMS or
VCPI) will take it all. This field represents a joint maximum on EMS and XMS.
In addition to the discussion in the manual, see "MEMSIZE.TEC" for more
discussion.

TEXT PAGES
If the program does not use graphics, there will be a "0" in this field
from the "N" in "Displays graphics information". If the program does use
graphics, put a "1" here, bring up a graphics image in the program, put the
window into background, then restore it. If the screen does not restore
properly, raise the number of "Graphics Pages" by one (up to eight) until it
does. If it never restores properly, the program is using a video mode
DESQview cannot restore (or you have run out of expanded memory) and leave a
"1" in this field. You waste memory by assigning more graphics pages than the
program uses, so don't do this.

GRAPHICS PAGES
If the program does not use graphics, or is an X/Windows program, there
will be a "0" in this field from the "N" in "Displays graphics information".
If the program does use graphics (other than X/Windows programs), put a "1"
here, bring up a graphics image in the program, put the window into
background, then restore it. If the screen does not restore properly, raise
the number of "Graphics Pages" by one (up to eight) until it does. If it
never restores properly, the program is using a video mode DESQview/X cannot
restore (or you have run out of expanded memory) and leave a "1" in this
field. You waste memory by assigning more graphics pages than the program
uses: do not do this.

WINDOW POSITION

MAXIMUM HEIGHT
Set this field to 25, unless the program runs in 50 line mode,
in which case you can set it to one of these numbers.

MAXIMUM WIDTH
Set this field to 80, except in the case of a program that have modes
of greater width.

STARTING HEIGHT
Leave this field blank unless the program does not start properly
unless this field has the same number as "Maximum Height". Any number
larger than 25 in this field will cause the window to come up in 50 line
mode.

STARTING WIDTH
Leave this field blank unless the program does not start properly
unless this field has the same number as "Maximum Width".

STARTING ROW
Leave this field blank, unless you put a number in "Starting
Height", in which case, set it to "0".

STARTING COLUMN
Leave this field blank, unless you put a number in "Starting Width",
in which case, set it to "0".

SHARED PROGRAM:

PATHNAME
Leave this field blank, unless you must load a shared program. In
addition to the manual, see "SHARED.TEC" for a discussion of shared
programs. This field is 64 characters long.


DATA
Leave this field blank, unless you load a shared program that needs
some information in this field. This field is 64 characters long.

SCRIPT NAME
This file contains the name of the script file used by the window.
DESQview/X gives script files a default name of the .DVP, changing the
extension to .DXS. Do not change this field.

WAIT FOR WINDOW TO OPEN
Set this field on unless the program does not open a window. When you
set this field off the keyboard and mouse focus stay in the current window and
the "Open" status box does not appear. This is appropriate only for a program
that does not take mouse or keyboard input, like the "BACKDROP" program which
just paints a backdrop on your display. Leaving it on for such a window does
not hamper its performance, just diverts the focus to it inappropriately.

PROTECTION LEVEL
Set this field to "0"; it is for diagnostic purposes only. See the
manual or "PROTECT.TEC" for a discussion.

KEYBOARD CONFLICT
Set this field to "0", then execute a DESQview/X script in the window, and
a DESQview/X transfer of a half-page of text. If this works properly, you do
not need a setting of "1". If the transfer or script does not work, change
the setting to "1" and try the same test again. Some programs will not allow
scripts or transfers to execute. If this is the case, leave a "0" here and
proceed. "1" and "2" are identical in DESQview/X.
DESQview/X has the DESQview Classic keyboard conflict settings of "4" and
"8" (with the exception of direct windows) built in already, so any setting
above "1" is the same as its mod 4 counterpart.
Direct windows ("Writes direct to screen" on, "Virtualize" off) do not
have "8" built in. If a program crashes, usually when the DESQview/X menu is
brought up over it, or, perhaps, when multitasking, it may need a setting of
"8" in this field. Problems solved by this setting may not be obviously
keyboard problems. This setting may make it possible for TSRs that are
invoked by a keystroke and loaded before DESQview/X to pop up in this window.
If you discovered that a setting of "1" was required in the previous test,
that value may be added to "8" to get a Keyboard Conflict behavior of "9" sum
of these settings.
See "KEYBCONF.TEC" for a more detailed explanation of this setting.

X KEYBOARD BEHAVIOR
This field is too complicated to explain. If you have trouble with
keyboard input, try raising this to "1", then "2", then "3". Leave at zero
otherwise.

APPENDIX: DESQVIEW.DIR
The auto-install feature of DESQview/X must search for a unique file to
determine whether a program is on a machine. Many program names are used by
more than one program (such as "Q.EXE"); unless DESQview/X can identify a unique
file as a marker for a specific program, DESQview/X cannot install it
automatically. DESQVIEW.DIR contains records that contain this unique file
name, associated with its program, for AUTOINST to search for, and install
automatically. When you submit a .DVP, please list a few names of possible
unique files to allow Quarterdeck to install this program automatically. Even
if Quarterdeck cannot include a unique file name, the program can be added to
DESQVIEW.DIR.

APPENDIX: How to obtain Technotes
You may obtain technotes from the Quarterdeck BBS (310-314-3227), by
calling QFAX (our automated FAX-back service, at 310-314-3214), on Compuserve
(go QUARTERDECK, library 2), or BIX. Many technotes are also available on
large local BBSs, often in "DESQview" or "multitasking" file areas.

Quarterdeck BBS QFAX# Compuserve BIX
--------------- ----- ---------- ---
PROTECT.TEC 120 PROTEC.TEC We do not
KEYBCONF.TEC 206 change the
OUTMEM.TEC 114 names of
MEMSIZE.TEC 129 technotes
WINSIZE.TEC 161 WINSIZ.TEC for BIX,
CHOOSDIR.TEC 217 but they
DIRECTLY.TEC 109 may be
VIRTUALI.TEC 229 VIRTIZ.TEC ZIPped.

************************************************************************
* Trademarks are property of their respective owners. *
*This technical note may be copied and distributed freely as long as it*
*is distributed in its entirety and it is not distributed for profit. *
* Copyright (C) 1992 by Quarterdeck Office Systems *
************************ E N D O F F I L E *************************