home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / m / makeadvp.tec < prev    next >
Text File  |  1993-03-21  |  20KB  |  363 lines

  1. ID:MD DESQview:  Making a PIF (or DVP)
  2. Quarterdeck Technical Bulletin #259
  3. by Quarterdeck Testing & Compatibility
  4. last revision:  21 August 1992
  5.  
  6.      This technote contains the instructions for making a .DVP (DESQview 
  7. Program Information File) file for Quarterdeck to distribute to the public.  
  8. These instructions are NOT the same as the instructions on creating a .DVP 
  9. file for your own use, although you may find the information contained herein 
  10. quite useful for that purpose.
  11.     Consult chapter 7, "Changing a Program's Information", of the DESQview
  12. manual as a first source of guidance for setting these parameters. 
  13.  
  14. PROGRAM NAME
  15.      DESQview does not care what you put in this field.  This selection only 
  16. affects the exact text appearing on the menu.  Duplicate names are allowed. 
  17. Use a unique, descriptive name.  If you have multiple DVPs for the same 
  18. program, assign each one a unique name (e.g., "WonderWord (text)" and 
  19. "WonderWord (WYSIWYG)"; or "WonderCalc (real mode)" and "WonderCalc (protected 
  20. mode)").  If you have multiple versions of the same program, put the version 
  21. in the program name ("WonderBase III").  If the same DVP is appropriate for 
  22. multiple versions of the same program list all version numbers (e.g., 
  23. "WonderWord 3 & 4").  This field is 30 characters long.
  24.  
  25. KEYS TO USE TO OPEN MENU
  26.      Use any two alphanumeric keys.  Choose a mnemonic keystroke combination.  
  27. Although you may assign a single key (DESQview allows this!).  DO NOT do this! 
  28. If you do, you cannot open an other window (through keystrokes) that has this 
  29. key as its first key.
  30.  
  31. MEMORY SIZE (IN K)
  32.      Make this field contain the MINIMUM amount of memory necessary to run 
  33. your program, plus 20.  Discover this by a binary search (see below) until you 
  34. find the point at which a change of 1 will make the program fail, then add 20. 
  35. For a complicated program be sure to try options that use more memory (e.g., 
  36. use WonderWord's spell checker.)  A program may run more slowly in this amount 
  37. of memory, but individual users may raise this number as they choose. Too-
  38. large a number in this field will keep DESQview from loading a program even 
  39. when there is enough memory for it to run.  This is a common mistake for users 
  40. to make.  In addition to the extensive discussion in the DESQview manual, see 
  41. "MEMSIZE.TEC" and "OUTMEM.TEC" for further discussion of of setting this 
  42. field.
  43.      Binary Search:  A binary search is the quickest method of finding an 
  44. unknown, but measurable, quantity.  This is a somewhat modified binary search. 
  45.  Start with "400" in "Memory size", if the program runs decrease to "300"; if 
  46. the program does not run increase to "500".  Continue decreasing the number in 
  47. "Memory Size" by a hundred until you find the smallest multiple of a hundred 
  48. that works.  
  49.      Once you have found the smallest multiple of a hundred that works, 
  50. decrease the number in "memory size" by fifty.  If this does not work, add 
  51. twenty-five; if it does, subtract twenty-five:  You are now at "x25" or "x75". 
  52.  Continue decreasing or increasing this number by halves (from "x25", go to 
  53. "x12" or "x37"; from "x75", go to "x87" or "x63"), until you find the smallest 
  54. amount of memory that will allow the program to run properly. 
  55.  
  56. PROGRAM
  57.      This field holds the name of the executable program.  In the case of .COM 
  58. and .EXE files, use the extensions UNLESS the program will not run unless DOS 
  59. loads it.  DESQview loads a .EXE or .COM program directly when you specify the 
  60. extension on this line; when you do not specify the extension is DESQview 
  61. loads a copy of COMMAND.COM in the window and then lets DOS load the program. 
  62. This imposes an overhead of 3-5K (depending on the version of DOS).  DOS must 
  63. load batch files, so use of the extension is irrelevant for batch files.  For 
  64. this reason, use a .COM or .EXE file instead of a batch file whenever 
  65. possible.
  66.      Usually put only the name of the executable on this line, not a path to 
  67. it or any parameters after it.  When a program installs itself so that the 
  68. executable is not in the same directory as the directory that the programs 
  69. wishes to be current when the executable starts, use a relative path (e.g., 
  70. WonderWord stores its executable (Wonderword.com) in the "programs" 
  71. subdirectory, and configuration file it needs to read on start-up in the 
  72. "config" directory, so that you CANNOT start WonderWord in the directory in 
  73. which the executable resides; in this case, put "PROGRAMS\WONDERWORD.COM" in 
  74. this field.  There can be no spaces in this field.  This field is 64 
  75. characters long.
  76.  
  77. PARAMETERS
  78.      This field holds the parameters you must pass to the executable when 
  79. loading (e.g. "/m" to run "WonderWord" in text mode; "/s" to run Microsoft's 
  80. "Windows" in Standard Mode.)  The technote "CHOOSDIR.TEC" highlights a special 
  81. use of the "?" in this field (do not use the "?" in any default DVP).  This 
  82. field is 64 characters long.
  83.  
  84. DIRECTORY
  85.      Leave this field empty.  The user will fill it in as appropriate for 
  86. his/her system.  This field contains the directory that will be current when 
  87. the window is opened.  This field is 64 characters long.
  88.  
  89. WRITES TEXT DIRECTLY TO SCREEN
  90.      This field instructs DESQview to treat the program as if it writes 
  91. directly to video memory, whether it does or not.  To perform these tests, set 
  92. "Virtualize text/graphics" to "N".  To determine whether a program needs this 
  93. field set to "Y", set it to "N", ZOOM the window down, then, if the program 
  94. writes outside its screen boundaries, set this to "Y".  Any graphics program 
  95. writes directly to screen.  Set this field to "N" unless "Y" is necessary.  It 
  96. is possible that a program can be made to be TOPview or DESQview-aware, and 
  97. thus not need this field set to "Y" if instructed to run in TOPview or 
  98. DESQview compatibility mode.  Although most programs with this feature detect 
  99. TOPview/DESQview automatically, some do not, and must be told.  Search for 
  100. this option in the program's manual.  It is also possible that the program has 
  101. an option of not writing directly to screen, which you may use instead of a 
  102. "Y" in this field; the DVP author must search out such information him or 
  103. herself.  For a further discussion of this matter, see "DIRECTLY.TEC".
  104.  
  105. DISPLAYS GRAPHICS INFORMATION
  106.      This field instructs DESQview to save a graphics screen for this window 
  107. when the window goes to background.  If a program displays graphics, put a "Y" 
  108. here.  If you put an "N" in this field, and the program displays graphics 
  109. information, when you switch this program back to the foreground, DESQview 
  110. will not restore its screen properly.
  111.  
  112. VIRTUALIZE TEXT/GRAPHICS
  113.      This field instructs DESQview to "virtualize" text or graphics.  Set this 
  114. field to "N" unless the program writes directly to screen.  If a program 
  115. writes directly to screen (see the test in that section above), set this field 
  116. to "T" or "Y".  Set it to "T" if the program writes only text directly to 
  117. screen, "Y" if it displays graphics.  You can discover whether "Y" is 
  118. necessary by setting this field to "T", ZOOMing the window down, and using the 
  119. program:  If it writes outside the boundaries of its window, put a "Y" in this 
  120. field.  For a further discussion of virtualization, see "VIRTUALI.TEC".
  121.      NOTE:  Some programs use graphics only for certain functions (e.g., 
  122. WonderCalc may display graphs while you use it principally to manipulate data 
  123. in a text mode) and display text the rest of the time.  In such a case, you 
  124. may wish to set this field to "T" and not bother virtualizing (which uses 
  125. memory and CPU time) the graphics functions of WonderCalc, as they are not 
  126. useful when the window is not full screen or running in background.
  127.  
  128. USES SERIAL PORTS
  129.      Set this field to "Y" if the program can use a serial port, and "N" if it 
  130. does not.  If you have any doubt, set this field to "Y".  The end user may 
  131. choose to put a "1" or "2" in this field.  Setting this field to "N" may cause 
  132. a program that wishes to use a serial port not to see it (but probably will 
  133. not.) 
  134.  
  135. REQUIRES FLOPPY DISKETTE
  136.      Set this field to "Y" only if the program prompts the user for a floppy 
  137. disk (usually a key disk as copy-protection scheme).  Mis-setting it does not 
  138. cause DESQview a problem, though.    
  139.  
  140. ADVANCED OPTIONS
  141.  
  142. SYSTEM MEMORY (IN K) 
  143.      System memory is used by DESQview-Aware programs and by DESQview to save 
  144. fonts for a program that changes fonts by use of BIOS calls.  To discover if 
  145. your font-changing program uses BIOS calls to change fonts, set this field to 
  146. "5", open this window, change the font in the window, switch to another 
  147. window, then back:  if the font has not reverted to what it was before you 
  148. changed it, DESQview has successfully saved the font, and the program uses 
  149. BIOS calls to change fonts.  For programs that change fonts by means of BIOS 
  150. calls set this field to "5".  Set this field to "0" except for such programs 
  151. and for DESQview.
  152.  
  153. MAXIMUM PROGRAM MEMORY SIZE (IN K)
  154.      Leave this field blank.  If not blank, DESQview will allocate the amount 
  155. of memory in this field to the window, whether the program uses it or not; 
  156. setting this field high can waste memory.  If an end user wants a program to 
  157. take more memory than the amount in "Memory Size", he or she may raise this 
  158. number; then the window will open if as little memory as is specified in 
  159. "Memory Size" is available, and take up to the amount in this field.  In 
  160. addition to the thorough discussion of this field in the manual, see 
  161. "OUTMEM.TEC" and "MEMSIZE.TEC".
  162.  
  163. SCRIPT BUFFER SIZE
  164.      Set this field to "1000" unless scripts CANNOT be used by this program, 
  165. in which case set it to "0".  Setting it to "0" will keep any scripts from 
  166. working in this window, and decrease DESQview's overhead for this window by 
  167. 1000 bytes.  The minimum non-zero size is 66 bytes.  Programs that REQUIRE a 
  168. keyboard conflict setting of "4" often cannot use DESQview scripts; programs 
  169. that do not get their keyboard input from the BIOS keyboard buffer will ignore 
  170. DESQview's scripts.  If the program CAN use scripts, you must set this number 
  171. to "1000".  If the end user desires, he/she may set it to "0", or increase it.
  172.  
  173. MAXIMUM EXPANDED MEMORY SIZE (IN K)
  174.      Set this field to some number for any program that uses expanded memory.  
  175. Typical values for this field are "256" to "1024".  Choose a conservative 
  176. value, in deference to users without a lot of RAM.  If you leave a blank 
  177. number in this field, a program that grabs all expanded memory (or XMS or 
  178. VCPI) will take it all.  This field represents a joint maximum on EMS and XMS. 
  179. In addition to the discussion in the manual, see "MEMSIZE.TEC" for more 
  180. discussion.
  181.  
  182. TEXT PAGES
  183.      Leave a "1" in this field.  Open the window, and bring up a high 
  184. resolution screen, put the window in background, then restore it.  If the 
  185. screen does not restore properly, raise "Text Pages" (up to 8) until it does.  
  186. You waste memory by assigning more text pages than the program uses:  do not 
  187. do this. 
  188.  
  189. GRAPHICS PAGES
  190.      If the program does not use graphics, there will be a "0" in this field 
  191. from the "N" in "Displays graphics information".  If the program does use 
  192. graphics, put a "1" here, bring up a graphics image in the program, put the 
  193. window into background, then restore it.  If the screen does not restore 
  194. properly, raise the number of "Graphics Pages" by one (up to eight) until it 
  195. does.  If it never restores properly, the program uses a video mode DESQview 
  196. cannot restore (or you have run out of expanded memory) and leave a "1" in 
  197. this field.  You waste memory by assigning more graphics pages than the 
  198. program uses:  do not do this.
  199.  
  200. INITIAL MODE
  201.      Leave this field blank.  The end user may change it as he or she needs.
  202.  
  203. INTERRUPTS
  204.      Leave "00" and "FF" in these fields.  Never change them.
  205.  
  206. WINDOW POSITION
  207.  
  208.      MAXIMUM HEIGHT
  209.           Set this field to 25, unless the program runs in 50 line mode, 
  210.      in which case you can set it to one of these numbers. 
  211.  
  212.      MAXIMUM WIDTH
  213.           Set this field to 80, except in the case of programs that have modes 
  214.      of greater width.
  215.  
  216.      STARTING HEIGHT
  217.           Leave this field blank unless the program does not start properly 
  218.      unless this field has the same number as "Maximum Height".  Programs 
  219.      without a cursor do not justify in a non-full-screen window, and graphics 
  220.      programs load more slowly in a non-full-screen window.  Using a number 
  221.      larger than 25 will force the window to open in 50 line mode.
  222.  
  223.      STARTING WIDTH
  224.           Leave this field blank unless the program does not start properly 
  225.      unless this field has the same number as "Maximum Width". 
  226.  
  227.      STARTING ROW
  228.           Leave this field blank, unless you put a number in "Starting 
  229.      Height", in which case, set it to "0".
  230.  
  231.      STARTING COLUMN
  232.           Leave this field blank, unless you put a number in "Starting Width", 
  233.      in which case, set it to "0". 
  234.  
  235. SHARED PROGRAM:
  236.  
  237.      PATHNAME
  238.           Leave this field blank, unless you must load a shared program.  In 
  239.      addition to the manual, see "SHARED.TEC" for a discussion of shared 
  240.      programs.  This field is 64 characters long.
  241.           
  242.      DATA
  243.           Leave this field blank, unless you load a shared program that needs 
  244.      some information in this field.   This field is 64 characters long.
  245.  
  246. CLOSE WINDOW ON EXIT
  247.      Start with this field blank.  When you quit the program, if its window 
  248. does not close (but leave you at a DOS prompt in the window), set it to "Y".  
  249. If the window closes automatically just after you open it (as may be expected 
  250. with some batch files and all TSRs), set this field to "N".  Leave this field 
  251. blank otherwise.
  252.  
  253. USES ITS OWN COLORS
  254.      Set this field to "N" for a monochrome program, and "Y" for a color 
  255. program.
  256.  
  257. ALLOW CLOSE WINDOW COMMAND 
  258.      Set this field to "N" for programs that may malfunction when not exited 
  259. by their own means.  Closing a window when a program is open is just like 
  260. turning your computer off when that program is open, possibly keeping the 
  261. program from updating all its files.  Close the window by the close window 
  262. command on the program in question, see how it responds (check the files you 
  263. were editing, other files the program had open, etc., to see if they have 
  264. been updated/closed properly), then open the program again, and see if it 
  265. complains; Wordperfect, for one, will always ask if you have other sessions 
  266. open when you open it after closing the window on it.  If it does, set this 
  267. field to "N".  Traditionally, Quarterdeck has put an "N" in database programs 
  268. and a "Y" on most others, though Quarterdeck recommends always closing a 
  269. program by its own means rather than closing the window on it.
  270.  
  271. RUNS IN BACKGROUND
  272.      Leave this field blank unless the program is one which must always run in 
  273. background, such as a communications program.  DESQview decides whether a 
  274. program runs in background on the basis of the entries in the "Writes text 
  275. directly to screen" and "Virtualize text/graphics".  DESQview suspends the 
  276. operation of any "Writes text directly" window that is not being virtualized 
  277. unless this field is set to "Y".  Leave the setting of "N" to the end user. 
  278.  
  279. USES MATH COPROCESSOR
  280.      Set this field to "Y" if the program can use a math coprocessor.  It does 
  281. not matter if the machine does not have a math coprocessor.
  282.  
  283. KEYBOARD CONFLICT
  284.      Set this field to "0".  Then execute a DESQview script in the window, and 
  285. a DESQview transfer of a half-page of text.  If this works properly, you do 
  286. not need a setting of "1" or "2".  If the transfer or script does not work, 
  287. change the setting to "1" and try the same test again.  If this does not work, 
  288. set this field to "2" and try again.  Some programs will not allow scripts or 
  289. transfers to execute.  If this is the case, leave a "0" here and proceed.  
  290.       Multitask with this window open, and see if it steals keystrokes from 
  291. the foreground window when it is in the background.  If it does, set this 
  292. field to "4".  If the program continues to steal keystrokes from the 
  293. foreground window when it is in the background, set "Maintains Separate Shift 
  294. States" to "Y" in DESQview Setup, Advanced Features, Keyboard, and keep the 
  295. "4" in keyboard conflict.  If you found that you needed a setting of "1" or 
  296. "2" in the previous test for scripts or transfers to execute properly, add 
  297. this to the "4" you found here and use "5" or "6", respectively.
  298.      If a program crashes, usually when the DESQview menu is brought up over 
  299. it, or, perhaps, when multitasking, it may need a setting of "8" in this 
  300. field.  Problems solved by this setting may not be obviously keyboard 
  301. problems.  This setting may make it possible for TSRs that are invoked by a 
  302. keystroke and loaded before DESQview to pop up in this window.  If you 
  303. discovered that a setting of "1" or "2" (or "4", "5", or "6") was required in 
  304. the previous tests, that value may be added to "8" to get a Keyboard Conflict 
  305. behavior of the sum of these settings.  This field is hexadecimal, so "8" + 
  306. "6" = "E", "8" + "4" = "C", "8" + "2" = "A", etc.
  307.      See "KEYBCONF.TEC" for a more detailed explanation of this setting.
  308.  
  309. SHARE CPU WHEN FOREGROUND
  310.      Set this to "Y".  The end user may change it to "N".
  311.      
  312. SHARE EGA WHEN FOREGROUND/ZOOMED
  313.      This is meaningful only on EGA systems.  Set it to "Y"; the end user may 
  314. set it to "N". 
  315.  
  316. CAN BE SWAPPED OUT
  317.      Set this field to "N" for a communications program and terminal emulation 
  318. programs that cannot be swapped out and for any VCPI program.  Communications 
  319. and terminal emulation programs that require that "Uses serial ports" be set 
  320. to "N" must have an "N" in this field.  Otherwise, leave it blank, and 
  321. DESQview will decide on the basis of entries in other fields when this window, 
  322. if ever, gets swapped out.  The end user may change it to "Y".  
  323.  
  324. PROTECTION LEVEL
  325.      Set this field to "0"; it is for diagnostic purposes only.  See the 
  326. manual or "PROTECT.TEC" for a discussion.
  327.  
  328. APPENDIX:  DESQVIEW.DIR
  329.      The auto-install feature of DESQview must search for a unique file to 
  330. determine whether a program is on a machine.  Many program names are used by 
  331. more than one program (such as "Q.EXE"); unless DESQview can identify a unique 
  332. file as a marker for a specific program, DESQview cannot install it 
  333. automatically.  DESQVIEW.DIR contains records that contain this unique file 
  334. name, associated with its program, for AUTOINST to search for, and install 
  335. automatically.   When you submit a .DVP, please list a few names of possible 
  336. unique files to allow Quarterdeck to install this program automatically.  Even 
  337. if Quarterdeck cannot include a unique file name, the program can be added to 
  338. DESQVIEW.DIR.
  339.  
  340. APPENDIX:  How to obtain Technotes
  341.      You may obtain technotes from the Quarterdeck BBS (310-314-3227), by 
  342. calling QFAX (our automated FAX-back service, at 310-314-3214), on Compuserve 
  343. (go QUARTERDECK, library 2), or BIX.  Many technotes are also available on 
  344. large local BBSs, often in "DESQview" or "multitasking" file areas.
  345.  
  346. Quarterdeck BBS     QFAX#     Compuserve     BIX
  347. ---------------     -----     ----------     ---
  348. PROTECT.TEC         120       PROTEC.TEC     We do not
  349. KEYBCONF.TEC        206                      change the
  350. OUTMEM.TEC          114                      names of
  351. MEMSIZE.TEC         129                      technotes
  352. WINSIZE.TEC         161       WINSIZ.TEC     for BIX,
  353. CHOOSDIR.TEC        217                      but they 
  354. DIRECTLY.TEC        109                      may be
  355. VIRTUALI.TEC        229       VIRTIZ.TEC     ZIPped.
  356.  
  357.   ************************************************************************
  358.   *          Trademarks are property of their respective owners.         *
  359.   *This technical note may be copied and distributed freely as long as it*
  360.   *is distributed in its entirety and it is not distributed for profit.  *
  361.   *          Copyright (C) 1992 by Quarterdeck Office Systems            *
  362.   ************************ E N D   O F   F I L E *************************
  363.