Dec 092017
Layout of the DESQview PIF files, version 2.20+.
File PIF220.ZIP from The Programmer’s Corner in
Category Alternate Operating Systems
Layout of the DESQview PIF files, version 2.20+.
File Name File Size Zip Size Zip Type
PIF220.DOC 4208 1598 deflated
TPCREAD.ME 199 165 deflated

Download File PIF220.ZIP Here

Contents of the PIF220.DOC file

Appendix A: Program Information Files

Program Information Files (PIF) are used by DESQview when loading a
program to determine such things as how much memory the program needs,
what the default directory should be, and how well-behaved the program
is. They are usually created and modified by using the Add a Program
and Change a Program options from the Open Window menu. The resulting
file is given a name of the form xx-PIF.DVP where "xx" is the 2-key
combination used to invoke the program from the Open Window menu.
This Appendix describes the format of these Program Information Files.

The first 369 bytes of the PIF are the same as for Topview. They are:


0 2reserved
230program title (blank filled)
32 2maximum memory required in K-bytes
34 2minimum memory required in K-bytes
3664command to start program - zero terminated
100 1default drive in ASCII (A,B,etc.)
10164default directory name - zero terminated
16564program parameters - zero terminated
229 1initial screen mode (0-7)
230 1 # of text pages used by the application
231 1# of first interrupt vector to be saved
232 1# of last interrupt vector to be saved
233 1# rows in logical window buffer
234 1# columns in logical window buffer
235 1row # for initial window position
236 1column # for initial window position
237 2system memory size in K-bytes
23964shared program file name - zero terminated
30364shared program data - zero terminated
367 1control byte 1 - encoded as follows:
80H - Writes text directly to screen
40H - Foreground only
20H - Uses math coprocessor
10H - Accesses system keyboard buffer
01H - Swappable
368 1control byte 2 - encoded as follows:
40H - Uses command line parameters
20H - Swaps interrupt vectors

The next 13 bytes are optional. They represent extensions available
in all versions of DESQview.


369 2keys-to-use on Open Window menu ("DS" for DOS
Services for example)
371 2size of script buffer in bytes
373 2automatically PAUSE after this many tests for keyboard
input in one clock tick (normally 0)
375 1non-zero to disable automatic color mapping
376 1non-zero if application is swappable
377 3reserved - should be 0
380 1non-zero to automatically close application on exit
381 1non-zero if copy-protect disk is required

The next 34 bytes are optional. They represent extensions available
in DESQview version 2.00 and later.


382 1 reserved - .DVP format number encoded as follows:
00H = DESQview version 1.20 and later
01H = DESQview version 2.00 and later
02H = DESQview version 2.20 and later
383 1reserved - should be 0
384 1initial # rows in physical window
385 1initial # columns in physical window
386 2maximum expanded memory available to program
in K-bytes
388 1control byte 3 - encoded as follows:
80H = automatically assign position
20H = maximum memory value has been specified
10H = disallow Close command
08H = foreground-only when doing graphics
04H = don't virtualize
389 1keyboard conflict level (0-4, normally 0)
390 1# graphics pages used by program
391 2extra system memory size
393 1initial screen mode for program (normally 0FFH)

The next 3 bytes are optional. They represent extensions available
in DESQview version 2.20 and later.


394 1serial ports usage (normally 0FFH)
-1 = use all serial ports
0 = not using serial ports
1 = use COM1 only
2 = use COM2 only
395 1control byte 4 - encoded as follows (normally C3H)
80H = automatically close application on exit
if .COM or .EXE extension specified
40H = swappable if not using serial ports
08H = virtualize text - overrides previous value
04H = virtualize graphics - overrides previous value
02H = share CPU when foreground
01H = share EGA when foreground and zoomed
396 1 degree of protection

Note: For all control bytes, undefined bits should be set to zero for future

 December 9, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>