home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / progm / propak3.zip / PROPAK.DOC < prev   
Text File  |  1990-11-30  |  382KB  |  8,788 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                            T H E   P R O G R A M M E R ' S
  7.                           ---------------------------------
  8.  
  9.  
  10.                           P R O D U C T I V I T Y    P A C K
  11.                          ------------------------------------
  12.  
  13.  
  14.  
  15.  
  16.                                      Version 2.60
  17.                                     --------------
  18.  
  19.  
  20.  
  21.                                U S E R ' S    G U I D E
  22.                               --------------------------
  23.  
  24.  
  25.  
  26.  
  27.                   Copyright (c) 1988,1989,1990 by Falk Data Systems.
  28.                                  All Rights Reserved.
  29.  
  30.  
  31.  
  32.                             Last updated:  November, 1990
  33.  
  34.  
  35.  
  36.                                   Falk Data Systems
  37.                                  5322 Rockwood Court
  38.                               El Paso, Texas  79932-2412
  39.                                         U.S.A.
  40.  
  41.  
  42.  
  43.                                 Phone:  (915) 584-7670
  44.                                 CompuServe: 71420,2431
  45.  
  46.  
  47.  
  48.                                  _______            
  49.                             ____|__     |                (R)
  50.                          --|       |    |-------------------
  51.                            |   ____|__  |  Association of  
  52.                            |  |       |_|  Shareware       
  53.                            |__|   o   |    Professionals   
  54.                          -----|   |   |---------------------
  55.                               |___|___|    MEMBER       
  56.  
  57.  
  58.                                   ---  CONTENTS  ---
  59.  
  60.  
  61.           General Information ........................................... 1
  62.  
  63.             The Programmer's Productivity Pack (ProPak) ................. 1
  64.             License ..................................................... 1
  65.             Warranty .................................................... 1
  66.             Registration ................................................ 1
  67.             Technical Support ........................................... 1
  68.             ASP Ombudsman Statement ..................................... 2
  69.             Obtaining Updates ........................................... 3
  70.             Trademarks Mentioned ........................................ 4
  71.  
  72.           Introduction .................................................. 5
  73.             What is ProPak? ............................................. 5
  74.             System Requirements ......................................... 6
  75.             Memory Requirements ......................................... 7
  76.             How To Use This Manual ...................................... 8
  77.  
  78.           How to Install ProPak ........................................ 10
  79.             Which Files Do I Need? ..................................... 10
  80.             Installing On A Hard Disk System ........................... 11
  81.             Installing On A Floppy Disk System ......................... 11
  82.             Setting ProPak For Your Monitor ............................ 12
  83.             The 80 Column Text Mode .................................... 13
  84.             The Modifier Keys .......................................... 13
  85.             ProPak and Your Keyboard ................................... 14
  86.             The ASCII Poster ........................................... 15
  87.  
  88.           How To Load And Unload ProPak ................................ 16
  89.             Loading ProPak ............................................. 16
  90.               Bypassing the Opening Screen ............................. 18
  91.               Renaming PROPAK.EXE ...................................... 18
  92.             Using ProSwap .............................................. 19
  93.               Loading ProSwap .......................................... 19
  94.               ProSwap Command Line Options ............................. 21
  95.               ProSwap as a Stand-Alone Program ......................... 25
  96.               Renaming PROSWAP.EXE ..................................... 26
  97.             Unloading ProPak or ProSwap ................................ 26
  98.             Sidekick Considerations .................................... 26
  99.             The DOS PRINT Program ...................................... 28
  100.             In Case of Conflicts With Other Memory-Resident Programs ... 28
  101.             ProPak and Batch Files ..................................... 29
  102.             ProPak Error Messages ...................................... 30
  103.               Beeps and Doesn't Pop Up ................................. 30
  104.               Doesn't Beep or Pop Up ................................... 31
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.           Table of Contents                                               i
  115.  
  116.  
  117.                                   ---  CONTENTS  ---
  118.  
  119.  
  120.           The Programmer's Calculator and Attachments .................. 33
  121.  
  122.           The Programmer's Calculator .................................. 33
  123.             The Quick Start Tutorial ................................... 33
  124.             The In-Depth Reference Guide ............................... 40
  125.               The Range Of Values Available ............................ 40
  126.               The Programmer's Calculator Display ...................... 41
  127.               The Quick Reference Menu ................................. 42
  128.               Signed And Unsigned Modes ................................ 42
  129.               The Four Numeric Formats ................................. 42
  130.               The Calculator Commands .................................. 43
  131.               The Mathematical Operations .............................. 47
  132.               Logical and Bit Manipulation Operations .................. 49
  133.               Moving The Calculator's Display .......................... 51
  134.               Going To The Attachments ................................. 52
  135.  
  136.           The ASCII and Color Attribute Chart .......................... 53
  137.             The Quick Start Tutorial ................................... 53
  138.             The In-Depth Reference Guide ............................... 55
  139.               25, 43, And 50 Line Screens .............................. 55
  140.               The Columns On The Chart ................................. 55
  141.               The Extended Characters .................................. 56
  142.               Moving Around The Chart .................................. 56
  143.               Other Available Commands ................................. 57
  144.               Returning to the Calculator .............................. 57
  145.  
  146.           The Keystroke Reference Center ............................... 58
  147.             The Quick Start Tutorial ................................... 58
  148.             The In-Depth Reference Guide ............................... 61
  149.               How To Access The Keystroke Reference Center ............. 62
  150.               The Display .............................................. 62
  151.               Scan Codes and INKEY() Values ............................ 63
  152.               Portability Notes ........................................ 64
  153.               Moving the Display ....................................... 64
  154.               Other Available Commands ................................. 65
  155.  
  156.           Park Disk(s) and Blank Screen ................................ 66
  157.             The In-Depth Reference Guide ............................... 66
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.           Table of Contents                                              ii
  174.  
  175.  
  176.                                   ---  CONTENTS  ---
  177.  
  178.  
  179.           The Control Center ........................................... 68
  180.             Quick Start Tutorial #1 .................................... 68
  181.             Quick Start Tutorial #2 .................................... 72
  182.             In-Depth Reference Guide ................................... 76
  183.               How To Access The Control Center ......................... 76
  184.               The Control Center ....................................... 76
  185.               Modify Options ........................................... 77
  186.               List Key Recordings ...................................... 77
  187.               Write Keys to File ....................................... 78
  188.               Read Keys From File ...................................... 78
  189.               Delete Key Recordings .................................... 79
  190.               Copy Screen To File ...................................... 79
  191.               Print Facility ..........................................  80
  192.               Get Status Info .........................................  80
  193.               Unload From Memory ......................................  81
  194.  
  195.           The Modify Options Feature ................................... 83
  196.             In-Depth Reference Guide ................................... 83
  197.               The Modify Current Settings Submenu ...................... 83
  198.  
  199.           Keystroke Recording and Playback ............................. 89
  200.             In-Depth Reference Guide ................................... 89
  201.               How to Start Recording Keystrokes ........................ 89
  202.               Important note! .......................................... 90
  203.               How to Stop Recording Keystrokes ......................... 90
  204.               How To Play Back a Keystroke Recording ................... 90
  205.               Setting The Playback Speed ............................... 91
  206.               The Screen Grabber ....................................... 91
  207.               List Key Recordings ...................................... 91
  208.               Write Keys To File ....................................... 91
  209.               Read Keys From File ...................................... 92
  210.               Delete Key Recordings .................................... 92
  211.               Get Status Info .......................................... 92
  212.               Keystroke Recording TIPS: ................................ 92
  213.             The Screen Grabber Feature ................................. 93
  214.               To Move The Grab Box ..................................... 93
  215.               To Change The Size Of The Grab Box ....................... 94
  216.               How To Use The Grab Box .................................. 94
  217.               End-of-Line Characters ................................... 95
  218.  
  219.           The Screen Capture Facility .................................. 96
  220.             In-Depth Reference Guide ................................... 96
  221.  
  222.           The Print Facility ........................................... 98
  223.             In-Depth Reference Guide ................................... 98
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.           Table of Contents                                             iii
  233.  
  234.  
  235.                                   ---  CONTENTS  ---
  236.  
  237.  
  238.           PCustom: The Customizing Program ............................ 100
  239.             The Quick Start Tutorial .................................. 100
  240.             The In-Depth Reference Guide .............................. 102
  241.               Starting PCustom ........................................ 102
  242.               Selecting Which Versions To Modify ...................... 102
  243.               How PCustom Works ....................................... 103
  244.               The PCustom Menus ....................................... 104
  245.               The Main Menu ........................................... 104
  246.                 The Colors Menu ....................................... 104
  247.                 The Hot Keys Menu ..................................... 111
  248.                 The Sound Effects Menu ................................ 113
  249.                 The Advanced Options Menu ............................. 114
  250.                 The Exit PCustom Menu ................................. 121
  251.  
  252.           Miscellaneous Information ................................... 123
  253.             EXE Compression Utilities ................................. 123
  254.             Change History ............................................ 123
  255.  
  256.           Appendix A
  257.             The Bits and the Bytes. ................................... 124
  258.  
  259.           Appendix B
  260.             Understanding Two's Complement Numbers .................... 133
  261.  
  262.           Appendix C
  263.             For Those New to MS-DOS: .................................. 135
  264.  
  265.           Appendix D
  266.             Background Information .................................... 136
  267.  
  268.           Appendix E
  269.             Sources for Additional Information ........................ 137
  270.  
  271.           Appendix F
  272.             What is Falk Data Systems? ................................ 138
  273.             Other Products From Falk Data Systems ..................... 138
  274.  
  275.           Index ....................................................... 139
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.           Table of Contents                                              iv
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.                                        Figures
  302.  
  303.  
  304.           Figure  1: Opening Screen ...................................  16
  305.           Figure  2: Programmer's Calculator Display ..................  41
  306.           Figure  3: The Quick Reference Menu .........................  42
  307.           Figure  4: Decimal Box Display ..............................  48
  308.           Figure  5: ASCII Chart Display ..............................  55
  309.           Figure  6: Keystroke Reference Center Display ...............  63
  310.           Figure  7: Control Center Menu ..............................  76
  311.           Figure  8: Modify Current Settings Submenu ..................  83
  312.           Figure  9: PCustom Main Menu ................................ 104
  313.           Figure 10: PCustom Colors Menu .............................. 104
  314.           Figure 11: Custom Colors Submenu ............................ 106
  315.           Figure 12: Calculator Sub-Submenu ........................... 107
  316.           Figure 13: Customize Hot Keys Submenu ....................... 112
  317.           Figure 14: Hot Keys Submenu ................................. 112
  318.           Figure 15: Sound Effects Submenu ............................ 113
  319.           Figure 16: Advanced Options Submenu ......................... 114
  320.           Figure 17: Miscellaneous Sub-Submenu ........................ 119
  321.           Figure 18: Exit PCustom Submenu ............................. 121
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.           Table of Contents                                               v
  350.  
  351.  
  352.                        - Programmer's Productivity Pack 2.60 -
  353.  
  354.  
  355.                                 ---------------------
  356.                                  General Information
  357.                                 ---------------------
  358.  
  359.  
  360.           The Programmer's Productivity Pack (ProPak):
  361.           ============================================
  362.  
  363.           "The Programmer's Productivity Pack" is a very long title!  To
  364.           help keep things brief we will often refer to the Programmer's
  365.           Productivity Pack as "ProPak".  When we use the word "ProPak" as
  366.           a shortened form of "Programmer's Productivity Pack" we are
  367.           referring to the entire package and all the programs in the
  368.           package (including ProPak, ProSwap, and PCustom).
  369.  
  370.  
  371.           License:
  372.           ========
  373.  
  374.           The Programmer's Productivity Pack is NOT a public domain
  375.           program.  It is Copyright (c) 1988, 1989,1990 by Falk Data
  376.           Systems.
  377.  
  378.           Please refer to the LICENSE.DOC text file for important license
  379.           information.
  380.  
  381.  
  382.           Warranty:
  383.           =========
  384.  
  385.           Please refer to the WARRANTY.DOC text file for important warranty
  386.           information.
  387.  
  388.  
  389.           Registration:
  390.           =============
  391.  
  392.           Please refer to the REGISTER.DOC text file for complete
  393.           registration information.
  394.  
  395.  
  396.           Technical Support:
  397.           ==================
  398.  
  399.           Free technical support is available to all registered users of
  400.           the Programmer's Productivity Pack.
  401.  
  402.           If you are a registered user and have a question, problem, or
  403.           need help in any way, please feel free to contact us for
  404.           technical support.  We are here to help you.  Falk Data Systems
  405.           wants its customers to be happy with our products.  We will do
  406.  
  407.  
  408.           General Information                                      1 of 143
  409.  
  410.  
  411.                        - Programmer's Productivity Pack 2.60 -
  412.  
  413.  
  414.           our best to help you get the most out of the Programmer's
  415.           Productivity Pack.
  416.  
  417.           If you are not yet a registered user, please read the
  418.           REGISTER.DOC text file for complete registration information and
  419.           an impressive list of benefits for registered users.
  420.  
  421.           Most technical support questions are answered in the ProPak
  422.           User's Guide (this document).  So before contacting us for
  423.           technical support, please try to find the answer to your question
  424.           in the User's Guide.  Please check the ANSWERS.DOC text file for
  425.           the answers to the most commonly asked questions regarding
  426.           ProPak.  If you are unable to find the information you need, then
  427.           please feel free to contact us.  Perhaps you've come across
  428.           something that should be included in the User's Guide in the
  429.           future.
  430.  
  431.           The best way to obtain technical support is through CompuServe.
  432.           You may send CompuServe Mail messages to us on CompuServe
  433.           [71420,2431].  We check our messages every working day, and
  434.           frequently on weekends too.  If you are not a CompuServe
  435.           subscriber be sure to check the appropriate box on your
  436.           registration form and we will provide you with a free CompuServe
  437.           Introductory Membership and a $15.00 usage credit.
  438.  
  439.           You may also obtain technical support by writing or calling Falk
  440.           Data Systems.  Or you may call our technical support line at
  441.           (915) 584-7670.  Our hours are 9:00 am to 5:00 pm, Mountain time,
  442.           Monday through Friday.
  443.  
  444.           Please refer to page 138 for our address and other phone numbers.
  445.  
  446.  
  447.           ASP Ombudsman Statement:
  448.           ========================
  449.  
  450.           Falk Data Systems is a member of the Association of Shareware
  451.           Professionals (ASP).  ASP wants to make sure that the shareware
  452.           principle works for you.  If you are unable to resolve a
  453.           shareware-related problem with an ASP member by contacting the
  454.           member directly, ASP may be able to help.  The ASP Ombudsman can
  455.           help you resolve a dispute or problem with an ASP member, but
  456.           does not provide technical support for members' products.  Please
  457.           write to the ASP Ombudsman at P.O. Box 5786, Bellevue, WA 98006
  458.           or send a CompuServe message via easyplex to ASP Ombudsman
  459.           70007,3536.
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.           General Information                                      2 of 143
  468.  
  469.  
  470.                        - Programmer's Productivity Pack 2.60 -
  471.  
  472.  
  473.           Obtaining Updates:
  474.           ==================
  475.  
  476.           Distributing a new version of a shareware product can be more
  477.           expensive than most people realize.  Hundreds of disks must be
  478.           sent to shareware distributors, computer user groups, clubs and
  479.           organizations, magazine editors, and more.  This is in addition
  480.           to sending copies to any registered users who are entitled to the
  481.           new version.  The process is costly not only in postage, but also
  482.           in time and energy.  Therefore, we don't always send out updates
  483.           and modifications to all the usual channels.  This is one of the
  484.           reasons registered users are often able to acquire updates and
  485.           new versions long before non-registered users.
  486.  
  487.           Another reason why registered users are often able to receive
  488.           updates months before non-registered users is because of the lead
  489.           time involved in updating the catalogs of the disk vendors.  Most
  490.           disk vendors update their catalogs every 1-3 months (depending
  491.           upon the frequency of catalog releases).  This means that even
  492.           after a vendor receives an update it may be several months before
  493.           you find out about it.  If you happen to miss a catalog issue or
  494.           overlook an update notice then it could take even longer for you
  495.           to find out about an update.
  496.  
  497.           When we release a new version it is sent FIRST to all registered
  498.           users who are entitled to the new version.  Their copy goes in
  499.           the mail even before copies to magazine editors and columnists.
  500.           Some versions are sent ONLY to registered users and NOT to anyone
  501.           else.
  502.  
  503.           Unless you are a registered user, you have no reliable way of
  504.           knowing whether you have the most current version or an older,
  505.           less capable version.  This clearly shows yet another benefit to
  506.           becoming a registered user.
  507.  
  508.           When you become a registered user of ProPak, we will send you the
  509.           most current version on disk in a sealed envelope along with a
  510.           printed User's Guide*.
  511.  
  512.           Registered users also receive free notification of all future
  513.           updates and the opportunity to receive them automatically, at a
  514.           substantially reduced cost.  Please refer to the REGISTER.DOC
  515.           text file for complete details.
  516.  
  517.              * Note:  We are gradually moving towards using recycled paper
  518.              exclusively.  At some point all our printed User's Guides may
  519.              also be printed on recycled paper.
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.           General Information                                      3 of 143
  527.  
  528.  
  529.                        - Programmer's Productivity Pack 2.60 -
  530.  
  531.  
  532.           Trademarks Mentioned:
  533.           =====================
  534.  
  535.           Falk Data Systems, ProPak, and the Programmer's Productivity Pack
  536.           are trademarks of Falk Data Systems.
  537.  
  538.           BRIEF is a trademark of UnderWare, Inc.
  539.  
  540.           CompuServe is a trademark of CompuServe Incorporated.
  541.  
  542.           dBASE is a trademark of Ashton-Tate, Inc.
  543.  
  544.           DESQview is a trademark of Quarterdeck Office Systems.
  545.  
  546.           Hercules is a registered trademark of Hercules
  547.           Computer Technology, Inc.
  548.  
  549.           IBM, PC-DOS, PC/XT/AT and PS/2 are registered trademarks of
  550.           International Business Machines Corporation.
  551.  
  552.           Microsoft and MS-DOS are trademarks or registered trademarks of
  553.           Microsoft Corporation.
  554.  
  555.           OPTASM is a registered trademark of SLR Systems.
  556.  
  557.           TaskView and OmniView are trademarks of Sunny Hill Software.
  558.  
  559.           Periscope is a trademark of The Periscope Company.
  560.  
  561.           Solution Systems is a trademark of the Software
  562.           Developer's Corporation.
  563.  
  564.           Turbo Professional is a registered trademark of Sunny
  565.           Hill Software, used under license to TurboPower
  566.           Software.
  567.  
  568.           TurboPower Software is a trademark of TurboPower Software.
  569.  
  570.           Turbo Pascal, Turbo Assembler, Turbo Debugger, Sidekick and
  571.           SideKick Plus are registered trademarks of Borland International.
  572.  
  573.           WordStar is a registered trademark of MicroPro International
  574.           Corporation.
  575.  
  576.           Some of the trademarks of other companies mentioned in this
  577.           user's guide appear for identification purposes only.
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.           General Information                                      4 of 143
  586.  
  587.  
  588.                        - Programmer's Productivity Pack 2.60 -
  589.  
  590.  
  591.                                     --------------
  592.                                      Introduction
  593.                                     --------------
  594.  
  595.  
  596.           What is ProPak?
  597.           ===============
  598.  
  599.           The Programmer's Productivity Pack, ProPak, is a software package
  600.           designed to provide the utilities and reference tools most
  601.           frequently needed by programmers.  What's more, each individual
  602.           tool or "attachment" within the ProPak package was designed to be
  603.           the best, most powerful, most flexible, and easiest to use in its
  604.           category.
  605.  
  606.           For instance, The Programmer's Calculator, which is only one of
  607.           the tools built into ProPak, is the best Programmer's Calculator
  608.           on the market, bar none!  Integrating all of these tools into one
  609.           program and placing them at your disposal at one time will make
  610.           the time you spend programming more productive than ever.
  611.  
  612.           ProPak provides you with:
  613.           ~~~~~~~~~~~~~~~~~~~~~~~~~
  614.  
  615.               o  A Programmer's Calculator that works simultaneously in
  616.                  decimal, binary, hexadecimal, and octal.
  617.  
  618.               o  Addition, subtraction, multiplication, integer division,
  619.                  and modulus mathematical functions.
  620.  
  621.               o  SHL, SHR, ROL, ROR, SAL, SAR, RCL, RCR bit manipulation
  622.                  functions.
  623.  
  624.               o  AND, NOT, OR, and XOR logical functions.
  625.  
  626.               o  Exchange word and exchange double word functions.
  627.  
  628.               o  An ASCII and color attribute chart.
  629.  
  630.               o  A keystroke reference utility that returns both the BIOS
  631.                  scan codes and the dBASE INKEY() values.
  632.  
  633.               o  Keystroke Recording and Playback which handles up to 100
  634.                  Keystroke Recordings of 1,000 keystrokes each.
  635.  
  636.               o  A Screen Grabber utility to grab text off the screen and
  637.                  play it back like a Keystroke Recording.
  638.  
  639.               o  A Screen Capture facility which provides filtering for
  640.                  screen or printer.
  641.  
  642.  
  643.  
  644.           Introduction                                             5 of 143
  645.  
  646.  
  647.                        - Programmer's Productivity Pack 2.60 -
  648.  
  649.  
  650.               o  Access to the DOS background PRINT facility.
  651.  
  652.               o  A screen blanking facility that will park your hard disk
  653.                  (or disks) while the screen is blanked.
  654.  
  655.               o  A pop-up DOS shell capability which enables you to shell
  656.                  to DOS from any program, with as much as 600K bytes of
  657.                  memory available in the DOS shell.
  658.  
  659.               o  Complete control of all the Hot Keys, colors, sound
  660.                  effects, file extensions, memory usage, and more, through
  661.                  PCustom, the customizing program.
  662.  
  663.           All this and more.  All in one smoothly integrated package.  The
  664.           Programmer's Productivity Pack includes tools which can run
  665.           stand-alone, memory-resident (even with Sidekick), memory-
  666.           resident with swapping, or as a background task in a multitasking
  667.           environment.  And since ProPak provides you with the ability to
  668.           customize every detail, it not only helps you to be more
  669.           productive, it also gives you the freedom to adapt it to your
  670.           particular needs and preferences.
  671.  
  672.           The Programmer's Productivity Pack can handle dual monitor
  673.           systems, EMS and XMS memory, multitasking systems like DESQview
  674.           and TaskView/OmniView, and more.  Each version can be easily and
  675.           safely unloaded from memory when the need arises.  You even have
  676.           three different methods by which it may be unloaded.
  677.  
  678.           The Programmer's Productivity Pack is even compatible with
  679.           Borland's Sidekick.  It is so compatible that it can be safely
  680.           loaded AFTER Sidekick.
  681.  
  682.           All things considered, the Programmer's Productivity Pack should
  683.           become one of your most often used utilities, and you might find
  684.           yourself wondering how you ever got along without it.
  685.           Congratulations on one of your best software acquisitions!
  686.  
  687.           System Requirements:
  688.           --------------------
  689.  
  690.           The Programmer's Productivity Pack requires PC/MS-DOS 2.0 or
  691.           higher, on an IBM PC, XT, AT, PS/2, or close compatible.  ProPak
  692.           will work on a floppy disk only system, but a hard disk is
  693.           recommended.
  694.  
  695.           ProPak supports all common video adapter and monitor
  696.           combinations, including dual monitor systems.  ProPak has been
  697.           tested with the following adapter types:  MDA, CGA, EGA, MCGA,
  698.           and VGA, as well as the Hercules and Hercules InColor cards.
  699.  
  700.           EMS and/or XMS memory is helpful but not required.
  701.  
  702.  
  703.           Introduction                                             6 of 143
  704.  
  705.  
  706.                        - Programmer's Productivity Pack 2.60 -
  707.  
  708.  
  709.           Memory Requirements:
  710.           --------------------
  711.  
  712.           The actual  memory requirements will vary depending upon which of
  713.           the two versions you use, how swapping is handled, the amount of
  714.           memory you reserve for Keystroke Recordings, etc.
  715.  
  716.           The swapping version, ProSwap, retains only about 7K bytes of
  717.           memory while resident (and swapped out).  The minimum memory
  718.           requirement for ProPak is about 96K bytes.
  719.  
  720.           ProPak is shipped with 2K bytes (2,048 bytes) of memory set aside
  721.           for Keystroke Recordings.
  722.  
  723.           The customizing program, PCustom, requires 256K bytes of RAM.
  724.  
  725.           ProSwap.EXE:
  726.           ~~~~~~~~~~~~
  727.           ProSwap uses as little memory as possible.  ProSwap can swap
  728.           itself to disk, to EMS memory, or to XMS memory.  All this
  729.           flexibility means that ProSwap is the ideal choice when memory is
  730.           scarce.
  731.  
  732.           ProPak.EXE:
  733.           ~~~~~~~~~~~
  734.           In order to conserve as much of your precious memory as possible,
  735.           ProPak makes extensive use of overlays (ProSwap does not).  An
  736.           overlay is a technique which allows a program to run without
  737.           having all of its machine instructions in memory at the same
  738.           time.  When you pop up the Calculator, the machine instructions
  739.           for The ASCII Chart, Keystroke Reference Center, etc., remain on
  740.           disk, and only the machine instructions needed for the Calculator
  741.           will be in memory.  This has the advantage of requiring less
  742.           memory (a definite virtue for memory-resident programs), but it
  743.           means that ProPak must go to the disk at certain times to get
  744.           instructions on what to do next.
  745.  
  746.           There is a number of things you can do to maximize ProPak's
  747.           performance and customize its memory usage.  The biggest
  748.           improvement will be obtained through the use of EMS memory.  If
  749.           you have EMS memory, and if you allow ProPak to use it, the
  750.           entire overlay file will be placed into EMS memory.  This means
  751.           two things.  First, the overlay file on disk will no longer be
  752.           needed, which will save you one file handle.  Secondly, reading
  753.           the necessary sections of the overlay file will occur much faster
  754.           because it will be a simple memory transfer rather than a disk
  755.           access, therefore, the size of the overlay buffer can remain
  756.           minimal.  This also conserves the maximum amount of RAM (Random
  757.           Access Memory) for the use of your other programs.
  758.  
  759.  
  760.  
  761.  
  762.           Introduction                                             7 of 143
  763.  
  764.  
  765.                        - Programmer's Productivity Pack 2.60 -
  766.  
  767.  
  768.           How To Use This Manual:
  769.           -----------------------
  770.  
  771.           This manual is designed to get you up and running with the
  772.           Programmer's Productivity Pack as quickly as possible.  Besides
  773.           being written in a simple, conversational style there are five
  774.           special features which will help you get the most from ProPak in
  775.           the minimum amount of time.
  776.  
  777.           The Quick Start Tutorials:
  778.           ~~~~~~~~~~~~~~~~~~~~~~~~~~
  779.              The "Quick Start Tutorials" are designed to help you begin
  780.              using the individual tools in the Programmer's Productivity
  781.              Pack in an efficient and productive manner as quickly as
  782.              possible.
  783.  
  784.              There are six Quick Start Tutorials in this manual.  Each one
  785.              is complete in itself.  This means that they don't have to be
  786.              read together or in any particular order.  Each tutorial
  787.              should take about 15 minutes or less to complete.  Although
  788.              the tutorials don't cover every single feature of the program
  789.              in detail, they will get you comfortable and familiar with the
  790.              major functions in each tool quickly and painlessly.  It would
  791.              be to your benefit to read the Quick Start Tutorials, even if
  792.              you never looked at the rest of the manual.  They will help
  793.              you get your money's worth out of this software package.  Take
  794.              advantage of them.  You'll be glad you did!
  795.  
  796.              Since ProPak was written to be easy to learn and use (to be
  797.              "intuitive") you will probably find that the Quick Start
  798.              Tutorials are all you will need to start working profitably
  799.              with it.
  800.  
  801.           The In-Depth Reference Guides:
  802.           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  803.              There are ten In-Depth Reference Guides in the ProPak User's
  804.              Guide covering each one of the tools and utilities
  805.              individually.  As the name implies, this is where you can find
  806.              a complete listing and description of each and every feature
  807.              of that tool or program.  Every command and option will be
  808.              given, along with any necessary information on how and when to
  809.              use it.
  810.  
  811.              The In-Depth Reference Guides contain a tremendous amount of
  812.              helpful information and we suggest that you consult them.
  813.              They are written in the same simple, conversational style and
  814.              should be just as comfortable to read as the tutorials.
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.           Introduction                                             8 of 143
  822.  
  823.  
  824.                        - Programmer's Productivity Pack 2.60 -
  825.  
  826.  
  827.           Tips and Tricks:
  828.           ~~~~~~~~~~~~~~~~
  829.              Wherever we have been able to develop helpful tips and tricks
  830.              to make the use of ProPak even more efficient we have put them
  831.              in the User's Guide and marked them with "TIP:".  Using these
  832.              techniques does not require any more expertise than using any
  833.              other feature of the program.  They are just the by-product of
  834.              the many hours the author, beta-testers, and users have spent
  835.              using the program.  In future upgrades we will include any
  836.              other tips that we find or develop or that you bring to our
  837.              attention.  Our desire is to provide you with the best tools
  838.              possible.
  839.  
  840.           The Appendices:
  841.           ~~~~~~~~~~~~~~~
  842.              There are five appendices following the User's Guide that will
  843.              be of special value to any of you that are new to programming.
  844.              They may even help some of you old pros to fill in a few gaps
  845.              in your understanding.  We have endeavored to make ProPak a
  846.              useful tool for both the student and the professional
  847.              programmer.
  848.  
  849.           The Index:
  850.           ~~~~~~~~~~
  851.              The Index at the back of the User's Guide is as comprehensive
  852.              as we could make it.  To keep its completeness from being
  853.              counterproductive we have marked the page or pages where the
  854.              feature is most completely covered with bold print (printed
  855.              User's Guide only).  Therefore, even if there is a dozen page
  856.              listings after an entry in the index, going to the one in bold
  857.              print will probably be the most useful.  However, all the
  858.              listings are there for the person who wants to know as much as
  859.              is available about any given feature.
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.           Introduction                                             9 of 143
  881.  
  882.  
  883.                        - Programmer's Productivity Pack 2.60 -
  884.  
  885.  
  886.                                -----------------------
  887.                                 How to Install ProPak
  888.                                -----------------------
  889.  
  890.  
  891.           Which Files Do I Need?:
  892.           =======================
  893.  
  894.           The following discussion outlines the files included in the
  895.           Programmer's Productivity Pack.
  896.  
  897.           ProPak.EXE:  This is the MS-DOS memory-resident version of the
  898.           Programmer's Productivity Pack.  ProPak uses overlays
  899.           extensively.  Early versions required a separate overlay file
  900.           called ProPak.OVR.  Beginning with version 2.50 the overlay file
  901.           is appended to the tail-end of the ProPak.EXE file.
  902.  
  903.           ProSwap.EXE:  This is the flexible-loading version.  ProSwap can
  904.           run as a memory-resident "swapping" version, a standard memory-
  905.           resident version, a background task under DESQview or
  906.           OmniView/TaskView, or as a stand-alone program under MS-DOS.
  907.  
  908.           PCustom.EXE This is the customizing program which will enable you
  909.           to customize both versions of ProPak.  In fact, you can even
  910.           customize both versions at the same time.
  911.  
  912.           The customizing program does not need to be present to make
  913.           changes in the program "on the fly".  You can always make changes
  914.           in memory using the "Modify Options" submenu within the ProPak
  915.           Control Center.  The customizing program DOES have to be used if
  916.           you want the changes to be "permanent".  That is, written to disk
  917.           and available to you the next time you turn on your computer.
  918.           Changes made from within ProPak are not "permanent" because they
  919.           are made in memory and will be lost when you unload ProPak or
  920.           turn off your computer.  Both methods of customizing are simple
  921.           to use whenever needed.
  922.  
  923.           With this information you can decide which version or versions
  924.           will be the most useful to you.  Whichever files you decide to
  925.           use, we recommend that they all be placed into the same
  926.           subdirectory, preferably in your DOS path.  If the concept of
  927.           directories or paths is new to you please read Appendix C, at the
  928.           back of the User's Guide.  More information is available from
  929.           your MS-DOS User's Guide.
  930.  
  931.           By the way, PCustom, the customizing program, is not required for
  932.           the operation of ProPak or ProSwap, but, it is nice to have on
  933.           hand.  Unless disk space is at a premium, keep it available at
  934.           all times.
  935.  
  936.  
  937.  
  938.  
  939.           Installing ProPak                                       10 of 143
  940.  
  941.  
  942.                        - Programmer's Productivity Pack 2.60 -
  943.  
  944.  
  945.           We have also provided a file called "ANSWERS.DOC", which answers
  946.           the most commonly asked questions concerning the use of the
  947.           Programmer's Productivity Pack.
  948.  
  949.  
  950.           Installing On A Hard Disk System:
  951.           =================================
  952.  
  953.           The first step, which should be taken BEFORE you install the
  954.           programs on your hard disk, is to make backup copies.  This is a
  955.           very important safety measure which you should take with every
  956.           new program.  This protects your investment in case a disk
  957.           becomes damaged or erased.  We provide extra labels with the
  958.           registered version for you to place on your backup copies.
  959.           Finally, we recommend that you use the  copies as "working
  960.           copies" and place the original diskettes in a safe place.
  961.  
  962.           Installing the Programmer's Productivity Pack on your hard disk
  963.           is simply a matter of deciding which files you want to copy to
  964.           your hard disk, and which subdirectory you want to place them in.
  965.  
  966.           Running an actual "installation" program is not required.  Any
  967.           one of the two versions will run fine.  There is no "PInstall"
  968.           program.
  969.  
  970.           PCustom enables you to customize various features of the program,
  971.           but it is not necessary in order to get ProPak up and running.
  972.           In fact, ProPak is sophisticated enough to determine for itself
  973.           if you are using a color or monochrome monitor, EMS memory, etc.
  974.           We should add however, that if you are using a black-and-white
  975.           monitor, such as an LCD or gas plasma display, or other gray
  976.           scale type of monitor, you will probably want to run PCustom to
  977.           change the screen colors to the gray scale values.  This is
  978.           covered in the section "Setting ProPak For Your Monitor" (page
  979.           12).  ProPak is already set to look good on monochrome and color
  980.           monitors.
  981.  
  982.  
  983.           Installing On A Floppy Disk System:
  984.           ===================================
  985.  
  986.           Because ProPak uses overlays and ProSwap uses swapping to
  987.           conserve memory, we recommend that it be run from a hard disk
  988.           rather than from the slower floppy diskette drives.  But, if you
  989.           do not have a hard disk, don't worry.  You can still use the
  990.           Programmer's Productivity Pack.  You will, however, need to have
  991.           the diskette present in the disk drive whenever you are using any
  992.           of the ProPak programs.
  993.  
  994.  
  995.  
  996.  
  997.  
  998.           Installing ProPak                                       11 of 143
  999.  
  1000.  
  1001.                        - Programmer's Productivity Pack 2.60 -
  1002.  
  1003.  
  1004.           You can greatly improve the performance of ProPak by using
  1005.           PCustom to modify it for your floppy disk only system.  For
  1006.           specific details refer to the In-Depth Reference Guide for
  1007.           PCustom on page 120.
  1008.  
  1009.           As with every software product you purchase, your first step
  1010.           should be to make backup copies of the distribution diskettes.
  1011.           This will protect your investment in case something unexpected
  1012.           happens to the original diskettes.  We provide (with the
  1013.           registered version) printed labels for you to place on your
  1014.           backup copies.  Finally, we recommend that you use the backup
  1015.           diskettes as the "working copy" and place the original diskettes
  1016.           in a safe place.
  1017.  
  1018.           We recommend that you make a separate diskette for each version
  1019.           (ProPak and ProSwap) and that you include PCustom on each
  1020.           diskette.  This way you will be able to customize the program
  1021.           whenever you wish.  However, PCustom is not required for ProPak
  1022.           or ProSwap to run.
  1023.  
  1024.           Running an actual "installation" program is not required.  Any
  1025.           one of the two versions will run fine.  There is no "PInstall"
  1026.           program.
  1027.  
  1028.           PCustom enables you to customize various features of the
  1029.           programs, but it is not necessary in order to get ProPak up and
  1030.           running.  In fact, ProPak is sophisticated enough to determine
  1031.           for itself if you are using a color or monochrome monitor, etc.
  1032.           We should add however, that if you are using a black-and-white
  1033.           monitor, such as an LCD or gas plasma display, or another gray
  1034.           scale type of monitor, you will probably want to run PCustom to
  1035.           change the screen colors to the gray scale values.  This is
  1036.           covered in the next section "Setting ProPak For Your Monitor".
  1037.           ProPak is already set to look good on monochrome and color
  1038.           monitors.
  1039.  
  1040.           If you are new to MS-DOS and are not sure how to copy files from
  1041.           one disk to another, then Appendix C (page 135) contains some
  1042.           basic information about directories, subdirectories, and other
  1043.           MS-DOS information.  You should also consult your DOS manual to
  1044.           familiarize yourself with DOS and to answer any questions that
  1045.           may arise.
  1046.  
  1047.  
  1048.           Setting ProPak For Your Monitor:
  1049.           ================================
  1050.  
  1051.           You do not have to do anything to set up ProPak (or ProSwap) for
  1052.           your monitor if you are using either a color or monochrome
  1053.           monitor.  ProPak is sophisticated enough to know which one you
  1054.           have without asking you.
  1055.  
  1056.  
  1057.           Installing ProPak                                       12 of 143
  1058.  
  1059.  
  1060.                        - Programmer's Productivity Pack 2.60 -
  1061.  
  1062.  
  1063.           However, gray scale type monitors (LCD, gas plasma, etc.) look
  1064.           like color monitors to any software.  If you don't tell ProPak
  1065.           that you really have a black-and-white display then some of the
  1066.           screens will not be very clear.  PCustom enables you to set
  1067.           ProPak to look good on a black-and-white monitor.
  1068.  
  1069.           To set ProPak to look good on your black-and-white monitor,
  1070.           simply type "PCUSTOM -B" <Enter>.  When the PCustom Main Menu
  1071.           appears choose "Modify All Versions Present".  Wait for a second
  1072.           and another Menu will appear.  Choose "Colors".  When the
  1073.           "Colors" Submenu appears choose "Gray Scale Attribute Set".  Move
  1074.           the highlight bar with the <Down> arrow key and press <Enter>
  1075.           when "Gray Scale Attribute Set" is highlighted.  Now go to "Exit
  1076.           PCustom" and press <Enter>.  Choose "Save Changes" and you are
  1077.           done.
  1078.  
  1079.           Refer to the section on PCustom (page 105) for more detailed
  1080.           information.
  1081.  
  1082.           You do not have to make any special arrangements to use ProPak
  1083.           with a dual monitor system.
  1084.  
  1085.  
  1086.           The 80 Column Text Mode:
  1087.           ========================
  1088.  
  1089.           In general, the features provided by ProPak are only available
  1090.           while in an 80 column text mode.  ProPak will recognize and take
  1091.           advantage of 25, 43 and 50 line modes.  ProPak is not designed to
  1092.           pop up while in graphics mode.  This is due to the fact that much
  1093.           more memory would be needed to save a graphics screen than a text
  1094.           screen.  For the same reason, ProPak was not designed for use in
  1095.           132 column mode (which is rarely used).  Also, since most of
  1096.           ProPak's displays cannot fit on a 40 column screen, it will not
  1097.           pop up under those conditions.
  1098.  
  1099.  
  1100.           The Modifier Keys:
  1101.           ==================
  1102.  
  1103.           Many times in both the manual and the on-screen menus, a
  1104.           keystroke command is listed with a caret (^) in front of the key.
  1105.           For instance, the Calculator's Quick Reference Menu is opened
  1106.           using <^M>.  ProPak is not excessively picky about keystrokes.
  1107.           To make things as easy as possible such keys can actually be
  1108.           entered in a number of different ways.  Let's use the "^M"
  1109.           example.  <^M> can be entered as Ctrl-M, Alt-M, Shift-M, or just
  1110.           plain "M".  This makes keystroke commands very easy to remember.
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.           Installing ProPak                                       13 of 143
  1117.  
  1118.  
  1119.                        - Programmer's Productivity Pack 2.60 -
  1120.  
  1121.  
  1122.           There are only two categories of exceptions to this rule and they
  1123.           will always be explained as they are encountered.  The two
  1124.           general categories are outlined below.
  1125.  
  1126.           When you are in Hexadecimal format in The Programmer's
  1127.           Calculator, the letters "A" through "F" correspond to the
  1128.           hexadecimal values 0A hex (10 decimal) through 0F hex (15
  1129.           decimal).  Therefore, to use one of these letters as anything
  1130.           other than a hexadecimal value, they must be preceded by either
  1131.           <Ctrl> or <Alt>.
  1132.  
  1133.           Some keys such as <Tab> or <F1> mean the opposite when they are
  1134.           modified with <Ctrl>, <Alt> or a <Shift> key.
  1135.  
  1136.  
  1137.           ProPak and Your Keyboard:
  1138.           =========================
  1139.  
  1140.           Knowing how ProPak uses your keyboard can help you get the most
  1141.           out of ProPak.  ProPak is able to use more key combinations than
  1142.           most software.  The reason for this is twofold.
  1143.  
  1144.           When ProPak is installed, it hooks into the BIOS keyboard
  1145.           services (Interrupts 09h and 16h) and adds several additional
  1146.           capabilities to those services.  These additional features are
  1147.           much more apparent to those of you who do not have enhanced
  1148.           keyboards.  ProPak is able to recognize many key combinations
  1149.           that are normally usable only with an enhanced keyboard.  Also,
  1150.           for users of enhanced keyboards, ProPak is able to use about a
  1151.           dozen key combinations that are not normally recognized by the
  1152.           BIOS alone.  This enhancement to normal keyboard functionality is
  1153.           at a very low level, meaning that you do not have to do anything
  1154.           special to obtain this benefit.
  1155.  
  1156.           On a higher level, ProPak goes to extreme lengths to recognize
  1157.           keys logically according to the context in which they are typed.
  1158.           For instance, if you are using The Programmer's Calculator and do
  1159.           not have NumLock set and you press the <Up> Arrow key, it is
  1160.           fairly obvious that you intended to enter the number 8.  This
  1161.           concept helps to make ProPak so easy to use.  It even works with
  1162.           the number 5 key, the center key on the numeric keypad, when
  1163.           NumLock is NOT on.
  1164.  
  1165.           By being aware of ProPak's efforts to make your keyboard more
  1166.           functional, you can often think of additional ways to improve
  1167.           your productivity.  After all, who knows more about the kinds of
  1168.           things you use your computer for than you do?
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.           Installing ProPak                                       14 of 143
  1176.  
  1177.  
  1178.                        - Programmer's Productivity Pack 2.60 -
  1179.  
  1180.  
  1181.           The ASCII Poster:
  1182.           =================
  1183.  
  1184.           (Included in the registered version!)  This 20" x 26" poster
  1185.           gives you the character, decimal value, and hexadecimal value of
  1186.           the 256 ASCII and extended ASCII characters.  It also has the
  1187.           often needed box drawing characters arranged logically and large
  1188.           enough to see from a distance.  If you put this in a convenient
  1189.           spot near your computer you will never have to look for an ASCII
  1190.           chart in a manual again!
  1191.  
  1192.              "...a superb paper ASCII code chart that I have framed on the
  1193.              wall beside the machine..."
  1194.                --Jeff Duntemann, Dr. Dobb's Journal,
  1195.                  January 1990, Page 147.
  1196.  
  1197.  
  1198.              "God bless you for the ASCII chart.  (Now I can finally retire
  1199.              the dog-eared page in the back of my BASIC manual!)"
  1200.                --Randy MacLean, FormGen Corporation, Canada
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.           Installing ProPak                                       15 of 143
  1235.  
  1236.  
  1237.                        - Programmer's Productivity Pack 2.60 -
  1238.  
  1239.  
  1240.                            -------------------------------
  1241.                             How To Load And Unload ProPak
  1242.                            -------------------------------
  1243.  
  1244.  
  1245.           Now that you have chosen which files you want to use and have
  1246.           installed them on your system, all that remains is to use them.
  1247.  
  1248.  
  1249.           Loading ProPak:
  1250.           ===============
  1251.  
  1252.           When we are speaking in general terms about the Programmer's
  1253.           Productivity Pack we use "ProPak".
  1254.  
  1255.           To load ProPak into memory type "PROPAK" at the DOS prompt and
  1256.           press <Enter>.
  1257.  
  1258.           After a brief pause while the program is read from disk, you will
  1259.           see a screen appear that is full of information.  You might like
  1260.           to take a moment to read over the information on your screen.
  1261.  
  1262.                (Due to space limitations and printer incompatibilities,
  1263.                 this figure appears only in the printed User's Guide.)
  1264.  
  1265.                               Figure 1: Opening Screen
  1266.  
  1267.           Figure 1 is a sample of ProPak's opening screen.  It was actually
  1268.           captured using ProPak's Screen Capture facility.  Referring to
  1269.           Figure 1, or better yet, to the actual display on your screen,
  1270.           you will see that ProPak provides you with all the information
  1271.           you are likely to need, or that you may be curious about.
  1272.  
  1273.           The upper portion of the screen provides you with information
  1274.           concerning EMS memory.  This information includes the presence or
  1275.           absence of EMS memory, the status of EMS memory as reported by
  1276.           the Expanded Memory Manager, and most importantly, whether or not
  1277.           ProPak is using EMS memory for its overlay file.
  1278.  
  1279.           The lower portion of the screen provides detailed information
  1280.           regarding how much normal RAM memory is being used by ProPak, as
  1281.           well as an approximate breakdown of HOW it is being used.  Here
  1282.           is a brief explanation of each of these values:
  1283.  
  1284.               o  Program Segment Prefix (PSP) - PC/MS-DOS always places a
  1285.                  256 byte chunk of memory at the beginning of each program
  1286.                  it executes.  This 256 byte area contains information that
  1287.                  the program may use or refer to during execution.
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.           Loading and Unloading ProPak                            16 of 143
  1294.  
  1295.  
  1296.                        - Programmer's Productivity Pack 2.60 -
  1297.  
  1298.  
  1299.               o  Environment Block (at least) - The is the area of memory
  1300.                  where MS-DOS stores any global parameters.  These are
  1301.                  strings like your path command, any "SET=?" strings, etc.
  1302.                  ProPak does not know how much memory is reserved for the
  1303.                  environment block, but it does know how much of the
  1304.                  environment block is actually in use storing parameters.
  1305.  
  1306.               o  CODE (??,???)  DATA (??,???) - "CODE" refers to the memory
  1307.                  used for machine instructions.  "DATA" refers to the
  1308.                  memory used for storing internal variables, data
  1309.                  structures, etc.
  1310.  
  1311.               o  Internal Stacks - A "stack" is a storage area that your
  1312.                  computer uses to keep track of information on a temporary
  1313.                  basis.  ProPak has five internal stacks, one for each of
  1314.                  the tools accessed with a Hot Key.  To minimize memory
  1315.                  usage ProPak uses a sophisticated scheme that allows one
  1316.                  internal stack to "overflow" onto another internal stack
  1317.                  safely.
  1318.  
  1319.               o  Overlay Buffer - The overlay buffer is very similar to the
  1320.                  CODE area mentioned above.  The overlay buffer contains
  1321.                  machine instructions needed by ProPak to perform various
  1322.                  tasks.  However, the Overlay Buffer does not always
  1323.                  contain the same information.  It contains only the
  1324.                  machine instructions needed at any given time.  Machine
  1325.                  instructions not currently needed remain on disk in the
  1326.                  .OVR file, or in EMS memory if it is in use.  This is a
  1327.                  common technique used to conserve memory.
  1328.  
  1329.               o  HEAP (where dynamic storage occurs) - The "HEAP" is simply
  1330.                  an area of memory set aside for use by ProPak as needed.
  1331.                  For example, when you pop up ProPak it saves an area of
  1332.                  the screen before it overwrites it.  This is how ProPak is
  1333.                  able to restore your screen when it is finished.  The area
  1334.                  of the screen is saved on the "HEAP".
  1335.  
  1336.           If this information is confusing to you, don't worry.  You don't
  1337.           need to memorize any of these values.  This information is there
  1338.           for those who like to know exactly how much memory is being used
  1339.           by ProPak, and for what it is being used.  Pressing any key will
  1340.           clear the screen and return you to the DOS prompt.
  1341.  
  1342.           ProPak is a memory-resident program.  What this means is that
  1343.           when you first run the program, it will install itself in memory
  1344.           and then return control to DOS.  So when you find yourself back
  1345.           at the DOS prompt after pressing any key, don't worry, you're
  1346.           doing just fine.
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352.           Loading and Unloading ProPak                            17 of 143
  1353.  
  1354.  
  1355.                        - Programmer's Productivity Pack 2.60 -
  1356.  
  1357.  
  1358.           Once you are back at the DOS prompt, you will see two key
  1359.           combinations listed.  These are the keys that will activate
  1360.           ProPak when they are pressed.  One will pop up The Programmer's
  1361.           Calculator and the other will pop up The Control Center.  These
  1362.           activation keys are called "Hot Keys." But don't press them yet.
  1363.           First, we will show you how ProPak can be removed from memory.
  1364.  
  1365.           Bypassing the Opening Screen:
  1366.           -----------------------------
  1367.  
  1368.           Sometimes you may prefer to start ProPak without viewing the
  1369.           Opening (memory usage) screen.  To do this simple start ProPak
  1370.           with ANY command line parameter.  That's right.  Type "PROPAK"
  1371.           followed by a space and anything you want, then press <Enter>.
  1372.           This tells ProPak to "shut-up" and proceed without displaying the
  1373.           opening memory status display.
  1374.  
  1375.           Renaming PROPAK.EXE:
  1376.           --------------------
  1377.  
  1378.           ProPak uses overlays which are attached to the end of the
  1379.           PROPAK.EXE file.  This means that ProPak must always be able to
  1380.           find itself on disk (unless EMS memory is used for the overlays).
  1381.  
  1382.           Even though most options are controlled through the configuration
  1383.           file (PROPAK.CFG), some options require PCustom to modify the
  1384.           .EXE file itself.  To do this, PCustom must be able to find the
  1385.           PROPAK.EXE file.
  1386.  
  1387.           To enable you to rename PROPAK.EXE, so that it knows it's new
  1388.           name, and so that PCustom can find it later, you should always
  1389.           use PCustom to rename PROPAK.EXE.  PCustom has a new option which
  1390.           will make this easy for you.
  1391.  
  1392.           Never change the name of the configuration file (PROPAK.CFG).  If
  1393.           you change the name of the configuration file, then ProSwap or
  1394.           PCustom will simply write a new PROPAK.CFG file the next time
  1395.           they run.  The new file will have all the default values and will
  1396.           not retain any customizations you may have made.
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.           Loading and Unloading ProPak                            18 of 143
  1412.  
  1413.  
  1414.                        - Programmer's Productivity Pack 2.60 -
  1415.  
  1416.  
  1417.           Using ProSwap:
  1418.           ==============
  1419.  
  1420.           ProSwap is an extremely flexible program containing the most used
  1421.           features of The Programmer's Productivity Pack.
  1422.  
  1423.               o  ProSwap can be loaded as a swapping memory resident
  1424.                  version which swaps most of itself out of memory when not
  1425.                  in use.  When loaded in this fashion ProSwap retains only
  1426.                  about 7K bytes of memory while resident.  ProSwap can swap
  1427.                  itself to:
  1428.  
  1429.                      -  XMS memory.
  1430.  
  1431.                      -  EMS memory.
  1432.  
  1433.                      -  a RAM disk.
  1434.  
  1435.                      -  a hard disk.
  1436.  
  1437.                      -  a Bernoulli drive.
  1438.  
  1439.               o  ProSwap can be loaded as a traditional memory resident
  1440.                  program (no swapping).
  1441.  
  1442.               o  ProSwap can also be run as a stand-alone DESQview aware
  1443.                  program which does not remain memory resident.
  1444.  
  1445.           ProSwap has one additional capability not found in ProPak:
  1446.           ProSwap provides a pop-up DOS shell capability.  When activated,
  1447.           this capability swaps the currently running program out, freeing
  1448.           as much memory as possible, then loads a secondary copy of the
  1449.           command processor, and places you at the DOS prompt.  This
  1450.           capability enables you to shell to DOS from programs that do not
  1451.           have this capability built in.
  1452.  
  1453.           Important Note:  To use the pop-up DOS shell capability you must
  1454.           have PC/MS-DOS 3.0 or later.  If you are using an earlier version
  1455.           of DOS you will have to disable the DOS shell capability using
  1456.           PCustom, before you can use ProSwap.
  1457.  
  1458.           Loading ProSwap:
  1459.           ----------------
  1460.  
  1461.           To start ProSwap simply type "PROSWAP" <Enter> at the DOS prompt.
  1462.           This will start ProSwap in it's default (normal) mode.  Several
  1463.           command line options are available and are described in detail
  1464.           below.  Before we discuss the command line options, you should be
  1465.           aware of some limitations.
  1466.  
  1467.  
  1468.  
  1469.  
  1470.           Loading and Unloading ProPak                            19 of 143
  1471.  
  1472.  
  1473.                        - Programmer's Productivity Pack 2.60 -
  1474.  
  1475.  
  1476.           ProSwap is designed to provide you with as much usable memory as
  1477.           possible while it is resident.  To accomplish this ProSwap must
  1478.           be able to swap itself into and out of memory.  Because of this
  1479.           swapping behavior there are several things you must avoid.
  1480.  
  1481.               o  ProSwap cannot be loaded into "high" memory using
  1482.                  utilities such as QRAM, QEMM, 386MAX, or any similar
  1483.                  utility.
  1484.  
  1485.               o  ProSwap should not be loaded before programs that contain
  1486.                  hardware interrupt handlers.  Examples of such programs
  1487.                  are network shells, multitasking operating systems, and
  1488.                  communications programs.  If you are going to use ProSwap
  1489.                  in these environments you should load it after the network
  1490.                  shell or multitasking operating system is installed.
  1491.  
  1492.               o  It is possible to load ProSwap and still run
  1493.                  communications programs like ProComm or TAPCIS, providing
  1494.                  you follow some simple guidelines.  Do NOT pop ProSwap up
  1495.                  over your communications program while it is online,
  1496.                  uploading or downloading, or waiting to answer an incoming
  1497.                  call.  When ProSwap pops up it swaps the current
  1498.                  application out - essentially trading places with it in
  1499.                  memory.  This will be a problem if the other program was
  1500.                  trying to deal with com ports or some other hardware
  1501.                  related activity.  Of course, if you are using a program
  1502.                  like ProComm or TAPCIS and the program is not online or
  1503.                  waiting to answer an incoming call, then it is safe to pop
  1504.                  up ProSwap.
  1505.  
  1506.               o  ProSwap will not pop up over a program operating in
  1507.                  graphics mode.  ProSwap does not know how to save and
  1508.                  restore a graphics screen.  So to prevent problems,
  1509.                  ProSwap will simply beep and refuse to pop up when your
  1510.                  video system is in graphics mode.
  1511.  
  1512.           There are also some important restrictions regarding the pop-up
  1513.           DOS shell capabilities.
  1514.  
  1515.               o  You cannot pop to a DOS shell while you are at the DOS
  1516.                  command line.  The problem has to do with the way DOS
  1517.                  handles its internal stacks.  You're probably wondering
  1518.                  "why would I want to shell to the DOS command line when
  1519.                  I'm already at the DOS command line?".  Well, there's
  1520.                  really no reason to do this, so this isn't much of a
  1521.                  limitation.  Unfortunately, this is one of the first
  1522.                  things users try to do when they start experimenting with
  1523.                  ProSwap.
  1524.  
  1525.  
  1526.  
  1527.  
  1528.  
  1529.           Loading and Unloading ProPak                            20 of 143
  1530.  
  1531.  
  1532.                        - Programmer's Productivity Pack 2.60 -
  1533.  
  1534.  
  1535.               o  This same conflict arises if you pop up a TSR from the DOS
  1536.                  command line and then try to pop to a DOS shell using
  1537.                  ProSwap.  Even though you popped up another TSR,
  1538.                  technically you are still at the DOS command line.
  1539.  
  1540.               o  The DOS programs DEBUG and EDLIN are very similar to the
  1541.                  DOS command line in terms of how internal DOS stacks are
  1542.                  managed.  Because of this you cannot pop to a DOS shell
  1543.                  from within DEBUG or EDLIN.
  1544.  
  1545.               o  It is possible, under a multitasking system such as
  1546.                  DESQview, for ProSwap to not recognize that you are at the
  1547.                  DOS command line.  So be very careful when using ProSwap
  1548.                  under a multitasking operating system - don't try to pop
  1549.                  to a DOS shell from the DOS command line.
  1550.  
  1551.               o  Finally, the most important restriction:  Do NOT install
  1552.                  another memory resident program while you are within the
  1553.                  ProSwap DOS shell.  When you exit from the DOS shell
  1554.                  ProSwap will swap the new memory resident program out and
  1555.                  the results will not be pretty.
  1556.  
  1557.           When ProSwap is swapping to disk, it must be absolutely
  1558.           guaranteed that it will have access to it's swap files when it
  1559.           swaps itself into or out of memory.  This requirement, coupled
  1560.           with the speed issue, means that ProSwap's swap file cannot be
  1561.           located on removable media such as a floppy diskette.  ProSwap
  1562.           checks for this and will refuse to load if you specify a floppy
  1563.           drive as the location for the swap files.  Even though the media
  1564.           is technically removable, you may still use a Bernoulli drive as
  1565.           the location for the swap files.
  1566.  
  1567.           ProSwap Command Line Options:
  1568.           -----------------------------
  1569.  
  1570.           Some programs are overly picky about how a command line option is
  1571.           entered.  Some programs expect each option to be preceded by a
  1572.           space and a backslash.  Even worse, some programs are case
  1573.           sensitive - a command line option must be lower case, or it must
  1574.           be upper case, or some other limitation.  Command line options
  1575.           with ProSwap are very easy.
  1576.  
  1577.           For instance, if a command line option is "/X" - the "X" may be
  1578.           either upper or lower case.  Furthermore, it may be preceded by a
  1579.           forward slash (/), a backslash (\), a dash (-), or a space ( ).
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.           Loading and Unloading ProPak                            21 of 143
  1589.  
  1590.  
  1591.                        - Programmer's Productivity Pack 2.60 -
  1592.  
  1593.  
  1594.           Here is a brief list of each option.  The list is followed by a
  1595.           detailed description of each option.
  1596.  
  1597.              -D  force swapping to Disk only
  1598.  
  1599.              -E  force swapping to EMS memory only
  1600.  
  1601.              -H  Help (same as "-?")
  1602.  
  1603.              -M  Minimize swap size (XMS and Disk only)
  1604.  
  1605.              -N  No swapping (TSR mode - same as "-T")
  1606.  
  1607.              -P  Preserve mouse state within the DOS shell
  1608.  
  1609.              -S  Stand-alone (non-resident), DESQview aware mode
  1610.  
  1611.              -T  TSR mode (no swapping - same as "-N")
  1612.  
  1613.              -U  Unload the previously loaded copy of ProSwap from memory
  1614.  
  1615.              -X  force swapping to XMS memory only
  1616.  
  1617.              -?  shows a list of all available command line options and
  1618.                  returns to the DOS command line (help - same as "-H")
  1619.  
  1620.           (D) Force Swapping to Disk Only:
  1621.           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1622.              This option forces ProSwap to swap to disk even if sufficient
  1623.              EMS or XMS memory is available.  Swapping to disk is
  1624.              inevitably slower than swapping to EMS or XMS memory.  The
  1625.              speed of the swapping process can be further controlled by the
  1626.              "-M" option described below.
  1627.  
  1628.              This option can be permanently controlled using PCustom.
  1629.  
  1630.           (E) Force Swapping to EMS Memory Only:
  1631.           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1632.              This option forces ProSwap to swap to EMS memory.  If there is
  1633.              not enough EMS memory available, then ProSwap will abort
  1634.              without attempting to swap to either disk or XMS memory.
  1635.  
  1636.              This option can be permanently controlled using PCustom.
  1637.  
  1638.           (H) Help:
  1639.           ~~~~~~~~~
  1640.              Displays a list of command line options and returns to DOS
  1641.              without going resident.  This can be accomplished using any
  1642.              command line option that is not recognized by ProSwap.  This
  1643.              option is the same as "-?" described below.
  1644.  
  1645.  
  1646.  
  1647.           Loading and Unloading ProPak                            22 of 143
  1648.  
  1649.  
  1650.                        - Programmer's Productivity Pack 2.60 -
  1651.  
  1652.  
  1653.           (M) Minimize Swap Size:
  1654.           ~~~~~~~~~~~~~~~~~~~~~~~
  1655.              This option applies only when ProSwap is swapping to disk or
  1656.              to XMS memory (it is ignored when swapping to EMS memory).
  1657.  
  1658.              When swapping to disk, two swap files are used.  When swapping
  1659.              to XMS memory, two blocks of memory are used.  One is used for
  1660.              storing the memory under the control of ProSwap, the other is
  1661.              used for storing the memory under the control of the
  1662.              application being swapped out.  This allows the swapping
  1663.              operation to occur as quickly as possible - at the expense of
  1664.              using more disk space, or more XMS memory.
  1665.  
  1666.              When the "-M" option is used, ProSwap will use only one file
  1667.              when swapping to disk, or one memory block when swapping to
  1668.              XMS.  In effect, the two swap images "trade places" with each
  1669.              other during the swapping operation.
  1670.  
  1671.              This option causes ProSwap to use much less disk space, or
  1672.              much less XMS memory.  The price you pay for conserving these
  1673.              resources is speed.  Swapping takes much longer in this mode.
  1674.  
  1675.              This option can be permanently controlled using PCustom.
  1676.  
  1677.           (N) No Swapping, and
  1678.           (T) TSR Mode:
  1679.           ~~~~~~~~~~~~~
  1680.              These options are identical.  Use the one that is easiest for
  1681.              you to remember.
  1682.  
  1683.              When ProSwap is loaded in TSR mode, it will load just like
  1684.              ProPak.  It will remain in memory until it is unloaded - no
  1685.              swapping will be performed.  This means that it will pop-up
  1686.              instantly when a hot key is pressed, but it will take much
  1687.              more memory away from your other programs.  The pop-up DOS
  1688.              shell capability is not available in this mode.
  1689.  
  1690.              This option can be permanently controlled using PCustom.
  1691.  
  1692.           (P) Preserve Mouse State:
  1693.           ~~~~~~~~~~~~~~~~~~~~~~~~~
  1694.              Most people won't pop to DOS from a program that uses a mouse
  1695.              and then run another program that uses a mouse.  So there is
  1696.              usually no need for ProSwap to preserve the mouse state when
  1697.              it pops to DOS and restore it when it returns from DOS.  Some
  1698.              newer mouse drivers are annoyingly slow at initializing (which
  1699.              happens every time you pop to DOS), which is yet another
  1700.              reason why ProSwap does not normally preserve the state of the
  1701.              mouse.
  1702.  
  1703.  
  1704.  
  1705.  
  1706.           Loading and Unloading ProPak                            23 of 143
  1707.  
  1708.  
  1709.                        - Programmer's Productivity Pack 2.60 -
  1710.  
  1711.  
  1712.              This option tells ProSwap to preserve the mouse state before
  1713.              it shells to DOS, and to restore the mouse state when it
  1714.              returns from the DOS shell.  If you use a mouse often, you
  1715.              will want to start ProSwap with the "-P" option.
  1716.  
  1717.           (S) Stand-Alone Mode:
  1718.           ~~~~~~~~~~~~~~~~~~~~~
  1719.              This option tells ProSwap to run like a traditional program.
  1720.              This means that ProSwap will not go memory resident.  When you
  1721.              are finished using ProSwap and exit, you will return to DOS.
  1722.              In this mode ProSwap is DESQview aware and sends all screen
  1723.              output to the buffer provided by DESQview rather than directly
  1724.              to video memory.
  1725.  
  1726.              This option can be permanently controlled using PCustom.
  1727.  
  1728.           (U) Unload From Memory:
  1729.           ~~~~~~~~~~~~~~~~~~~~~~~
  1730.              Tells ProSwap to look for a copy of itself already loaded into
  1731.              memory, and to unload that copy if found.  When this option is
  1732.              used, ProSwap will unload the resident copy and then return to
  1733.              DOS.
  1734.  
  1735.              This is the safest way to unload ProSwap from memory!
  1736.  
  1737.              If ProSwap was not previously loaded then this option is
  1738.              ignored.
  1739.  
  1740.              * When this option is used it should be the *only* option
  1741.                used.
  1742.  
  1743.           (X) Force Swapping to XMS Memory Only:
  1744.           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1745.              This option forces ProSwap to swap to XMS memory.  If there is
  1746.              not enough XMS memory available then ProSwap will abort
  1747.              without attempting to swap to either disk or EMS memory.
  1748.  
  1749.              NOTE:  XMS swapping is only available with XMS (Extended
  1750.              Memory Specification) extended memory - not with simulated
  1751.              extended memory or extended memory which doesn't conform to
  1752.              the XMS standard.
  1753.  
  1754.              This option can be permanently controlled using PCustom.
  1755.  
  1756.           (?) Help:
  1757.           ~~~~~~~~~
  1758.              Displays a list of command line options and returns to DOS
  1759.              without going resident.  This can be accomplished using any
  1760.              command line option which is not recognized by ProSwap.  This
  1761.              option is the same as "-H" described above.
  1762.  
  1763.  
  1764.  
  1765.           Loading and Unloading ProPak                            24 of 143
  1766.  
  1767.  
  1768.                        - Programmer's Productivity Pack 2.60 -
  1769.  
  1770.  
  1771.           ProSwap as a Stand-Alone Program:
  1772.           ---------------------------------
  1773.  
  1774.           By now you have a good grasp of how a memory-resident program is
  1775.           loaded into memory.  Now let's examine some of the differences
  1776.           between the memory-resident and the stand-alone or multitasking
  1777.           capabilities of ProSwap.  ProSwap, when loaded with the "/S"
  1778.           option, is designed to run as a stand-alone program under MS-DOS
  1779.           or as a background task under DESQview or TaskView/OmniView.
  1780.  
  1781.           The memory-resident versions of ProPak write directly to video
  1782.           memory when they output information to the screen.  There are
  1783.           several advantages to this technique.  First and foremost,
  1784.           writing directly to video memory is much faster than sending all
  1785.           screen output through the operating system.  Additionally, direct
  1786.           screen writing allows ProPak to retain more control over the
  1787.           screen.
  1788.  
  1789.           Programmers running ProSwap under DESQview or TaskView/OmniView
  1790.           should consider the subject of "windows".  In deciding how to set
  1791.           up ProSwap you should be aware that some features use the entire
  1792.           screen.  For instance, The ASCII and Color Attribute Chart will
  1793.           use the entire 25, 43 or 50 lines available on the screen
  1794.           (depending upon the current video mode and hardware
  1795.           capabilities).  Of course, before overwriting anything currently
  1796.           displayed on the screen, both versions of ProPak will copy the
  1797.           screen contents to their own internal buffer, and then restore
  1798.           the screen before exiting.  If you specify a window size smaller
  1799.           than the entire screen, sometimes ProSwap will write outside the
  1800.           boundaries of that window.  It will always restore it when it is
  1801.           finished, so don't worry.
  1802.  
  1803.           When ProSwap is running under a multitasking system it may not be
  1804.           the only program using the screen.  If another program is using
  1805.           the screen, it would be very rude for ProSwap to overwrite the
  1806.           other program's output.  To avoid this, ProSwap sends its screen
  1807.           output to the "virtual screen" provided by the multitasking
  1808.           system, rather than directly to video memory.  This allows the
  1809.           multitasking system to retain control over which application has
  1810.           access to the actual screen at any given time.
  1811.  
  1812.           What this means to multitasking systems is that ProSwap is very
  1813.           considerate of any other programs that might be running
  1814.           simultaneously.
  1815.  
  1816.           Another consideration is that these multitasking systems provide
  1817.           their own keyboard macro (Keystroke Recording and Playback)
  1818.           capabilities, and their own screen cut and paste (Screen Grabber)
  1819.           facilities.  This includes all the features contained in The
  1820.           Control Center.  To conserve memory and avoid redundancy, ProSwap
  1821.  
  1822.  
  1823.  
  1824.           Loading and Unloading ProPak                            25 of 143
  1825.  
  1826.  
  1827.                        - Programmer's Productivity Pack 2.60 -
  1828.  
  1829.  
  1830.           does not have those features which the operating environment is
  1831.           already providing.
  1832.  
  1833.           Renaming PROSWAP.EXE:
  1834.           ---------------------
  1835.  
  1836.           You are free to change the name of PROSWAP.EXE to any other name
  1837.           as long as the .EXE extension is not changed.  PCustom does not
  1838.           need to be able to find PROSWAP.EXE to customize it.  However,
  1839.           you must not change the name of the configuration file
  1840.           (PROSWAP.CFG).
  1841.  
  1842.           If you change the name of the configuration file, then ProSwap or
  1843.           PCustom will simply write a new PROSWAP.CFG file the next time
  1844.           they run.  The new file will have all the default values and will
  1845.           not retain any customizations you may have made.
  1846.  
  1847.  
  1848.           Unloading ProPak or ProSwap:
  1849.           ============================
  1850.  
  1851.           At the DOS prompt type "PROPAK -U" and press <Enter>.  If you are
  1852.           using ProSwap type "PROSWAP" instead of "PROPAK".  This will
  1853.           unload ProPak from memory (if it is safe to do so).  You may use
  1854.           "-U", "/U", "\U", or " U" to unload ProPak from memory (the "U"
  1855.           may be upper or lower case).  This is the safest way to unload
  1856.           ProPak from memory.
  1857.  
  1858.           Whether you are at the DOS prompt or not you can unload ProPak
  1859.           from memory by popping up The Programmer's Calculator and
  1860.           pressing <Alt><U>, <Alt><U>.  That's right, press it twice.  If
  1861.           you prefer you can press <Ctrl><U>, <Ctrl><U>.  We told you
  1862.           ProPak wasn't picky.  Another alternative is to pop up The
  1863.           Control Center and choose the "Unload from Memory" option.  More
  1864.           complete information regarding the safest possible method of
  1865.           unloading memory-resident programs is listed on pages 81 through
  1866.           82.
  1867.  
  1868.           If at any time you are unsure if ProPak is loaded in memory
  1869.           simply try to install it again.  It won't allow itself to be
  1870.           installed twice and will give you a message to the effect that it
  1871.           is already resident.  Pressing the Hot Keys will also tell you if
  1872.           it is resident or not.
  1873.  
  1874.  
  1875.           Sidekick Considerations:
  1876.           ========================
  1877.  
  1878.           If you are a Sidekick user, especially if you have been one for
  1879.           some time, you have probably noticed that Sidekick can cause
  1880.           difficulties for other memory-resident programs.  Especially for
  1881.  
  1882.  
  1883.           Loading and Unloading ProPak                            26 of 143
  1884.  
  1885.  
  1886.                        - Programmer's Productivity Pack 2.60 -
  1887.  
  1888.  
  1889.           programs loaded after Sidekick.  If you are a dedicated Sidekick
  1890.           fan, and there are many of them around, then it would be
  1891.           beneficial for you to understand a little about Sidekick's inner
  1892.           workings.
  1893.  
  1894.           Sidekick is an important consideration for anyone designing
  1895.           memory-resident programs.  Sidekick is really an industry wide
  1896.           standard because of its popularity.  How well a memory-resident
  1897.           program gets along with Sidekick often determines how well a
  1898.           memory-resident program gets along with its users.
  1899.  
  1900.           With that in mind here are a few tips that could help you with
  1901.           all the programs you use while Sidekick is resident.
  1902.  
  1903.           As you read in Sidekick's manual, Sidekick should always be the
  1904.           last memory-resident program loaded into memory.  There is a very
  1905.           practical reason for this requirement.  The gist of the problem
  1906.           lies in Sidekick's use of the BIOS keyboard services.  In order
  1907.           to ensure that Sidekick will always be able to see any keystrokes
  1908.           directed to it, it takes steps to ensure that it gets first crack
  1909.           at all keystrokes.  How does Sidekick accomplish this feat?
  1910.           Well, not only does Sidekick grab the keyboard hardware interrupt
  1911.           when first loaded, it also monitors that interrupt constantly.
  1912.           If Sidekick sees another program grab the same interrupt,
  1913.           Sidekick grabs it right back.  While this may seem rude, it is
  1914.           actually a pretty good idea.  The problem is that Sidekick may
  1915.           grab it back more than once!  If the keyboard hardware interrupt
  1916.           is grabbed a second time, by any program at all, Sidekick grabs
  1917.           the vector again, which fouls up the ISR chain (and hangs your
  1918.           system to demonstrate its disapproval).
  1919.  
  1920.           Today this seems to directly contradict our view of how a well
  1921.           behaved program should conduct itself.  But before you pass
  1922.           judgment on Borland you should remember that Sidekick became
  1923.           available "way back when".  When memory-resident utilities were
  1924.           rarely seen and little understood.  At the time Sidekick was
  1925.           written there were very few programs that grabbed the keyboard
  1926.           hardware interrupt.  Primarily because there were very few
  1927.           memory-resident programs around.  Of course, one could argue that
  1928.           Borland should have corrected the problem in a later release.  If
  1929.           you've tried SideKick Plus, the next generation of Sidekick,
  1930.           you've seen that Borland has in fact corrected this problem.
  1931.  
  1932.           With this brief historical background out of the way, we can get
  1933.           down to the business of dealing with Sidekick's stingy attitude
  1934.           towards the keyboard interrupt.  Even though SideKick Plus is now
  1935.           available, there are still hundreds of thousands of people using
  1936.           Sidekick.  It is to these people that this information will be
  1937.           the most useful.
  1938.  
  1939.  
  1940.  
  1941.  
  1942.           Loading and Unloading ProPak                            27 of 143
  1943.  
  1944.  
  1945.                        - Programmer's Productivity Pack 2.60 -
  1946.  
  1947.  
  1948.           Once you understand Sidekick's refusal to share with other
  1949.           programs, you will be able to prevent problems from arising.
  1950.           Simply make sure not to incur Sidekick's wrath by taking the
  1951.           keyboard interrupt away from it.  This holds true for any
  1952.           program, memory-resident or stand-alone.  Sidekick must always be
  1953.           catered to when dealing with the keyboard hardware interrupt.
  1954.           Both versions of ProPak grab the keyboard hardware interrupt
  1955.           twice.  Once when they are loaded, and a second time when The
  1956.           Keystroke Reference Center is displayed.  That's how ProPak is
  1957.           able to show you the contents of the BIOS keyboard status bytes.
  1958.  
  1959.           It is for these reasons that ProPak and ProSwap were specially
  1960.           designed to work with Sidekick.  ProPak (or ProSwap), during the
  1961.           process of loading itself into memory, alters Sidekick internally
  1962.           to prevent it from hogging up the keyboard interrupt.  This is
  1963.           very similar to the technique used by SideKick Plus when it is
  1964.           used in conjunction with Sidekick.  This technique works so well
  1965.           that ProPak can safely be loaded AFTER Sidekick, and Sidekick
  1966.           will not mind the company at all.
  1967.  
  1968.           There is a side effect to this technique (isn't there always?).
  1969.           When ProPak is loaded after Sidekick, Sidekick loses its ability
  1970.           to detect whether or not it has already been loaded into memory.
  1971.           This means that you could load a second copy of Sidekick into
  1972.           memory if you forget that it is already loaded.  Actually that's
  1973.           a very minor inconvenience compared to the alternative (Sidekick
  1974.           throwing up its hands and hanging your system).
  1975.  
  1976.  
  1977.           The DOS PRINT Program:
  1978.           ======================
  1979.  
  1980.           The DOS PRINT program was not designed to be unloaded from memory
  1981.           except by rebooting your system.  The reason we mention this here
  1982.           is because ProPak will not be able to unload itself if PRINT is
  1983.           loaded after it.  The obvious solution is to load PRINT before
  1984.           you load ProPak.  This will help to retain ProPak's ability to
  1985.           unload itself from memory.  Of course you still have the problem
  1986.           of unloading PRINT from memory when you no longer need it.  We
  1987.           also have a solution for that problem.  Registered users of
  1988.           ProPak receive a Bonus Disk Set containing tools to help you deal
  1989.           with programs like PRINT which were not designed to be unloaded.
  1990.  
  1991.  
  1992.           In Case of Conflicts With Other Memory-Resident Programs:
  1993.           =========================================================
  1994.  
  1995.           ProPak and ProSwap were carefully designed to ensure that they
  1996.           are well behaved and can get along with other memory-resident
  1997.           programs.  Of course today there are so many memory-resident
  1998.  
  1999.  
  2000.  
  2001.           Loading and Unloading ProPak                            28 of 143
  2002.  
  2003.  
  2004.                        - Programmer's Productivity Pack 2.60 -
  2005.  
  2006.  
  2007.           utilities available that it simply wasn't possible to test ProPak
  2008.           with all of them.
  2009.  
  2010.           As a general rule, whenever you encounter a memory-resident
  2011.           program that doesn't get along well with ProPak, simply load
  2012.           ProPak before loading the other program.  In virtually every
  2013.           instance, this should solve any problems you may encounter with
  2014.           other memory-resident programs.
  2015.  
  2016.           One example is PopCalc from BellSoft, Inc.  PopCalc is extremely
  2017.           rude in the way it deals with other memory resident programs.  As
  2018.           pointed out here, the way to avoid conflicts is to load ProPak
  2019.           before loading PopCalc.
  2020.  
  2021.  
  2022.           ProPak and Batch Files:
  2023.           =======================
  2024.  
  2025.           Many people like to include ProPak (or ProSwap) in their
  2026.           AUTOEXEC.BAT(ch) file so that it will be loaded automatically
  2027.           each time the machine is turned on.  There is a number of details
  2028.           that should be taken into consideration before positioning ProPak
  2029.           in your AUTOEXEC.BAT file.
  2030.  
  2031.           First, if you want to be able to unload ProPak from memory, you
  2032.           should endeavor to load ProPak last among your memory-resident
  2033.           programs.  Of course if your other memory-resident programs can
  2034.           also be removed from memory then you may load them in any order.
  2035.           Just be sure to unload them in the reverse order from which they
  2036.           were installed.  This will avoid having "holes" in memory between
  2037.           programs.  For a more complete explanation of the safest methods
  2038.           of unloading a memory-resident program refer to pages 81 through
  2039.           82.
  2040.  
  2041.           One other consideration when using batch files is the DOS
  2042.           ERRORLEVEL value returned by other programs.
  2043.  
  2044.           The programs that come with the Programmer's Productivity Pack
  2045.           all provide clear and detailed error messages if an error should
  2046.           occur.  But they also return values in the DOS ERRORLEVEL for any
  2047.           errors that result in program termination.  The vast majority of
  2048.           you will never need this information, but for the sake of
  2049.           consistency it is provided for those who may find it useful.
  2050.  
  2051.           DOS ERRORLEVEL will contain the following values under the
  2052.           specified conditions:
  2053.  
  2054.           00             No error occurred.
  2055.  
  2056.           01             Attempt to load a memory-resident program that was
  2057.                          already resident in memory.
  2058.  
  2059.  
  2060.           Loading and Unloading ProPak                            29 of 143
  2061.  
  2062.  
  2063.                        - Programmer's Productivity Pack 2.60 -
  2064.  
  2065.  
  2066.           02             Attempt to load a memory-resident program after
  2067.                          Sidekick
  2068.  
  2069.           03             Could not go resident due to an unsafe Hot Key.
  2070.  
  2071.           04             Incorrect DOS version.  Requires DOS 2.0 or above.
  2072.  
  2073.           05             A file access error occurred.
  2074.  
  2075.           06             Program aborted by the user.
  2076.  
  2077.           07             An EMS memory error occurred.
  2078.  
  2079.           08             Insufficient RAM memory to continue.
  2080.  
  2081.           09             Insufficient EMS memory to continue.
  2082.  
  2083.           10             Error with overlays.
  2084.  
  2085.           55             Any other error.
  2086.  
  2087.           99             Internal program error.
  2088.  
  2089.  
  2090.           ProPak Error Messages:
  2091.           ======================
  2092.  
  2093.           Unlike many programs that display a meaningless code for each
  2094.           error, the ProPak programs all display simple, clear messages
  2095.           when an error occurs.  In almost every case you will understand
  2096.           any error messages you encounter without needing any additional
  2097.           information.
  2098.  
  2099.           There are a few error situations in which the problem may not be
  2100.           so obvious.  Two errors that fall into this category are a
  2101.           missing overlay or swap file, and incorrect video modes.  The
  2102.           following information describes each of these two situations in
  2103.           detail.
  2104.  
  2105.           Beeps and Doesn't Pop Up:
  2106.           -------------------------
  2107.  
  2108.              If you press a Hot Key and ProPak beeps instead of popping up
  2109.              there can be three possible causes.
  2110.  
  2111.              Missing Overlay File.  First, if you are not using EMS memory,
  2112.              ProPak must always have access to itself (the overlays are
  2113.              contained with ProPak.EXE).  If the ProPak.EXE file is
  2114.              deleted, moved, or renamed, ProPak will beep instead of
  2115.              popping up.  This is to avoid a more serious error when
  2116.              something is needed from the inaccessible overlay file.  The
  2117.  
  2118.  
  2119.           Loading and Unloading ProPak                            30 of 143
  2120.  
  2121.  
  2122.                        - Programmer's Productivity Pack 2.60 -
  2123.  
  2124.  
  2125.              solution is to put the ProPak.EXE back where ProPak expects
  2126.              it, but even better is to prevent the problem from ever
  2127.              arising.  Don't rename ProPak.EXE without first consulting the
  2128.              information provided on page 18.
  2129.  
  2130.              Not in 80 Column Text Mode.  Another situation which would
  2131.              cause ProPak (or ProSwap) to beep rather than popping up, is
  2132.              pressing a Hot Key while the system is in graphics mode, or in
  2133.              40 or 132 column text mode.  The solution is to switch back to
  2134.              an 80 column text mode before popping up ProPak (or ProSwap).
  2135.  
  2136.              ProSwap will beep but refuse to pop up if the swap file(s)
  2137.              (marked with the hidden attribute) are deleted, renamed, or
  2138.              moved.
  2139.  
  2140.              There are also two situations in which ProPak will not pop up,
  2141.              but no beep sound will be generated to indicate a problem.
  2142.              This is because these situations are not errors, rather they
  2143.              are safety measures to prevent errors from arising.  These
  2144.              situations are explained below.
  2145.  
  2146.           Doesn't Beep or Pop Up:
  2147.           -----------------------
  2148.  
  2149.              Unsafe to Pop Up.  There is one other situation where no error
  2150.              message will appear to explain the current situation.  This
  2151.              occurs when you attempt to pop up ProPak (or ProSwap) at a
  2152.              time when it is not safe for ProPak to pop up.  This is a
  2153.              safety measure designed to prevent problems from arising.
  2154.              When you press a Hot Key, ProPak does a number of things
  2155.              before actually popping up on your screen.  First and most
  2156.              importantly, ProPak checks the current state of your system to
  2157.              see if it is safe to pop up.  If ProPak determines that it may
  2158.              not be safe to pop up at that particular time, then it will
  2159.              instead monitor the system very closely for the next two
  2160.              seconds in case things become safe during that time.  If
  2161.              ProPak determines that the system is in a state that enables
  2162.              ProPak to pop up safely, then ProPak will pop up.  However, if
  2163.              the two seconds pass without any significant change in the
  2164.              state of things, ProPak will simply not pop up.  You will
  2165.              rarely, if ever, encounter this situation.  But if you do,
  2166.              then you'll know that ProPak is not asleep at the switch, but
  2167.              rather it is taking steps to ensure that you encounter no
  2168.              unexpected surprises.
  2169.  
  2170.              When is it unsafe for ProPak (or ProSwap) to pop up?  For
  2171.              instance, ProPak uses a DOS service to read the overlay file
  2172.              on the disk.  If another program is using that same DOS
  2173.              service then ProPak should wait until the service is completed
  2174.              before interrupting the other program.  In other words, ProPak
  2175.              avoids interrupting any services that ProPak will need to use.
  2176.  
  2177.  
  2178.           Loading and Unloading ProPak                            31 of 143
  2179.  
  2180.  
  2181.                        - Programmer's Productivity Pack 2.60 -
  2182.  
  2183.  
  2184.              In Record Keystrokes Mode.  There is one situation in which
  2185.              everything is normal but the Hot Keys will not pop up ProPak.
  2186.              This occurs while ProPak is recording keystrokes.  While in
  2187.              Record Keystrokes Mode, the only Hot Key available is the one
  2188.              that turns off Keystroke Recording (<Alt><->).  For more
  2189.              complete information refer to the Keystroke Recording and
  2190.              Playback Quick Start Tutorial on page 72.
  2191.  
  2192.           There is also a special case regarding the pop-up DOS shell
  2193.           capability of ProSwap.  You cannot pop-up the DOS shell if you
  2194.           are already at the DOS command line (this includes popping up
  2195.           another TSR over the DOS command line, then attempting to pop up
  2196.           a DOS shell).
  2197.  
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213.  
  2214.  
  2215.  
  2216.  
  2217.  
  2218.  
  2219.  
  2220.  
  2221.  
  2222.  
  2223.  
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.           Loading and Unloading ProPak                            32 of 143
  2238.  
  2239.  
  2240.                        - Programmer's Productivity Pack 2.60 -
  2241.  
  2242.  
  2243.                     ---------------------------------------------
  2244.                      The Programmer's Calculator and Attachments
  2245.                     ---------------------------------------------
  2246.  
  2247.  
  2248.           The Programmer's Calculator and its attachments, The ASCII and
  2249.           Color Attribute Chart and The Keystroke Reference Center, are an
  2250.           integrated set of tools that are powerful, flexible, and fun to
  2251.           use.
  2252.  
  2253.           Not even a hand-held programmer's calculator could provide all of
  2254.           the features that are built into The Programmer's Calculator.
  2255.           The Programmer's Calculator has enough features to satisfy the
  2256.           professional programmer and yet remains simple enough to be
  2257.           useful to the newcomer or student.  The Quick Start Tutorial for
  2258.           The Programmer's Calculator begins below.  The In-Depth Reference
  2259.           Guide begins on page 40.
  2260.  
  2261.           The ASCII and Color Attribute Chart provides a wealth of
  2262.           information on the different ASCII characters, color attributes,
  2263.           monochrome attributes, and extended characters.  Now you can
  2264.           press a key instead of leaving your work to find a reference
  2265.           book.  The Quick Start Tutorial for The ASCII and Color
  2266.           Attributes Chart begins on page 53.  The In-Depth Reference Guide
  2267.           begins on page 55.
  2268.  
  2269.           After you try The Keystroke Reference Center you may ask yourself
  2270.           how you ever got along without it.  A programmer's dream!  BIOS
  2271.           scan codes and dBASE INKEY() values on screen at the touch of a
  2272.           key.  The Quick Start Tutorial for The Keystroke Reference Center
  2273.           begins on page 58.  The In-Depth Reference Guide begins on page
  2274.           61.
  2275.  
  2276.           The Screen Blanking and Disk Parking utility is available from
  2277.           any one of the attachments to The Programmer's Calculator.  The
  2278.           separate In-Depth Reference Guide on page 66 gives you all the
  2279.           information you need concerning the Screen Blanking and Disk
  2280.           Parking capability.
  2281.  
  2282.  
  2283.           The Quick Start Tutorial:
  2284.           =========================
  2285.  
  2286.           This Quick Start Tutorial is designed to familiarize you with the
  2287.           functions and capabilities of The Programmer's Calculator.
  2288.  
  2289.           Be sure that ProPak is resident in memory.  Type "PROPAK" <Enter>
  2290.           at the DOS prompt.  Once you are sure that ProPak is resident in
  2291.           memory you may activate, or pop up, the Calculator, by holding
  2292.           down the <Alt> key and pressing <LeftShift>.  This will bring up
  2293.           The Programmer's Calculator display.
  2294.  
  2295.  
  2296.           The Programmer's Calculator                             33 of 143
  2297.  
  2298.  
  2299.                        - Programmer's Productivity Pack 2.60 -
  2300.  
  2301.  
  2302.           As you can see, you have six outlined boxes making up The
  2303.           Programmer's Calculator display.  The boxes are: The Decimal Box;
  2304.           The Hexadecimal Box; The Binary Box; The Octal Box; The Program
  2305.           Information, Date and Time Box; and The Saved Values Box.
  2306.  
  2307.           If you look at the box titles you will see that the Decimal Box
  2308.           is highlighted on your screen.  This means that you are currently
  2309.           in Decimal format.  In other words, numbers are entered as
  2310.           Decimal numbers.  You will still be able to see the same values
  2311.           appear in each of the other numeric formats simultaneously.  The
  2312.           Signed heading is also highlighted.  This means you can enter
  2313.           numbers as positive or negative values.
  2314.  
  2315.           To enter numbers into The Programmer's Calculator, you can use
  2316.           the top row of number keys, or the numeric keypad.  ProPak does
  2317.           not care whether NumLock is set or not.  It is smart enough to
  2318.           know that if you press the <PgUp> key, you want it to enter the
  2319.           value "9", because that is the key that shares <PgUp>.
  2320.  
  2321.           The Programmer's Calculator will accept any digit from 0-9 in
  2322.           Decimal format.  In Hexadecimal format, the Calculator will
  2323.           accept any value from 0-9 and A-F.  In Binary Format the
  2324.           acceptable digits are 0 and 1.  In Octal Format the acceptable
  2325.           digits are 0-7.
  2326.  
  2327.           Common operations like addition, subtraction, multiplication, or
  2328.           division, are performed by pressing their corresponding key.
  2329.           Press <+> for addition, <-> for subtraction, <*> for
  2330.           multiplication, and either </> or <\> for division.
  2331.  
  2332.           Since we don't always enter our numbers correctly it is helpful
  2333.           to know how to clear values, delete digits, and even start from
  2334.           scratch all over again.  Use the <BackSpace> or <Delete> keys to
  2335.           delete a single digit at a time, or use <^E> to clear the current
  2336.           Entry.  Use <^A> to Clear All (to reset the whole Calculator).
  2337.           Remember, <^E> means Ctrl-E, Alt-E, or just plain "E", as
  2338.           explained on page 13.
  2339.  
  2340.           Let's start with a simple problem.  Type the following, watching
  2341.           the screen to see what happens:
  2342.  
  2343.              <5> <+> <5> <=>
  2344.  
  2345.           There you have it!  A Calculator can't get much easier to operate
  2346.           than that!
  2347.  
  2348.           A whole series of calculations can be performed before ever
  2349.           requesting a final result.  For instance, type the following:
  2350.  
  2351.              <5> <+> <7> <+> <2> <-> <1> <=>
  2352.  
  2353.  
  2354.  
  2355.           The Programmer's Calculator                             34 of 143
  2356.  
  2357.  
  2358.                        - Programmer's Productivity Pack 2.60 -
  2359.  
  2360.  
  2361.           As you entered the numbers you noticed that the values
  2362.           accumulated in the top value until you requested a final result
  2363.           by pressing <=>.  Then the answer appeared on the bottom line.  A
  2364.           final result can also be obtained by pressing <Enter> instead of
  2365.           <=>.  Type the following:
  2366.  
  2367.              <100> <-> <50> <-> <25> <+> <10> <Enter>
  2368.  
  2369.           Now let's try multiplication.  Type the following:
  2370.  
  2371.              <16> <*> <4> <*> <4> <=>
  2372.  
  2373.           Division works the same.  Type the following:
  2374.  
  2375.              <64> </> <2> <\> <2> <=>
  2376.  
  2377.           Since this is integer division you will not get any fractional
  2378.           answers.  As an example of this, type the following:
  2379.  
  2380.              <49> </> <10> <=>
  2381.  
  2382.           Ten will only go into 49 four times.  There is no floating
  2383.           decimal point or remainder given.  To get the remainder you would
  2384.           need to use the operation known as "Modulus" which is explained
  2385.           in the In-Depth Reference Guide (page 49).
  2386.  
  2387.           If you have been watching the screen closely you have noticed
  2388.           that even though you have only entered values in Decimal format
  2389.           the operations have been carried out simultaneously in each of
  2390.           the other numeric formats.
  2391.  
  2392.           Even after you have finished this tutorial you probably won't
  2393.           remember all of the features available within The Programmer's
  2394.           Calculator.  To help you remember, there is a built-in Quick
  2395.           Reference Menu.  To activate the Menu simply press <M>.
  2396.  
  2397.           If you have done any assembly language programming, then you are
  2398.           probably familiar with all of the abbreviations used in the Menu;
  2399.           such as SHL for Shift Left and ROR for Rotate Right, etc.
  2400.           However, if you are not familiar with these abbreviations, don't
  2401.           worry.  Every single Menu option is explained in the In-Depth
  2402.           Reference Guide (page 40).  Besides, you're going to get familiar
  2403.           with a few of them in just a minute.
  2404.  
  2405.           You don't have to bring up the Menu in order to execute a
  2406.           command.  The Menu exists solely as a quick reference tool to
  2407.           help you remember which keys perform which operations.  Once you
  2408.           have used the Calculator a few times you will find that many
  2409.           times you won't need the Menu at all.
  2410.  
  2411.  
  2412.  
  2413.  
  2414.           The Programmer's Calculator                             35 of 143
  2415.  
  2416.  
  2417.                        - Programmer's Productivity Pack 2.60 -
  2418.  
  2419.  
  2420.           When you press a key that corresponds to an operation the Menu
  2421.           will disappear and the action will be executed.  Pressing <Esc>
  2422.           makes the Menu disappear without executing any other action.  Try
  2423.           pressing <Esc>.
  2424.  
  2425.           Let's try one of these functions.  Enter the value "57" into the
  2426.           Calculator and press <M> to bring up the Menu.  Shift Left is
  2427.           executed by pressing <F3>.  We are going to shift the value left
  2428.           4 times.  Press <F3> once.  Each time you press <F3>, the value
  2429.           will be shifted left 1 bit position.  You can see this clearly by
  2430.           watching the Binary Box as you press <F3> three more times.
  2431.  
  2432.           Now we are going to shift it back to the right 4 times.  Type <M>
  2433.           to bring up the Menu.  Shift Right (SHR) is <^F3>.  Remember, "^"
  2434.           means <Ctrl>, <Shift>, or <Alt>.  Press <^F3> to shift the value
  2435.           to the right.  If you do this 4 times you will have the original
  2436.           value back.
  2437.  
  2438.           The Shift Arithmetic Left <F7> and Right <^F7> and the Rotate
  2439.           Left <F5> and Right <^F5> operations function the same way.  Each
  2440.           time you press the corresponding key, the value is shifted or
  2441.           rotated one bit position.  Try it a few times.  If these
  2442.           functions are new to you, perhaps you would like to take the time
  2443.           now to read Appendices A (page 124) and B (page 133) at the back
  2444.           of The User's Guide.  They should help clarify these operations
  2445.           for you.
  2446.  
  2447.           Rotate through the Carry Left <F6> and Right <^F6> operate a
  2448.           little differently.  The reason for this is that in order to
  2449.           properly retain the value of the carry flag during the rotate
  2450.           operation, we must do the entire operation in a single step.
  2451.           Let's try it.
  2452.  
  2453.           Enter any value you wish and press <F6>.  You will see a small
  2454.           window open asking you how many bit positions to rotate the
  2455.           value.  For this example, press <8> <Enter>, and watch the
  2456.           Calculator carry out your command.  To rotate back to the right
  2457.           press <^F6>.    Press <8> and <Enter> again and you have your
  2458.           original value back.
  2459.  
  2460.           Ok.  Let's move on to something new.  Press the <TAB> key a few
  2461.           times and watch the screen as you do.  As you can see, the <TAB>
  2462.           key moves you from one numeric format to the next in a clockwise
  2463.           direction.  If you were to press <Ctrl><Tab>, <Alt><Tab>, or
  2464.           <Shift><Tab> instead, you would move counterclockwise from one
  2465.           format to the next.
  2466.  
  2467.           Now, using the <TAB> key, return to Decimal format again.  A
  2468.           shortcut to switching numeric formats is to press the first
  2469.           letter of the format you wish to be in.  For instance, press <O>
  2470.           and you will be in Octal format, press <B> and you will be in
  2471.  
  2472.  
  2473.           The Programmer's Calculator                             36 of 143
  2474.  
  2475.  
  2476.                        - Programmer's Productivity Pack 2.60 -
  2477.  
  2478.  
  2479.           Binary format.  Now press <H> for Hexadecimal format.  When you
  2480.           are in Hexadecimal format, the letters A through F correspond to
  2481.           the hexadecimal values A through F.  Obviously, pressing <B> will
  2482.           not move you into Binary format, but will rather enter the value
  2483.           0B Hex (11 decimal).  So will <Shift><B> (upper case).  Try it.
  2484.           However, if you press <Ctrl><B> or <Alt><B> you will move to
  2485.           Binary format.  Just remember that in Hexadecimal format the
  2486.           letters A through F are numeric values.
  2487.  
  2488.           Get into Binary format now, using whichever method you prefer.
  2489.           <^C>, as you may have noticed on the Menu, operates the feature
  2490.           "Change Bits", ProPak's bit manipulation facility.  <C> or
  2491.           <Alt><C> brings up the Change Bits option as well (as explained
  2492.           on page 13).  The line above the 32 bit value in the Binary Box
  2493.           is highlighted.  There is a small arrow pointing to one of the
  2494.           bits.  You can move back and forth using the <Left> and <Right>
  2495.           arrow keys.  Try it.  The <Home> key takes you directly to the
  2496.           leftmost bit and the <End> key takes you directly to the
  2497.           rightmost bit.  When you are positioned over a bit that you want
  2498.           to change simply press the <Space> bar to toggle the bit.  See
  2499.           how it affects the values in the other numeric formats.  After
  2500.           you have changed the particular bit or bits that you wanted to
  2501.           change, press <Enter> to keep the changes, or press <Esc> to
  2502.           cancel the changes.  Pressing <Esc> will always get you out of
  2503.           the bit manipulation facility.
  2504.  
  2505.           Now, move back to Decimal format.  Once you are in the Decimal
  2506.           Box, press <C> again.  As you can see, this option is available
  2507.           from each of the four numeric formats.  When you are finished
  2508.           manipulating bits and press <Enter> or <Esc> you will be returned
  2509.           to the format you were in before.
  2510.  
  2511.           As you might have guessed, when you are in Hexadecimal format <C>
  2512.           is a value.  Therefore, you need to press <Ctrl><C> or <Alt><C>
  2513.           to activate the bit manipulation facility.
  2514.  
  2515.           To toggle the current value from positive to negative, or from
  2516.           negative to positive, simply press <^-> (<Ctrl><Minus>).  Enter a
  2517.           value.  Press <Ctrl><Minus>.  Press it again.  Press it again.
  2518.           In the Decimal format nothing changes, except the sign.  Watch
  2519.           what it's doing in the other numeric formats.
  2520.  
  2521.           The Signed mode allows positive and negative values.  The
  2522.           Unsigned mode does not.  Enter the positive value 256 in Decimal.
  2523.           To switch to Unsigned mode press <^T>.  That Toggles the sign
  2524.           mode.  Obviously you can't toggle the sign of the current value
  2525.           in Unsigned mode.  Try it.  Press <Ctrl><Minus>.
  2526.  
  2527.  
  2528.  
  2529.  
  2530.  
  2531.  
  2532.           The Programmer's Calculator                             37 of 143
  2533.  
  2534.  
  2535.                        - Programmer's Productivity Pack 2.60 -
  2536.  
  2537.  
  2538.           Wow!  4,294,967,040 sure doesn't look like 256 or -256!  We won't
  2539.           go into this now, but, if you read the section on "Range Of
  2540.           Values" (page 40) and "Signed And Unsigned Modes" (page 42) they
  2541.           will help to explain this phenomenon.
  2542.  
  2543.           How about saving, or storing, values for use later, and then
  2544.           inserting them back into your calculations?  Well, as the Menu
  2545.           shows, the <F9> key is used to save values, and <Ctrl><F9>,
  2546.           <Alt><F9>, or <Shift><F9> are used to insert the values back into
  2547.           a later calculation.
  2548.  
  2549.           You can use <^S> to Save a value if you don't like using a
  2550.           function key.  You can use <^I> to Insert a value instead of
  2551.           <^F9> if you prefer.
  2552.  
  2553.           Here's how it works.  First clear the Calculator with <^A>.
  2554.           Enter a value.  Press <F9>.  Since you have only one value
  2555.           present, ProPak knows which one you want to save and saves it
  2556.           automatically.  Now enter <+> and another value.  Press <F9>
  2557.           again.  Since you have more than one value present a window will
  2558.           open with a simple pick list asking you which one you want to
  2559.           save.  Like other moving bar Menus, simply use the arrow keys to
  2560.           highlight the value you wish to save and press <Enter> to save
  2561.           it.  Pressing <Esc> will cancel the save operation.
  2562.  
  2563.           Likewise, if all four memory slots are full, a pick list will
  2564.           appear asking you which one to overwrite.
  2565.  
  2566.           Now you are ready to Insert a saved value into the current
  2567.           calculation.  Press <^F9> or <^I>.  If only one memory slot has a
  2568.           value saved in it, that value is automatically inserted.  Since
  2569.           there is more than one saved value, a pick list will appear
  2570.           asking you which value to insert.  Pick one and press <Enter>.
  2571.           That's about as easy to use as you can get!
  2572.  
  2573.           What if you need to leave the computer for a few minutes to do
  2574.           something else?  Well, you will probably want to blank your
  2575.           screen to prevent it from getting screen burns as a result of
  2576.           having the same pixels lit for a long time.  You should also park
  2577.           your hard disk (or disks) in case something happens while you are
  2578.           gone.  All these things are available at the touch of a key!
  2579.  
  2580.           Press <^P> for Park and Blank.  Your screen will blank and a dim
  2581.           clock will appear (so you'll know that your computer is still
  2582.           on), and your hard disk (or disks) will also be parked on the
  2583.           last cylinder.
  2584.  
  2585.           By the way, this dim clock will never burn your screen because
  2586.           every 60 seconds it will move to another position.  This means
  2587.           that for every minute that a pixel is lit, it will be blank for
  2588.           over 3 hours!
  2589.  
  2590.  
  2591.           The Programmer's Calculator                             38 of 143
  2592.  
  2593.  
  2594.                        - Programmer's Productivity Pack 2.60 -
  2595.  
  2596.  
  2597.           To return to what you were doing when you come back to your
  2598.           computer simply press any key.
  2599.  
  2600.           What if you want to change the Hot Key that pops up the
  2601.           Calculator?  As you can see on the Menu, pressing <^Z> will
  2602.           enable you to change the Hot Key "on the fly".  We won't do it
  2603.           now, but this is how it's done.  Refer to the In-Depth Reference
  2604.           Guide (page 44) for complete information.
  2605.  
  2606.           Here is a feature that many people will find useful.  It is the
  2607.           ability to capture the screen image (including the Calculator,
  2608.           with or without the Menu) to a disk file.  To use this feature,
  2609.           simply press <Ctrl><Enter> or <Alt><Enter>.  The screen will be
  2610.           saved to disk.
  2611.  
  2612.           What if you pop up the Calculator and it covers up something on
  2613.           the screen that you need to refer to?  Well, just move the
  2614.           Calculator out of the way.
  2615.  
  2616.           To move the Calculator up or down simply hold down the <Alt> key
  2617.           and press the <Up> or <Down> arrows.  Each time you press
  2618.           <Alt><Up> or <Alt><Down> the Calculator will move one line up or
  2619.           down.  You can move quickly to the top or bottom of the screen
  2620.           using <Alt><PgUp> or <Alt><PgDn>.  When moving the display you
  2621.           must use <Alt> and a direction key.  <Shift> and <Ctrl> will not
  2622.           work here.  Don't feel constrained, though.  You can use <Home>
  2623.           instead of <PgUp> and <End> instead of <PgDn>.
  2624.  
  2625.           You can unload ProPak from memory right from within the
  2626.           Calculator.  Press <Alt><U>, <Alt><U> (be sure to press <Alt><U>
  2627.           twice).  Of course, <Ctrl><U>, <Ctrl><U> will also work.  A
  2628.           Message Window will open informing you whether it is safe or
  2629.           unsafe to unload.  Regardless of whether it's safe or not,
  2630.           pressing <Esc> will return you to the Calculator.  If it is, in
  2631.           fact, safe to unload, pressing any key other than <Esc> will
  2632.           unload ProPak from memory.
  2633.  
  2634.           Well, that completes the Quick Start Tutorial for The
  2635.           Programmer's Calculator.  After tinkering with it for a while,
  2636.           you will find that it is extremely powerful, flexible, and very
  2637.           easy to learn and use.
  2638.  
  2639.           You've covered a lot of ground already!  You know how to perform
  2640.           mathematical calculations and just about every low level bit
  2641.           manipulation you can think of in four numeric formats, as well as
  2642.           how to change the Hot Key, move the display, save and insert
  2643.           values, capture the screen to a file, toggle the sign, blank your
  2644.           screen and park your hard disk(s).  Congratulations!  We told you
  2645.           the Calculator would be easy to use!
  2646.  
  2647.  
  2648.  
  2649.  
  2650.           The Programmer's Calculator                             39 of 143
  2651.  
  2652.  
  2653.                        - Programmer's Productivity Pack 2.60 -
  2654.  
  2655.  
  2656.                     ---------------------------------------------
  2657.                      The Programmer's Calculator and Attachments
  2658.                     ---------------------------------------------
  2659.  
  2660.  
  2661.           The In-Depth Reference Guide:
  2662.           =============================
  2663.  
  2664.           The Programmer's Calculator that is built into ProPak is a very
  2665.           flexible and powerful Programmer's Calculator.  As a matter of
  2666.           fact, there are currently no Programmer's Calculators available
  2667.           (even hand-held types) that provide all the features available in
  2668.           the ProPak Programmer's Calculator.
  2669.  
  2670.           The following pages provide detailed information on the commands
  2671.           and operations available in this Programmer's Calculator, as well
  2672.           as helpful information concerning its use.
  2673.  
  2674.           The Range Of Values Available:
  2675.           ------------------------------
  2676.  
  2677.           The Programmer's Calculator provides full 32 bit (double word)
  2678.           values in four numeric formats and in both Signed and Unsigned
  2679.           modes.  The ranges of these values are as follows.
  2680.  
  2681.           In Signed mode:
  2682.  
  2683.              Decimal format:
  2684.  
  2685.                 -2,147,483,648 to +2,147,483,647
  2686.  
  2687.              Hexadecimal format:
  2688.  
  2689.                 8000 0000 to 7FFF FFFF
  2690.  
  2691.              Binary format:
  2692.  
  2693.                 10000000 00000000 00000000 00000000
  2694.                                           to
  2695.                 01111111 11111111 11111111 11111111
  2696.  
  2697.              Octal format:
  2698.  
  2699.                 20000000000 to 17777777777
  2700.  
  2701.  
  2702.  
  2703.  
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.           The Programmer's Calculator                             40 of 143
  2710.  
  2711.  
  2712.                        - Programmer's Productivity Pack 2.60 -
  2713.  
  2714.  
  2715.           In Unsigned mode:
  2716.  
  2717.              Decimal format:
  2718.  
  2719.                 0 to 4,294,967,295
  2720.  
  2721.              Hexadecimal format:
  2722.  
  2723.                 0000 0000 to FFFF FFFF.
  2724.  
  2725.              Binary format:
  2726.  
  2727.                 00000000 00000000 00000000 00000000
  2728.                                           to
  2729.                 11111111 11111111 11111111 11111111.
  2730.  
  2731.              Octal format:
  2732.  
  2733.                 000000000000 to 37777777777.
  2734.  
  2735.           The Programmer's Calculator Display:
  2736.           ------------------------------------
  2737.  
  2738.           Once ProPak is loaded into memory, The Programmer's Calculator is
  2739.           accessed by pressing its Hot Key.  The default Hot Key is
  2740.           <LeftShift><Ctrl>.  You can change the default Hot Key using
  2741.           PCustom.  Pressing the Hot Key will bring up The Programmer's
  2742.           Calculator display.
  2743.  
  2744.           The Programmer's Calculator display is designed to show you all
  2745.           the values in the four numeric formats simultaneously.  This
  2746.           feature is especially helpful to those who are just learning
  2747.           about other numeric bases.  It also helps you to get a feel for
  2748.           the relationship between the different numeric bases commonly
  2749.           used in the computer industry.
  2750.  
  2751.                (Due to space limitations and printer incompatibilities,
  2752.                 this figure appears only in the printed User's Guide.)
  2753.  
  2754.                       Figure 2: Programmer's Calculator Display
  2755.  
  2756.           In addition, the display tells you which numeric format you are
  2757.           currently in, whether you are in Signed or Unsigned mode, whether
  2758.           there is any mathematical operation pending, what values (if any)
  2759.           are saved, the version of ProPak that you are using, the date,
  2760.           and the time.
  2761.  
  2762.           The display is also designed to enable you to see whatever was on
  2763.           the screen before the Calculator was popped up.  This is
  2764.           accomplished by moving the Calculator display to uncover what is
  2765.           underneath it, whenever the need arises.
  2766.  
  2767.  
  2768.           The Programmer's Calculator                             41 of 143
  2769.  
  2770.  
  2771.                        - Programmer's Productivity Pack 2.60 -
  2772.  
  2773.  
  2774.           The Quick Reference Menu:
  2775.           -------------------------
  2776.  
  2777.           A Quick Reference Menu is available to refer to while learning to
  2778.           use the Calculator, or to access operations that may not be used
  2779.           often enough to memorize.
  2780.  
  2781.                (Due to space limitations and printer incompatibilities,
  2782.                 this figure appears only in the printed User's Guide.)
  2783.  
  2784.                          Figure 3: The Quick Reference Menu
  2785.  
  2786.           To open the Menu press <^M>.  Of course, as explained on page 13,
  2787.           you can use <M>, <Ctrl><M>, <Alt><M> or <Shift><M>.
  2788.  
  2789.           The Menu lists all of the functions available in The Programmer's
  2790.           Calculator.  There are, however, more keystrokes than those
  2791.           listed here to operate each of the functions.
  2792.  
  2793.           Signed And Unsigned Modes:
  2794.           --------------------------
  2795.  
  2796.           The Programmer's Calculator gives you the ability to choose
  2797.           whether the values will be treated as Signed or Unsigned.  Signed
  2798.           values may be negative or positive.  Unsigned values may only be
  2799.           positive.  This allows the Calculator to much more closely mimic
  2800.           the actual operations available at the assembly language level.
  2801.  
  2802.           Refer to "The Range of Values Available" (page 40) to see what
  2803.           the numeric limitations are in each of the modes and formats.
  2804.  
  2805.           To toggle (switch back and forth) between Signed and Unsigned
  2806.           modes use <^T>.
  2807.  
  2808.           If you switch into Unsigned mode while you have a negative number
  2809.           in the display the Calculator will treat it according to its
  2810.           value in Binary format.  You will go from a small, negative value
  2811.           to a huge, positive value instantly.  If this is unclear to you,
  2812.           refer to Appendix B, "Two's Complement Numbers" (page 133).
  2813.  
  2814.  
  2815.           The Four Numeric Formats:
  2816.           -------------------------
  2817.  
  2818.           The Programmer's Calculator provides you with four numeric
  2819.           formats through which values may be entered.  Values can only be
  2820.           entered in the format which is current (the format which is
  2821.           highlighted on the display).  However, any values which are
  2822.           entered will always be displayed in all four formats
  2823.           simultaneously.  Values may be entered as either decimal,
  2824.  
  2825.  
  2826.  
  2827.           The Programmer's Calculator                             42 of 143
  2828.  
  2829.  
  2830.                        - Programmer's Productivity Pack 2.60 -
  2831.  
  2832.  
  2833.           hexadecimal, binary, or octal, depending upon which format is
  2834.           current.
  2835.  
  2836.           The Programmer's Calculator will only accept values that are
  2837.           relevant to the current format.  In Decimal it will accept 0-9.
  2838.           In Hexadecimal it will accept 0-9 and A-F.  In Binary it will
  2839.           accept 0 or 1.  In Octal it will accept 0-7.  Attempting to enter
  2840.           a value which is not a part of the digit set for a particular
  2841.           format will cause The Programmer's Calculator to beep and ignore
  2842.           the keystroke.
  2843.  
  2844.           Switching formats is easy.  There are several ways you can do it.
  2845.  
  2846.           <Tab>    The <Tab> key switches to the next numeric format
  2847.                    clockwise in the display.  It will go from Decimal to
  2848.                    Hexadecimal to Binary to Octal and back to Decimal.
  2849.  
  2850.           <^Tab>   Pressing <Shift><Tab>, <Alt><Tab> or <Ctrl><Tab> moves
  2851.                    backwards, or counterclockwise, through the display.
  2852.  
  2853.           You may also switch formats using the first letter of the numeric
  2854.           format.
  2855.  
  2856.           <^D>  switches to Decimal format.
  2857.  
  2858.           <^H>  switches to Hexadecimal format.
  2859.  
  2860.           <^B>  switches to Binary format.
  2861.  
  2862.           <^O>  switches to Octal format.
  2863.  
  2864.           When you are in Hexadecimal format, the <B> and <D> keys
  2865.           represent the hexadecimal values 0B Hex (11) and 0D Hex (13), so
  2866.           be sure to use either the <Alt> or <Ctrl> key in conjunction with
  2867.           the letter to switch to Binary or Decimal format.
  2868.  
  2869.           The Calculator Commands:
  2870.           ------------------------
  2871.  
  2872.           When you are in The Programmer's Calculator you have all of these
  2873.           commands at your disposal.  They are all listed on the Menu, but
  2874.           the Menu does not have to be visible for you to use the commands.
  2875.  
  2876.           Capture Screen to Disk - To capture the current screen to disk
  2877.           press <Ctrl><Enter> or <Alt><Enter>.  This will copy the contents
  2878.           of the screen to a disk file that you name in the current
  2879.           subdirectory.  A disk file with that name may or may not already
  2880.           exist.  If a file with that name exists, you will be asked if you
  2881.           want to overwrite it.  ProPak will automatically give the file an
  2882.           .SCN extension, unless you change the default using PCustom.  The
  2883.           screen will be filtered, partially filtered, or not filtered,
  2884.  
  2885.  
  2886.           The Programmer's Calculator                             43 of 143
  2887.  
  2888.  
  2889.                        - Programmer's Productivity Pack 2.60 -
  2890.  
  2891.  
  2892.           according to the options you specify with PCustom, or "on the
  2893.           fly" with the "Modify Options" choice of The Control Center.  For
  2894.           more detailed information refer to the In-Depth Reference Guide
  2895.           on page 96.
  2896.  
  2897.           Change Hot Key - To change the Hot Key that activates the
  2898.           Calculator, press <^Z>.  This will open a window asking you to
  2899.           press the key combination you would like to use to pop up the
  2900.           Calculator.  If you press a key combination that is already in
  2901.           use for another pop-up, such as The Control Center, it will beep
  2902.           and wait for you to enter another key.  Also, if you press a
  2903.           normal typing key like <A> or <B> or <F5>, that is used often,
  2904.           ProPak will beep and wait for you to enter a different key.  You
  2905.           should always use a combination of at least two keys.  Either
  2906.           <Shift>, <Alt>, or <Ctrl> should always be one of the keys in the
  2907.           key combination used as a Hot Key.  ProPak will not accept a Hot
  2908.           Key made up of two modifier keys, either, "on the fly".  You
  2909.           cannot enter <Alt><LeftShift> or any other such combination as a
  2910.           Hot Key from within the program.  That is why we didn't have you
  2911.           change Hot Keys in The Quick Start Tutorial.  You could not have
  2912.           gone back to the default <Alt><LeftShift> without using PCustom.
  2913.  
  2914.           If you decide not to change the Hot Key after having invoked this
  2915.           option, press ^@.  You could also view this as <Ctrl><TopRow2>
  2916.           since the shift key need not be pressed.  The Hot Key will remain
  2917.           unchanged and you will be able to return to the Calculator by
  2918.           pressing any key.
  2919.  
  2920.           If you are using ProSwap, you may also change the hot key for the
  2921.           pop-up DOS shell through this option.
  2922.  
  2923.           TIP:
  2924.              Some Hot Keys are more effective than others.  In order to
  2925.              determine which Hot Keys are most effective, keep in mind how
  2926.              most software views your keyboard.  Most software ignores
  2927.              unrecognized keystrokes.  This is important because many of
  2928.              the keystrokes they don't recognize, they also don't pass on
  2929.              to other programs that may be present.  Using partial key
  2930.              combinations like <Alt><LeftShift> or <Ctrl><Alt> will many
  2931.              times circumvent this problem.  Since most programs expect
  2932.              something along with these modifier keys they will not take
  2933.              any action on key combinations such as these.  Therefore,
  2934.              ProPak will be able to see its Hot Key regardless of how your
  2935.              other programs deal with unrecognizable key combinations.
  2936.  
  2937.              Of course, ProPak also expects something other than modifier
  2938.              keys (like <Alt><LeftShift>) when it is waiting for keyboard
  2939.              input.  To provide you with a means of selecting these
  2940.              modifier key combinations as Hot Keys, PCustom presents them
  2941.              in a simple pop up menu from which you may choose.
  2942.  
  2943.  
  2944.  
  2945.           The Programmer's Calculator                             44 of 143
  2946.  
  2947.  
  2948.                        - Programmer's Productivity Pack 2.60 -
  2949.  
  2950.  
  2951.           For more information on hot keys containing only modifier keys
  2952.           refer to page 69.
  2953.  
  2954.           Change Bits - This very handy bit manipulation facility enables
  2955.           you to toggle the setting of any bit or bits in a value.  You do
  2956.           not have to be in Binary format to use this feature.  If you are
  2957.           not in Binary format when you invoke the Change Bits facility you
  2958.           will be placed temporarily in Binary format.  Upon completion you
  2959.           will be returned to whatever format you were in previously.
  2960.  
  2961.           The Change Bits feature is invoked by pressing <^C>.  Of course,
  2962.           if you are in Hexadecimal format <C> or <Shift><C> is a value, so
  2963.           you would need to use <Alt><C> or <Ctrl><C>.
  2964.  
  2965.           Once invoked, use the <Left> and <Right> arrow keys to move back
  2966.           and forth until the arrow is pointing at the bit you want to
  2967.           toggle.  You can also use the <Home> key to go to the leftmost
  2968.           bit and the <End> key to go the rightmost bit.  Pressing <Space>
  2969.           toggles the bit.  You can toggle the bit on or off as many times
  2970.           as you wish.  You can change as many bits as you wish.  The
  2971.           changes you make here are reflected instantly in each of the
  2972.           other numeric formats.  When you are finished, pressing <Enter>
  2973.           saves your changes, while pressing <Esc> cancels your changes.
  2974.  
  2975.           Change Sign - This is not the same as "Toggle Sign Mode" which
  2976.           changes the overall mode of the Calculator from Signed to
  2977.           Unsigned or from Unsigned to Signed.  The "Change Sign" operation
  2978.           converts the current value from negative to positive, or from
  2979.           positive to negative.    This operation is performed by pressing
  2980.           <Ctrl><Minus>.  You may use either the top row minus key, or the
  2981.           numeric keypad minus key.
  2982.  
  2983.           This is one case where you must use <Ctrl> with <Minus>.  <Alt>
  2984.           and <Shift> will not activate it.  Changing the sign will not
  2985.           function as you expect if you are in Unsigned mode.
  2986.  
  2987.           Clear All - Press <^A>.  This command resets the Calculator and
  2988.           redraws the display.  All values, including those which are saved
  2989.           in memory slots, will be reset to zero.  When you are in
  2990.           Hexadecimal format the <A> key corresponds to the value 0A Hex
  2991.           (10).  Therefore, to execute the Clear All command be sure to use
  2992.           either <Alt><A> or <Ctrl><A>.
  2993.  
  2994.           Clear Entry - Press <E>, <Alt><E>, <Shift><E>, or <Ctrl><E>.
  2995.           This command resets the current value and the pending operation
  2996.           (Add, Subtract, etc.).  If you accidentally enter the wrong value
  2997.           you can delete one digit at a time using <Del> or <BackSpace>.
  2998.           If, however, you accidentally enter the wrong mathematical
  2999.           operation you would use the Clear Entry command.  The Clear Entry
  3000.           command will affect only the current value, not the intermediate
  3001.           value (the top value).  Since <E> and <Shift><E> correspond to a
  3002.  
  3003.  
  3004.           The Programmer's Calculator                             45 of 143
  3005.  
  3006.  
  3007.                        - Programmer's Productivity Pack 2.60 -
  3008.  
  3009.  
  3010.           value in hexadecimal be sure to use <Alt><E> or <Ctrl><E> when in
  3011.           the Hexadecimal format.
  3012.  
  3013.           Insert a Value - This command takes a value that was previously
  3014.           saved to one of the Calculator's four memory slots and inserts it
  3015.           into the current value.  You can invoke it in two different ways.
  3016.           Either press <^I>, or, as listed on the Menu, press <^F9>.
  3017.           Inserted values are always inserted into the current value.
  3018.           Inserting the value does not remove it from the memory slot.  You
  3019.           can insert the same value many times.
  3020.  
  3021.           If more than one memory slot contains a non zero value ProPak
  3022.           will ask you which value to insert.  A pick list will appear with
  3023.           one of the four memory slots highlighted.  The pick list window
  3024.           will always display the values in decimal.  Use the <Up> and
  3025.           <Down> arrow keys to select the proper value and press <Enter>.
  3026.  
  3027.           Park Disk(s) and Blank Screen - To blank the screen and park your
  3028.           hard disk (or disks) simply press <^P>.  This will blank the
  3029.           screen and display a clock.  The clock will move every 60
  3030.           seconds.  When the screen is initially blanked, your hard disk
  3031.           (if present) will also be "parked" on the last cylinder of the
  3032.           drive.  If you have two hard disks, both will be parked.  Parking
  3033.           simply means that the read/write heads will be positioned over
  3034.           the last cylinder.  This will not prevent other programs from
  3035.           "unparking" the disk, but if no other programs are active the
  3036.           disk will remain parked as long as the screen is blanked.  The
  3037.           hard disk parking option may be disabled with PCustom, if
  3038.           desired.  Pressing any key "unblanks" the screen and returns you
  3039.           to the Calculator.
  3040.  
  3041.           Quit the Calculator - To exit from the Calculator simply press
  3042.           <Esc>.  If you are using ProPak or ProSwap, <Esc> will quit the
  3043.           current pop-up, but ProPak will remain in memory ready to be
  3044.           called up again when needed.  If you are using ProSwap in stand-
  3045.           alone mode, <Esc> will quit the program and return you to DOS.
  3046.  
  3047.           Quitting the Calculator will not undo any customizing that you
  3048.           have done "on the fly", using either The Programmer's Calculator
  3049.           or The Control Center (in ProPak only).  Only unloading from
  3050.           memory or turning off the computer will undo your changes.
  3051.           Customizing done with PCustom is not affected either way since it
  3052.           is written to disk.
  3053.  
  3054.           Save a Value - This is the companion operation to Insert a Value.
  3055.           To save a value to one of the Calculator's four memory slots,
  3056.           press <^S>,  or, as listed on the Menu, <F9>.  The Save function
  3057.           operates very intuitively.  If there is only one value present it
  3058.           will be saved to the first available memory slot.
  3059.  
  3060.  
  3061.  
  3062.  
  3063.           The Programmer's Calculator                             46 of 143
  3064.  
  3065.  
  3066.                        - Programmer's Productivity Pack 2.60 -
  3067.  
  3068.  
  3069.           If more than one value is present, a pick list will appear and
  3070.           ProPak will ask you which one to save.  The pick list window will
  3071.           always display the value in decimal.  However, the Saved Values
  3072.           Box always displays the saved values in the current numeric
  3073.           format.  You choose by moving the highlight bar with the <Up> or
  3074.           <Down> arrow key until it highlights the correct value.  Press
  3075.           <Enter> and it is saved.  If all the memory slots are filled, a
  3076.           pick list will appear and ProPak will ask you which one to
  3077.           overwrite.  Again, use the arrow keys and <Enter> to select.
  3078.  
  3079.           A value that is saved to memory stays in that memory slot even if
  3080.           it is inserted into the current value.  This lets you use that
  3081.           same value repeatedly.  Pressing <^A> clears all values in the
  3082.           Calculator, including those saved in the memory slots.
  3083.  
  3084.           Screen Refresh - <^R> will redraw the screen.  The Screen Refresh
  3085.           command will not change any values.  It will simply redraw the
  3086.           Calculator display should the need ever arise.
  3087.  
  3088.           Toggle Sign Mode - To toggle between Signed and Unsigned modes
  3089.           press <^T>.  This will change the way the values are treated
  3090.           during calculations and display.  Signed values may be negative
  3091.           or positive, whereas Unsigned values may only be positive.  See
  3092.           "The Range Of Values Available" (page 40) if you want to know how
  3093.           this affects numeric ranges.
  3094.  
  3095.           Unload from Memory - To unload ProPak from memory press <Alt><U>,
  3096.           <Alt><U> (<Alt><U> twice in a row).  You may also use <Ctrl><U>,
  3097.           <Ctrl><U>.  ProPak will first check to see if it is safe to
  3098.           unload.  If it is in fact safe it will give you a chance to press
  3099.           <Esc> to return to the Calculator, or any other key to actually
  3100.           unload ProPak from memory.  This is different than quitting the
  3101.           Calculator using <Esc>.  Pressing <Esc> returns you to DOS, or to
  3102.           whatever program you were in when you invoked ProPak, but it
  3103.           leaves ProPak in memory, ready to be called again.  If you unload
  3104.           ProPak from memory you would have to load ProPak again before
  3105.           using it.
  3106.  
  3107.           When ProSwap is run in stand-alone (multitasking) mode, the
  3108.           unload command functions exactly like pressing <Esc>, it returns
  3109.           you to DOS.
  3110.  
  3111.           The Mathematical Operations:
  3112.           ----------------------------
  3113.  
  3114.           All mathematical operations are carried out by entering a value,
  3115.           pressing the key corresponding to an operation, entering another
  3116.           value, and pressing <Enter> or <=> to request a final result.  A
  3117.           whole series of calculations can be performed before requesting a
  3118.           final result.
  3119.  
  3120.  
  3121.  
  3122.           The Programmer's Calculator                             47 of 143
  3123.  
  3124.  
  3125.                        - Programmer's Productivity Pack 2.60 -
  3126.  
  3127.  
  3128.           In The Programmer's Calculator, the top value in the display is
  3129.           called the "Intermediate Value", the middle value (where the
  3130.           cursor is positioned) is the "Current Value", and the lower value
  3131.           is the "Final Result".  Regardless of which numeric format you
  3132.           are using, values are always entered into the Current Value (the
  3133.           middle number).
  3134.  
  3135.               |---------------------
  3136.               |      Decimal      |
  3137.               |                 5 | <-- Intermediate Value
  3138.               |ADD              5 | <-- Current Value
  3139.               |     ------------- |
  3140.               |                10 | <-- Final Result
  3141.               |---------------------
  3142.                             Figure 4: Decimal Box Display
  3143.  
  3144.           If you do a series of calculations without requesting a final
  3145.           result, the Calculator performs the operation and updates the
  3146.           value in the Intermediate Value slot.  That way you can see where
  3147.           your calculations have brought you so far, the current value
  3148.           entered, and the mathematical function to be performed.  Also, a
  3149.           final result is not erased until you request another final result
  3150.           or Clear All (^A).  This keeps the result of a prior computation
  3151.           available without having to store it to a memory slot.
  3152.  
  3153.           By the way, it does not matter whether or not NumLock is set.
  3154.           The numeric keypad can be used with or without NumLock set.
  3155.           Since ProPak modifies the BIOS keyboard interrupts it is able to
  3156.           detect all the numeric keypad keys (including the center or 5
  3157.           key) regardless of the status of NumLock.
  3158.  
  3159.           All of the available mathematical operations are explained in
  3160.           detail below.
  3161.  
  3162.           Add - Addition is chosen by pressing <+> (Plus).  You may use the
  3163.           top row <Plus> key or the numeric keypad <Plus> key.
  3164.  
  3165.           Subtract - Subtraction is chosen by pressing <-> (Minus).  You
  3166.           may use the top row <Minus> key or the numeric keypad <Minus>
  3167.           key.
  3168.  
  3169.           Multiply - Multiplication is chosen by pressing the <*> key.  The
  3170.           asterisk key can be either the top row asterisk or the asterisk
  3171.           that shares the <PrtSc> key.  On 101/102 key enhanced keyboards
  3172.           there is a separate numeric keypad asterisk which can also be
  3173.           used.
  3174.  
  3175.           Divide - Integer division is performed using the </> (Slash) or
  3176.           <\> (Backslash) key.  This is integer division, which means that
  3177.           there are no fractional answers or decimal points.  It does not
  3178.           give a remainder, either.  To obtain the remainder you would need
  3179.  
  3180.  
  3181.           The Programmer's Calculator                             48 of 143
  3182.  
  3183.  
  3184.                        - Programmer's Productivity Pack 2.60 -
  3185.  
  3186.  
  3187.           to use Modulus.  Also, since Division (DIV) is the logical
  3188.           counterpart to Modulus (MOD), which uses the <F4> key, Division
  3189.           may also be performed by using <^F4>.
  3190.  
  3191.           Modulus (Remainder) - Modulus (MOD) is chosen by pressing <F4>.
  3192.           Modulus returns the remainder of a division operation.  Modulus
  3193.           works by dividing the intermediate (top) value by the current
  3194.           (middle) value, and returning the remainder of the division (or
  3195.           zero if it divided evenly).
  3196.  
  3197.           Show Result - Obtaining a result is done by pressing either the
  3198.           <Enter> or the <=> (Equals) key.  This displays the final result
  3199.           of the calculation.  If no calculation was entered, that is, if
  3200.           the only value present is the current value, the result will
  3201.           equal the current value.
  3202.  
  3203.           The final result will remain displayed until another final result
  3204.           is requested.  This is very handy when you need to refer to the
  3205.           value later, but don't want to save it to a memory slot.
  3206.  
  3207.           Another thing that happens when a final result is requested is
  3208.           that the current and intermediate values are automatically reset
  3209.           to zero internally.  However, the screen will still display the
  3210.           old values until any other key is pressed.  The reason for this
  3211.           is that The Programmer's Calculator does its best to display as
  3212.           much useful information as possible for as long as possible.
  3213.  
  3214.           Delete Digit - Use the <BackSpace> or <Del> keys to delete one
  3215.           digit at a time from the current value.  If you need to change
  3216.           too many digits in the current value, or if what you need to
  3217.           change is the mathematical operation, use Clear Entry (^E)
  3218.           instead.
  3219.  
  3220.           Logical and Bit Manipulation Operations:
  3221.           ----------------------------------------
  3222.  
  3223.           If you are new to low level bit manipulation instructions such as
  3224.           AND, OR, XOR, NOT, etc., then please refer to Appendix A (page
  3225.           124) which explains each operation in detail.
  3226.  
  3227.           AND - AND is selected by pressing the <F1> key.  AND performs a
  3228.           logical AND on two values.  It uses the intermediate value (top
  3229.           value) and the current value (middle value).  It will return a
  3230.           value of 1 whenever both values have a 1 in the same bit
  3231.           position.
  3232.  
  3233.           NOT - NOT is selected by pressing <^F1>.  NOT performs a logical
  3234.           NOT operation on the current value.  NOT is the same as
  3235.           performing a "one's complement".  It complements each bit in a
  3236.           value by converting all 1's to 0's and all 0's to 1's.  The best
  3237.  
  3238.  
  3239.  
  3240.           The Programmer's Calculator                             49 of 143
  3241.  
  3242.  
  3243.                        - Programmer's Productivity Pack 2.60 -
  3244.  
  3245.  
  3246.           way to see this is to watch the Binary Box as you perform the
  3247.           operation.
  3248.  
  3249.           OR - OR is chosen by pressing <F2>.  OR performs a logical OR
  3250.           operation, ORing the intermediate value with the current value.
  3251.           It will return a value of 1 wherever either or both of the values
  3252.           have a 1 in that bit position.
  3253.  
  3254.           XOR - XOR is selected by pressing <^F2>.  XOR performs a logical
  3255.           eXclusive OR operation, XORing the intermediate value with the
  3256.           current value.  It will return a value of 1 wherever either, but
  3257.           not both, values have a 1 in that bit position.
  3258.  
  3259.           Shift Left - Shift Left (SHL) is selected by pressing <F3>.
  3260.           Shift Left affects only the current value by shifting it left one
  3261.           bit position each time <F3> is pressed.  This has the same effect
  3262.           as multiplying by 2.
  3263.  
  3264.           Shift Right - Shift Right (SHR) is chosen by pressing <^F3>.
  3265.           Shift Right affects only the current value by shifting it right
  3266.           one bit position each time the command is invoked.  This has the
  3267.           same effect as dividing by 2.
  3268.  
  3269.           Rotate Left - Rotate Left (ROL) is chosen by pressing <F5>.
  3270.           Rotate Left affects only the current value.  Rotate Left
  3271.           "rotates" the value left by one bit position each time <F4> is
  3272.           pressed.  In rotation the bit that "falls off" one end of the
  3273.           value is inserted into the other end.  This can be more clearly
  3274.           visualized by watching the Binary Box as the operation is
  3275.           performed.
  3276.  
  3277.           Rotate Right - Rotate Right (ROR) is chosen by pressing <^F5>.
  3278.           Like Rotate Left, Rotate Right affects only the current value.
  3279.           The value will be rotated to the right by one bit position each
  3280.           time the Rotate Right command is invoked.  The bit that "falls
  3281.           off" the right end is reinserted on the left side.
  3282.  
  3283.           Rotate through the Carry Left - Rotate through the Carry Left
  3284.           (RCL) is chosen by pressing <F6>.  RCL affects only the current
  3285.           value.  The RCL operation is similar to the ROL (Rotate Left)
  3286.           operation in that it "rotates" the value by a certain number of
  3287.           bit positions.  The difference between RCL and ROL lies in the
  3288.           fact that with RCL the bit that "falls off" one end of a value is
  3289.           inserted into the carry flag and on the next rotate the bit that
  3290.           is stored in the carry flag is rotated into the other end of the
  3291.           value.  This can be more clearly seen by watching the Binary Box
  3292.           as this operation is executed.
  3293.  
  3294.  
  3295.  
  3296.  
  3297.  
  3298.  
  3299.           The Programmer's Calculator                             50 of 143
  3300.  
  3301.  
  3302.                        - Programmer's Productivity Pack 2.60 -
  3303.  
  3304.  
  3305.           Unlike the other shift and rotate operations that move the value
  3306.           by one bit position each time they are invoked, RCL asks you how
  3307.           many bit positions to rotate the value.  This is because the
  3308.           value of the carry flag must be preserved between each rotation.
  3309.  
  3310.           If this is difficult to visualize, Appendix A (page 124) provides
  3311.           a detailed explanation, complete with a diagram.
  3312.  
  3313.           Rotate through the Carry Right - Rotate through the Carry Right
  3314.           (RCR) is chosen by pressing <^F6>.  RCR functions exactly like
  3315.           RCL except that the value is rotated right instead of left.
  3316.  
  3317.           Shift Arithmetic Left - Shift Arithmetic Left (SAL) is chosen by
  3318.           pressing the <F7> key.  Shift Arithmetic Left (SAL) is especially
  3319.           useful when using Binary Coded Decimal (BCD) values at the
  3320.           assembly language level.  SAL is very similar to the more
  3321.           commonly used Shift Left (SHL) instruction.  The major difference
  3322.           between the two lies in the fact that SAL preserves the sign of
  3323.           the value throughout the shift operation.  You could think of the
  3324.           high bit as being shifted into itself.  The best way to see this
  3325.           in action is to watch the Binary Box as you execute the
  3326.           instruction.
  3327.  
  3328.           Shift Arithmetic Right - Shift Arithmetic Right (SAR) is chosen
  3329.           by pressing <^F7>.  SAR shifts the current value right one bit
  3330.           position each time it is invoked, but the value of the high bit
  3331.           (the sign bit) is preserved.
  3332.  
  3333.           Exchange Words - Exchange words (XCHG DW) is activated by
  3334.           pressing <F8>.  Exchange words affects only the current value.
  3335.           This operation swaps the two low order words in the current
  3336.           value.
  3337.  
  3338.           Exchange Double Words - Exchange Double Words (XCHG DD) is chosen
  3339.           by pressing <^F8>.  Exchange Double Words affects the current
  3340.           value by swapping the low and high order double words.  The best
  3341.           way to visualize this operation is to watch either the Binary or
  3342.           Hexadecimal Box as you execute the instruction.
  3343.  
  3344.           Moving The Calculator's Display:
  3345.           --------------------------------
  3346.  
  3347.           The Programmer's Calculator is designed to let you see as much of
  3348.           the screen you were working on as possible.  However, the
  3349.           Calculator may cover up exactly what you most need to see.  To
  3350.           move the Calculator's display, use the following commands:
  3351.  
  3352.           Move Up - <Alt><Up>
  3353.  
  3354.           Move Down - <Alt><Down>
  3355.  
  3356.  
  3357.  
  3358.           The Programmer's Calculator                             51 of 143
  3359.  
  3360.  
  3361.                        - Programmer's Productivity Pack 2.60 -
  3362.  
  3363.  
  3364.           Move to Top - <Alt><PgUp> or <Alt><Home>
  3365.  
  3366.           Move to Bottom - <Alt><PgDn> or <Alt><End>
  3367.  
  3368.           Going To The Attachments:
  3369.           -------------------------
  3370.  
  3371.           Attachments are tools in the Programmer's Productivity Pack that
  3372.           are accessed through other tools.  There are two attachments to
  3373.           The Programmer's Calculator.  In other words, they are reached
  3374.           from the Calculator.  These are two commands we have not looked
  3375.           at yet.
  3376.  
  3377.           The Keystroke Reference Center - <F10> is marked "KeyRef".  This
  3378.           is the command that invokes The Keystroke Reference Center.  This
  3379.           attachment shows you the BIOS Keyboard Status Bytes, and a wealth
  3380.           of other information.  Rather than explain it here, we suggest
  3381.           that you go on to The Quick Start Tutorial (page 58) and The In-
  3382.           Depth Reference Guide (page 61) for The Keystroke Reference
  3383.           Center.
  3384.  
  3385.           There is one point that should be covered here that pertains to
  3386.           both attachments.  Once you have moved to the attachment, you
  3387.           must to use <Alt><Esc> to return to The Programmer's Calculator.
  3388.           If you use <Esc> you will return to the DOS prompt, or wherever
  3389.           you were when you popped up ProPak (or ProSwap).  This is not a
  3390.           bug, it's meant to save you time.  Now, whenever you press the
  3391.           Hot Key for the Calculator you will go directly to the
  3392.           attachment.  ProPak figures that if that's where you were last,
  3393.           that's probably where you want to be now.
  3394.  
  3395.           The ASCII and Color Attribute Chart - <^F10> (Either <Shift>,
  3396.           <Alt>, or <Ctrl> with <F10>) is marked ASCII.  This is the
  3397.           command that invokes The ASCII and Color Attribute Chart.  This
  3398.           is the subject of the next Quick Start Tutorial.
  3399.  
  3400.  
  3401.  
  3402.  
  3403.  
  3404.  
  3405.  
  3406.  
  3407.  
  3408.  
  3409.  
  3410.  
  3411.  
  3412.  
  3413.  
  3414.  
  3415.  
  3416.  
  3417.           The Programmer's Calculator                             52 of 143
  3418.  
  3419.  
  3420.                        - Programmer's Productivity Pack 2.60 -
  3421.  
  3422.  
  3423.                         -------------------------------------
  3424.                          The ASCII and Color Attribute Chart
  3425.                         -------------------------------------
  3426.  
  3427.  
  3428.           The Quick Start Tutorial
  3429.           =========================
  3430.  
  3431.           Load ProPak into memory and press the Hot Key (<Alt><LeftShift>)
  3432.           for The Programmer's Calculator.  When the Calculator display
  3433.           pops up, press <M> to bring up the Menu.  The command <^F10> is
  3434.           marked ASCII.:
  3435.  
  3436.           Pressing <^F10> closes the Calculator and opens The ASCII and
  3437.           Color Attribute Chart attachment.
  3438.  
  3439.           There is a lot more to this chart than can fit on one screen,
  3440.           regardless of the monitor you have.  That is why the most
  3441.           important commands for you to learn are the ones that move you
  3442.           around the chart.
  3443.  
  3444.              To scroll up one line at a time press <Up> Arrow.
  3445.  
  3446.              To scroll down one line at a time press <Down> Arrow.
  3447.  
  3448.              To scroll up a screenful at a time press <PgUp>.
  3449.  
  3450.              To scroll down a screenful at a time press <PgDn>.
  3451.  
  3452.              To go directly to the beginning of the chart press <Home> or
  3453.              <Ctrl><PgUp>.
  3454.  
  3455.              To go directly to the end of the chart press <End> or
  3456.              <Ctrl><PgDn>.
  3457.  
  3458.              To go directly to the middle of the chart press <5> on the
  3459.              numeric keypad.
  3460.  
  3461.           Why not take a little time and just explore your new reference
  3462.           chart?
  3463.  
  3464.           The information on the chart is self-explanatory, but, in case
  3465.           something isn't clear it is all explained in the In-Depth
  3466.           Reference Guide that follows this tutorial (page 55).
  3467.  
  3468.           Several of the commands you learned in the Calculator work in The
  3469.           ASCII Chart, too.  Remember how to capture a screen to disk?  It
  3470.           works exactly the same in The ASCII Chart.  Press <Ctrl><Enter>
  3471.           (or <Alt><Enter>).  Give the file a name and ProPak saves it to
  3472.           disk for you with an .SCN extension.
  3473.  
  3474.  
  3475.  
  3476.           ASCII and Color Attribute Chart                         53 of 143
  3477.  
  3478.  
  3479.                        - Programmer's Productivity Pack 2.60 -
  3480.  
  3481.  
  3482.           If you need to leave your computer for a while and want to blank
  3483.           the screen and park the hard disk (or disks), just press <^P>.
  3484.           The screen will blank and display a clock.  Your hard disk (or
  3485.           disks) are now parked over the last cylinder.  Any key restores
  3486.           the display when you return.
  3487.  
  3488.           Press <Esc>.  You have left The ASCII Chart and are back at the
  3489.           DOS prompt, or wherever you were when you popped up The
  3490.           Programmer's Calculator.  Now press <LeftShift><Ctrl> (the hot
  3491.           key).  Instead of going to the Calculator you have come back to
  3492.           The ASCII Chart!  The Hot Key will always return you to the tool
  3493.           or attachment from which you quit or <Esc>aped.
  3494.  
  3495.           Now that you are back in The ASCII and Color Attribute Chart
  3496.           press <Alt><Esc>.  This returns you to the Calculator.  If you
  3497.           quit the Calculator now with <Esc> and then press the Hot Key,
  3498.           you will go to the Calculator and not the chart.
  3499.  
  3500.           Return to The ASCII Chart now by pressing <^F10>.  You cannot
  3501.           unload ProPak from memory from an attachment.  Try pressing
  3502.           <^U><^U>.  All you get are little beeps.  You need to return to
  3503.           the Calculator or to the DOS prompt to unload ProPak from memory.
  3504.  
  3505.           That is all for this Quick Start Tutorial.  For more insight into
  3506.           all of the information that The ASCII and Color Attribute Chart
  3507.           puts at your disposal read The In-Depth Reference Guide that
  3508.           follows.
  3509.  
  3510.  
  3511.  
  3512.  
  3513.  
  3514.  
  3515.  
  3516.  
  3517.  
  3518.  
  3519.  
  3520.  
  3521.  
  3522.  
  3523.  
  3524.  
  3525.  
  3526.  
  3527.  
  3528.  
  3529.  
  3530.  
  3531.  
  3532.  
  3533.  
  3534.  
  3535.           ASCII and Color Attribute Chart                         54 of 143
  3536.  
  3537.  
  3538.                        - Programmer's Productivity Pack 2.60 -
  3539.  
  3540.  
  3541.                         -------------------------------------
  3542.                          The ASCII and Color Attribute Chart
  3543.                         -------------------------------------
  3544.  
  3545.  
  3546.           The In-Depth Reference Guide:
  3547.           =============================
  3548.  
  3549.           The ASCII and Color Attribute Chart is an attachment to The
  3550.           Programmer's Calculator.  The ASCII Chart is called an
  3551.           "attachment" because it is attached to the Calculator, and is
  3552.           accessed through the Calculator.
  3553.  
  3554.           You access The ASCII Chart from the Calculator by pressing
  3555.           <^F10>.  That closes the Calculator and opens The ASCII Chart.
  3556.  
  3557.           25, 43, And 50 Line Screens:
  3558.           ----------------------------
  3559.  
  3560.           The ASCII Chart is designed to work with any of the common text
  3561.           modes in use today.  Most systems operate with 25 lines of text
  3562.           visible on the screen at a time.  ProPak will use all 25 lines to
  3563.           show you as much of The ASCII Chart as possible.
  3564.  
  3565.           If you have EGA and are in 43 line mode (43 lines of text visible
  3566.           on screen at a time), The ASCII Chart will use all 43 lines to
  3567.           show you as much information as possible.
  3568.  
  3569.           If you have VGA and are in 50 line mode (50 lines of text visible
  3570.           on the screen), The ASCII Chart will appear on all 50 lines.
  3571.  
  3572.           The Columns On The Chart:
  3573.           -------------------------
  3574.  
  3575.                (Due to space limitations and printer incompatibilities,
  3576.                 this figure appears only in the printed User's Guide.)
  3577.  
  3578.                             Figure 5: ASCII Chart Display
  3579.  
  3580.           On the left hand side of the Chart there are several columns.
  3581.           The first two columns give you the decimal and hexadecimal values
  3582.           for each character.  The third column displays the character that
  3583.           the ASCII code represents.  The fourth column is made up of three
  3584.           asterisks in the actual color that those values represent.  The
  3585.           colors are only visible on color monitors, obviously.  The
  3586.           asterisks will be in whatever brightness or other quality that
  3587.           value represents to the type of monitor that you have.  The next
  3588.           three columns describe the foreground color, the background
  3589.           color, and the attribute as it would appear on a monochrome
  3590.           display.
  3591.  
  3592.  
  3593.  
  3594.           ASCII and Color Attribute Chart                         55 of 143
  3595.  
  3596.  
  3597.                        - Programmer's Productivity Pack 2.60 -
  3598.  
  3599.  
  3600.           The Extended Characters:
  3601.           ------------------------
  3602.  
  3603.           On the right hand side of the Chart there is an enlarged
  3604.           representation of all the graphics and box drawing characters.
  3605.           These are much easier to see than the dinky little characters
  3606.           that are actually represented by each code.
  3607.  
  3608.           If you are at the beginning of the Chart (ASCII code 00), the
  3609.           field at the right will display all the single line box
  3610.           characters and their codes.  Moving towards the end of the Chart
  3611.           (ascending ASCII values), the field at the right will display all
  3612.           the double line boxes and their codes.  On a 25 line monitor you
  3613.           can go from one field to the next by simply using <PgDn>.  The
  3614.           third field shows all double horizontal and single vertical boxes
  3615.           and their codes.  The fourth field shows all the single
  3616.           horizontal and double vertical boxes and their codes.  The next
  3617.           field shows the graph and block characters and their codes.  The
  3618.           next two fields display the common math symbols and their codes.
  3619.           The remaining fields show all the control codes.
  3620.  
  3621.           Moving Around The Chart:
  3622.           ------------------------
  3623.  
  3624.           The following commands will move you around the chart whether
  3625.           NumLock is set or not.  It makes no difference.  You can easily
  3626.           scroll or page through The ASCII Chart to find the information
  3627.           you need.
  3628.  
  3629.           Scroll Up - To scroll up one line press the <Up> arrow key.
  3630.  
  3631.           Scroll Down - To scroll down one line press the <Down> arrow key.
  3632.  
  3633.           Page Up - To scroll up one page or screenful at a time press
  3634.           <PgUp>.
  3635.  
  3636.           Page Down - To scroll down one page or screenful at a time press
  3637.           <PgDn>.
  3638.  
  3639.           Go to Beginning - To move instantly to the beginning of the Chart
  3640.           (ASCII code 00) press <Home> or <Ctrl><PgUp>.
  3641.  
  3642.           Go To Center - To move instantly to the center of the Chart
  3643.           (ASCII code 127) press the numeric keypad <5> key (the center
  3644.           key).
  3645.  
  3646.           Go to End - To move instantly to the end of the Chart (ASCII code
  3647.           255) press <END> or <Ctrl><PgDn>.
  3648.  
  3649.  
  3650.  
  3651.  
  3652.  
  3653.           ASCII and Color Attribute Chart                         56 of 143
  3654.  
  3655.  
  3656.                        - Programmer's Productivity Pack 2.60 -
  3657.  
  3658.  
  3659.           Other Available Commands:
  3660.           -------------------------
  3661.  
  3662.           Park Disk(s) and Blank Screen - As in the Calculator, if you need
  3663.           to park your hard disk(s) and blank your screen while you go off
  3664.           to do something else, simply press <^P>.  Any key will restore
  3665.           your screen when you return.
  3666.  
  3667.           Capture Screen To Disk - To capture the current screen to disk,
  3668.           press <Ctrl><Enter>, or <Alt><Enter>.  This will copy the
  3669.           contents of the screen to a disk file that you name in the
  3670.           current subdirectory.  The file will be given an .SCN extension
  3671.           unless you change the default using PCustom.  A file may or may
  3672.           not already exist with that name.  If a file already exists with
  3673.           that name ProPak will ask you whether to overwrite it or not.
  3674.           The screen will be filtered, partially filtered, or not filtered,
  3675.           according to the options you specify with PCustom or "on the fly"
  3676.           with the "Modify Options" choice of The Control Center.  For more
  3677.           detailed information on filtering refer to the In-Depth Reference
  3678.           Guide on page 87.
  3679.  
  3680.           Exiting ProPak from The ASCII Chart - To exit from The ASCII
  3681.           Chart and return to DOS, or to the program you were in when you
  3682.           popped ProPak up, simply press <Esc>.  <Esc> always exits the
  3683.           pop-up, saving your place for when you return.
  3684.  
  3685.           Because The ASCII Chart is an "attachment" to the Calculator,
  3686.           pressing the same Hot Key that normally activates the Calculator
  3687.           will now instead pop up The ASCII Chart.  This saves you the
  3688.           trouble of going through the Calculator itself to get back to The
  3689.           ASCII Chart when it is the attachment that you were last using.
  3690.  
  3691.           Returning to the Calculator:
  3692.           ----------------------------
  3693.  
  3694.           To return to the Calculator from The ASCII Chart, press
  3695.           <Alt><Esc> instead of <Esc>.
  3696.  
  3697.           That completes the In-Depth Reference Guide for The ASCII and
  3698.           Color Attribute Chart.  As you have seen, it is a lot more useful
  3699.           than most of the pop up ASCII charts you have used in the past.
  3700.  
  3701.           You now have one more tool to help you save time while working
  3702.           with source code or other text files.  Not bad for a few minutes
  3703.           of reading!
  3704.  
  3705.  
  3706.  
  3707.  
  3708.  
  3709.  
  3710.  
  3711.  
  3712.           ASCII and Color Attribute Chart                         57 of 143
  3713.  
  3714.  
  3715.                        - Programmer's Productivity Pack 2.60 -
  3716.  
  3717.  
  3718.                            --------------------------------
  3719.                             The Keystroke Reference Center
  3720.                            --------------------------------
  3721.  
  3722.  
  3723.           The Quick Start Tutorial:
  3724.           =========================
  3725.  
  3726.           We were rather surprised to find that this quickly became the
  3727.           favorite attachment for the people who tested ProPak before it
  3728.           was placed on the market.  You are about to see why!
  3729.  
  3730.           This Quick Start Tutorial is designed to familiarize you with The
  3731.           Keystroke Reference Center in 15 minutes or less.  You'll enjoy
  3732.           this utility!
  3733.  
  3734.           First, be sure that ProPak is loaded into memory.  Type "PROPAK"
  3735.           <Enter> at the DOS prompt.  Next, pop up the Calculator using
  3736.           <Alt><LeftShift>.  When the Calculator's display appears, press
  3737.           <M> to bring up the Menu.  On the Menu you will see that command
  3738.           <F10> is marked "KeyRef" .  This attachment is called The
  3739.           Keystroke Reference Center.  Press <F10> to pop up The Keystroke
  3740.           Reference Center, and say goodbye to all your charts and lists of
  3741.           scan codes and INKEY() values!
  3742.  
  3743.           Take a while to look over the display on your screen.  At the top
  3744.           it says Keystroke Reference Center, so you know you're in the
  3745.           right place.  Below it are three boxes.  The highlighted box on
  3746.           the left gives you the dBASE INKEY() value.  The highlighted one
  3747.           on the right gives you a BIOS scan code.  The center box tells
  3748.           you the version of ProPak you are using, the date, and the time.
  3749.  
  3750.           Below that it says "Press a key or key combination:".  Okay,
  3751.           press the <Space> bar.
  3752.  
  3753.           Presto!  You instantly have the scan code returned by the BIOS
  3754.           (used in most programming languages) in the right hand box, and
  3755.           the INKEY() value returned by the dBASE dialects (including dBASE
  3756.           III Plus, Clipper, Foxbase, QuickSilver, and presumably dBASE IV
  3757.           as well) in the left hand box.
  3758.  
  3759.           Now press <A>.  Now <Shift><A>.  Press <3> on the top line.
  3760.           Press <F7>.  The information on each of those keystrokes appears
  3761.           instantly.
  3762.  
  3763.           Now press <F1>.  A "Portability Note" has opened which gives you
  3764.           some important information about the dBASE INKEY() value for this
  3765.           keystroke.
  3766.  
  3767.  
  3768.  
  3769.  
  3770.  
  3771.           The Keystroke Reference Center                          58 of 143
  3772.  
  3773.  
  3774.                        - Programmer's Productivity Pack 2.60 -
  3775.  
  3776.  
  3777.           Now press <Alt><Up> Arrow.  This time you get a different
  3778.           Portability Note.  Now try pressing <Alt><BackSpace>.  Another
  3779.           Portability Note appears.  As you can see, just about all the
  3780.           information you will ever need about keyboard return codes is now
  3781.           available at the touch of a key!
  3782.  
  3783.           With NumLock off, press <5> on your numeric keypad.  More
  3784.           information!
  3785.  
  3786.           You will probably want to press every key and key combination on
  3787.           the board just to see how much information is available, but, we
  3788.           need to move on right now.
  3789.  
  3790.           Below where you have been entering the keystrokes there is a live
  3791.           (real time) display of the values in the BIOS keyboard status
  3792.           bytes in low memory.  Watch them as you press <Alt>, <Ctrl>, the
  3793.           <LeftShift> and <RightShift> keys, <ScrollLock>, <NumLock> or
  3794.           whatever.  As you can see, the screen is instantly updated to
  3795.           show you any changes in the bit settings in the BIOS keyboard
  3796.           status bytes.
  3797.  
  3798.           As with the Calculator, The Keystroke Reference Center can be
  3799.           moved around the screen.  Since it uses 25 lines on the screen,
  3800.           you will only be able to move it up and down if you have EGA 43
  3801.           line mode, or VGA 50 line mode.
  3802.  
  3803.           Press <Alt><Left> Arrow.  The display moves one space to the
  3804.           left.  You also get the information on the key combination you
  3805.           just pressed, complete with a Portability Note.  Press <Space>
  3806.           and the Portability Note disappears.  Now press <Alt><Right>
  3807.           Arrow.  The display goes back to the right one line.  You get all
  3808.           the information on this keystroke, too.
  3809.  
  3810.           Press <Alt><Home>.  Clear the Portability Note (press <Space> for
  3811.           instance) and press <Alt><End>.  This takes you right across the
  3812.           screen.
  3813.  
  3814.           If you have 43 or 50 lines available on your screen, you can move
  3815.           the display up and down, also.  Press <Alt><Up> Arrow and
  3816.           <Alt><Down> Arrow to move a line at a time, and <Alt><PgUp> and
  3817.           <Alt><PgDn> to move the height of the whole screen.
  3818.  
  3819.           To return to DOS, or to the program you were in before you
  3820.           activated ProPak, press <Esc>.  Try it.  Notice that it pauses to
  3821.           show you the return codes for the <Esc> key.  Pressing any key
  3822.           returns you to DOS.
  3823.  
  3824.           Now, press <Alt><LeftShift> to again pop up ProPak.  There you
  3825.           are, right back where you left off.  To return to the Calculator
  3826.           from The Keystroke Reference Center, simply press <Alt><Esc>
  3827.           instead of <Esc>.  Again, it will pause to show you the return
  3828.  
  3829.  
  3830.           The Keystroke Reference Center                          59 of 143
  3831.  
  3832.  
  3833.                        - Programmer's Productivity Pack 2.60 -
  3834.  
  3835.  
  3836.           codes for the <Alt><Esc> key combination.  Pressing any key will
  3837.           return you to the Calculator.
  3838.  
  3839.           That was pretty easy.  You have just completed the Quick Start
  3840.           Tutorial for ProPak's interactive Keystroke Reference Center.
  3841.           And you have also added another tool to your productivity
  3842.           toolbox.  Happy ProPak'n!
  3843.  
  3844.  
  3845.  
  3846.  
  3847.  
  3848.  
  3849.  
  3850.  
  3851.  
  3852.  
  3853.  
  3854.  
  3855.  
  3856.  
  3857.  
  3858.  
  3859.  
  3860.  
  3861.  
  3862.  
  3863.  
  3864.  
  3865.  
  3866.  
  3867.  
  3868.  
  3869.  
  3870.  
  3871.  
  3872.  
  3873.  
  3874.  
  3875.  
  3876.  
  3877.  
  3878.  
  3879.  
  3880.  
  3881.  
  3882.  
  3883.  
  3884.  
  3885.  
  3886.  
  3887.  
  3888.  
  3889.           The Keystroke Reference Center                          60 of 143
  3890.  
  3891.  
  3892.                        - Programmer's Productivity Pack 2.60 -
  3893.  
  3894.  
  3895.                            --------------------------------
  3896.                             The Keystroke Reference Center
  3897.                            --------------------------------
  3898.  
  3899.  
  3900.           The In-Depth Reference Guide:
  3901.           =============================
  3902.  
  3903.           The Keystroke Reference Center is an elegant solution to a simple
  3904.           yet common problem.
  3905.  
  3906.           In virtually every program you write you'll find the need to
  3907.           identify a keystroke in order to determine what action to execute
  3908.           next.  In most cases this keystroke will be identified by way of
  3909.           all or part of the "Scan Code" returned by the system's ROM BIOS.
  3910.           Other specialized application development tools or languages such
  3911.           as dBASE and its various counterparts (Clipper, FoxBase,
  3912.           QuickSilver, and others), return a key code that is different
  3913.           than the one normally returned by the ROM BIOS.
  3914.  
  3915.           To further complicate matters, not all keyboards are the same.
  3916.           There are the older 83 key PC/XT keyboards, the newer 84 key
  3917.           PC/AT style keyboards, the 101/102 key "enhanced" keyboards, and
  3918.           then the compact keyboards found on many laptop computers (many
  3919.           of which are configured to act like an enhanced keyboard by
  3920.           having the same key return different values according to various
  3921.           conditions).
  3922.  
  3923.           What all this means is that most of us keep reference charts from
  3924.           books or technical manuals close at hand while programming.  We
  3925.           then refer to these books when we need to know what value is
  3926.           returned from a specific key.  Of course these books or charts
  3927.           usually do not list all of the possible key combinations.  So we
  3928.           often end up writing a separate little utility to display the
  3929.           return value from each key pressed, which we then use whenever we
  3930.           need to find out the value of a particular key or key
  3931.           combination.
  3932.  
  3933.           Needless to say, neither of these methods is an ideal solution.
  3934.           ProPak's interactive Keystroke Reference Center provides the
  3935.           solution to this common problem!
  3936.  
  3937.           First, because ProPak is memory-resident it is always available
  3938.           at the touch of a key.  Second, because we don't always use the
  3939.           same languages and tools when developing applications, ProPak's
  3940.           interactive Keystroke Reference Center provides the information
  3941.           needed for the most common keystroke return values, the BIOS scan
  3942.           codes and the dBASE INKEY() return codes, simultaneously.  Third,
  3943.           to take the solution a step further, The Keystroke Reference
  3944.           Center displays a "Portability Note" whenever a key or key
  3945.           combination requiring additional information, is pressed.
  3946.  
  3947.  
  3948.           The Keystroke Reference Center                          61 of 143
  3949.  
  3950.  
  3951.                        - Programmer's Productivity Pack 2.60 -
  3952.  
  3953.  
  3954.           To round out The Keystroke Reference Center, a live (real time)
  3955.           display of each individual bit in the two BIOS keyboard status
  3956.           bytes is displayed in the lower half of the screen.
  3957.  
  3958.           Another piece of information that may be of interest to many of
  3959.           you is that ProPak modifies the normal keyboard interrupts (Int
  3960.           09h and 16h) in order to identify and use more keystrokes than
  3961.           are normally available through the BIOS services alone.  Of
  3962.           course, if you press one of these special key combinations a
  3963.           Portability Note will let you know about it.
  3964.  
  3965.           Using The Keystroke Reference Center is as simple as it could
  3966.           possibly be.  Instead of paging through a long chart, simply
  3967.           press the key or key combination that you are interested in, and
  3968.           you'll instantly have all the necessary information.
  3969.  
  3970.           How To Access The Keystroke Reference Center:
  3971.           ---------------------------------------------
  3972.  
  3973.           The Keystroke Reference Center is an attachment to The
  3974.           Programmer's Calculator.  This means that it is attached to and
  3975.           accessed through the Calculator.
  3976.  
  3977.           You access The Keystroke Reference Center from the Calculator by
  3978.           pressing <F10>.  That closes the Calculator and opens this
  3979.           attachment.
  3980.  
  3981.           The Display:
  3982.           ------------
  3983.  
  3984.           The Keystroke Reference Center display provides you with a great
  3985.           deal of information.
  3986.  
  3987.           The highlighted box at the top left gives the dBASE INKEY() value
  3988.           for any keystroke.  The highlighted box at the top right gives
  3989.           the BIOS scan code for any keystroke.  These will be set to the
  3990.           values of <F10> when you first access The Keystroke Reference
  3991.           Center because that is the key you used to access it.
  3992.  
  3993.  
  3994.  
  3995.  
  3996.  
  3997.  
  3998.  
  3999.  
  4000.  
  4001.  
  4002.  
  4003.  
  4004.  
  4005.  
  4006.  
  4007.           The Keystroke Reference Center                          62 of 143
  4008.  
  4009.  
  4010.                        - Programmer's Productivity Pack 2.60 -
  4011.  
  4012.  
  4013.                 |-----------------------------------------------------|
  4014.                 |             Keystroke Reference Center              |
  4015.                 |-----------------------------------------------------|
  4016.                 |  dBASE Key Code:  |   ProPak:   |  BIOS Scan Code:  |
  4017.                 | 11111111 11110111 | Version 2.6 | 01000100 00000000 |
  4018.                 | Hex          FFF7 |  30-NOV-90  | Hex          4400 |
  4019.                 | Dec            -9 | 02:60:00 am | Dec        17,408 |
  4020.                 |-----------------------------------------------------|
  4021.                 |       Press a key or key combination:  <F10>        |
  4022.                 |-----------------------------------------------------|
  4023.                 |             BIOS Keyboard Status Bytes:             |
  4024.                 |    Byte at 0040:0017H    |    Byte at 0040:0018H    |
  4025.                 | -------------------------+------------------------- |
  4026.                 |  1 1 0 0 0 0 0 0         |  0 0 0 0 0 0 0 0         |
  4027.                 |  | | | | | | | Rt Shift  |  | | | | | | | Left Ctrl |
  4028.                 |  | | | | | | Left Shift  |  | | | | | | Left Alt    |
  4029.                 |  | | | | | Ctrl Pressed  |  | | | | | Sys Req Press |
  4030.                 |  | | | | Alt Pressed     |  | | | | Hold State      |
  4031.                 |  | | | Scroll Lock       |  | | | Scroll Lock Press |
  4032.                 |  | | Num Lock State      |  | | Num Lock Pressed    |
  4033.                 |  | Caps Lock State       |  | Caps Lock Pressed     |
  4034.                 |  Insert State            |  Insert Pressed          |
  4035.                 |-----------------------------------------------------|
  4036.                 |   Press <Alt-Escape> to return to the Calculator.   |
  4037.                 |-----------------------------------------------------┘
  4038.                     Figure 6: Keystroke Reference Center Display
  4039.  
  4040.           The box between the two highlighted boxes tells you what version
  4041.           of ProPak you are using, the date, and the time.
  4042.  
  4043.           The lower half of the display gives you a live (real time)
  4044.           display of the values in the BIOS keyboard status bytes in low
  4045.           memory.
  4046.  
  4047.           Scan Codes and INKEY() Values:
  4048.           ------------------------------
  4049.  
  4050.           When you press a key or key combination on your keyboard, the
  4051.           software you are using must have some means of identifying or
  4052.           recognizing the key you pressed.  To enable software to recognize
  4053.           keystrokes, the BIOS in your computer translates each keystroke
  4054.           into a particular code.  Your software then uses that code to
  4055.           identify which key was pressed.  We refer to this code by various
  4056.           names, but the most common name is "Scan Code."  The Keystroke
  4057.           Reference Center displays the scan code for each key you press.
  4058.  
  4059.           The dBASE language, including the various compilers like
  4060.           Clipper, from Nantucket, return codes that are different than the
  4061.           BIOS scan codes.  To determine which key was pressed you would
  4062.           use the built-in INKEY() function.  The INKEY() values are also
  4063.           provided by The Keystroke Reference Center.
  4064.  
  4065.  
  4066.           The Keystroke Reference Center                          63 of 143
  4067.  
  4068.  
  4069.                        - Programmer's Productivity Pack 2.60 -
  4070.  
  4071.  
  4072.           Portability Notes:
  4073.           ------------------
  4074.  
  4075.           Some keys are only available on  enhanced keyboards.  For
  4076.           instance, F11 and F12.  Some key combinations are recognized only
  4077.           with certain keyboards.  How do you remember which is which?  If
  4078.           you use an enhanced keyboard for software development, how do you
  4079.           make sure that users who don't have an enhanced keyboard can also
  4080.           use your program?
  4081.  
  4082.           The Keystroke Reference Center points out special keys or key
  4083.           combinations that not every keyboard can utilize.  The Keystroke
  4084.           Reference Center does this by way of "Portability Notes" which
  4085.           provide you with the information you need regarding the various
  4086.           keyboards.
  4087.  
  4088.           Moving the Display:
  4089.           -------------------
  4090.  
  4091.           There are a few keystrokes that have special meaning in The
  4092.           Keystroke Reference Center.  These include the keys used to move
  4093.           The Keystroke Reference Center display around the screen.
  4094.  
  4095.           Although these keystrokes are commands within The Keystroke
  4096.           Reference Center they will still be processed just like any other
  4097.           keystroke.  All their information, as well as any Portability
  4098.           Notes concerning them, will be displayed as the action is carried
  4099.           out.
  4100.  
  4101.           Move Left - To move the display one column left press <Alt><Left>
  4102.           (left arrow).
  4103.  
  4104.           Move Right - To move the display one column right press
  4105.           <Alt><Right>.
  4106.  
  4107.           Move to the Left Side - To move the display all the way to the
  4108.           left side of the screen press <Alt><Home>.
  4109.  
  4110.           Move to the Right Side - To move the display all the way to the
  4111.           right side of the screen press <Alt><End>.
  4112.  
  4113.           Move Up - To move the display one line up, press <Alt><Up> (up
  4114.           arrow).  You must have more than 25 lines of text visible on your
  4115.           screen to use this feature.
  4116.  
  4117.           Move Down - To move the display one line down, press <Alt><Down>.
  4118.           You must have more than 25 lines of text visible on your screen
  4119.           to use this feature.
  4120.  
  4121.  
  4122.  
  4123.  
  4124.  
  4125.           The Keystroke Reference Center                          64 of 143
  4126.  
  4127.  
  4128.                        - Programmer's Productivity Pack 2.60 -
  4129.  
  4130.  
  4131.           Move to Top - To move the display all the way to the top of the
  4132.           screen, press <Alt><PgUp>.  You must have more than 25 lines of
  4133.           text visible on your screen to use this feature.
  4134.  
  4135.           Move to Bottom - To move the display all the way to the bottom of
  4136.           the screen, press <Alt><PgDn>.  You must have more than 25 lines
  4137.           of text visible on your screen to use this feature.
  4138.  
  4139.           Other Available Commands:
  4140.           -------------------------
  4141.  
  4142.           Capture Screen to Disk - To capture the current screen to disk,
  4143.           press <Ctrl><Enter>, or <Alt><Enter>.  This will copy the
  4144.           contents of the screen to any disk file that you specify.  The
  4145.           disk file may or may not already exist.  The screen will be
  4146.           filtered, or not filtered, according to the options you specify
  4147.           with PCustom or "on the fly" with the "Modify Options" choice on
  4148.           The Control Center.  For more detailed information on filtering
  4149.           refer to the In-Depth Reference Guide on page 87.
  4150.  
  4151.           Returning to the Calculator - To return to the Calculator from
  4152.           The Keystroke Reference Center, press <Alt><Esc>.
  4153.  
  4154.           Exit from ProPak - Press <Esc> to exit from the pop-up.  This
  4155.           will enable you to pop back to the same place you left the next
  4156.           time you pop up ProPak.  Because The Keystroke Reference Center
  4157.           is an "attachment" to the Calculator, pressing the same Hot Key
  4158.           that normally activates the Calculator will instead pop up The
  4159.           Keystroke Reference Center.  This saves you the trouble of going
  4160.           through the Calculator itself to get back to The Keystroke
  4161.           Reference Center when it is the attachment you were last using.
  4162.  
  4163.  
  4164.  
  4165.  
  4166.  
  4167.  
  4168.  
  4169.  
  4170.  
  4171.  
  4172.  
  4173.  
  4174.  
  4175.  
  4176.  
  4177.  
  4178.  
  4179.  
  4180.  
  4181.  
  4182.  
  4183.  
  4184.           The Keystroke Reference Center                          65 of 143
  4185.  
  4186.  
  4187.                        - Programmer's Productivity Pack 2.60 -
  4188.  
  4189.  
  4190.                            -------------------------------
  4191.                             Park Disk(s) and Blank Screen
  4192.                            -------------------------------
  4193.  
  4194.  
  4195.           The In-Depth Reference Guide:
  4196.           =============================
  4197.  
  4198.           You are probably aware that when the same characters are
  4199.           displayed in the same position on your screen for long periods of
  4200.           time they tend to burn a permanent image of themselves into the
  4201.           phosphorescent coating of your screen.  To avoid this many people
  4202.           use automatic screen blanking programs that blank the screen
  4203.           after a predetermined period of keyboard inactivity.  Such
  4204.           utilities are certainly useful and necessary, but many people
  4205.           feel that there is a better way to accomplish the same goal.
  4206.  
  4207.           There are some very obvious disadvantages to those particular
  4208.           utilities.  The screen is often blanked unexpectedly, which can
  4209.           sometimes be rather unsettling.  While the screen is blank it is
  4210.           not necessarily obvious whether or not the computer is turned on,
  4211.           which is an important consideration when more than one person
  4212.           might be using the machine.  Some of these utilities "eat" the
  4213.           next keystroke entered, while some do not.  Also, while you are
  4214.           away from your computer, your monitor is protected from screen
  4215.           burns, but your hard disk is not protected against head crashes.
  4216.  
  4217.           ProPak provides an alternative to the many "automatic" screen
  4218.           blanking programs.  Most users prefer to stop using their older
  4219.           screen blanking programs once they start using ProPak!
  4220.  
  4221.           ProPak never blanks your screen "automatically" (i.e.
  4222.           unexpectedly).  You are always in control.  Furthermore, when
  4223.           ProPak blanks your screen it also displays a clock on the screen
  4224.           so that you know that the computer is actually turned on.  This
  4225.           clock will never produce screen burns because it moves to a new
  4226.           position on the screen every 60 seconds.  This means that for
  4227.           every minute the clock is in a certain position, there are over
  4228.           three hours when that same position is blank.  To top it all off,
  4229.           when ProPak blanks your screen it also parks your hard disk by
  4230.           moving the read/write heads to the last cylinder.  If you have
  4231.           two hard disks, both will be parked.
  4232.  
  4233.           If you do not want to use the Disk Parking feature when you blank
  4234.           your screen you can disable that part of the utility with
  4235.           PCustom.  Refer to the PCustom In-Depth Reference Guide (page
  4236.           119) for complete information on how to disable disk parking.
  4237.  
  4238.           ProPak's Screen Blanking and Disk Parking feature can be
  4239.           activated from either The Programmer's Calculator or from The
  4240.           ASCII and Color Attribute Chart.  In either case, the Screen
  4241.  
  4242.  
  4243.           Screen Blanking and Disk Parking                        66 of 143
  4244.  
  4245.  
  4246.                        - Programmer's Productivity Pack 2.60 -
  4247.  
  4248.  
  4249.           Blanking and Disk Parking feature is invoked by pressing <P> for
  4250.           <P>ark.  You can also use <Ctrl><P> or <Alt><P>.
  4251.  
  4252.           Once activated, you may "unblank" the screen and return to where
  4253.           you left off by pressing any key.
  4254.  
  4255.  
  4256.  
  4257.  
  4258.  
  4259.  
  4260.  
  4261.  
  4262.  
  4263.  
  4264.  
  4265.  
  4266.  
  4267.  
  4268.  
  4269.  
  4270.  
  4271.  
  4272.  
  4273.  
  4274.  
  4275.  
  4276.  
  4277.  
  4278.  
  4279.  
  4280.  
  4281.  
  4282.  
  4283.  
  4284.  
  4285.  
  4286.  
  4287.  
  4288.  
  4289.  
  4290.  
  4291.  
  4292.  
  4293.  
  4294.  
  4295.  
  4296.  
  4297.  
  4298.  
  4299.  
  4300.  
  4301.  
  4302.           Screen Blanking and Disk Parking                        67 of 143
  4303.  
  4304.  
  4305.                        - Programmer's Productivity Pack 2.60 -
  4306.  
  4307.  
  4308.                                  --------------------
  4309.                                   The Control Center
  4310.                                  --------------------
  4311.  
  4312.  
  4313.           The Control Center is present only in ProPak.EXE.
  4314.  
  4315.           It is through The Control Center that you can customize many
  4316.           aspects of ProPak "on the fly"; that is, while you are actually
  4317.           using ProPak.  It is also through The Control Center that you
  4318.           have access to some of ProPak's most useful features.
  4319.  
  4320.           There is so much to The Control Center that we have divided it
  4321.           into two Quick Start Tutorials.  The first will cover the Modify
  4322.           Options feature, the Screen Capture facility, and the Print
  4323.           feature.  The second will cover Keystroke Recording and Playback
  4324.           and the Screen Grabber feature.
  4325.  
  4326.           The five In-Depth Reference Guides are:
  4327.           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4328.  
  4329.              1.  The Control Center..................................... 76
  4330.  
  4331.              2.  The Modify Options Feature............................. 83
  4332.  
  4333.              3.  Keystroke Recording And Playback (This includes the Screen
  4334.                  Grabber feature) ...................................... 89
  4335.  
  4336.              4.  The Screen Capture Facility............................ 96
  4337.  
  4338.              5.  The Print Facility..................................... 98
  4339.  
  4340.  
  4341.           Quick Start Tutorial #1:
  4342.           ========================
  4343.  
  4344.           This Quick Start Tutorial is intended to familiarize you with The
  4345.           Control Center and what it can do for you.  As with the other
  4346.           tutorials, you should be able to complete it in about 15 minutes.
  4347.           Enjoy!
  4348.  
  4349.           If you want to be able to use the background Print facility be
  4350.           sure to load the DOS "Print" program before doing this Quick
  4351.           Start Tutorial.
  4352.  
  4353.           At the DOS prompt, type "PRINT".  When PRINT asks you for the
  4354.           device to send the output to just enter the correct response
  4355.           (usually PRN).  Be sure that your printer is connected and turned
  4356.           on, too.
  4357.  
  4358.  
  4359.  
  4360.  
  4361.           The Control Center                                      68 of 143
  4362.  
  4363.  
  4364.                        - Programmer's Productivity Pack 2.60 -
  4365.  
  4366.  
  4367.           Be sure that ProPak is resident in memory.  Type "PROPAK" <Enter>
  4368.           at the DOS prompt.  Ok.  Let's pop up The Control Center.  Press
  4369.           <Ctrl><RightShift>.  This will bring up The Control Center.
  4370.  
  4371.           There are nine options on the list.  Some will be bright, while
  4372.           others will be dim.  The reason for this is that some of the
  4373.           options are not yet available.  You cannot, for instance, list
  4374.           Keystroke Recordings if you haven't yet recorded any.
  4375.  
  4376.           For now, we'll take a look at the choice that was first
  4377.           highlighted when you popped up the Menu.  The "Modify Options"
  4378.           choice.  With the "Modify Options" choice highlighted, press
  4379.           <Enter> to select it.  This brings up the Modify Options Submenu.
  4380.  
  4381.           There are nine options on this Submenu.   The first five enable
  4382.           you to change any of the five "Hot Keys" while ProPak is
  4383.           resident.  We call this changing Hot Keys "on the fly".  They are
  4384.           pretty straightforward and self explanatory.  Let's not change
  4385.           any Hot Keys just yet.
  4386.  
  4387.           TIP:
  4388.              If you frequently enter extended ASCII codes into your source
  4389.              code or other text files using the <Alt> key and the number
  4390.              keypad, then you should know about ProPak's modification of
  4391.              the BIOS keyboard services.  In order to use key combinations
  4392.              like <Alt><Up> to move the Calculator up for instance, ProPak
  4393.              has to modify the BIOS keyboard interrupts (Interrupts 09h and
  4394.              16h).
  4395.  
  4396.              Because of this, when ProPak is resident in memory, instead of
  4397.              holding down the <Alt> key and entering the number
  4398.              corresponding to the extended character you wish to insert
  4399.              into your document, you will now have to hold down the <Alt>
  4400.              key AND a <Shift> key to enter extended ASCII characters.
  4401.  
  4402.              However, since both the <Alt> key and the shift keys are used
  4403.              as Hot Keys within ProPak, you will need to change the Hot
  4404.              Keys for the Control Center and the Calculator.  Changing them
  4405.              to <Ctrl><LeftShift> and <Ctrl><RightShift> will retain all
  4406.              the benefits of using only modifier keys for these Hot Keys as
  4407.              mentioned on page 44, as well as retain the ability to enter
  4408.              extended ASCII characters.
  4409.  
  4410.              Remember that any Hot Keys you change "on the fly" are changed
  4411.              in memory only.  The .EXE file is unchanged.  If you unload
  4412.              ProPak from memory all of the options modified through the
  4413.              Control Center will be "forgotten".  You must use PCustom, the
  4414.              customizing program, to make "permanent" changes in ProPak.
  4415.  
  4416.  
  4417.  
  4418.  
  4419.  
  4420.           The Control Center                                      69 of 143
  4421.  
  4422.  
  4423.                        - Programmer's Productivity Pack 2.60 -
  4424.  
  4425.  
  4426.           The next option is "Keystroke Recording/Playback", and as the
  4427.           right side of the menu indicates, it is "Enabled."  Highlight
  4428.           this option and press <Enter>.  Now it is "Disabled".  You have
  4429.           now disabled the Keystroke Recording and Playback feature.  Press
  4430.           <Enter> again and the feature is once more "Enabled".  Toggle it
  4431.           as often as you wish, but be sure you leave it "Enabled" or the
  4432.           next tutorial isn't going to function for you.
  4433.  
  4434.           We will cover all of the other features that deal with Keystroke
  4435.           Recording and Playback in the next tutorial.
  4436.  
  4437.           Keystroke Playback Delay is handled on page 73.
  4438.  
  4439.           Read Key Records from File is handled on page 75.
  4440.  
  4441.           The last option is "Screen Capture Filter Method".  Pressing
  4442.           <Enter> three times will take you through the three options;  "Do
  4443.           not filter at all", "Filter for screen", and "Filter for
  4444.           printer".  Leave it at "Filter for Printer" and press <Esc>.
  4445.           This brings you back to the main Menu.  The Filtering feature is
  4446.           explained more fully in the In-Depth Reference Guide (page 87).
  4447.  
  4448.           One of the options here in The Control Center is "Copy Screen to
  4449.           File".  This simply means taking what is currently on the screen
  4450.           and copying that information to a disk file.  The last option on
  4451.           the "Modify Options" Menu enabled you to set the filter method
  4452.           for the screens you capture.
  4453.  
  4454.           Press the letter <C> to select the "Copy Screen To File" option.
  4455.           You could have used the arrow keys to move the highlight bar, but
  4456.           we wanted you to see that you could also use the first letter of
  4457.           the option.  With "Copy Screen To File" highlighted, press
  4458.           <Enter>.
  4459.  
  4460.           A window will open informing you of the current directory and the
  4461.           built-in .SCN file name extension.  The extension may be changed
  4462.           using PCustom if you don't like the default .SCN extension.  For
  4463.           now, simply enter a name for the file.  Let's use "TEST" for this
  4464.           example, and press <Enter>.  When you press <Enter>, the window
  4465.           will disappear restoring the underlying screen.  The underlying
  4466.           screen will then be copied to a disk file called "TEST.SCN".
  4467.  
  4468.           This is a little different than the Screen Capture facility in
  4469.           The Programmer's Calculator.  In the Calculator it was operated
  4470.           by pressing <Ctrl><Enter> and would copy the screen complete with
  4471.           Calculator, Menu, ASCII Chart, or Keystroke Reference Center,
  4472.           whichever were present.  In the Control Center it is operated
  4473.           from this Menu and the underlying screen is copied in its
  4474.           entirety, without the Menu.  There is no difference in the .SCN
  4475.           files that they are copied to, though.  Your word processor, or
  4476.  
  4477.  
  4478.  
  4479.           The Control Center                                      70 of 143
  4480.  
  4481.  
  4482.                        - Programmer's Productivity Pack 2.60 -
  4483.  
  4484.  
  4485.           text editor, can access the files the same, regardless of which
  4486.           tool in ProPak performed the Screen Capture.
  4487.  
  4488.           In order to use the "Print Facility" feature, you must be using
  4489.           DOS 3.0 or above, and you must have loaded the DOS "PRINT"
  4490.           program.  The DOS "PRINT" program is an excellent tool which
  4491.           enables you to print files in the background while your computer
  4492.           is doing other things (like taking you through this tutorial).
  4493.           ProPak enables you to submit files to the queue for printing, or
  4494.           cancel the files that are already in the queue.
  4495.  
  4496.           Can you think of some file you would like to print while you
  4497.           complete this tutorial?  Well, if you can, then select "Print
  4498.           Facility" and press <Enter>.  This will bring up a window which
  4499.           will give you the option to "Submit a File to Print" or to
  4500.           "Cancel All Print Files".  Select "Submit a File to Print" and
  4501.           press <Enter>.  This will bring up the File Mask Editor.  Enter
  4502.           the path and name of the file you want to print and press
  4503.           <Enter>.  This brings up the "DOS Print Request Status" window to
  4504.           tell you that your file is being printed, but by now the sounds
  4505.           coming from your printer have already confirmed this.  Pressing
  4506.           <Esc> brings you back to the Menu.  You can finish this tutorial
  4507.           while that job is printing.
  4508.  
  4509.           ProPak can be unloaded from memory by selecting the "Unload from
  4510.           Memory" option on The Control Center.  Just like in the
  4511.           Calculator, a window will open letting you know if it is safe to
  4512.           unload.  <Esc> tells ProPak that you changed your mind about
  4513.           unloading, while any other key instructs ProPak to go ahead and
  4514.           unload.
  4515.  
  4516.           If you want to exit The Control Center, but leave ProPak resident
  4517.           for later use press <Esc> while at The Control Center.  Any
  4518.           modifications you made using the Modify Options feature will
  4519.           still be in effect the next time you access either The
  4520.           Programmer's Calculator or The Control Center.
  4521.  
  4522.           We haven't gone through every option in this tutorial, but, this
  4523.           is a good time to stop and consider what we've seen so far.
  4524.           There is a great deal more information in the In-Depth Reference
  4525.           Guides for each of these features.  The next tutorial will cover
  4526.           the subject of Keystroke Recordings.
  4527.  
  4528.  
  4529.  
  4530.  
  4531.  
  4532.  
  4533.  
  4534.  
  4535.  
  4536.  
  4537.  
  4538.           The Control Center                                      71 of 143
  4539.  
  4540.  
  4541.                        - Programmer's Productivity Pack 2.60 -
  4542.  
  4543.  
  4544.                                  --------------------
  4545.                                   The Control Center
  4546.                                  --------------------
  4547.  
  4548.  
  4549.           Quick Start Tutorial #2:
  4550.           ========================
  4551.  
  4552.           This Quick Start Tutorial may well open the door to the single
  4553.           biggest productivity enhancement offered by the Programmer's
  4554.           Productivity Pack.  We will cover much more than simply recording
  4555.           keystrokes and playing them back later.  We will also look into
  4556.           alternative methods of acquiring Keystroke Recordings, how you
  4557.           can save Keystroke Recordings to a file or even a group of files,
  4558.           and how you can later read these Keystroke Recordings from a file
  4559.           and make them available for use.
  4560.  
  4561.           First, what is a Keystroke Recording?  It is a string or
  4562.           collection of keystrokes that are recorded in memory so that they
  4563.           can be played back at the touch of a single key or combination of
  4564.           keys.  Many utilities provide what they call keystroke "macros",
  4565.           which are basically the same thing ProPak calls Keystroke
  4566.           Recordings.  However, we decided to avoid the use of the term
  4567.           "macro" because it is confusing to many people.  A macro in
  4568.           Quattro Pro is different than a macro in assembly language, which
  4569.           is different than a macro in word processing programs like
  4570.           SPRINT.  The term "macro" is really not very descriptive or
  4571.           precise.  So, to simplify matters let's just keep things
  4572.           straightforward and call them Keystroke Recordings.
  4573.  
  4574.           There are several ways to produce and use Keystroke Recordings.
  4575.           Let's start with a simple example, straight from the DOS prompt.
  4576.  
  4577.           First, ensure that ProPak is resident in memory.  Next, press
  4578.           <Alt><=>.  <Alt><=> is the Hot Key that starts recording
  4579.           keystrokes.  A window will pop up asking you to which key you
  4580.           would like this recording assigned.  We call the key and key
  4581.           combinations that play back Keystroke Recordings "Trigger Keys".
  4582.           This differentiates between them and the Hot Keys ProPak uses.
  4583.           Select something simple like <Alt><F10>.  Hold down the <Alt> key
  4584.           and press <F10>.  The window will then close.  From this point
  4585.           on, every key you type will be recorded.  To keep this example
  4586.           simple, type your full name and then press <Alt><->.  Use the top
  4587.           row minus key.  <Alt><-> is the Hot Key that turns off Keystroke
  4588.           Recording.
  4589.  
  4590.           WHILE RECORDING KEYSTROKES, ALL OTHER FEATURES OF PROPAK ARE
  4591.           DISABLED.  If you ever find yourself unable to access ProPak when
  4592.           you know it is in memory, check that you are not in record
  4593.           keystrokes mode (by pressing <Alt><->).
  4594.  
  4595.  
  4596.  
  4597.           The Control Center                                      72 of 143
  4598.  
  4599.  
  4600.                        - Programmer's Productivity Pack 2.60 -
  4601.  
  4602.  
  4603.           At this point another window opens up and you are given a chance
  4604.           to assign a name to that recording.  Since this is our only
  4605.           Keystroke Recording, we really don't need a name, but let's give
  4606.           it one anyway just for practice.  Call it "MY NAME" and press
  4607.           <Enter>.  A window will then let you know how much memory is
  4608.           being used to store that recording.  Pressing any key returns you
  4609.           to the DOS prompt.
  4610.  
  4611.           Now that we are back at the DOS prompt, we can test our Keystroke
  4612.           Recording to see what it does.  Clear the DOS command line using
  4613.           the <Backspace> key.  Now, press <Alt><F10>.  That was the
  4614.           Trigger Key you assigned the recording to.  Your name appears
  4615.           instantly at the DOS prompt.
  4616.  
  4617.           Did you notice how fast the keystrokes appeared on your screen?
  4618.           The keystrokes can play back as fast as 1,000 characters per
  4619.           second!  As you might imagine, some word processors and text
  4620.           editors can't keep up with this pace and lose a keystroke here
  4621.           and there.  To get around this problem ProPak provides you with
  4622.           the Keystroke Playback Delay option.  Let's use it now.
  4623.  
  4624.           Press <Ctrl><RightShift>.  Once you are in The Control Center,
  4625.           select the "Modify Options" choice and press <Enter>.  Move the
  4626.           highlight bar to the "Keystroke Playback Delay" choice and press
  4627.           <Enter>.  Another window will then open which asks you to enter a
  4628.           value from 0 to 100.  Type in "100" and press <Enter>.  This will
  4629.           give you a good example of the difference in Playback speeds.
  4630.           Now you'll need to use the <Esc> key to return to The Control
  4631.           Center, and use the <Esc> key again to return to DOS.  Once you
  4632.           are back at the DOS prompt, press <Alt><F10> to play it back one
  4633.           more time.  Notice the difference in speed?
  4634.  
  4635.           How do you know if you need to use a delay value or not?  Well,
  4636.           normally you can leave the delay value set to 0 which will allow
  4637.           the keystrokes to be played back at maximum speed.  If you find
  4638.           an application where some keystrokes are lost because the program
  4639.           can't keep up with the high speed keystrokes, then simply insert
  4640.           a Playback delay.  Experimenting is really the best method of
  4641.           determining how much of a delay, if any, will work best with the
  4642.           various programs you use.
  4643.  
  4644.           Let's say you want to make a Keystroke Recording of your usual
  4645.           heading for source code files.  There is a way to record this
  4646.           without typing it all in!  You could open up one of your program
  4647.           files using your usual editor, then use ProPak's Screen Grabber
  4648.           feature to grab a chunk of text off the screen and turn it into a
  4649.           Keystroke Recording.
  4650.  
  4651.           Here's how to do it.  At the DOS prompt, type in "DIR" <Enter>
  4652.           just to get some text onto the screen.  Now press <Alt><SPACE> to
  4653.           pop up the Screen Grabber.
  4654.  
  4655.  
  4656.           The Control Center                                      73 of 143
  4657.  
  4658.  
  4659.                        - Programmer's Productivity Pack 2.60 -
  4660.  
  4661.  
  4662.           The box that pops up on your screen is called the "Grab Box".
  4663.           This is the box you use to surround the text you would like to
  4664.           grab from the screen.
  4665.  
  4666.           Use the <Up> and <Left> arrow keys to position the Grab Box at
  4667.           the top left corner of the directory listing on your screen.  Now
  4668.           hold down <Alt> and use the <Down> and <Right> arrow keys to
  4669.           enclose the entire directory.  Experiment with it for a few
  4670.           seconds and you'll get the hang of it.
  4671.  
  4672.           Before we actually grab part of the directory, you should
  4673.           remember that later we will be playing back exactly what is
  4674.           grabbed.  So you might not want to grab a bunch of file names
  4675.           that DOS might try to execute when you play back the Recording.
  4676.           Try grabbing something other than complete file names, or you may
  4677.           find DOS executing each line of your Keystroke Recording when it
  4678.           is played back.
  4679.  
  4680.           Once you have the Grab Box positioned and sized the way you want
  4681.           it, press either <Enter> or <Esc> to "grab" the text that was
  4682.           highlighted.  This doesn't remove it from the screen, it just
  4683.           copies it into memory.
  4684.  
  4685.           Now you see a simple Menu of choices for the end of line
  4686.           character.  Usually the <Enter> choice will suffice.  <Enter> is
  4687.           the same as a carriage return.  All of the options are explained
  4688.           in the In-Depth Reference Guide (page 93).
  4689.  
  4690.           Once you have chosen an end-of-line character you will be given a
  4691.           chance to assign a name to the recording, and asked which key you
  4692.           would like to use to play back the recording.  Choose <Alt><F9>
  4693.           as the Trigger Key, then choose a name for this recording.
  4694.  
  4695.           Return to the DOS prompt and press <Alt><F9>, or whatever you
  4696.           chose for a Trigger Key.  There it is, but, boy is it slow!
  4697.           Remember that ProPak is now waiting 100 milliseconds between
  4698.           characters on Playback.  You know how to change the delay back to
  4699.           0.  Do it and then play back this Keystroke Recording again.
  4700.  
  4701.           Up till now your Keystroke Recordings are only in memory.  You
  4702.           can save these recordings to a file if you want them to be
  4703.           available tomorrow morning when you turn your computer on.  To do
  4704.           this pop up The Control Center by pressing <Ctrl><RightShift>.
  4705.           Select "Write Keys to File" on the Menu, and press <Enter>.  You
  4706.           will then be asked for a name for the file.  The file extension
  4707.           is set to ".KEY" in order to ensure consistency and to help you
  4708.           identify Keystroke Recording files easily.  If you don't like the
  4709.           ".KEY" extension, it can be changed using PCustom.  One other
  4710.           point, the keystroke recording files will always be placed in the
  4711.           same directory from which ProPak was loaded.  This simplifies
  4712.           many things, especially finding the files later.
  4713.  
  4714.  
  4715.           The Control Center                                      74 of 143
  4716.  
  4717.  
  4718.                        - Programmer's Productivity Pack 2.60 -
  4719.  
  4720.  
  4721.           While you are still in The Control Center, select the "List Key
  4722.           Recordings" option and press <Enter>.  This will display a list
  4723.           of all the current Keystroke Recordings, their Trigger Keys, and
  4724.           how many keystrokes are in each recording.  Press <Esc> to return
  4725.           to The Control Center.
  4726.  
  4727.           Select "Read Keys from File".  Reading Keystroke Recordings back
  4728.           from a file is basically the same process as writing them to a
  4729.           file, except that you will be choosing a file already in
  4730.           existence.
  4731.  
  4732.           There are two ways that Keystroke Recordings can be read from a
  4733.           file.  You saw the options "Merge" and "Replace" when we looked
  4734.           at "Modify Options" in the last tutorial.  If you left it set on
  4735.           the default "Merge with Existing Key Records" they will be added
  4736.           or merged with any current Keystroke Recordings.  We say "merged"
  4737.           because if any recordings in the file use Trigger Keys that are
  4738.           currently defined, then the Keystroke Recording in the file will
  4739.           replace the one currently defined, while other recordings will
  4740.           simply be added to those already in use.
  4741.  
  4742.           If the option was set to "Replace Existing Key Records" reading
  4743.           the Keystroke Recordings from a file would first cause all the
  4744.           Keystroke Recordings in memory to be deleted.  Then the set of
  4745.           Keystroke Recordings in the file would replace them.
  4746.  
  4747.           Don't "Read Keys from File" just yet.  Instead, select the
  4748.           "Delete Key Records" option and press <Enter>.  This option
  4749.           enables you to delete one or all of the current Keystroke
  4750.           Recordings.  For now, let's delete "all" the current Keystroke
  4751.           Recordings.  Go ahead and delete them all, the process should be
  4752.           self-explanatory.
  4753.  
  4754.           Now select "Read Keys from File".  A window opens up and you see
  4755.           the file you wrote to disk with a .KEY extension.  Press <Enter>.
  4756.           Your two Keystroke Recordings are back!  Press the Trigger Keys.
  4757.           Sure enough, they work.
  4758.  
  4759.           Well, now you have even more tools to help you in your pursuit of
  4760.           increased productivity.  The Keystroke Recording and Screen
  4761.           Grabber features can be used in a wide variety of ways, be
  4762.           inventive.  Perhaps you have noticed, too, that despite all of
  4763.           ProPak's power and flexibility, its greatest feature is its ease
  4764.           of use.  ProPak was designed to be just plain "friendly"!
  4765.  
  4766.  
  4767.  
  4768.  
  4769.  
  4770.  
  4771.  
  4772.  
  4773.  
  4774.           The Control Center                                      75 of 143
  4775.  
  4776.  
  4777.                        - Programmer's Productivity Pack 2.60 -
  4778.  
  4779.  
  4780.                                  --------------------
  4781.                                   The Control Center
  4782.                                  --------------------
  4783.  
  4784.  
  4785.           In-Depth Reference Guide:
  4786.           =========================
  4787.  
  4788.           The features of the Control Center have been divided into five
  4789.           separate Reference Guides to make each feature easier to find and
  4790.           study.  This Reference Guide will cover accessing and exiting The
  4791.           Control Center and getting status Information.
  4792.  
  4793.           How To Access The Control Center:
  4794.           ---------------------------------
  4795.  
  4796.           The Control Center is accessed by way of a Hot Key, as long as
  4797.           ProPak is resident in memory.  The default Hot Key is
  4798.           <Ctrl><RightShift>.  If you are not sure if ProPak is in memory
  4799.           type "PROPAK" <Enter> at the DOS prompt.  This will load ProPak
  4800.           or produce a message that ProPak is already resident.
  4801.  
  4802.           TIP:
  4803.              Along with the message telling you that ProPak is already
  4804.              resident, there will be two lines reminding you what the Hot
  4805.              Keys for The Programmer's Calculator and The Control Center
  4806.              are.  Even if you change the Hot Keys "on the fly" (after
  4807.              ProPak is resident), the message will correctly identify the
  4808.              current Hot Key assignments!  So if you ever forget the Hot
  4809.              Keys, simply attempt to load ProPak again, and you will be
  4810.              able to determine what keys are currently in use.  This can be
  4811.              a handy feature to remember.
  4812.  
  4813.           The Control Center:
  4814.           -------------------
  4815.  
  4816.                               |--- Control Center ----|
  4817.                               | Modify Options        |
  4818.                               | List Key Recordings   |
  4819.                               | Write Keys to File    |
  4820.                               | Read Keys from File   |
  4821.                               | Delete Key Recordings |
  4822.                               | Copy Screen to File   |
  4823.                               | Print Facility        |
  4824.                               | Get Status Info       |
  4825.                               | Unload from Memory    |
  4826.                               |-----------------------|
  4827.                             Figure 7: Control Center Menu
  4828.  
  4829.  
  4830.  
  4831.  
  4832.  
  4833.           The Control Center                                      76 of 143
  4834.  
  4835.  
  4836.                        - Programmer's Productivity Pack 2.60 -
  4837.  
  4838.  
  4839.           Accessing The Control Center will bring up The Control Center
  4840.           Menu.  The "Modify Options" choice will be highlighted.  Some of
  4841.           the other options will be bright and some dim.  An option is dim
  4842.           if it is not currently available.  For instance, if the "List Key
  4843.           Recordings" option is dim it means that there are no Key
  4844.           Recordings to list.  If the "Print Facility" is dim it means that
  4845.           the DOS Print program is not loaded in memory and, therefore, not
  4846.           available.
  4847.  
  4848.           There are nine options on the Menu grouped according to function.
  4849.           The first option, and the one that is highlighted when you first
  4850.           access the Menu, is "Modify Options" because that will probably
  4851.           be the the most common reason for going to the Menu.  The
  4852.           Keystroke Recording and Playback function may be used more often,
  4853.           but, it is operated directly from the keyboard, without going to
  4854.           the Menu.  The next four options all deal with the Keystroke
  4855.           Recording and Playback function.  The last four options are for
  4856.           the Screen Capture facility, the Print facility, status
  4857.           information, and unloading from memory.
  4858.  
  4859.           We will look at all of these options here, but, complete
  4860.           information on the Modify Options feature, Keystroke Recordings,
  4861.           Screen Capture, and Print functions can be found in their
  4862.           respective In-Depth Reference Guides.
  4863.  
  4864.           Modify Options:
  4865.           ---------------
  4866.  
  4867.           Selecting this option will bring up the Modify Current Settings
  4868.           Menu.  You can change the five major Hot Keys used by ProPak,
  4869.           enable and disable Keystroke Recording, set the keystroke
  4870.           Playback delay, and set the methods for reading Keystroke
  4871.           Recordings and filtering screens captured to disk.
  4872.  
  4873.           Full details may be found in The Modify Options feature of the
  4874.           In-Depth Reference Guide (page 83).
  4875.  
  4876.           List Key Recordings:
  4877.           --------------------
  4878.  
  4879.           This option lists all of the current Keystroke Recordings by
  4880.           Trigger Key;  the key or keys used to play them back.  It also
  4881.           gives the name, if there is one, and how many keystrokes are
  4882.           actually contained in each recording.
  4883.  
  4884.           TIP:
  4885.              If you are wondering about the memory required for Keystroke
  4886.              Recordings you should know that each keystroke requires two
  4887.              bytes of memory, regardless of whether it is a single key or a
  4888.              key combination (like <Ctrl><F1>).  Also, a small amount of
  4889.  
  4890.  
  4891.  
  4892.           The Control Center                                      77 of 143
  4893.  
  4894.  
  4895.                        - Programmer's Productivity Pack 2.60 -
  4896.  
  4897.  
  4898.              information is stored with each Keystroke Recording which
  4899.              ProPak uses to keep track of things.
  4900.  
  4901.           Write Keys to File:
  4902.           -------------------
  4903.  
  4904.           This option will write all of the Keystroke Recordings that are
  4905.           currently in memory to a file.  This lets you reuse the same
  4906.           Keystroke Recordings from day to day as needed.  If Keystroke
  4907.           Recordings are not saved to a file they will be lost when the
  4908.           computer is turned off.
  4909.  
  4910.           Writing Keystroke Recordings to a file does not remove them from
  4911.           memory.  They will still be active and available until they are
  4912.           deleted or replaced.
  4913.  
  4914.           Keystroke Recording files will always be stored in the same
  4915.           directory that ProPak was loaded from.  ProPak will automatically
  4916.           put a .KEY extension on whatever name you choose for the file
  4917.           (unless you change the extension using PCustom).
  4918.  
  4919.           TIP:
  4920.              The size of the file will depend upon how many Keystroke
  4921.              Recordings are currently defined.  Each Keystroke Recording
  4922.              written to a file will take the same amount of disk space as
  4923.              it took in memory.  In addition, each Keystroke Recording file
  4924.              has a short header inserted into it which contains information
  4925.              needed by ProPak.  This header is less than 100 bytes in
  4926.              length.
  4927.  
  4928.           Read Keys From File:
  4929.           --------------------
  4930.  
  4931.           This option provides you with the ability to read Keystroke
  4932.           Recordings from a file of previously saved Keystroke Recordings.
  4933.           This is an extremely handy feature which enables you to reuse
  4934.           Keystroke Recordings over and over without having to redefine
  4935.           them each time ProPak is loaded into memory.
  4936.  
  4937.           Whether the Keystroke Recordings read from the file are merged
  4938.           with the current Keystroke Recordings or replace the current
  4939.           recordings is determined by the method currently set on the
  4940.           Modify Options Menu.
  4941.  
  4942.           When you select this option, ProPak looks into the directory from
  4943.           which ProPak was loaded for files with the extension .KEY (or the
  4944.           extension you specified using PCustom).  ProPak then displays the
  4945.           names of all the files with that extension.  You choose the file
  4946.           you wish to load by moving the highlight bar over the name of the
  4947.           file you want and pressing <Enter>.
  4948.  
  4949.  
  4950.  
  4951.           The Control Center                                      78 of 143
  4952.  
  4953.  
  4954.                        - Programmer's Productivity Pack 2.60 -
  4955.  
  4956.  
  4957.           Before loading the Keystroke Recordings from the file into
  4958.           memory, ProPak checks to be sure that the file actually contains
  4959.           Keystroke Recordings.  If it doesn't, an error message will
  4960.           appear and the file will not be read.
  4961.  
  4962.           TIP:
  4963.              The maximum number of Keystroke Recordings that can be active
  4964.              at one time is 100.  You'll probably never have that many keys
  4965.              redefined at once, but this should be considered when merging
  4966.              recordings from a file.  The currently active recordings plus
  4967.              the ones from the file must add up to no more than 100 or
  4968.              ProPak will not read the recordings from the file.
  4969.  
  4970.           Delete Key Recordings:
  4971.           ----------------------
  4972.  
  4973.           This option provides two methods for deleting Keystroke
  4974.           Recordings that are no longer needed.
  4975.  
  4976.           Delete All Recordings - Choosing this option enables you to
  4977.           delete all the current Keystroke Recordings.  Of course, this
  4978.           does not affect recordings that are stored in disk files.  When
  4979.           this option is chosen a window will open asking you to confirm
  4980.           that you really want to delete all the Keystroke Recordings
  4981.           currently stored in memory.  Choosing "no" cancels the operation
  4982.           while choosing "yes" allows ProPak to carry out your request.
  4983.  
  4984.           Delete One Recording - When this option is chosen a window will
  4985.           open in which all the current Keystroke Recordings will be
  4986.           listed.  Each recording will be identified by the Trigger Key
  4987.           used to Playback the recording and the name of the recording, if
  4988.           one is assigned.
  4989.  
  4990.           To select a particular Keystroke Recording for deletion, simply
  4991.           position the highlight bar over the one you wish to delete, and
  4992.           press <Enter> to delete the recording, or <Esc> to cancel the
  4993.           delete operation.  As with the "Delete All Recordings" option, a
  4994.           window will open asking you to confirm whether or not you wish to
  4995.           actually delete the recording.
  4996.  
  4997.           Copy Screen To File:
  4998.           --------------------
  4999.  
  5000.           This feature enables you to capture the contents of the screen
  5001.           beneath the Menu to a disk file.  The text on the screen is
  5002.           copied with a carriage return at the end of each line.  The
  5003.           screen will be filtered according to the method currently chosen
  5004.           on the Modify Current Settings Menu.
  5005.  
  5006.           Complete information on this feature is available in the In-Depth
  5007.           Reference Guide (page 96).
  5008.  
  5009.  
  5010.           The Control Center                                      79 of 143
  5011.  
  5012.  
  5013.                        - Programmer's Productivity Pack 2.60 -
  5014.  
  5015.  
  5016.           Print Facility:
  5017.           ---------------
  5018.  
  5019.           This feature gives you access to the DOS background PRINT
  5020.           facility at all times.  Through this option you may submit files
  5021.           to be printed in the background, or you may cancel files that
  5022.           have already been submitted.
  5023.  
  5024.           There are two prerequisites to using this feature.  First, the
  5025.           DOS background PRINT program must be installed in memory.
  5026.           Secondly, you must be using DOS version 3.0 or later.
  5027.  
  5028.           Complete information on this feature is available in the In-Depth
  5029.           Reference Guide (page 98).
  5030.  
  5031.           Get Status Info:
  5032.           ----------------
  5033.  
  5034.           The "Get Status Info" option is a quick and easy way for you to
  5035.           find out information about Keystroke Recordings and memory usage.
  5036.           When you select this option the following information is
  5037.           provided:
  5038.  
  5039.               o  The first line tells you how many Keystroke Recordings are
  5040.                  currently defined and available.
  5041.  
  5042.               o  The second line tells you how much memory is actually
  5043.                  being used to store these Keystroke Recordings.  This is
  5044.                  especially useful when you are considering using PCustom
  5045.                  to change the amount of memory that will be set aside for
  5046.                  Keystroke Recordings.  Once you have an idea of the kinds
  5047.                  of Keystroke Recordings you'll be using, you can decide
  5048.                  how much to raise or lower the memory allocated for
  5049.                  Keystroke Recordings.  The default allocation is 2,048
  5050.                  bytes (2K).
  5051.  
  5052.               o  The third line tells you how much heap memory is still
  5053.                  available for use.  Heap memory is basically memory held
  5054.                  in reserve in case it is needed at any time.  There are
  5055.                  two things that use this heap memory on a regular basis.
  5056.                  Keystroke Recordings are stored in this area, as you might
  5057.                  have guessed.  Also, whenever ProPak displays something on
  5058.                  the screen, the contents that were on the screen before
  5059.                  are stored in this heap memory area.
  5060.  
  5061.               o  The fourth line tells you the total amount of memory
  5062.                  ProPak is occupying.
  5063.  
  5064.  
  5065.  
  5066.  
  5067.  
  5068.  
  5069.           The Control Center                                      80 of 143
  5070.  
  5071.  
  5072.                        - Programmer's Productivity Pack 2.60 -
  5073.  
  5074.  
  5075.           Unload From Memory:
  5076.           -------------------
  5077.  
  5078.           ProPak may be unloaded from memory by selecting the "Unload From
  5079.           Memory" option on The Control Center.  This option performs the
  5080.           same function that <Alt><U>, <Alt><U> performs within The
  5081.           Programmer's Calculator.  When this option is selected, ProPak
  5082.           examines each interrupt vector it uses to determine if any other
  5083.           programs have hooked into them since ProPak was loaded.  If no
  5084.           other programs have hooked these same interrupts, then ProPak
  5085.           will report that it is safe to unload.
  5086.  
  5087.           If ProPak determines that it is safe to unload, then it will give
  5088.           you another opportunity to change your mind.  Pressing <Esc> will
  5089.           return you to The Control Center, while pressing any other key
  5090.           will unload ProPak from memory.
  5091.  
  5092.           ProPak will not unload itself if doing so could possibly harm
  5093.           another program.  Even with all these built-in safety features,
  5094.           there are still steps you should take to ensure the safest
  5095.           possible operation of your system.
  5096.  
  5097.           Consider the DOS memory management techniques in use by current
  5098.           versions of MS-DOS.  If you have other programs loaded above
  5099.           ProPak in memory, even programs that are not memory-resident, and
  5100.           you unload ProPak out from under them, the memory will not
  5101.           actually be made available to other programs.  The reason for
  5102.           this is that DOS is not designed to handle these "holes" in
  5103.           memory between programs.  At the very least this will prevent the
  5104.           memory from actually becoming available until any programs that
  5105.           were loaded after ProPak have also been unloaded.  In a more
  5106.           negative situation, DOS could become confused by this "hole" in
  5107.           memory and the results could be unpredictable.
  5108.  
  5109.           TIP:
  5110.              The safest possible method of unloading any memory-resident
  5111.              program is to do it from DOS rather than from within another
  5112.              program.  For example, you are inside WordStar and pop up
  5113.              ProPak.  Then you instruct ProPak to unload itself from
  5114.              memory.  ProPak would probably be able to do it safely from
  5115.              the point of view of the interrupts involved.  But, a better
  5116.              method would be to exit from WordStar back to the DOS level
  5117.              and then pop up ProPak and tell it to unload itself.  While
  5118.              both methods work, and you may never experience any
  5119.              difficulties with either method, unloading from the DOS level
  5120.              is much safer, and, as a general rule, is the preferred
  5121.              method.
  5122.  
  5123.              This does not mean that you have to use only the "PROPAK -U"
  5124.              (command line) method of unloading ProPak from memory.  You
  5125.              may also pop up ProPak using a Hot Key and unload it using one
  5126.  
  5127.  
  5128.           The Control Center                                      81 of 143
  5129.  
  5130.  
  5131.                        - Programmer's Productivity Pack 2.60 -
  5132.  
  5133.  
  5134.              of its built-in methods.  The important point here is that you
  5135.              should be at the DOS prompt when you pop it up for the purpose
  5136.              of unloading it from memory.
  5137.  
  5138.  
  5139.  
  5140.  
  5141.  
  5142.  
  5143.  
  5144.  
  5145.  
  5146.  
  5147.  
  5148.  
  5149.  
  5150.  
  5151.  
  5152.  
  5153.  
  5154.  
  5155.  
  5156.  
  5157.  
  5158.  
  5159.  
  5160.  
  5161.  
  5162.  
  5163.  
  5164.  
  5165.  
  5166.  
  5167.  
  5168.  
  5169.  
  5170.  
  5171.  
  5172.  
  5173.  
  5174.  
  5175.  
  5176.  
  5177.  
  5178.  
  5179.  
  5180.  
  5181.  
  5182.  
  5183.  
  5184.  
  5185.  
  5186.  
  5187.           The Control Center                                      82 of 143
  5188.  
  5189.  
  5190.                        - Programmer's Productivity Pack 2.60 -
  5191.  
  5192.  
  5193.                              ----------------------------
  5194.                               The Modify Options Feature
  5195.                              ----------------------------
  5196.  
  5197.  
  5198.           In-Depth Reference Guide:
  5199.           =========================
  5200.  
  5201.           The Modify Options feature was designed to enable you to
  5202.           customize many features of ProPak while it is actually resident
  5203.           in memory.  PCustom enables you to make permanent changes to
  5204.           ProPak, but, the "Modify Options" Menu provides you with a means
  5205.           of making changes that only affect ProPak until it is unloaded
  5206.           from memory.
  5207.  
  5208.           With ProPak in memory, press <Ctrl><RightShift> to access The
  5209.           Control Center.  Modify Options is the default option when you
  5210.           first access this Menu.  If Modify Options is already highlighted
  5211.           then just press <Enter>.  If Modify Options is not highlighted,
  5212.           either move the highlight bar using the arrow keys or press <M>
  5213.           to select it.
  5214.  
  5215.           The Modify Current Settings Submenu:
  5216.           ------------------------------------
  5217.  
  5218.           ProPak gives you the freedom to customize many features, but with
  5219.           this freedom comes some responsibility (doesn't it always?).  The
  5220.           first five Menu choices enable you to change any of the Hot Keys
  5221.           "on the fly," while ProPak is actually in use.  Before we look at
  5222.           these, we should mention that some key combinations work very
  5223.           well as Hot Keys while others do not.  The following information
  5224.           should help you in deciding which keys to use as Hot Keys, and
  5225.           which ones to avoid.
  5226.  
  5227.           |------------------- Modify Current Settings --------------------|
  5228.           | The Control Center             <Ctrl><RightShift>              |
  5229.           | Start Recording Keystrokes     <Alt><=>                        |
  5230.           | Stop Recording Keystrokes      <Alt><->                        |
  5231.           | Screen Grabber                 <Alt><Space>                    |
  5232.           | Calculator and Attachments     <LeftShift><Ctrl>               |
  5233.           | Keystroke Recording/Playback   ENABLED                         |
  5234.           | Keystroke Playback Delay       0                               |
  5235.           | Read Key Recordings from File  MERGE WITH EXISTING KEY RECORDS |
  5236.           | Screen Capture Filter Method   FILTER FOR PRINTER              |
  5237.           |----------------------------------------------------------------|
  5238.                       Figure 8: Modify Current Settings Submenu
  5239.  
  5240.           First and foremost, you should always use a combination of two or
  5241.           more keys as a Hot Key.  Using a single key as a Hot Key is not
  5242.           only risky, but it usually will not work at all.  A good rule of
  5243.           thumb is to always use two or more keystrokes, at least one of
  5244.  
  5245.  
  5246.           The Control Center                                      83 of 143
  5247.  
  5248.  
  5249.                        - Programmer's Productivity Pack 2.60 -
  5250.  
  5251.  
  5252.           which is either the left or right <Shift> key, or a <Ctrl> or
  5253.           <Alt> key.
  5254.  
  5255.           The most obvious consideration is that you wouldn't want to use
  5256.           any key combinations that are used normally in the course of your
  5257.           daily computer use as a Hot Key.  For instance, most word
  5258.           processing programs already make use of the function keys and
  5259.           many key combinations.  So when choosing a new Hot Key, you
  5260.           should make sure it doesn't override another key combination that
  5261.           is used for something else.
  5262.  
  5263.           Another consideration is the extra keys on enhanced keyboards.
  5264.           Some of these keys just don't work very well as Hot Keys.  For
  5265.           instance, functions keys F11 and F12 are very unreliable when
  5266.           used as part of a Hot Key combination.  Because of this, ProPak
  5267.           will not accept Hot Keys that include F11 or F12 as part of the
  5268.           key combination.
  5269.  
  5270.           The best way to determine which keys to use, if you do actually
  5271.           need to change any of the defaults, is to experiment.  Try a
  5272.           different Hot Key.  If it conflicts with some other program then
  5273.           change it.  If it works wonderfully then stick with it.
  5274.  
  5275.           TIP:
  5276.              The default Hot Keys like <LeftShift><Ctrl> are keys that
  5277.              don't include regular keys.  Because of this, you won't be
  5278.              able to specify a Hot Key like <LeftShift><Ctrl> from within
  5279.              ProPak itself.  If you want to use these kinds of keystrokes,
  5280.              those that have only "shift" or "modifier" keys, you will need
  5281.              to use PCustom to make the changes.
  5282.  
  5283.              There are two key combinations which you may want to avoid.
  5284.              If you frequently enter extended ASCII characters using the
  5285.              <Alt><numpad number> technique then you should avoid using
  5286.              <Alt><LeftShift> as a hot key.  This is due to the extensions
  5287.              ProPak applies to the keyboard.  In order to enter extended
  5288.              ASCII characters you will have to hold down the <Alt> key AND
  5289.              the <LeftShift> key, while entering the ASCII code on the
  5290.              number keypad.  This will interfere with the hot key if the
  5291.              hot key is <Alt><LeftShift>.
  5292.  
  5293.              If you are using an enhanced keyboard (with dedicated cursor
  5294.              movement keys) then you should avoid <Ctrl><LeftShift> as a
  5295.              hot key.  This is due to scan code similarities between key
  5296.              combinations such as <Ctrl><cursor pad key> and <Shift><numpad
  5297.              number> as used on a non-enhanced keyboard.  If you choose
  5298.              <Ctrl><LeftShift> as a hot key on an enhanced keyboard you
  5299.              will frequently find ProPak popping up in response to key
  5300.              combinations such as <Ctrl><PgUp>, <Ctrl><PgDn>, etc.
  5301.  
  5302.  
  5303.  
  5304.  
  5305.           The Control Center                                      84 of 143
  5306.  
  5307.  
  5308.                        - Programmer's Productivity Pack 2.60 -
  5309.  
  5310.  
  5311.           Having discussed this information, let's take a look at each of
  5312.           the options available on the Modify Current Settings Menu.
  5313.  
  5314.           The Control Center (Menu) - This option enables you to change the
  5315.           Hot Key that is used to pop up The Control Center.  When ProPak
  5316.           was shipped, this Hot Key was set to <Ctrl><RightShift>.
  5317.  
  5318.           Remember, if you change this Hot Key you will not be able to
  5319.           reset it to the default again without going to PCustom.
  5320.  
  5321.           Start Recording Keystrokes - Selecting this option enables you to
  5322.           change the Hot Key that is used to START the Keystroke Recording
  5323.           feature.  The default Hot Key is <Alt><=>.
  5324.  
  5325.           Stop Recording Keystrokes - Selecting this option tells ProPak
  5326.           that you wish to change the Hot Key used to STOP Keystroke
  5327.           Recording.  The default Stop Recording Hot Key is <Alt><->.
  5328.  
  5329.           Screen Grabber - This option enables you to change the Hot Key
  5330.           used to pop up the Screen Grabber feature.  The default Hot Key
  5331.           is <Alt><Space>.
  5332.  
  5333.           Calculator and Attachments - This is the option you would select
  5334.           if you wanted to change the Hot Key used to pop up The
  5335.           Programmer's Calculator and its various attachments.  This Hot
  5336.           Key can also be changed from inside the Calculator itself should
  5337.           the need arise.  The default Hot Key for The Programmer's
  5338.           Calculator is <LeftShift><Ctrl>.
  5339.  
  5340.           If you change this Hot Key you will not be able to reset it to
  5341.           the default again without going to PCustom.
  5342.  
  5343.           Keystroke Recording/Playback - Using this Menu choice you can
  5344.           easily turn the Keystroke Recording and Playback feature on or
  5345.           off.  When the keystroke recording and Playback feature is
  5346.           enabled, pressing the appropriate keys will cause a Keystroke
  5347.           Recording to be played back.  If this feature is disabled, the
  5348.           Keystroke Recording will NOT be played back when you press the
  5349.           key to which the recording is assigned.  Additionally, you will
  5350.           not be able to record keystrokes with this option disabled.  You
  5351.           may enable and disable this feature as often as needed.
  5352.  
  5353.           Keystroke Playback Delay - ProPak is capable of playing back
  5354.           keystrokes as fast as 1,000 characters per second.  This Menu
  5355.           option enables you to change the Playback Delay Rate, the delay
  5356.           (in milliseconds) inserted between each keystroke played back,
  5357.           whenever the need arises.
  5358.  
  5359.           Some word processors can't handle rapid fire keystroke input, and
  5360.           in attempting to keep up, they sometimes lose a keystroke here
  5361.           and there.  In these situations accuracy is far more important
  5362.  
  5363.  
  5364.           The Control Center                                      85 of 143
  5365.  
  5366.  
  5367.                        - Programmer's Productivity Pack 2.60 -
  5368.  
  5369.  
  5370.           than speed.  After all, what good is a software product that
  5371.           executes at warp 19, when the end result is that it quickly comes
  5372.           up with the wrong answer?
  5373.  
  5374.           With ProPak, you decide how quickly it plays back each keystroke.
  5375.           This Menu option will accept any value from 0 to 100.  This means
  5376.           that you instruct ProPak to pause from 0 to 100 milliseconds
  5377.           between each keystroke that it plays back.
  5378.  
  5379.           Read Key Records from File - This option enables you to determine
  5380.           exactly how ProPak should handle Keystroke Recordings that are
  5381.           read from a file of previously saved Keystroke Recordings.  There
  5382.           are two methods available, either of which may be set as the
  5383.           default using PCustom.  For those times in which you need to
  5384.           change the method at run time, this Menu option makes it easy.
  5385.  
  5386.           The first method available, which is also the default method, is
  5387.           to merge the Keystroke Recordings that are read from the file
  5388.           into the current Keystroke Recordings.  The reason it's called
  5389.           "merging" will be clear in a moment.
  5390.  
  5391.           As you know, you can give a name to each Keystroke Recording.
  5392.           This makes it easier for you to identify different recordings
  5393.           later.  ProPak itself does not use that name to identify a
  5394.           particular recording.  ProPak identifies each recording based
  5395.           upon the key or keys that trigger its Playback.
  5396.  
  5397.           Let's say we have a Keystroke Recording that is played back every
  5398.           time you press <Alt><F1>.  To ProPak, <Alt><F1> is the most
  5399.           important identifying characteristic of the recording because
  5400.           that is the key combination ProPak must watch for in order to
  5401.           know when you want the recording to be played back.  With ProPak
  5402.           you can give the same name to two or more Keystroke Recordings,
  5403.           but only one recording at a time can be assigned to a particular
  5404.           Trigger Key.  You can have only one Keystroke Recording assigned
  5405.           to <Alt><F1> at a time, for instance.
  5406.  
  5407.           With this in mind it is easier to see how ProPak handles
  5408.           Keystroke Recordings that are read in from a file.  If a
  5409.           recording has a Trigger Key that is not already in use by another
  5410.           recording, ProPak will add that Keystroke Recording to the list
  5411.           of current recordings.  However, if a file contains a Keystroke
  5412.           Recording that has the same Trigger Key as a current Keystroke
  5413.           Recording, the one in the file will replace the current one and
  5414.           become the recording associated with that particular Trigger Key.
  5415.           Reading Keystroke Recordings from a file in this manner is called
  5416.           "merging."
  5417.  
  5418.           There is also another way that ProPak can be instructed to handle
  5419.           Keystroke Recordings that are read in from a file.  ProPak can be
  5420.           told to replace the current Keystroke Recordings with the ones in
  5421.  
  5422.  
  5423.           The Control Center                                      86 of 143
  5424.  
  5425.  
  5426.                        - Programmer's Productivity Pack 2.60 -
  5427.  
  5428.  
  5429.           the file.  When this method is specified, ProPak will delete all
  5430.           the current recordings right before it reads the file.  Then the
  5431.           Keystroke Recordings from the file replace the ones that were in
  5432.           memory.
  5433.  
  5434.           The method best for you will, of course, depend upon the kinds of
  5435.           recordings you use and your normal work habits.
  5436.  
  5437.           TIP:
  5438.              When you merge recordings, there is always the possibility
  5439.              that one of the Keystroke Recordings in the file uses the same
  5440.              Trigger Key as a recording already in memory.  A good safety
  5441.              precaution to take before reading in a Keystroke Recording
  5442.              file, is to write the current recordings to a file with a
  5443.              unique name.  Having done this, you will always be able to get
  5444.              those Keystroke Recordings back when you need them.
  5445.  
  5446.           Screen Capture Filter Method - Almost every programmer and
  5447.           computer user has used some method of capturing the information
  5448.           currently displayed on the screen.  Perhaps you have used a
  5449.           utility which enabled you to save screens to disk, or maybe you
  5450.           have simply used the "print screen" feature built into your
  5451.           computer.  You now have another alternative.
  5452.  
  5453.           Perhaps you have run across a situation where characters like
  5454.           happy faces and other strange symbols appeared on your screen,
  5455.           but, when you tried to print them your printer protested.  Or
  5456.           perhaps a character representing an end-of-file mark tricked the
  5457.           DOS "TYPE" command into thinking that it marked the end of the
  5458.           file (even though there was more text in the file after that
  5459.           mark).  Dealing with special characters like this is what the
  5460.           filter option in ProPak's Screen Capture facility is all about.
  5461.  
  5462.           By turning off filtering, ProPak's Screen Capture facility
  5463.           operates much like other similar utilities.  When activated it
  5464.           copies the contents of the screen to a disk file that you
  5465.           specify.  But to give you more control, you also have two
  5466.           additional levels of filtering available.
  5467.  
  5468.           By "filtering" we mean that before copying the screen contents to
  5469.           a disk file, ProPak will check to see if any of the characters
  5470.           present are in the list of characters to be filtered out.  If a
  5471.           character is in the list of characters to be filtered out, ProPak
  5472.           will replace that character with a dot (".").  Of course if you
  5473.           don't like the dot, PCustom enables you to specify any other
  5474.           character that you wish, as a replacement character.
  5475.  
  5476.           The reason ProPak replaces the character with another character
  5477.           is to prevent the alignment from changing.  By doing so, ProPak
  5478.           ensures that your captured screen images will still look good,
  5479.           regardless of how they were filtered.
  5480.  
  5481.  
  5482.           The Control Center                                      87 of 143
  5483.  
  5484.  
  5485.                        - Programmer's Productivity Pack 2.60 -
  5486.  
  5487.  
  5488.           There are three levels of filtering available.
  5489.  
  5490.               o  Do Not Filter.  The first is no filtering at all.  The
  5491.                  screen will be copied to disk without altering any
  5492.                  characters.
  5493.  
  5494.               o  Filter for Screen.  The second level of filtering filters
  5495.                  out characters with ASCII codes 0 (null), 10 (line feed),
  5496.                  12 (form feed), 13 (carriage return), 26 (SUB - used as an
  5497.                  end-of-file marker), and 127 (DEL - looks like null to
  5498.                  many printers).
  5499.  
  5500.               o  Filter for Printer.  The third level of filtering filters
  5501.                  out characters with ASCII codes from 0 to 31 (the control
  5502.                  codes) as well as 127 (looks like null to many printers).
  5503.                  This is the recommended option, and is the one set when
  5504.                  ProPak is shipped.
  5505.  
  5506.           Changing the level of filtering is easy.  Simply press the
  5507.           <Enter> key to switch from one level to another.
  5508.  
  5509.  
  5510.  
  5511.  
  5512.  
  5513.  
  5514.  
  5515.  
  5516.  
  5517.  
  5518.  
  5519.  
  5520.  
  5521.  
  5522.  
  5523.  
  5524.  
  5525.  
  5526.  
  5527.  
  5528.  
  5529.  
  5530.  
  5531.  
  5532.  
  5533.  
  5534.  
  5535.  
  5536.  
  5537.  
  5538.  
  5539.  
  5540.  
  5541.           The Control Center                                      88 of 143
  5542.  
  5543.  
  5544.                        - Programmer's Productivity Pack 2.60 -
  5545.  
  5546.  
  5547.                           ----------------------------------
  5548.                            Keystroke Recording and Playback
  5549.                           ----------------------------------
  5550.  
  5551.  
  5552.           In-Depth Reference Guide:
  5553.           =========================
  5554.  
  5555.           You are probably familiar with the concept of "keystroke macros"
  5556.           or "keyboard macros".  Those "macro" capabilities are essentially
  5557.           the same as ProPak's Keystroke Recording and Playback capability.
  5558.           We avoided the use of the term "macro" because it has so many
  5559.           different meanings in different contexts that it is often a
  5560.           source of confusion to those unfamiliar with the concept.
  5561.           Instead we chose to call this feature "Keystroke Recording and
  5562.           Playback", which we felt was a more accurate description.
  5563.  
  5564.           The Keystroke Recording and Playback capabilities built into
  5565.           ProPak are very easy to use.  This capability can save you a
  5566.           great deal of time while working on a variety of programming
  5567.           projects, regardless of the languages or environments you use for
  5568.           development.
  5569.  
  5570.           The basic process of Keystroke Recording and Playback involves
  5571.           three steps:  1) Tell ProPak when to start recording your
  5572.           keystrokes.  2) Tell ProPak when to stop recording your
  5573.           keystrokes.  3) Play back the recordings as often as necessary.
  5574.  
  5575.           ProPak enables you to assign up to 1,000 keystrokes to a single
  5576.           key or key combination.  This gives you the ability to "remap"
  5577.           your keyboard and control the way it actually functions.
  5578.           Furthermore, you can have up to 100 individual Keystroke
  5579.           Recordings active at one time.  This gives you the ability to
  5580.           almost completely reconfigure your keyboard to whatever best
  5581.           meets your needs.
  5582.  
  5583.           The ability to save Keystroke Recordings to disk and read them
  5584.           back later gives you even more control.  By taking advantage of
  5585.           the Keystroke Recording file capability you can have an unlimited
  5586.           number of Keystroke Recordings available whenever they are
  5587.           needed.
  5588.  
  5589.           How to Start Recording Keystrokes:
  5590.           ----------------------------------
  5591.  
  5592.           To begin recording keystrokes press <Alt><=>.  When you press
  5593.           <Alt><=> a window will open asking you which key should be used
  5594.           as a Trigger Key to play back the recording later.  This Trigger
  5595.           Key is not the same as a Hot Key like you would use to pop up the
  5596.           Calculator for instance.  Because the Trigger Key is not a Hot
  5597.           Key, you couldn't use a key combination like <Ctrl><Alt><F10>,
  5598.  
  5599.  
  5600.           The Control Center                                      89 of 143
  5601.  
  5602.  
  5603.                        - Programmer's Productivity Pack 2.60 -
  5604.  
  5605.  
  5606.           but you could use either <Ctrl><F10> or <Alt><F10>.  Once you
  5607.           have selected the key combination you wish to use, the window
  5608.           will close.  Once the window closes, ProPak has shifted into
  5609.           Record Mode where each and every keystroke you type, including
  5610.           <Enter>, <Esc>, or any other key, is recorded.
  5611.  
  5612.           Important note!:
  5613.           ----------------
  5614.  
  5615.           WHILE RECORDING KEYSTROKES, ALL OTHER FEATURES OF PROPAK ARE
  5616.           DISABLED.  You can't, for instance, pop up The Programmer's
  5617.           Calculator while keystrokes are being recorded.  If you ever find
  5618.           yourself unable to access ProPak when you know it is in memory,
  5619.           check that you are not in record keystrokes mode (by pressing
  5620.           <Alt><->).  Even though ProPak will only record the first 1,000
  5621.           keys you press, it will allow you to keep pressing keys until you
  5622.           signal it to stop recording.
  5623.  
  5624.           How to Stop Recording Keystrokes:
  5625.           ---------------------------------
  5626.  
  5627.           When you have finished typing the keystrokes you wish to record
  5628.           you must tell ProPak to stop recording.  To do this simply press
  5629.           <Alt><->.  Be sure to use the top row <minus> key, not the
  5630.           <minus> key by the numeric keypad.
  5631.  
  5632.           When you have turned off the recording feature, you will be given
  5633.           an opportunity to assign a name to this particular recording.  Of
  5634.           course a name is not necessary, but if you have five or six
  5635.           Keystroke Recordings present at the same time, giving each a
  5636.           unique name can be a great help later on.  ProPak will also tell
  5637.           you exactly how much memory is being used to store the Keystroke
  5638.           Recording.  This information can be put to good use.  By taking
  5639.           note of the memory usage of each of your Keystroke Recordings you
  5640.           can get a much clearer picture of how much memory you should set
  5641.           aside for these Keystroke Recordings in the future (using
  5642.           PCustom).
  5643.  
  5644.           As you have seen, the process of recording keystrokes is very
  5645.           simple and straightforward.  Simply tell ProPak when to start
  5646.           recording and when to stop recording.  ProPak does the rest.
  5647.  
  5648.           How To Play Back a Keystroke Recording:
  5649.           ---------------------------------------
  5650.  
  5651.           To use the Keystroke Recording, simply press the key or key
  5652.           combination you assigned the Keystroke Recording to when you told
  5653.           ProPak to start recording.  If you forget which key was assigned,
  5654.           use the "List Key Recordings" option on The Control Center.  This
  5655.           will tell you not only the Trigger Keys used to play back each
  5656.           recording, but will also show you the names (if any) of the
  5657.  
  5658.  
  5659.           The Control Center                                      90 of 143
  5660.  
  5661.  
  5662.                        - Programmer's Productivity Pack 2.60 -
  5663.  
  5664.  
  5665.           recordings and exactly how many keystrokes are recorded in each
  5666.           one.
  5667.  
  5668.           Setting The Playback Speed:
  5669.           ---------------------------
  5670.  
  5671.           To control the speed at which the Keystroke Recording is played
  5672.           back go to the "Modify Options" choice on The Control Center.
  5673.           Then select the "Keystroke Playback Delay" option on the "Modify
  5674.           Current Settings" submenu.  You can also change the Playback
  5675.           delay value more permanently using PCustom.
  5676.  
  5677.           The range of delay is between 0 and 100 milliseconds.
  5678.  
  5679.           The Screen Grabber:
  5680.           -------------------
  5681.  
  5682.           Along the lines of Keystroke Recording and Playback, we should
  5683.           also discuss another method by which Keystroke Recordings may be
  5684.           obtained.  You don't have to record keystrokes as you type them,
  5685.           you can also make a Keystroke Recording out of text that is
  5686.           already available on the screen.  Simply pop up the Screen
  5687.           Grabber and "grab" the text you want to use as a recording.  This
  5688.           capability is discussed in detail at the end of this In-Depth
  5689.           Reference Guide (page 93).
  5690.  
  5691.           Keystroke Recordings that are "grabbed" off the screen function
  5692.           exactly the same as ones that are typed in.  Use whichever method
  5693.           is easier for you in any given situation.
  5694.  
  5695.           List Key Recordings:
  5696.           --------------------
  5697.  
  5698.           First of all, "Key Recordings" is short for Keystroke Recordings.
  5699.           There were some space limitations in some of the Menus.
  5700.           Selecting this option on The Control Center will tell you how
  5701.           many Keystroke Recordings are currently in memory.  It will list
  5702.           them by Trigger Keys and tell you their names, if any, and how
  5703.           many keystrokes are in each recording.
  5704.  
  5705.           Write Keys To File:
  5706.           -------------------
  5707.  
  5708.           Since Keystroke Recordings are in the volatile memory of your
  5709.           computer they are lost when you unload from memory or turn off
  5710.           the power.  Rather than rewrite your Keystroke Recordings every
  5711.           day, you can save sets of recordings to a file for future use.
  5712.           You could have a different file for each type of job that you do
  5713.           on your computer.
  5714.  
  5715.  
  5716.  
  5717.  
  5718.           The Control Center                                      91 of 143
  5719.  
  5720.  
  5721.                        - Programmer's Productivity Pack 2.60 -
  5722.  
  5723.  
  5724.           Selecting this option of The Control Center will copy all of the
  5725.           current Keystroke Recordings to a file.  You select a name for
  5726.           the file and ProPak marks it with a .KEY extension.  You can
  5727.           change the default extension using PCustom.
  5728.  
  5729.           Read Keys From File:
  5730.           --------------------
  5731.  
  5732.           This is the option on The Control Center that will read your .KEY
  5733.           files and place a set of Keystroke Recordings in memory for you.
  5734.           You select the set of Keystroke Recordings that you want by the
  5735.           name of the file they are in.
  5736.  
  5737.           The Keystroke Recordings in the file will either Replace or Merge
  5738.           with the current Keystroke Recordings.  You set that option with
  5739.           either Modify Options or PCustom.
  5740.  
  5741.           Delete Key Recordings:
  5742.           ----------------------
  5743.  
  5744.           With this option you can erase one or all of the current
  5745.           Keystroke Recordings from memory.  It doesn't affect any that
  5746.           have been written to files.
  5747.  
  5748.           Get Status Info:
  5749.           ----------------
  5750.  
  5751.           This option of The Control Center tells you, among other things,
  5752.           how many Keystroke Recordings are currently in memory.  You would
  5753.           still need to List Key Recordings to see what the individual
  5754.           Trigger Keys, names, and sizes are.  It also indicates how much
  5755.           memory is currently in use by ProPak.
  5756.  
  5757.           Keystroke Recording TIPS:
  5758.           -------------------------
  5759.  
  5760.           The Keystroke Recording and Playback capability was really
  5761.           intended to be much more than a quick way to type "Dear Sir or
  5762.           Madam".  As an example of how this feature might be used,
  5763.           consider the following idea.
  5764.  
  5765.           Let's say that you like to always start your source code files
  5766.           with a Copyright statement and other basic information.  Perhaps
  5767.           your file headers look something like this:
  5768.  
  5769.  
  5770.  
  5771.  
  5772.  
  5773.  
  5774.  
  5775.  
  5776.  
  5777.           The Control Center                                      92 of 143
  5778.  
  5779.  
  5780.                        - Programmer's Productivity Pack 2.60 -
  5781.  
  5782.  
  5783.           **********************************************
  5784.           *
  5785.           * Junior's Custom Software Development
  5786.           * and Whatcha-Ma-Call-It Widget Manufacturing
  5787.           *
  5788.           * Phone: BR-549
  5789.           *
  5790.           * Copyright (c) 1989, by Junior Samples
  5791.           *
  5792.           **********************************************
  5793.  
  5794.           Of course your file headers probably contain much more
  5795.           information, but this example suits our purposes here.  Why not
  5796.           make a Keystroke Recording of that header, either by recording
  5797.           keystrokes as you type them, or by using the Screen Grabber to
  5798.           grab an existing header.  By doing this you will be able to
  5799.           insert the entire header at the top of each new source code file
  5800.           at the touch of a key.  You can also record other often used key
  5801.           combinations and save them all to a disk file called "CODE.KEY",
  5802.           for instance.  This is certainly much easier and more efficient
  5803.           than retyping them every time, or even copying blocks from one
  5804.           file to another.
  5805.  
  5806.           With a little imagination you should be able to come up with
  5807.           numerous examples of how this capability could improve your
  5808.           productivity.
  5809.  
  5810.  
  5811.           The Screen Grabber Feature:
  5812.           ===========================
  5813.  
  5814.           ProPak's Screen Grabber is a tool that "grabs" text from the
  5815.           screen, so it can later be played back exactly like a Keystroke
  5816.           Recording.
  5817.  
  5818.           Using the Screen Grabber is also simple and straightforward.  To
  5819.           activate the Screen Grabber simply press <Alt><Space>.  This pops
  5820.           up the "Grab Box".  Once the Grab Box appears on your screen you
  5821.           may use the cursor movement keys (arrow keys plus PgUp, Home,
  5822.           etc.) to position and size the Grab Box over the text you want
  5823.           grabbed.  The keystroke commands available are very intuitive.
  5824.           Using a cursor movement key by itself moves the entire Grab Box,
  5825.           using a cursor movement key while the <Alt> key is held down
  5826.           changes the size of the Grab Box.
  5827.  
  5828.           To Move The Grab Box:
  5829.           ---------------------
  5830.  
  5831.              <Up> Arrow - Moves the Grab Box up one line.
  5832.  
  5833.              <Down> Arrow - Moves the Grab Box down one line.
  5834.  
  5835.  
  5836.           The Control Center                                      93 of 143
  5837.  
  5838.  
  5839.                        - Programmer's Productivity Pack 2.60 -
  5840.  
  5841.  
  5842.              <Left> Arrow - Moves the Grab Box left one column.
  5843.  
  5844.              <Right> Arrow - Moves the Grab Box right one column.
  5845.  
  5846.              <Home> - Moves the Grab Box to the far left side of the
  5847.              screen.
  5848.  
  5849.              <End> - Moves the Grab Box to the far right side of the
  5850.              screen.
  5851.  
  5852.              <PgUp> - Moves the Grab Box to the top of the screen.
  5853.  
  5854.              <PgDn> - Moves the Grab Box to the bottom of the screen.
  5855.  
  5856.           To Change The Size Of The Grab Box:
  5857.           -----------------------------------
  5858.  
  5859.              <Alt><Up> Arrow - Decreases the height of the Grab Box by one
  5860.              line.
  5861.  
  5862.              <Alt><Down> Arrow - Increases the height of the Grab Box by
  5863.              one line.
  5864.  
  5865.              <Alt><Left> Arrow - Decreases the width of the Grab Box by one
  5866.              column.
  5867.  
  5868.              <Alt><Right> Arrow - Increases the width of the Grab Box by
  5869.              one column.
  5870.  
  5871.              <Alt><PgUp> - Decreases the height of the Grab Box to a single
  5872.              line.
  5873.  
  5874.              <Alt><PgDn> - Increases the height of the Grab Box all the way
  5875.              to the bottom of the screen.
  5876.  
  5877.              <Alt><Home> - Decreases the width of the Grab Box to a single
  5878.              column.
  5879.  
  5880.              <Alt><End> - Increases the width of the Grab Box all the way
  5881.              to the far right side of the screen.
  5882.  
  5883.           How To Use The Grab Box:
  5884.           ------------------------
  5885.  
  5886.           The most efficient way to use the Grab Box is to place the top
  5887.           left corner over the beginning of the text you wish to grab, and
  5888.           then resize the Grab Box to encompass all the text that will be
  5889.           grabbed.
  5890.  
  5891.  
  5892.  
  5893.  
  5894.  
  5895.           The Control Center                                      94 of 143
  5896.  
  5897.  
  5898.                        - Programmer's Productivity Pack 2.60 -
  5899.  
  5900.  
  5901.           End-of-Line Characters:
  5902.           -----------------------
  5903.  
  5904.           The Screen Grabber enables you to choose between five end-of-line
  5905.           characters.  When text is grabbed from the screen it is just
  5906.           text, no carriage returns, line feeds, or other formatting
  5907.           information is included in that text.  Therefore, the Screen
  5908.           Grabber provides five different options for an end of line
  5909.           character.  The end of line character is the character that will
  5910.           be placed at the right side of each line of grabbed text before
  5911.           the text is converted into keystrokes.  Each of the five options
  5912.           are described below:
  5913.  
  5914.           Enter - This option will cause the Keystroke Recording to behave
  5915.           exactly as if the <Enter> key was pressed at the end of each line
  5916.           during recording.  This is the default option and is also the one
  5917.           that is used most often.
  5918.  
  5919.           Space - This option will place a space (ASCII 32) at the end of
  5920.           each line of text grabbed from the screen.  This is especially
  5921.           useful if you will be playing the Keystroke Recording back inside
  5922.           a word processor that has an automatic word-wrap feature.  This
  5923.           will enable your word processor to wrap each line properly.
  5924.  
  5925.           Down Arrow - This option will cause the Keystroke Recording to
  5926.           have a <Down> arrow keystroke at the end of each line.  This is
  5927.           often useful when working in spreadsheets or data entry screens
  5928.           where you would want to move to the next cell or field at the end
  5929.           of each line.
  5930.  
  5931.           Soft Space - This option places a soft space, a space with the
  5932.           high bit set, at the end of each line of text grabbed from the
  5933.           screen.  A space (ASCII 32) with the high bit set is the
  5934.           character used by most word processors to indicate a space that
  5935.           may be removed at the discretion of the software.  This is often
  5936.           useful when reformatting or printing a document.
  5937.  
  5938.           Nothing - This option adds nothing to the end of each line of
  5939.           text grabbed from the screen.  When this option is chosen, the
  5940.           beginning of the next line will be placed immediately at the end
  5941.           of the current line.
  5942.  
  5943.           If these options are not clear to you now, the best way to clear
  5944.           things up is to practice with them a few times.
  5945.  
  5946.  
  5947.  
  5948.  
  5949.  
  5950.  
  5951.  
  5952.  
  5953.  
  5954.           The Control Center                                      95 of 143
  5955.  
  5956.  
  5957.                        - Programmer's Productivity Pack 2.60 -
  5958.  
  5959.  
  5960.                             -----------------------------
  5961.                              The Screen Capture Facility
  5962.                             -----------------------------
  5963.  
  5964.  
  5965.           In-Depth Reference Guide:
  5966.           =========================
  5967.  
  5968.           This feature enables you to capture the contents of a screen to a
  5969.           disk file.  This works by copying the text that is on the screen
  5970.           to a disk file, with a carriage return at the end of each line.
  5971.           Optionally, the screen may be filtered according to your needs.
  5972.           The filtering options may be specified with PCustom, or changed
  5973.           "on the fly" using the "Modify Options" choice of The Control
  5974.           Center.
  5975.  
  5976.           The filtering is actually pretty straightforward.  Characters
  5977.           like Form Feed, Line Feed, etc., which will mess up the screen
  5978.           image when you go to print it, will be replaced with a dot "."
  5979.           (or any character you choose using PCustom to customize ProPak).
  5980.           This way the screen image's alignment remains unchanged, and at
  5981.           the same time you save yourself the trouble of editing the file
  5982.           before printing it.  It will be ready to go!
  5983.  
  5984.           The Screen Capture feature can be activated from either The
  5985.           Programmer's Calculator and its attachments or The Control
  5986.           Center.
  5987.  
  5988.           From The Programmer's Calculator and its attachments it is
  5989.           activated by either <Ctrl><Enter> or <Alt><Enter>.  It will copy
  5990.           the contents of the screen exactly as they are at the time those
  5991.           keys are pressed.  That means that you can copy the The
  5992.           Programmer's Calculator display (with or without the Quick
  5993.           Reference Menu), The ASCII and Color Attribute Chart display, or
  5994.           The Keystroke Reference Center display as part of the screen.
  5995.  
  5996.           From The Control Center, the Screen Capture feature is activated
  5997.           by selecting the Copy Screen to File option on The Control
  5998.           Center.  When you select that option ProPak first removes the
  5999.           Menu and then copies the underlying screen in its entirety.
  6000.  
  6001.           You will be asked for the name of the file to copy the screen to,
  6002.           and an extension of .SCN will automatically be appended to the
  6003.           file name.  If you don't like the .SCN extension, you may change
  6004.           it with PCustom.
  6005.  
  6006.           If a file by that name already exists in the current directory,
  6007.           you will be asked to confirm that you wish to overwrite it.  If
  6008.           the file does not exist, a new file with that name will be opened
  6009.           in the current directory.
  6010.  
  6011.  
  6012.  
  6013.           The Control Center                                      96 of 143
  6014.  
  6015.  
  6016.                        - Programmer's Productivity Pack 2.60 -
  6017.  
  6018.  
  6019.           Here is an explanation of the actual process involved for those
  6020.           who are interested.  First, the screen is copied to an internal
  6021.           array where the characters are separated from their corresponding
  6022.           attribute bytes.  Then, the array containing the characters will
  6023.           have a carriage return appended (added) to the end of each line.
  6024.           Optionally, each character will be filtered.  Filtering simply
  6025.           means that each character will be examined and compared against a
  6026.           filter list.  If the character matches one of the characters on
  6027.           the list it will be replaced with the replacement character that
  6028.           you specify through PCustom.  The default (normal) replacement
  6029.           character is a dot ".".  After this is completed, the "filtered"
  6030.           information will be written to the disk file.
  6031.  
  6032.  
  6033.  
  6034.  
  6035.  
  6036.  
  6037.  
  6038.  
  6039.  
  6040.  
  6041.  
  6042.  
  6043.  
  6044.  
  6045.  
  6046.  
  6047.  
  6048.  
  6049.  
  6050.  
  6051.  
  6052.  
  6053.  
  6054.  
  6055.  
  6056.  
  6057.  
  6058.  
  6059.  
  6060.  
  6061.  
  6062.  
  6063.  
  6064.  
  6065.  
  6066.  
  6067.  
  6068.  
  6069.  
  6070.  
  6071.  
  6072.           The Control Center                                      97 of 143
  6073.  
  6074.  
  6075.                        - Programmer's Productivity Pack 2.60 -
  6076.  
  6077.  
  6078.                                  --------------------
  6079.                                   The Print Facility
  6080.                                  --------------------
  6081.  
  6082.  
  6083.           In-Depth Reference Guide:
  6084.           =========================
  6085.  
  6086.           This feature of ProPak gives you access to the DOS background
  6087.           PRINT facility at all times.  Through this option you may submit
  6088.           files to be printed in the background, or you may cancel files
  6089.           that have already been submitted.
  6090.  
  6091.           There are two prerequisites to using this feature.  First, the
  6092.           DOS background PRINT program must be installed in memory.  It,
  6093.           too, is a memory-resident program.  Second, you must be using DOS
  6094.           version 3.0 or later.
  6095.  
  6096.           Using this facility you may submit files to the DOS background
  6097.           PRINT facility by specifying a file name or even a mask
  6098.           containing wildcards.  For instance, specifying "*.TXT" will open
  6099.           a window showing all the files with the extension .TXT, and
  6100.           enable you to move the highlight bar over the file you wish to
  6101.           submit, and press <Enter> to submit it.  This "point and shoot"
  6102.           procedure will place the file you specify into the "queue" of
  6103.           files waiting to be printed.
  6104.  
  6105.           You may also cancel all files that are presently in the "queue"
  6106.           by selecting "Cancel ALL Print Files" from the "DOS Print
  6107.           Control" Menu.
  6108.  
  6109.           This is a very easy feature to use, which you will also find to
  6110.           be very handy to have available.  It will enable you to continue
  6111.           working with your computer while those files are being printed.
  6112.           Remember that this is not the same as sending a document to print
  6113.           from your word processor.  It will only format the text according
  6114.           to any control codes that are embedded in the document.
  6115.  
  6116.           If you have never used the DOS background PRINT facility, or if
  6117.           you don't remember all the "command line" options available, then
  6118.           read on.  The following discussion does not list every option
  6119.           available because you can refer to your DOS manual for a complete
  6120.           list, but we will cover the most common options.
  6121.  
  6122.           The DOS background PRINT facility is a utility program that comes
  6123.           with each copy of MS-DOS.  It is a memory-resident program that
  6124.           is loaded into memory by typing "PRINT" <Enter> at the DOS
  6125.           prompt.  When loading, PRINT will ask you for the name of the
  6126.           "list device" which simply means the printing device.  Usually
  6127.           "PRN" is the answer you want.  But you could also specify "LPT1",
  6128.  
  6129.  
  6130.  
  6131.           The Control Center                                      98 of 143
  6132.  
  6133.  
  6134.                        - Programmer's Productivity Pack 2.60 -
  6135.  
  6136.  
  6137.           "LPT2", "AUX", etc.  Consult your DOS manual for more
  6138.           information.
  6139.  
  6140.           When loading PRINT into memory you may change many of its default
  6141.           parameters by adding extra information on the "command line"
  6142.           (between the word "PRINT" and pressing the <Enter> key).  The two
  6143.           options that you will most likely use are "/B:n" and "/Q:n",
  6144.           which are explained below.
  6145.  
  6146.           The "/B" option enables you to change the size of PRINT's built-
  6147.           in print buffer.  The buffer may be any size from 1 to 32,767
  6148.           bytes.  The default is 512 bytes.  We recommend 1,024.  This will
  6149.           probably be sufficient for your needs.
  6150.  
  6151.           The "/Q" option enables you to change the number of files allowed
  6152.           in the "queue".  The queue is the waiting line.  You may specify
  6153.           any number from 1 to 32.  We recommend the maximum, which is 32.
  6154.  
  6155.           In both cases the option is followed by a colon (":") and a
  6156.           number.  The number specifies the setting you desire.  By the
  6157.           way, PRINT is case sensitive on this point so be sure to use
  6158.           upper-case letters to enter the command line parameters.
  6159.  
  6160.           Here's an example of loading PRINT with a 1K byte buffer and a
  6161.           maximum of 32 files allowed in the queue at any one time (this is
  6162.           what we recommend):
  6163.  
  6164.              PRINT /B:1024 /Q:32 <Enter>
  6165.  
  6166.           As you can see, PRINT is fairly easy to use.  Your DOS manual
  6167.           provides more complete information, including other options that
  6168.           are available.
  6169.  
  6170.  
  6171.  
  6172.  
  6173.  
  6174.  
  6175.  
  6176.  
  6177.  
  6178.  
  6179.  
  6180.  
  6181.  
  6182.  
  6183.  
  6184.  
  6185.  
  6186.  
  6187.  
  6188.  
  6189.  
  6190.           The Control Center                                      99 of 143
  6191.  
  6192.  
  6193.                        - Programmer's Productivity Pack 2.60 -
  6194.  
  6195.  
  6196.                           ----------------------------------
  6197.                            PCustom: The Customizing Program
  6198.                           ----------------------------------
  6199.  
  6200.  
  6201.           PCustom is ProPak's companion customizing program.  You may never
  6202.           use it.  ProPak may be exactly to your liking just the way you
  6203.           received it.  You may like the colors we liked, the sounds we
  6204.           liked, the way we allocated memory.  But, it is more likely that
  6205.           even though you're happy with ProPak there are just one or two
  6206.           things you would have done differently.  This is your gateway to
  6207.           making those changes.
  6208.  
  6209.           Before we get started with PCustom, you should know that PCustom
  6210.           works by going into the actual executable file (for ProPak.EXE)
  6211.           and making changes internally, and by updating the special
  6212.           configuration file (file with the .CFG extension) for both ProPak
  6213.           and ProSwap.  This gives your custom features a "permanent" feel.
  6214.           It makes the programs act as if they were actually custom written
  6215.           just for you!
  6216.  
  6217.           By the way, don't let the word permanent scare you.  You can
  6218.           change as many features as you want, as often as you want.
  6219.           Experiment.  Have fun!
  6220.  
  6221.  
  6222.           The Quick Start Tutorial:
  6223.           =========================
  6224.  
  6225.           If you placed PCustom into the same directory as the other ProPak
  6226.           files when you installed the package, then you are ready to
  6227.           begin.  If you haven't done this yet, then please do so now.
  6228.  
  6229.           Start PCustom by typing "PCUSTOM" <Enter> at the DOS command
  6230.           prompt.  If you have a black-and-white (LCD, or Gas plasma)
  6231.           monitor you should type "PCUSTOM -B" (or -b, /B, /b, \b, or \B).
  6232.           This will make PCustom use the gray scale color set for its own
  6233.           screen displays.
  6234.  
  6235.           PCustom begins by asking you which of the ProPak files you would
  6236.           like to modify.  We won't actually modify any of the programs in
  6237.           this tutorial, but, you should select "Modify all versions
  6238.           present" and press <Enter>.  Later, when you actually make
  6239.           changes, this will ensure that features are consistent between
  6240.           the two versions of ProPak.
  6241.  
  6242.           Next, the Main Menu appears.  The "Colors" selection is
  6243.           highlighted.  The text above the Menu tells you what the
  6244.           highlighted selection is for.  Press <Enter>.
  6245.  
  6246.  
  6247.  
  6248.  
  6249.           PCustom:  The Customizing Program                      100 of 143
  6250.  
  6251.  
  6252.                        - Programmer's Productivity Pack 2.60 -
  6253.  
  6254.  
  6255.           This brings up the Colors Menu.  You can select one of the three
  6256.           standard color sets or design your own custom color set.  Select
  6257.           "Custom Attribute Set" and press <Enter>.
  6258.  
  6259.           This brings up the Select Colors Menu.  Select "ASCII Chart" and
  6260.           press <Enter>.
  6261.  
  6262.           Here are eight different portions of The ASCII Chart that you can
  6263.           customize to your liking.  We won't actually change anything now,
  6264.           so you can press <Esc> when you're finished looking around.  That
  6265.           pops you back to the Select Colors Menu.
  6266.  
  6267.           Select "Calculator" and press <Enter>.  This selection has its
  6268.           own Menu.  Choose one of the three options and press <Enter>.
  6269.           Make any changes you wish.  You can change your mind at any time,
  6270.           so, don't worry.  You can also restore the original colors by
  6271.           choosing one of the three default attribute sets on the Colors
  6272.           Submenu.
  6273.  
  6274.           Check out some more options from the Select Colors Menu and then
  6275.           <Esc> back to the Main Menu.  Select "Hot Keys" and press
  6276.           <Enter>.
  6277.  
  6278.           Here are the five major Hot Keys.  Select one and press <Enter>.
  6279.           You can choose your own or pick from the list.  What makes the
  6280.           list so useful is that you couldn't normally select any of those
  6281.           options from the keyboard.  That's why if you change some the
  6282.           default Hot Keys "on the fly" you cannot reset them to the
  6283.           default value.  However, you can do it from PCustom.
  6284.  
  6285.           <Esc> back to the Main Menu and move to the "Sound Effects"
  6286.           option.
  6287.  
  6288.           Here you can modify the beeps, clicks, and raspberries (error
  6289.           sounds) to be just like you always thought they should be.
  6290.  
  6291.           Now move to the "Advanced Options" choice.  Here you can set the
  6292.           mode and format the Calculator starts up in, the size and color
  6293.           of the "Grab Box", the extensions ProPak puts on files it saves
  6294.           for you, and a host of other things.
  6295.  
  6296.           Now move to "Exit PCustom".  Highlight "Cancel Changes" and press
  6297.           <Enter>.  This takes you out of the program without making any
  6298.           changes.
  6299.  
  6300.           Well, that's all for this tutorial.  As you can already see,
  6301.           PCustom is very easy to use, but very powerful.  You can modify
  6302.           almost any aspect of the Programmer's Productivity Pack.  Read
  6303.           the following In-Depth Reference Guide for a complete explanation
  6304.           of all the possibilities.
  6305.  
  6306.  
  6307.  
  6308.           PCustom:  The Customizing Program                      101 of 143
  6309.  
  6310.  
  6311.                        - Programmer's Productivity Pack 2.60 -
  6312.  
  6313.  
  6314.                           ----------------------------------
  6315.                            PCustom: The Customizing Program
  6316.                           ----------------------------------
  6317.  
  6318.  
  6319.           The In-Depth Reference Guide:
  6320.           =============================
  6321.  
  6322.           PCustom is your ticket to a custom made version of the
  6323.           Programmer's Productivity Pack.  PCustom gives you the freedom to
  6324.           choose.  With ProPak you do not have to adjust your work habits
  6325.           and preferences to match the software.  Instead you can change
  6326.           the software to match your work habits and preferences.  After
  6327.           all, you should be telling your computer what to do, not the
  6328.           other way around.
  6329.  
  6330.           Starting PCustom:
  6331.           -----------------
  6332.  
  6333.           When you first start PCustom, by typing "PCUSTOM" <Enter> at the
  6334.           DOS command prompt, PCustom will load and wait for your first
  6335.           choice.  Throughout the use of PCustom you will find that PCustom
  6336.           avoids making decisions for you, but rather lets you stay in
  6337.           control.  You may modify whatever you wish, and ignore that which
  6338.           you do not wish to modify.  You're the boss, and PCustom knows
  6339.           it.
  6340.  
  6341.           If you have a black-and-white (gray scale, LCD, or gas plasma)
  6342.           monitor you should type "PCUSTOM -B" (or -b, /B, /b,\b, or \B).
  6343.           This will make PCustom use the gray scale color set for its
  6344.           screen displays.
  6345.  
  6346.           Selecting Which Versions To Modify:
  6347.           -----------------------------------
  6348.  
  6349.           The first option concerns which version or versions of ProPak you
  6350.           wish to customize.  PCustom looks to see which versions of ProPak
  6351.           are present and enables you to change a single file or all three
  6352.           (ProPak.EXE, ProPak.CFG, and ProSwap.CFG) at the same time.
  6353.  
  6354.           TIP:
  6355.              Earlier we recommended that everyone keep both versions
  6356.              available on their hard disks (ProPak and ProSwap).  To take
  6357.              this a step further, we recommend that when running PCustom,
  6358.              you modify all versions present.  By doing this you ensure
  6359.              that colors, Hot Keys, and all the other customizable features
  6360.              are consistent between the two versions of ProPak.
  6361.  
  6362.           Let's say you have all three (ProPak.EXE, ProPak.CFG, and
  6363.           ProSwap.CFG) present on your hard disk and that you instruct
  6364.           PCustom to modify all three.  Then, after making the custom
  6365.  
  6366.  
  6367.           PCustom:  The Customizing Program                      102 of 143
  6368.  
  6369.  
  6370.                        - Programmer's Productivity Pack 2.60 -
  6371.  
  6372.  
  6373.           changes, you decide that you only want to update ProSwap.CFG and
  6374.           that you want both ProPak files to remain unchanged.  That
  6375.           doesn't present any problem.  PCustom gives you the freedom to
  6376.           make these kinds of decisions.  You can change your mind
  6377.           virtually at any time!
  6378.  
  6379.           How PCustom Works:
  6380.           ------------------
  6381.  
  6382.           Your choice of which version or versions to modify tells PCustom
  6383.           which versions to read from disk in order to determine their
  6384.           current settings.  If you decide later to cancel the changes or
  6385.           to limit the versions you wish to change, you will have that
  6386.           opportunity before the changes are actually written into the .EXE
  6387.           or .CFG files.  But, if you initially tell PCustom not to modify
  6388.           a particular file you will not be able to write to that file
  6389.           later (unless you restart PCustom).
  6390.  
  6391.           To understand how this works, it would be helpful to know a
  6392.           little about what it is that PCustom actually does to the .EXE
  6393.           and .CFG files.  Here's the basic sequence of events that occur
  6394.           during customizing:
  6395.  
  6396.           PCustom examines the current directory for one or more of the
  6397.           ProPak .EXE and .CFG files.  If none are present, then PCustom
  6398.           checks the same directory that it was loaded from (if you are
  6399.           using DOS 3.0 or higher).  If one of the ProPak files is still
  6400.           not found, PCustom will check the directories in the DOS path.
  6401.  
  6402.           Once one or more of the ProPak .EXE and .CFG files are found,
  6403.           PCustom asks you which file(s) to modify.  Once PCustom has
  6404.           received its instructions, it will read the current settings from
  6405.           the .EXE and .CFG file or files and then set its internal values
  6406.           to match.  At this point PCustom closes the files and works only
  6407.           with its internal tables.  This is why you can always change your
  6408.           mind about making any of the changes permanent.
  6409.  
  6410.           You then use PCustom's pull down menu system to customize any and
  6411.           all features.  When you are through making any custom changes you
  6412.           desire, select the "Exit PCustom" choice on the Main Menu.  This
  6413.           brings up three additional choices.  Choosing "Save Changes" will
  6414.           instruct PCustom to install the new values into the .EXE or .CFG
  6415.           files that you selected when PCustom first started.  Choosing
  6416.           "Select (Alt-Q)" gives you another chance to select the file or
  6417.           files to actually modify.  Choosing "Cancel Changes" returns you
  6418.           to DOS without altering the .EXE or .CFG files in any way.
  6419.  
  6420.           TIP:
  6421.              The reason this choice lists "(Alt-Q)" is because pressing
  6422.              Alt-Q is a shortcut to get to this choice from any Menu or
  6423.              Submenu in the Menu system.
  6424.  
  6425.  
  6426.           PCustom:  The Customizing Program                      103 of 143
  6427.  
  6428.  
  6429.                        - Programmer's Productivity Pack 2.60 -
  6430.  
  6431.  
  6432.           Here's an example of how you might use the "Select" option on the
  6433.           "Exit PCustom" submenu.  Let's say that you have both versions of
  6434.           ProPak loaded on your hard disk (ProPak and ProSwap).  When you
  6435.           started PCustom you told it to modify all the files.  But, when
  6436.           it comes time to exit from PCustom and actually write the changes
  6437.           to the files, you decide that you only want to modify ProSwap and
  6438.           leave ProPak alone.  The "Select" option enables you to do this.
  6439.           The "Select" option enables you to write the changes to any or
  6440.           all of the files that were read when PCustom first started.  Of
  6441.           course, if you told PCustom to ignore one of the files when it
  6442.           first started, you cannot now decide to modify that file.
  6443.  
  6444.           We use the term "permanent" when we talk about making changes to
  6445.           an .EXE or .CFG file, but we mean "permanent" in the sense that
  6446.           they are permanent until you change them again at some future
  6447.           time.  You may customize the ProPak files as often as you wish.
  6448.  
  6449.           The PCustom Menus:
  6450.           ------------------
  6451.  
  6452.           The following information outlines each option on each Menu and
  6453.           Submenu available within PCustom.
  6454.  
  6455.           The Main Menu:
  6456.           --------------
  6457.  
  6458.           The Main Menu is the first menu to appear after you choose which
  6459.           versions of ProPak to customize.  You will see the following:
  6460.  
  6461.                (Due to space limitations and printer incompatibilities,
  6462.                 this figure appears only in the printed User's Guide.)
  6463.  
  6464.                              Figure 9: PCustom Main Menu
  6465.  
  6466.           The Colors option is highlighted.  If you press <Enter> it will
  6467.           be selected.  The text at the top tells you what that option is
  6468.           for.  You can select any one of the five options by moving the
  6469.           highlight bar with the <Arrow> keys.  Each of these options will
  6470.           produce its own menu.  Let's look at each one individually.
  6471.  
  6472.           The Colors Menu:
  6473.           ~~~~~~~~~~~~~~~~
  6474.           When you select the Colors option you will see the following:
  6475.  
  6476.                (Due to space limitations and printer incompatibilities,
  6477.                 this figure appears only in the printed User's Guide.)
  6478.  
  6479.                            Figure 10: PCustom Colors Menu
  6480.  
  6481.  
  6482.  
  6483.  
  6484.  
  6485.           PCustom:  The Customizing Program                      104 of 143
  6486.  
  6487.  
  6488.                        - Programmer's Productivity Pack 2.60 -
  6489.  
  6490.  
  6491.           The Colors option is the door to the many options available for
  6492.           choosing the colors you prefer for each and every aspect of the
  6493.           ProPak package.
  6494.  
  6495.           Each version of ProPak has two built-in color sets, one for color
  6496.           monitors, and one for monochrome monitors.  If you use a color
  6497.           monitor you will be able to change the color attribute set to
  6498.           your preferences.  If you use a monochrome monitor you will be
  6499.           able to change the monochrome attribute set as desired.  If you
  6500.           use a gray scale (black and white) monitor then you will be
  6501.           adjusting the color attribute set (not the monochrome attribute
  6502.           set) to your preferences.
  6503.  
  6504.           If you have two monitors, say one color and the other monochrome,
  6505.           and two display adapters (this is common among programmers who
  6506.           spend time with a debugger), then both attribute sets will be
  6507.           relevant to your needs.  When you pop up ProPak on your color
  6508.           monitor it will automatically use the color attribute set.  When
  6509.           you pop it up on your monochrome monitor it will automatically
  6510.           use the monochrome attribute set.
  6511.  
  6512.           These are the four options you can select from this Menu:
  6513.  
  6514.              Color Attribute Set - This option restores ProPak to the same
  6515.              color attributes that were in use when ProPak was shipped.
  6516.              This is useful when you have made changes and want to quickly
  6517.              restore ProPak to a known starting point before continuing
  6518.              with the customizing of individual colors, or for just
  6519.              returning ProPak to its original color settings whenever you
  6520.              desire.
  6521.  
  6522.              Monochrome Attribute Set - Selecting this option automatically
  6523.              restores the monochrome attribute set to the values that were
  6524.              in use when ProPak was originally shipped.  You may still
  6525.              change individual attributes later if you wish.
  6526.  
  6527.              Gray Scale Attribute Set - This option sets the values of the
  6528.              color attribute set to those values that look best on a gray
  6529.              scale monitor.  These "factory set" values will give you a
  6530.              good starting place even if you prefer to change some of them
  6531.              later.  You can always move down to the "Custom Attribute Set"
  6532.              and fine tune any values you wish to change.
  6533.  
  6534.              Custom Attribute Set - This option enables you to customize
  6535.              the attribute set to best suit your individual tastes.  If you
  6536.              are using a color or gray scale monitor, you will be adjusting
  6537.              the color attribute set.  If you are using a monochrome
  6538.              monitor you will be adjusting the monochrome attribute set.
  6539.  
  6540.  
  6541.  
  6542.  
  6543.  
  6544.           PCustom:  The Customizing Program                      105 of 143
  6545.  
  6546.  
  6547.                        - Programmer's Productivity Pack 2.60 -
  6548.  
  6549.  
  6550.           PCustom is smart enough to know whether you are using a
  6551.           monochrome monitor or a color monitor.  PCustom will
  6552.           automatically determine which attribute set should be used, no
  6553.           additional steps are necessary on your part.  Since gray scale
  6554.           monitors look just like color monitors to software, you need to
  6555.           use the "-B" command line parameter to tell PCustom that you have
  6556.           a black-and-white monitor.
  6557.  
  6558.           Select the Custom Attribute Set if you wish to customize any of
  6559.           the colors on your copy of ProPak.  Move the highlight bar down
  6560.           until Custom Attribute Set is highlighted and press <Enter>.
  6561.           This will bring up the Select Colors Menu.
  6562.  
  6563.           When you select the Custom Attribute Set you will see the
  6564.           following Menu appear:
  6565.  
  6566.                (Due to space limitations and printer incompatibilities,
  6567.                 this figure appears only in the printed User's Guide.)
  6568.  
  6569.                           Figure 11: Custom Colors Submenu
  6570.  
  6571.           This is the Select Colors Menu.  You can set the colors to each
  6572.           of the eight options listed on the Menu.  Let's look at each of
  6573.           the options.
  6574.  
  6575.              ASCII Chart:  This option provides you with the means of
  6576.              customizing the colors used to display The ASCII and Color
  6577.              Attribute Chart, which is one of the attachments to The
  6578.              Programmer's Calculator.  There are eight separate aspects of
  6579.              The ASCII Chart that you can customize.  If you have a color
  6580.              monitor you can change the colors to any of the color
  6581.              combinations listed in the Color Attribute Chart.  If you have
  6582.              a monochrome monitor you will be able to customize these
  6583.              features to any of the monochrome attributes listed in the
  6584.              Color Attribute Chart.  ProPak will automatically offer you
  6585.              only those options which are possible on your monitor.
  6586.  
  6587.              These are the eight aspects of The ASCII Chart that you can
  6588.              customize.
  6589.  
  6590.                 Outline Color (Frame) - As the name implies, this option
  6591.                 enables you to change the color of the outline or frame
  6592.                 around The ASCII Chart.
  6593.  
  6594.                 Title Color (top of chart) - This option changes the color
  6595.                 of the title of the chart.
  6596.  
  6597.                 Column Heading Color - This option changes the color of the
  6598.                 text appearing at the top of each column.
  6599.  
  6600.  
  6601.  
  6602.  
  6603.           PCustom:  The Customizing Program                      106 of 143
  6604.  
  6605.  
  6606.                        - Programmer's Productivity Pack 2.60 -
  6607.  
  6608.  
  6609.                 ASCII Code Color (Dec & Hex) - This option changes the
  6610.                 color of the decimal and hexadecimal values that appear to
  6611.                 the left of the ASCII character.
  6612.  
  6613.                 ASCII Character Color - This option changes the color of
  6614.                 the ASCII character itself, in the left hand section of the
  6615.                 chart.
  6616.  
  6617.                 Attribute Description Color - This option changes the color
  6618.                 of the words that describe the color that each attribute
  6619.                 (ASCII code) will produce when used as an attribute byte.
  6620.  
  6621.                 Large Character Color - This option enables you to change
  6622.                 the color of the enlarged ASCII characters that display in
  6623.                 the right hand section of the chart.
  6624.  
  6625.                 Large Code Color - Selecting this option enables you to
  6626.                 change the color of the decimal value listed next to each
  6627.                 of the enlarged characters in the right hand section of the
  6628.                 chart.
  6629.  
  6630.              Calculator:  This option opens the door for you to customize
  6631.              the appearance of the Calculator.  This option leads to a
  6632.              submenu which makes available three categories of color
  6633.              attributes that go into making up the overall appearance of
  6634.              the Calculator.
  6635.  
  6636.                (Due to space limitations and printer incompatibilities,
  6637.                 this figure appears only in the printed User's Guide.)
  6638.  
  6639.                           Figure 12: Calculator Sub-Submenu
  6640.  
  6641.              Let's look at the three options on the Submenu.
  6642.  
  6643.                 Actual Calculator:  This option enables you to change each
  6644.                 individual color involved in the actual Calculator display.
  6645.                 The different portions of the display are:
  6646.  
  6647.                    Current Format Highlighting - When you switch from one
  6648.                    numeric format to another, Decimal to Hexadecimal, etc.,
  6649.                    you will notice that the format title and the pending
  6650.                    operation (if any) will be updated to appear
  6651.                    highlighted.  This option enables you to customize the
  6652.                    color of this highlighting.
  6653.  
  6654.                    Signed or Unsigned Title - This option controls the
  6655.                    color used to display the sign mode at the top center of
  6656.                    the Calculator display.
  6657.  
  6658.  
  6659.  
  6660.  
  6661.  
  6662.           PCustom:  The Customizing Program                      107 of 143
  6663.  
  6664.  
  6665.                        - Programmer's Productivity Pack 2.60 -
  6666.  
  6667.  
  6668.                    High Word, High Nibble - The Programmer's Calculator is
  6669.                    specially designed to make it easy to separate the
  6670.                    various pieces of information present when handling
  6671.                    large values.  This is tremendously useful when keeping
  6672.                    track of 32 ones and zeros in the Binary Box.  This
  6673.                    option, and the next three that go with it, enables you
  6674.                    to make a distinct color difference between the logical
  6675.                    divisions of the 32 bit binary values.  This option
  6676.                    changes the color of the highest four bits of each
  6677.                    value.
  6678.  
  6679.                    High Word, Low Nibble - This option changes the color of
  6680.                    the second to the highest four bits of each value.
  6681.  
  6682.                    Low Word, High Nibble - This option changes the color of
  6683.                    the second to the lowest four bits of each value.
  6684.  
  6685.                    Low Word, Low Nibble - This option changes the color of
  6686.                    the lowest four bits of each value.
  6687.  
  6688.                    Normal Values Color - This option changes the appearance
  6689.                    of the values in the Decimal and Octal Boxes.
  6690.  
  6691.                    Saved Values Color - This option changes the color of
  6692.                    the four saved values that appear in the Save Window.
  6693.  
  6694.                    Information Color - This option changes the color of the
  6695.                    various pieces of identifying information present in the
  6696.                    Calculator display.
  6697.  
  6698.                    Clock and Date Color - This option changes the color of
  6699.                    the date and time displayed in the information window of
  6700.                    the Calculator.
  6701.  
  6702.                 Calculator Menu:  This option enables you to change each
  6703.                 individual color involved in the display of the
  6704.                 Calculator's Menu.  This option is best experimented with
  6705.                 to see the effect that each color change has on the overall
  6706.                 appearance of the Calculator.
  6707.  
  6708.                    Information Color - This option changes the colors of
  6709.                    the various pieces of information displayed in the
  6710.                    Calculator's Menu.
  6711.  
  6712.                    Description Color - This option changes the color of the
  6713.                    description of each command available within the
  6714.                    Calculator.
  6715.  
  6716.                    Function Keys Color - This choice changes the color of
  6717.                    the normal function key options.
  6718.  
  6719.  
  6720.  
  6721.           PCustom:  The Customizing Program                      108 of 143
  6722.  
  6723.  
  6724.                        - Programmer's Productivity Pack 2.60 -
  6725.  
  6726.  
  6727.                    Shifted Function Keys - This choice changes the color of
  6728.                    the shifted function key options.
  6729.  
  6730.                 Save/Insert Pick Window:  This option enables you to change
  6731.                 each individual color involved in the display of the "pick
  6732.                 window" which is used to select which value to save or
  6733.                 insert when more than one is available.
  6734.  
  6735.                    Normal Choices Color - This is the color used to display
  6736.                    values that may be chosen.
  6737.  
  6738.                    Outline Color - This option controls the color of the
  6739.                    frame around the pick window.
  6740.  
  6741.                    Heading Color - This option controls the color of the
  6742.                    title of the pick window.
  6743.  
  6744.                    Selected Highlight - This option controls the color of
  6745.                    the pick bar, the highlighted bar that you move up and
  6746.                    down to select an option.
  6747.  
  6748.                    Empty Color - This is the color used to display empty
  6749.                    choices, choices with a value of zero.
  6750.  
  6751.                    Empty Selected Color - This is the color used when an
  6752.                    empty choice (one with a value of zero) is selected.
  6753.  
  6754.              Error Messages:  This option enables you to select the colors
  6755.              you prefer for error messages.
  6756.  
  6757.                 Outline Color - This is the color of the outline around the
  6758.                 error message window.
  6759.  
  6760.                 Heading Color - This is the color of the title of the error
  6761.                 message window.
  6762.  
  6763.                 Normal Text Color - Error messages appear in two different
  6764.                 colors in order to highlight certain information.  This is
  6765.                 the usual color for the text of an error message.
  6766.  
  6767.                 Alternate Text Color - This is the color used to highlight
  6768.                 or bring attention to some of the information displayed in
  6769.                 an error message.
  6770.  
  6771.              Keystroke Reference Center:  This option leads to the
  6772.              individual choices available for customizing the appearance of
  6773.              The Keystroke Reference Center display.
  6774.  
  6775.                 Outline - This option changes the color of the outline or
  6776.                 frame around The Keystroke Reference Center.
  6777.  
  6778.  
  6779.  
  6780.           PCustom:  The Customizing Program                      109 of 143
  6781.  
  6782.  
  6783.                        - Programmer's Productivity Pack 2.60 -
  6784.  
  6785.  
  6786.                 Information - This option enables you to customize the
  6787.                 color of the various pieces of identifying information
  6788.                 present in The Keystroke Reference Center display.
  6789.  
  6790.                 Time & Date - This option enables you to customize the
  6791.                 color used to display the current time and date.
  6792.  
  6793.                 Instructions - This option enables you to change the color
  6794.                 of the instructions that appear on the screen in The
  6795.                 Keystroke Reference Center display.
  6796.  
  6797.                 Status Byte High - The BIOS keyboard status bytes are
  6798.                 displayed in two alternating colors to make it easier to
  6799.                 identify each bit individually.  Selecting this option
  6800.                 enables you to change one of these colors.
  6801.  
  6802.                 Status Byte Low - This option enables you to change the
  6803.                 alternate color used to display the BIOS keyboard status
  6804.                 bytes.
  6805.  
  6806.                 Key Code Information - This option controls the color of
  6807.                 the information appearing within the code boxes of the
  6808.                 display.
  6809.  
  6810.                 Key Code Row Heading - This option controls the color of
  6811.                 the words "Dec" and "Hex" in the codes boxes.
  6812.  
  6813.                 Note Window Outline - This option controls the outline of
  6814.                 the Portability Note window.
  6815.  
  6816.                 Note Window Text - This option controls the text in the
  6817.                 Portability Note window.
  6818.  
  6819.              Control Center Menu:  This option leads to the individual
  6820.              choices available for customizing the appearance of The
  6821.              Control Center and its various submenus.
  6822.  
  6823.                 Outline Color - This option controls the color of the frame
  6824.                 around The Control Center.
  6825.  
  6826.                 Heading (Title) Colors - This option controls the color of
  6827.                 The Control Center's title.
  6828.  
  6829.                 Normal Choice Colors - This option controls the color of
  6830.                 the available choices on The Control Center Menu.
  6831.  
  6832.                 Not Available Choice - This option controls the color of
  6833.                 the currently unavailable choices on The Control Center
  6834.                 Menu.
  6835.  
  6836.  
  6837.  
  6838.  
  6839.           PCustom:  The Customizing Program                      110 of 143
  6840.  
  6841.  
  6842.                        - Programmer's Productivity Pack 2.60 -
  6843.  
  6844.  
  6845.                 Normal Selected Color - This option controls the color of
  6846.                 the highlight bar on The Control Center Menu.
  6847.  
  6848.                 Not Available Selected - This option controls the color of
  6849.                 the highlight bar when it is positioned over an option that
  6850.                 is not currently available.
  6851.  
  6852.              Normal Messages:  This option leads to the individual choices
  6853.              available for customizing the appearance of the Message Window
  6854.              and the text it contains.
  6855.  
  6856.                 Outline - This option controls the color of the frame
  6857.                 around normal Message Windows.
  6858.  
  6859.                 Heading - This option controls the color of the heading of
  6860.                 normal Message Windows.
  6861.  
  6862.                 Normal Message Text - This option controls the color of
  6863.                 text displayed in normal Message Windows.
  6864.  
  6865.                 Highlighted Message Text - This option controls the color
  6866.                 of special information displayed in normal Message Windows.
  6867.  
  6868.                 Alternate Message Text - This option controls the color of
  6869.                 unavailable options in Message Windows that also present
  6870.                 choices.
  6871.  
  6872.                 Normal Selected Text - This option controls the color of
  6873.                 the highlight bar in Message Windows that also present
  6874.                 choices.
  6875.  
  6876.                 Alternate Selected Text - This option controls the color of
  6877.                 the highlight bar when unavailable options are selected.
  6878.  
  6879.              Screen Blank (Clock):  This option enables you to change the
  6880.              color used to display the on screen clock during screen
  6881.              blanking and hard disk parking.
  6882.  
  6883.              Screen Grabber Box:  This option enables you to customize the
  6884.              color of the Screen Grabber's "Grab Box."
  6885.  
  6886.              Swapping In/Out Message:  This option enables you to customize
  6887.              the color of the message that appears on the bottom line of
  6888.              the screen while ProSwap is swapping into or out of memory.
  6889.  
  6890.           The Hot Keys Menu:
  6891.           ~~~~~~~~~~~~~~~~~~
  6892.           The second selection on the Main Menu is to customize the Hot
  6893.           Keys used by ProPak.  When you select it you will see the
  6894.           following Menu.
  6895.  
  6896.  
  6897.  
  6898.           PCustom:  The Customizing Program                      111 of 143
  6899.  
  6900.  
  6901.                        - Programmer's Productivity Pack 2.60 -
  6902.  
  6903.  
  6904.                (Due to space limitations and printer incompatibilities,
  6905.                 this figure appears only in the printed User's Guide.)
  6906.  
  6907.                         Figure 13: Customize Hot Keys Submenu
  6908.  
  6909.           This Menu enables you to change each of the five Hot Keys used by
  6910.           ProPak.
  6911.  
  6912.           For each option you will be presented with a list of eight of the
  6913.           most useful Hot Keys, plus an option called "Other" through which
  6914.           you may select key combinations that are not shown in the initial
  6915.           list.
  6916.  
  6917.           The Hot Keys appearing in the list are key combinations like
  6918.           <LeftShift><Ctrl> or <Ctrl><RightShift> which cannot be entered
  6919.           interactively through the "Other" option.  If you were to attempt
  6920.           to choose this type of key combination through the "Other"
  6921.           option, PCustom would not have any way of knowing if you wanted
  6922.           <Ctrl><Alt> or if you intended to follow it up with another
  6923.           letter like <Ctrl><Alt><P>.  Those two modifier key combinations
  6924.           don't normally produce a scan code.  You can prove this by trying
  6925.           them on The Keystroke Reference Center.  PCustom presents a list
  6926.           of these types of keys and accepts what you pick from that list.
  6927.  
  6928.                (Due to space limitations and printer incompatibilities,
  6929.                 this figure appears only in the printed User's Guide.)
  6930.  
  6931.                              Figure 14: Hot Keys Submenu
  6932.  
  6933.           The same eight Hot Keys are listed for each of the five tools or
  6934.           functions that use Hot Keys.  Any key which is dim is already in
  6935.           use.  You cannot select the same Hot Key for two functions.  The
  6936.           five tools or functions are the following:
  6937.  
  6938.              Calculator and Attachments - This option changes the Hot Key
  6939.              used to pop up The Programmer's Calculator.  Because the
  6940.              current attachment might be The ASCII Chart or The Keystroke
  6941.              Reference Center rather than the Calculator, this option
  6942.              effectively controls the Hot Key used to pop up any of the
  6943.              Calculator attachments.
  6944.  
  6945.              Control Center Menu - This option enables you to select the
  6946.              Hot Key used to pop up The Control Center.
  6947.  
  6948.              Screen Grabber - This option controls the Hot Key that pops up
  6949.              the Screen Grabber's Grab Box.
  6950.  
  6951.              Start Recording - This option enables you to select the Hot
  6952.              Key used to turn on or start the recording of keystrokes.
  6953.  
  6954.  
  6955.  
  6956.  
  6957.           PCustom:  The Customizing Program                      112 of 143
  6958.  
  6959.  
  6960.                        - Programmer's Productivity Pack 2.60 -
  6961.  
  6962.  
  6963.              Stop Recording - This option enables you to select the Hot Key
  6964.              used to turn off or stop the recording of keystrokes.
  6965.  
  6966.              Pop-Up DOS Shell - This option enables you to select the Hot
  6967.              Key used to activate the Pop-Up DOS Shell capability in
  6968.              ProSwap.
  6969.  
  6970.           Note:  As mentioned in the TIP on page 84, you should avoid
  6971.           <Alt><LeftShift> and <Ctrl><LeftShift> as hot keys.
  6972.  
  6973.           The Sound Effects Menu:
  6974.           ~~~~~~~~~~~~~~~~~~~~~~~
  6975.           The third choice on the Main Menu enables you to customize the
  6976.           sound effects produced by ProPak.  Selecting this option brings
  6977.           up the Sound Effects Menu.
  6978.  
  6979.                (Due to space limitations and printer incompatibilities,
  6980.                 this figure appears only in the printed User's Guide.)
  6981.  
  6982.                           Figure 15: Sound Effects Submenu
  6983.  
  6984.           This Menu provides you with a simple method of customizing the
  6985.           various sound effects used within ProPak.  Alter each effect
  6986.           until it sounds the way you prefer on your particular machine.
  6987.  
  6988.              Beep Sound - The beep sound is the sound ProPak makes when you
  6989.              press a key it doesn't understand, or when something occurs
  6990.              that you should know about.
  6991.  
  6992.                 You will be able to set the frequency or pitch of the tone
  6993.                 and its duration.
  6994.  
  6995.              Click Sound - The click sound is the sound ProPak makes when
  6996.              you switch formats or toggle the sign in The Programmer's
  6997.              Calculator.
  6998.  
  6999.                 You will be able to set the frequency or pitch of the tone
  7000.                 and its duration.
  7001.  
  7002.              Error Sound - The error sound is the sound ProPak makes when
  7003.              an error occurs or when ProPak is unable to carry out your
  7004.              instructions.  This sound is produced differently than the
  7005.              other two sounds.
  7006.  
  7007.                 The error sound is made by sounding the beep, pausing,
  7008.                 sounding the click, pausing, and then repeating this a
  7009.                 specified number of times.
  7010.  
  7011.                 You can easily change the duration of the pause and the
  7012.                 number of times the sounds are repeated in order to obtain
  7013.                 the error effect.
  7014.  
  7015.  
  7016.           PCustom:  The Customizing Program                      113 of 143
  7017.  
  7018.  
  7019.                        - Programmer's Productivity Pack 2.60 -
  7020.  
  7021.  
  7022.           The Advanced Options Menu:
  7023.           ~~~~~~~~~~~~~~~~~~~~~~~~~~
  7024.           The fourth option on the Main Menu is Advanced Options.  This is
  7025.           perhaps the most frequently chosen Main Menu option.  This option
  7026.           leads to several submenus that enable you to change many features
  7027.           that do not fall under the other Main Menu choices.  This could
  7028.           almost be called the "Miscellaneous Options" choice on the Main
  7029.           Menu.  Selecting this option will bring up the Advanced Options
  7030.           Menu.
  7031.  
  7032.           When this option is selected you will see the following Menu
  7033.           appear:
  7034.  
  7035.                (Due to space limitations and printer incompatibilities,
  7036.                 this figure appears only in the printed User's Guide.)
  7037.  
  7038.                          Figure 16: Advanced Options Submenu
  7039.  
  7040.           The following information explains each of the seven options and
  7041.           what features it enables you to customize.
  7042.  
  7043.              Calculator:  This option brings up a Submenu that enables you
  7044.              to change the default mode and format for the Calculator when
  7045.              it is first popped up.
  7046.  
  7047.                 Start up Numeric Mode:  This option enables you to
  7048.                 determine whether The Programmer's Calculator initially
  7049.                 starts up in Signed or Unsigned mode.
  7050.  
  7051.                 Start up Numeric Format:  This option enables you to select
  7052.                 the numeric format (Decimal, Hexadecimal, Binary, or Octal)
  7053.                 The Programmer's Calculator will be in when it is first
  7054.                 started.
  7055.  
  7056.              cApture:  This option enables you to make permanent changes to
  7057.              the Screen Capture facility.
  7058.  
  7059.                 The "A" is capitalized to indicate that this feature can be
  7060.                 selected by pressing the <A> key.
  7061.  
  7062.              Character Filter Method:  This option enables you to select
  7063.              the filter method ProPak will use when capturing screen images
  7064.              to disk files.  Filtering simply means that ProPak will
  7065.              examine each character to see if it is one of the characters
  7066.              that needs to be replaced with another character.  Why is this
  7067.              important?  Some characters are used as control codes for your
  7068.              printer, end-of-file marks for DOS, etc.  By filtering out
  7069.              these characters and replacing them with a dot ("."), an
  7070.              asterisk ("*") or whatever, the need to edit your screen image
  7071.              files before printing them, will disappear.
  7072.  
  7073.  
  7074.  
  7075.           PCustom:  The Customizing Program                      114 of 143
  7076.  
  7077.  
  7078.                        - Programmer's Productivity Pack 2.60 -
  7079.  
  7080.  
  7081.                 There are three levels of filtering available.
  7082.  
  7083.                 1)  No filtering at all.  When this level is chosen, no
  7084.                 filtering takes place.  Each character will be copied
  7085.                 exactly as it appears on the screen.
  7086.  
  7087.                 2)  Minimal filtering (also called Filter for Screen).  The
  7088.                 following ASCII characters are filtered in this level: 0
  7089.                 (Null), 10 (Line Feed), 12 (Form Feed), 13 (Carriage
  7090.                 Return), 26 (SUB - often used as an end-of-file marker),
  7091.                 and 127 (DEL - looks like Null to many printers).
  7092.  
  7093.                 3)  The third level of filtering, Filter for Printer,
  7094.                 filters out characters with ASCII codes from 0 to 31 (the
  7095.                 control codes) as well as 127 (looks like null to many
  7096.                 printers).  This is the recommended option, and is the one
  7097.                 set when ProPak is shipped.
  7098.  
  7099.              Replacement Character:  The replacement character is the
  7100.              character that replaces characters that have been filtered
  7101.              out.  This is done to prevent the alignment of the screen
  7102.              image from changing when a character is filtered out.
  7103.  
  7104.                 The replacement character is chosen by simply typing in the
  7105.                 character you wish to use.  The normal replacement
  7106.                 character is a dot, but you can change that to anything you
  7107.                 wish.
  7108.  
  7109.                 If, for some reason, you wish to use an extended ASCII
  7110.                 character (one with a code greater than 127) as the
  7111.                 replacement character, you should enter it so that PCustom
  7112.                 can recognize it.
  7113.  
  7114.                 You may be accustomed to holding down the <Alt> key while
  7115.                 you enter an ASCII code on the numeric keypad, in order to
  7116.                 obtain a character from the extended ASCII character set.
  7117.                 Since ProPak and PCustom both make use of keystrokes like
  7118.                 <Alt><Up> Arrow, the <Alt> number keypad trick will not
  7119.                 work.  To get around this simply hold down <Alt> and a
  7120.                 shift key and then enter the ASCII code on the numeric
  7121.                 keypad.  For more complete information refer to the
  7122.                 explanation on page 69.
  7123.  
  7124.              Screen Capture File Extension:  This enables you to change the
  7125.              extension ProPak uses for screen image files.  When ProPak
  7126.              captures a screen image to be written to disk, it prompts you
  7127.              for a file name, and adds a default extension to that file
  7128.              name.  By using this option you can change the .SCN extension
  7129.              with which ProPak was shipped.
  7130.  
  7131.  
  7132.  
  7133.  
  7134.           PCustom:  The Customizing Program                      115 of 143
  7135.  
  7136.  
  7137.                        - Programmer's Productivity Pack 2.60 -
  7138.  
  7139.  
  7140.              Grabber:  This option enables you to change the default size,
  7141.              location, and color of the Screen Grabber's Grab Box.
  7142.  
  7143.                 Color of Grab Box:  This is the one option that can be
  7144.                 changed from two different places in PCustom's Menu system.
  7145.                 You may change the color from within the "Customize Colors"
  7146.                 Submenu, or, for the sake of convenience, you can change
  7147.                 the color of the Grab Box from the same Submenu you use to
  7148.                 change the size and location of the Grab Box.
  7149.  
  7150.                 Size and Location of Grab Box:  This option enables you to
  7151.                 select how big the Grab Box should be when it pops up, as
  7152.                 well as where it should be located on the screen when it
  7153.                 pops up.
  7154.  
  7155.                 To change the size and location, use exactly the same keys
  7156.                 you would use if you were actually grabbing text off the
  7157.                 screen.  The difference here is that instead of grabbing
  7158.                 text off of the screen, PCustom remembers the size and
  7159.                 location of the Grab Box when you exit, and instructs
  7160.                 ProPak to use those values as the default whenever the
  7161.                 Screen Grabber is activated.
  7162.  
  7163.                 Pressing <Enter> saves the changes you have made.  Pressing
  7164.                 <Esc> cancels the changes.
  7165.  
  7166.              Swap Control:  This option opens up a sub-menu with several
  7167.              options which control how ProSwap handles the swapping
  7168.              operation.
  7169.  
  7170.                 First Swap Path:  When ProSwap swaps to disk it swaps into
  7171.                 files that are marked with the "hidden" attribute.  This
  7172.                 option controls where the first swap file will be placed.
  7173.                 PCustom will verify your input, so be sure to specify only
  7174.                 valid (existing) drives and directories.  Floppy disks are
  7175.                 not acceptable for swapping purposes, but Bernoulli drives
  7176.                 are fine.  This is the same path that will be used by the
  7177.                 pop-up DOS shell for it's swap file as well.  Do not
  7178.                 specify a filename, only a pathname.
  7179.  
  7180.                 Second Swap Path:  This option is just like the previous
  7181.                 option except it controls the path for the second swap
  7182.                 file.  If you use the "-M" command line option, or choose
  7183.                 "Sacrifice speed for space" under the "Swap Tuning" option
  7184.                 (below) then the second swap file will not be used at all.
  7185.  
  7186.                 Pop-Up DOS Shell:  This determines whether the pop-up DOS
  7187.                 shell capabilities will be available when ProSwap is
  7188.                 resident.  The only time you will not want the pop-up DOS
  7189.                 shell enabled is when you are using a DOS version earlier
  7190.  
  7191.  
  7192.  
  7193.           PCustom:  The Customizing Program                      116 of 143
  7194.  
  7195.  
  7196.                        - Programmer's Productivity Pack 2.60 -
  7197.  
  7198.  
  7199.                 than 3.0, or when you are trying to avoid conflicts with
  7200.                 another program.
  7201.  
  7202.                 Max Size of DOS Shell:  The size of the DOS shell can be
  7203.                 controlled to a certain extent.  The smallest it can be is
  7204.                 about 124K bytes.  The largest it can be is the amount of
  7205.                 memory that was available when ProSwap was loaded (less
  7206.                 about 20K).  Why would you want to change the size of the
  7207.                 DOS shell?  The larger the shell, the longer it will take
  7208.                 to swap in and out, and the more disk space or EMS/XMS
  7209.                 memory it will require.  By decreasing the maximum size of
  7210.                 the DOS shell you will conserve resources and speed up the
  7211.                 swapping process.  The default is "All Available Memory".
  7212.  
  7213.                 EMS Swapping:  This option controls whether EMS (Expanded)
  7214.                 memory may be used for swapping purposes.  It may be
  7215.                 enabled or disabled.  The default is "Enabled".
  7216.  
  7217.                 XMS Swapping:  This option controls whether XMS (Extended)
  7218.                 memory may be used for swapping purposes.  It may be
  7219.                 enabled or disabled.  The default is "Enabled".
  7220.  
  7221.                 Swap Message (EMS/XMS):  This controls the display of the
  7222.                 "Swapping In/Out" message that appears on the bottom line
  7223.                 of the screen during the swapping operation.  Generally the
  7224.                 message should be displayed.  If, for some reason, you
  7225.                 don't want this message, simply turn it off here.
  7226.  
  7227.                 Prefer EMS over XMS:  When both EMS and XMS memory swapping
  7228.                 are enabled, this option controls which one is tried first.
  7229.                 ProSwap will try one, if there's not enough memory
  7230.                 available it will try the other.  This option controls
  7231.                 whether EMS is tried before XMS memory, or vice versa.
  7232.  
  7233.                 Disk Swapping:  This option controls whether swapping to
  7234.                 disk is allowed.  Normally ProSwap will swap to disk only
  7235.                 when absolutely necessary (when there is insufficient EMS
  7236.                 or XMS memory, or when EMS/XMS swapping is disabled).  With
  7237.                 this option you can instruct ProSwap to abort during
  7238.                 loading if there is not enough EMS or XMS memory - in other
  7239.                 words, never use disk swapping.
  7240.  
  7241.                 Swap Tuning (XMS/Disk only):  When swapping to disk or XMS
  7242.                 memory, ProSwap normally uses two files or two memory
  7243.                 blocks.  This takes up more disk space or more XMS memory,
  7244.                 but it results in a very fast swapping operation.  If you
  7245.                 prefer conserving disk space or XMS memory, at the expense
  7246.                 of speed, this option makes it easy.
  7247.  
  7248.  
  7249.  
  7250.  
  7251.  
  7252.           PCustom:  The Customizing Program                      117 of 143
  7253.  
  7254.  
  7255.                        - Programmer's Productivity Pack 2.60 -
  7256.  
  7257.  
  7258.              Registered To:  We keep track of registered versions by serial
  7259.              number, but most people don't like being just a number.  This
  7260.              option enables registered users to record their name or
  7261.              company name so that ProPak and ProSwap will display
  7262.              "Registered to <your name>" when they start.  This lets you
  7263.              personalize ProPak and ProSwap.
  7264.  
  7265.              Rename ProPak:  There are several important issues involved if
  7266.              you want to change the name of the PROPAK.EXE file.  First,
  7267.              ProPak uses overlays so it must be able to find itself on disk
  7268.              at all times.  Second, PCustom must be able to locate
  7269.              PROPAK.EXE in order to perform some customizations.  This
  7270.              option lets you safely rename PROPAK.EXE.  As long as you
  7271.              rename it using this option, PCustom will be able to find it
  7272.              in the future, and ProPak will know what file to look for to
  7273.              load overlay files.  The main restriction here is that the new
  7274.              name cannot be the name of an existing file, it must be a
  7275.              "new" name.
  7276.  
  7277.  
  7278.              Miscellaneous:  This option takes you a step deeper into
  7279.              ProPak's inner workings.  It enables you to specify how ProPak
  7280.              is to use memory, handle the cursor, handle disk parking,
  7281.              handle Keystroke Recording and Playback, etc.
  7282.  
  7283.                 Key Recording FileName Extension:  By default ProPak
  7284.                 assigns an extension of .KEY to the names of files
  7285.                 containing Keystroke Recordings.  This option enables you
  7286.                 to change that extension if you desire.
  7287.  
  7288.                 Read Key Recordings from File:  This option controls how
  7289.                 Keystroke Recordings will be read from a file.  With this
  7290.                 option you can instruct ProPak to replace any currently
  7291.                 defined Keystroke Recordings with the ones being read from
  7292.                 the file, or to merge the ones read from the file with the
  7293.                 currently defined Keystroke Recordings.
  7294.  
  7295.                 This option enables you to control how much memory ProPak
  7296.                 sets aside for Keystroke Recordings.  You may specify any
  7297.                 value from 1K (1,024) bytes to 98K (100,352) bytes.  The
  7298.                 default is 2K (2,048) bytes.
  7299.  
  7300.                 Keystroke Playback Delay:  This option enables you to set a
  7301.                 permanent keystroke Playback delay value.  The Playback
  7302.                 delay value is the number of milliseconds ProPak should
  7303.                 pause between playing back each character in a Keystroke
  7304.                 Recording.  This may be any value from 0 to 100.  Generally
  7305.                 a value of 0 will suffice.
  7306.  
  7307.  
  7308.  
  7309.  
  7310.  
  7311.           PCustom:  The Customizing Program                      118 of 143
  7312.  
  7313.  
  7314.                        - Programmer's Productivity Pack 2.60 -
  7315.  
  7316.  
  7317.                 Memory Reserved for Recordings:  ProPak is capable of
  7318.                 having up to 100 Keystroke Recordings active at any given
  7319.                 time, and up to 1,000 keystrokes in each recording.  In
  7320.                 order to actually define that many recordings you must have
  7321.                 set aside enough memory for the recordings to be stored in
  7322.                 memory.  If you use a lot of Keystroke Recordings you will
  7323.                 want to set aside more memory for them.  If, on the other
  7324.                 hand, you use only a few Keystroke Recordings at a time,
  7325.                 you will want to reserve less memory for these recordings
  7326.                 thus lowering ProPak's memory requirements.
  7327.  
  7328.                (Due to space limitations and printer incompatibilities,
  7329.                 this figure appears only in the printed User's Guide.)
  7330.  
  7331.                         Figure 17: Miscellaneous Sub-Submenu
  7332.  
  7333.                 DOS Print, File Pick Window:  If you have used the file
  7334.                 "pick window" which enables you to use a "point and shoot"
  7335.                 method of choosing files to be submitted to the DOS
  7336.                 background PRINT facility, then you have noticed that it
  7337.                 always starts with the current directory.  You can change
  7338.                 it to start with the root directory if you prefer.  By
  7339.                 selecting the root directory as a starting point, you could
  7340.                 easily point and shoot your way into any subdirectory.
  7341.                 This simplifies matters if you often need to print files
  7342.                 that are not stored in the current directory.
  7343.  
  7344.                 Screen Blanking Options:  When ProPak blanks your screen
  7345.                 and displays a moving clock, it also parks your hard disk.
  7346.                 If you have two hard disks, ProPak will park both of them.
  7347.                 Parking simply means positioning the read/write heads over
  7348.                 the last cylinder on the hard disk.  This is simply a
  7349.                 preventive measure or safety feature.  If you prefer, you
  7350.                 may instruct ProPak to NOT park the hard disk or disks when
  7351.                 blanking the screen.  This submenu option enables you to do
  7352.                 that if you desire.
  7353.  
  7354.                 Use EMS Memory for overlays:  Normally ProPak will place
  7355.                 the overlay file into EMS memory when it starts.  This has
  7356.                 two advantages.  First, transferring from EMS memory to RAM
  7357.                 memory is much faster than transferring from disk to RAM,
  7358.                 therefore, the size of the overlay buffer can be smaller.
  7359.                 This means that not only will ProPak perform better, it
  7360.                 will do so using less memory than if EMS memory were not
  7361.                 used.  This technique also saves one file handle because
  7362.                 ProPak will not need to use the overlay file once it is
  7363.                 loaded.
  7364.  
  7365.  
  7366.  
  7367.  
  7368.  
  7369.  
  7370.           PCustom:  The Customizing Program                      119 of 143
  7371.  
  7372.  
  7373.                        - Programmer's Productivity Pack 2.60 -
  7374.  
  7375.  
  7376.                    If you do not have EMS memory, or not enough EMS memory
  7377.                    is available for ProPak to use, then ProPak will
  7378.                    automatically leave the overlay file on disk and use it
  7379.                    from there.
  7380.  
  7381.                    This covers about 99 percent of the situations that may
  7382.                    arise.  However, if you are a developer working on a
  7383.                    project and testing something using EMS memory, there
  7384.                    will be times when, even though you have plenty of EMS
  7385.                    memory available, you will not want ProPak to use it.
  7386.                    This option enables you to instruct any of the versions
  7387.                    of ProPak to not use EMS memory even if it is available.
  7388.  
  7389.                 Return to application with:  This option is really only of
  7390.                 use to those who have EGA cards.  When ProPak opens up a
  7391.                 window it records the previous cursor size and position so
  7392.                 that the cursor can later be restored exactly as it was
  7393.                 when ProPak was popped up.  Sometimes the cursor size will
  7394.                 not be restored properly due to a bug in the EGA's ROM BIOS
  7395.                 extensions.  To get around this problem, this option
  7396.                 enables you to instruct ProPak to always restore the common
  7397.                 two line cursor (a cursor with the bottom two scan lines
  7398.                 blinking).  Most user's will never need this option.
  7399.                 You'll know if you are one of those who needs to use it.
  7400.  
  7401.                 Overlay Buffer Size Supplement:  This option is intended to
  7402.                 improve the performance of ProPak.EXE on systems that do
  7403.                 not have EMS memory.  This option is highly recommended for
  7404.                 users who have floppy disk only systems!
  7405.  
  7406.                    Choosing this option enables you to increase the size of
  7407.                    the overlay buffer in ProPak.EXE.  Even hard disk users
  7408.                    can greatly improve ProPak's performance by increasing
  7409.                    the size of the overlay buffer.  Of course, this option
  7410.                    will have no effect if ProPak is using EMS memory.
  7411.  
  7412.                    The size of the overlay buffer supplement is increased
  7413.                    or decreased in 3K byte increments.  The reason for this
  7414.                    is because 3K bytes is the smallest change that will
  7415.                    significantly affect ProPak's performance.  The minimum
  7416.                    size for the overlay buffer supplement is 0 bytes.  This
  7417.                    is automatic when EMS memory is in use.  The maximum
  7418.                    size for the overlay buffer supplement is 12K (12,288)
  7419.                    bytes.
  7420.  
  7421.                    For those who do not have EMS memory, the actual size
  7422.                    you will need can be determined by the speed of your
  7423.                    hard disk and your particular preference.  The higher
  7424.                    the value the more memory ProPak will require, but, at
  7425.                    the same time, the better will be its performance.
  7426.                    Floppy disk only users should set the overlay buffer
  7427.  
  7428.  
  7429.           PCustom:  The Customizing Program                      120 of 143
  7430.  
  7431.  
  7432.                        - Programmer's Productivity Pack 2.60 -
  7433.  
  7434.  
  7435.                    supplement to the maximum value (12K bytes).  Those with
  7436.                    fast hard disks will require a smaller value while those
  7437.                    with slower hard disks should consider a larger value.
  7438.  
  7439.                    If you have EMS memory and ProPak is allowed to use it,
  7440.                    then the value chosen here will not matter.  ProPak will
  7441.                    automatically set a small size for the overlay buffer.
  7442.  
  7443.                 Microsoft Quick Environment Fix:  This option is only
  7444.                 important to people who use the newer versions of the
  7445.                 Microsoft Quick Environments - such as QuickBasic 4.5,
  7446.                 Quick C 2.0, etc.  This option will enable ProPak to safely
  7447.                 pop-up over these environments.  Also, when operating in
  7448.                 non-swapping mode (the "-N" or "-T" command line option),
  7449.                 ProSwap will normally not work with the Quick Environments.
  7450.                 This option tells ProSwap to deal with this special case
  7451.                 when it is running in non-swapping mode.
  7452.  
  7453.           The Exit PCustom Menu:
  7454.           ~~~~~~~~~~~~~~~~~~~~~~
  7455.           The fifth option on the Main Menu is Exit PCustom.  This will
  7456.           take you back to the DOS prompt.  You can also select whether to
  7457.           save or cancel the changes you have made, or whether to limit the
  7458.           files which are customized.  If you select this option the Exit
  7459.           PCustom Menu will appear.
  7460.  
  7461.           When this option is selected you will see the following Menu:
  7462.  
  7463.                (Due to space limitations and printer incompatibilities,
  7464.                 this figure appears only in the printed User's Guide.)
  7465.  
  7466.                            Figure 18: Exit PCustom Submenu
  7467.  
  7468.              Save Changes:  This option tells PCustom to write the changes
  7469.              you have specified into the files themselves.  The files you
  7470.              instructed PCustom to alter, when you first started PCustom,
  7471.              will automatically be updated when you select this option.
  7472.  
  7473.                 The changes you have made are "permanent", meaning they are
  7474.                 permanent until you change them again using PCustom.
  7475.  
  7476.              Select (Alt-Q):  This option enables you to change your mind
  7477.              about updating any of the files you chose when PCustom was
  7478.              first started.  When you choose "Select" PCustom will again
  7479.              show you the menu where you can choose to modify any one of
  7480.              the three files or modify all versions present.  If you had
  7481.              originally chosen to modify all versions present, you can now
  7482.              limit your changes to any one of the versions by selecting it
  7483.              with the highlight bar and pressing <Enter>.  You cannot
  7484.              choose to modify a version that you originally did not choose
  7485.  
  7486.  
  7487.  
  7488.           PCustom:  The Customizing Program                      121 of 143
  7489.  
  7490.  
  7491.                        - Programmer's Productivity Pack 2.60 -
  7492.  
  7493.  
  7494.              to modify.  PCustom only read the files which you selected at
  7495.              the beginning.
  7496.  
  7497.                 If you decide not to modify any of the versions, simply
  7498.                 press <Esc> at this point and you will be back at the DOS
  7499.                 prompt without having altered a thing.
  7500.  
  7501.                 The reason "Alt-Q" appears as part of the choice is that it
  7502.                 is a "short cut key" which will quickly take you to this
  7503.                 point from almost any other point in the Menu system.
  7504.  
  7505.              Cancel Changes:  This option enables you to return to DOS
  7506.              without altering the files in any way.  This option cancels
  7507.              any changes you have made and exits from PCustom.
  7508.  
  7509.  
  7510.  
  7511.  
  7512.  
  7513.  
  7514.  
  7515.  
  7516.  
  7517.  
  7518.  
  7519.  
  7520.  
  7521.  
  7522.  
  7523.  
  7524.  
  7525.  
  7526.  
  7527.  
  7528.  
  7529.  
  7530.  
  7531.  
  7532.  
  7533.  
  7534.  
  7535.  
  7536.  
  7537.  
  7538.  
  7539.  
  7540.  
  7541.  
  7542.  
  7543.  
  7544.  
  7545.  
  7546.  
  7547.           PCustom:  The Customizing Program                      122 of 143
  7548.  
  7549.  
  7550.                        - Programmer's Productivity Pack 2.60 -
  7551.  
  7552.  
  7553.                             -----------------------------
  7554.                               Miscellaneous Information
  7555.                             -----------------------------
  7556.  
  7557.  
  7558.           EXE Compression Utilities:
  7559.           ==========================
  7560.  
  7561.           Many people are now starting to use a free utility called "LZE"
  7562.           to compress executable files while still allowing them to run
  7563.           normally.  LZE is a wonderfully useful tool, but it does have a
  7564.           few drawbacks.
  7565.  
  7566.           The main reason PCustom changed from modifying the .EXE files
  7567.           directly, to using configuration files, was to allow you to
  7568.           compress the programs using LZE or a similar utility.
  7569.           Unfortunately, there are a few problems.
  7570.  
  7571.           There have been numerous reports of LZE-compressed programs
  7572.           corrupting DESQview memory blocks when they load.  Since many of
  7573.           you operate in the DESQview environment it may not be safe for
  7574.           you to compress the programs.
  7575.  
  7576.           If you do not use DESQview, and wish to compress the programs
  7577.           using your copy of LZE (if you have a copy), then here is the
  7578.           information you need:
  7579.  
  7580.              PCustom may be compressed with LZE without causing any
  7581.              difficulties.
  7582.  
  7583.              ProPak cannot be safely compressed with LZE because of the
  7584.              overlays built onto the tail-end of the ProPak.EXE file.
  7585.  
  7586.              ProSwap cannot be safely compressed with LZE because of an
  7587.              undetermined problem that affects the pop-up DOS shell
  7588.              capability.  This problem only affects some systems.  ProSwap
  7589.              may or may not work in compressed form on your system.  The
  7590.              only way to know for sure is to try it yourself.
  7591.  
  7592.           We are currently looking into alternatives for compressing the
  7593.           executable files.  There are several utilities available or under
  7594.           development which may do the trick.  Unfortunately, we are not
  7595.           allowed to talk about them due to nondisclosure agreements.
  7596.  
  7597.  
  7598.           Change History:
  7599.           ===============
  7600.  
  7601.           Please refer to the HISTORY.DOC text file for the complete change
  7602.           history of the Programmer's Productivity Pack.
  7603.  
  7604.  
  7605.  
  7606.           Miscellaneous Information                              123 of 143
  7607.  
  7608.  
  7609.           Appendix A                - Programmer's Productivity Pack 2.60 -
  7610.  
  7611.  
  7612.                                      ------------
  7613.                                       Appendix A
  7614.                                      ------------
  7615.  
  7616.  
  7617.           The Bits and the Bytes:
  7618.           =======================
  7619.           This appendix provides basic information concerning bits and bit
  7620.           level operations.  The primary source for this brief overview was
  7621.           Charles Petzold's "PC Tutor" column in the August, 1987, issue of
  7622.           "PC Magazine" (Volume 6, Number 14).
  7623.  
  7624.           TIP:
  7625.              If you are new to hexadecimal and binary arithmetic, we
  7626.              recommend that you find a copy of Jeff Duntemann's excellent
  7627.              book "Assembly Language from Square One", published by Scott,
  7628.              Foresman and Company.  Chapter One of this book contains the
  7629.              clearest and most entertaining introduction to the binary and
  7630.              hexadecimal numbering systems that we have ever seen.TIP
  7631.  
  7632.           For the sake of simplicity, we'll discuss the details of bits
  7633.           from the standpoint of 16 bit systems.  16 bit systems include
  7634.           IBM PC's, XT's, AT's, and some PS/2's.  For this discussion, when
  7635.           we say "16 bit system" we are referring to the microprocessor
  7636.           itself, not necessarily all the hardware to which it is
  7637.           connected.  If you work with 32 bit systems like the newer 80386
  7638.           machines, they are just twice the size, in bits, of 16 bit
  7639.           systems.
  7640.  
  7641.           On the most basic level, your computer works with bits.  A bit is
  7642.           a concrete, real value in your computer.  A bit is simply a state
  7643.           - on/off, yes/no, true/false, or 1/0, depending upon how you like
  7644.           to think of them.
  7645.  
  7646.           Handling bits one at a time would be a very complicated and
  7647.           inefficient process for us humans, so we deal with bits in
  7648.           groups.  The most common group of bits is called a "byte," which
  7649.           is simply a group made up of 8 individual bits.
  7650.  
  7651.           Bits are usually represented using the numbers one (1) and zero
  7652.           (0).  In fact, these are the only numbers that a single bit can
  7653.           represent.  Numbers consisting solely of 1's and 0's are called
  7654.           binary numbers, because only two digits make up the entire number
  7655.           system.  We are more accustomed to the Decimal system in which 10
  7656.           digits (0-9) make up the entire number system.
  7657.  
  7658.           Performing mathematical operations on binary numbers is much like
  7659.           performing mathematical operations on decimal numbers, except
  7660.           only 2 digits (0 and 1) are used.
  7661.  
  7662.  
  7663.  
  7664.  
  7665.           Bits and Bytes; A Brief Tutorial                       124 of 143
  7666.  
  7667.  
  7668.           Appendix A                - Programmer's Productivity Pack 2.60 -
  7669.  
  7670.  
  7671.           For example, in Decimal format, "1 + 1 = 2", but binary numbers
  7672.           don't have a digit like "2", so we carry the 1, just like we do
  7673.           with decimal numbers.  In decimal numbers when you add "9 + 1"
  7674.           there is no digit to represent a value higher than 9, so we carry
  7675.           one place as follows:
  7676.  
  7677.                Decimal:   9
  7678.                         + 1
  7679.                         ----
  7680.                          10
  7681.  
  7682.                Binary is the same:   1
  7683.                                    + 1
  7684.                                    ----
  7685.                                     10
  7686.  
  7687.           With decimal numbers, each time a digit is moved left one place,
  7688.           the number increases by a power of 10.  If you take the decimal
  7689.           value 10 and move it left one place you get the number 100 which
  7690.           is 10 times greater than the value with which you started.
  7691.  
  7692.           Binary numbers work like this too.  Each time you move a binary
  7693.           value left one place the value increases by a power of two.
  7694.  
  7695.           The following chart shows a byte size value (8 bits) and the
  7696.           result each time a digit is shifted left one place, this should
  7697.           give you a better picture of how binary numbers work:
  7698.  
  7699.              Binary      Decimal
  7700.               value      equivalent
  7701.                --------  ----------
  7702.              00000000        0
  7703.              00000001        1
  7704.              00000010        2
  7705.              00000100        4
  7706.              00001000        8
  7707.              00010000       16
  7708.              00100000       32
  7709.              01000000       64
  7710.              10000000      128
  7711.  
  7712.           ProPak's Calculator is an excellent tool to help see this first
  7713.           hand.  ProPak's Calculator enables you to shift values left and
  7714.           right, rotate them left and right, and perform a myriad of
  7715.           different operations, all the while showing you the individual
  7716.           bit settings.  Watching the bit settings in the binary values
  7717.           will show you exactly what is happening as you perform each
  7718.           operation.
  7719.  
  7720.  
  7721.  
  7722.  
  7723.  
  7724.           Bits and Bytes; A Brief Tutorial                       125 of 143
  7725.  
  7726.  
  7727.           Appendix A                - Programmer's Productivity Pack 2.60 -
  7728.  
  7729.  
  7730.           The following chart shows the binary values corresponding to the
  7731.           decimal numbers from 1 to 10, this should give you a good idea of
  7732.           how binary numbers are used to add, subtract, and do other
  7733.           mathematical operations:
  7734.  
  7735.              Binary   Decimal
  7736.              value    equivalent
  7737.              ------   ----------
  7738.  
  7739.              0001        1
  7740.              0010        2
  7741.              0011        3
  7742.              0100        4
  7743.              0101        5
  7744.              0110        6
  7745.              0111        7
  7746.              1000        8
  7747.              1001        9
  7748.              1010       10
  7749.  
  7750.  
  7751.           As you can see:
  7752.  
  7753.                in Binary:               1
  7754.                                       + 1
  7755.                                       ---
  7756.                                        10
  7757.  
  7758.                then adding another 1:  10
  7759.                                       + 1
  7760.                                       ---
  7761.                                        11
  7762.  
  7763.                and another:            11
  7764.                                       + 1
  7765.                                       ---
  7766.                                       100
  7767.  
  7768.                and so forth.
  7769.  
  7770.           Why is all this binary stuff important?  What does it have to do
  7771.           with programming my computer?  Well, your computer's
  7772.           microprocessor manipulates groups of bits in its registers.  A
  7773.           register is simply a storage location built right into the chip
  7774.           itself.  This means the processor can manipulate values in these
  7775.           registers very quickly, because it doesn't have to get the value
  7776.           from memory somewhere else in the system.
  7777.  
  7778.           The types of microprocessors we are discussing generally
  7779.           manipulate 8 or 16 bits at a time in their registers.  The
  7780.           registers, by the way, are either 8 or 16 bits wide.
  7781.  
  7782.  
  7783.           Bits and Bytes; A Brief Tutorial                       126 of 143
  7784.  
  7785.  
  7786.           Appendix A                - Programmer's Productivity Pack 2.60 -
  7787.  
  7788.  
  7789.           In virtually every field of business, science, and life in
  7790.           general, we make up names for things.  The computer field is no
  7791.           different.  When we group bits together into logical units, we
  7792.           have a name for each unit.  We've already discussed the "BYTE"
  7793.           which is a collection of 8 bits that are treated as a single unit
  7794.           or group.  A unit with 4 bits is half of a byte, so logically, it
  7795.           is called a "NIBBLE" (also spelled "nybble").  Moving in the
  7796.           other direction, a group of 16 bits (two bytes), is called a
  7797.           "WORD".  A group of 32 bits (four bytes) is called a "DOUBLE
  7798.           WORD".
  7799.  
  7800.           Knowing this, much of the mystique behind these terms should now
  7801.           be cleared up.  Learning a few new terms is not unique to the
  7802.           computer industry, if you were a stock broker you would have to
  7803.           learn the difference between a put and a call, if you were a
  7804.           sailor you would have to learn the difference between port and
  7805.           starboard.  The computer field is like any other field.  There
  7806.           are new terms to learn, but the result is it will be easier to
  7807.           say exactly what you mean and have others understand exactly what
  7808.           you are talking about.
  7809.  
  7810.           Let's take a look at the range of values that can be represented
  7811.           by various groups of bits.  Obviously, when you have a known
  7812.           amount of space in which to store a number, there is a limit to
  7813.           the size of the number that can be stored there.  Along these
  7814.           same lines, if you have enough space to store anything from 0 to
  7815.           10 but you want to add the ability to use negative numbers as
  7816.           well, then the same storage space will hold anything from -5 to
  7817.           +5.  After all, we can only store a limited number of unique
  7818.           values in a particular storage space.
  7819.  
  7820.           An 8 bit value, a byte, can represent any decimal number (whole
  7821.           number) between 0 and 255.  If you want to be able to include
  7822.           negative numbers, then we can represent any value from -127 to
  7823.           +128 with 8 bits.
  7824.  
  7825.           Numbers that can be either positive or negative are called
  7826.           "SIGNED" numbers.  Logically, numbers that can only be positive
  7827.           are called "UNSIGNED" numbers.
  7828.  
  7829.           A 16 bit value, a word, can represent any decimal whole number
  7830.           between 0 and 65,535.  If you are using signed numbers, a 16 bit
  7831.           word can represent any decimal whole number from -32,767 to
  7832.           +32,768.
  7833.  
  7834.           A 32 bit value, a double word, can represent any decimal whole
  7835.           number between 0 and 4,294,967,295.  A signed 32 bit double word
  7836.           can represent any whole number between -2,147,483,648 and
  7837.           +2,147,483,647.
  7838.  
  7839.  
  7840.  
  7841.  
  7842.           Bits and Bytes; A Brief Tutorial                       127 of 143
  7843.  
  7844.  
  7845.           Appendix A                - Programmer's Productivity Pack 2.60 -
  7846.  
  7847.  
  7848.           This should help to explain why so many software products on the
  7849.           market have similar limits for various operations.  When working
  7850.           with a computer you have to stay within the limits of what it is
  7851.           able to accomplish using its particular design.  Of course we
  7852.           haven't even touched on the subject of numbers that can have
  7853.           something after the decimal point.  Fractional numbers, often
  7854.           called "floating point" numbers in the computer industry, are an
  7855.           entirely different subject and we won't go into detail on them
  7856.           here.  Suffice it to say, unless you are using a math coprocessor
  7857.           chip, floating point math must be performed with software as the
  7858.           processor itself does not understand fractional values.
  7859.  
  7860.           Let's take a brief look at the "logical" operations that your
  7861.           computer can perform.  This will also help you to understand the
  7862.           various operations available within ProPak's Programmer's
  7863.           Calculator.
  7864.  
  7865.           The first operation we'll look at is one of the most commonly
  7866.           used.  The "AND" operation.  Notice we said "AND" and not "ADD".
  7867.           "AND" and "ADD" are two entirely different operations.
  7868.  
  7869.  
  7870.           AND - When you AND two bits together they produce a 1 only if
  7871.           both of the original bits are a 1.
  7872.  
  7873.                       0      0      1      1
  7874.                   AND 0  AND 1  AND 0  AND 1
  7875.                   -----  -----  -----  -----
  7876.           equals      0      0      0      1
  7877.  
  7878.  
  7879.           This is usually shown by way of a "truth table" which shows how
  7880.           the operation works.  A truth table for the AND operator might
  7881.           look something like this:
  7882.  
  7883.  
  7884.                    AND|  0  |  1
  7885.                   ----+-----+-----
  7886.                     0 |  0  |  0
  7887.                   ----+-----+-----
  7888.                     1 |  0  |  1
  7889.  
  7890.  
  7891.           You read the table by picking one value from the top line and
  7892.           drawing an imaginary line straight down, pick the other value
  7893.           from the left side and draw an imaginary line horizontally to the
  7894.           right.  Where these two imaginary lines intersect is the result
  7895.           you get when you AND the values together.
  7896.  
  7897.  
  7898.  
  7899.  
  7900.  
  7901.           Bits and Bytes; A Brief Tutorial                       128 of 143
  7902.  
  7903.  
  7904.           Appendix A                - Programmer's Productivity Pack 2.60 -
  7905.  
  7906.  
  7907.           Taking this concept further, to 8 or 16 bit numbers, merely
  7908.           involves lining up the numbers one above the other like so:
  7909.  
  7910.  
  7911.                                   00101011
  7912.                               AND 01001000
  7913.                                   --------
  7914.                                   00001000
  7915.  
  7916.  
  7917.           As you can see, only one of the bits in these two bytes have
  7918.           matching 1's, therefore only that bit produces a 1 for an answer.
  7919.  
  7920.  
  7921.           NOT - The NOT operator is a little bit different than the AND
  7922.           operator.  NOT works only on one value, rather than comparing two
  7923.           values with each other.  NOT converts all 0's to 1's and vice
  7924.           versa.  The NOT truth table looks like this:
  7925.  
  7926.                               NOT | 1 | 0
  7927.                              -----+---+---
  7928.                                   | 0 | 1
  7929.  
  7930.  
  7931.           The result is what is known as a "one's complement." In 8086/8088
  7932.           assembly language there is a similar instruction called NEG.  NEG
  7933.           goes one step further than NOT, after obtaining the one's
  7934.           complement of a number, the NEG instruction adds 1 to it, giving
  7935.           you the "two's complement" of the original value.  Using ProPak's
  7936.           "Change Sign" command produces the same results as the NEG
  7937.           instruction.
  7938.  
  7939.  
  7940.           OR - The OR operator, like the AND operator, compares two values
  7941.           and produces a result.  OR produces a 1 if either of the two
  7942.           inputs are a 1.  The truth table for an OR looks like this:
  7943.  
  7944.                               OR |  0  |  1
  7945.                             -----+-----+-----
  7946.                                0 |  0  |  1
  7947.                             -----+-----+-----
  7948.                                1 |  1  |  1
  7949.  
  7950.  
  7951.  
  7952.  
  7953.  
  7954.  
  7955.  
  7956.  
  7957.  
  7958.  
  7959.  
  7960.           Bits and Bytes; A Brief Tutorial                       129 of 143
  7961.  
  7962.  
  7963.           Appendix A                - Programmer's Productivity Pack 2.60 -
  7964.  
  7965.  
  7966.           XOR - The XOR (eXclusive OR) operator produces a 1, if one and
  7967.           only one of the inputs is a 1, if both inputs are 1 it will
  7968.           produce a 0.  The XOR truth table follows:
  7969.  
  7970.                              XOR |  0  |  1
  7971.                            ------+-----+-----
  7972.                                0 |  0  |  1
  7973.                            ------+-----+-----
  7974.                                1 |  1  |  0
  7975.  
  7976.           This can sometimes be easier to understand and picture when you
  7977.           think of it like this: the XOR operator produces a 1 for a result
  7978.           whenever the two bits being compared are different from each
  7979.           other.  If the two bits are the same, the answer is 0, if the two
  7980.           bits are different, the answer is 1.
  7981.  
  7982.  
  7983.           SHL and SHR - The Shift Left and Shift Right operators do exactly
  7984.           what their names imply, they shift a value left or right.  For
  7985.           instance:
  7986.  
  7987.                                take the value: 00001111
  7988.                        shift it left 4 places: 11110000
  7989.                  then shift it right 2 places: 00111100
  7990.  
  7991.  
  7992.           One interesting aspect to these operators is that they can be
  7993.           used as very fast multiplication or division operators.  Shift
  7994.           Left 1 place is the same as multiplying by 2, Shift Left 2 is the
  7995.           same as multiplying by 4, shift left 3 is the same as multiplying
  7996.           by 8, and so forth.  Shifting right is the same except the effect
  7997.           is like dividing by 2, 4, 8, etc., rather than multiplying.
  7998.  
  7999.           There are two similar instructions called Shift Arithmetic Left
  8000.           (SAL) and Shift Arithmetic Right (SAR).  These are very similar
  8001.           to the shift instructions except the value of the sign bit is
  8002.           retained throughout the shift operation.  As with the other
  8003.           operators, the best way to see how this works is to fire up
  8004.           ProPak's Calculator and tinker with a few examples.  This way
  8005.           you'll be able to see first hand what these operators actually
  8006.           do.
  8007.  
  8008.           Now let's take a brief look at some of the rotate operations.
  8009.           The rotate operations are very similar to the shift instructions.
  8010.           Understanding the differences is really a matter of considering
  8011.           what happens when a bit is shifted off of one end of a number.
  8012.           When shifting, if you shift a bit right off the end, it is no
  8013.           longer a part of your value.  The rotate operations deal with
  8014.           this a little differently.
  8015.  
  8016.  
  8017.  
  8018.  
  8019.           Bits and Bytes; A Brief Tutorial                       130 of 143
  8020.  
  8021.  
  8022.           Appendix A                - Programmer's Productivity Pack 2.60 -
  8023.  
  8024.  
  8025.           The rotate operations function just like their name implies.  The
  8026.           rotate operations shift values in the registers, but instead of
  8027.           losing the bit that comes off the end, it is rotated around and
  8028.           inserted into the other end of the register.  Something like
  8029.           this:
  8030.  
  8031.  
  8032.                      |---->--------------------------->----|
  8033.                      |                                     |
  8034.             |----|   |  |-------------------------------|  |
  8035.             | CY |<-----| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |<-|
  8036.             |----|      |-------------------------------|
  8037.  
  8038.                                      Rotate Left
  8039.  
  8040.  
  8041.           At the same time that the bit is rotated around to the other end,
  8042.           it is also placed in the carry flag (a particular bit position
  8043.           within the "flags" register).  Both the Rotate Left (ROL) and
  8044.           Rotate Right (ROR) instructions work by taking the bit that
  8045.           "falls off of the end" and rotating it around to be put right
  8046.           back into the other end of the register.
  8047.  
  8048.           Another instruction of this type is the Rotate through the Carry
  8049.           instruction (RCL and RCR).  It is very similar to the regular
  8050.           rotate instruction, except that the bit that comes off the end is
  8051.           passed through the carry flag.  In other words, the value that
  8052.           comes in one end of the register is the value that was previously
  8053.           in the carry flag.  Here's how it would look:
  8054.  
  8055.             |----------------------->-----------------------|
  8056.             |                                               |
  8057.             |  |----|   |-------------------------------|   |
  8058.             |<-| CY |<--| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |<--|
  8059.                |----|   |-------------------------------|
  8060.  
  8061.                       Rotate through the Carry Left
  8062.  
  8063.  
  8064.  
  8065.             |-----------------------<-----------------------|
  8066.             |                                               |
  8067.             |  |----|   |-------------------------------|   |
  8068.             |->| CY |-->| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |->-|
  8069.                |----|   |-------------------------------|
  8070.  
  8071.                       Rotate through the Carry Right
  8072.  
  8073.           How do you use such strange operations when you are programming?
  8074.           Well, as you start getting more involved with using MS-DOS or
  8075.           your ROM BIOS, you will more and more frequently find the need to
  8076.  
  8077.  
  8078.           Bits and Bytes; A Brief Tutorial                       131 of 143
  8079.  
  8080.  
  8081.           Appendix A                - Programmer's Productivity Pack 2.60 -
  8082.  
  8083.  
  8084.           compare bit patterns, to find out if a particular bit is set in a
  8085.           number, and even to shift the bits around in order to see what
  8086.           they really represent.
  8087.  
  8088.           As your programs become more intimate with the hardware of the
  8089.           computer, your need to understand and be able to use other
  8090.           numbering systems will grow as well.  This is especially true
  8091.           when you program in languages like "C" or "Turbo Pascal", where
  8092.           much can be done when you are able to work with binary,
  8093.           hexadecimal or octal numbers.  If you deal with assembly language
  8094.           then you know by experience what we're talking about.
  8095.  
  8096.           We certainly hope that this has answered your questions, and that
  8097.           ProPak's Programmer's Calculator will make your programming a
  8098.           little easier and much more productive.  Happy ProPak'n!
  8099.  
  8100.  
  8101.  
  8102.  
  8103.  
  8104.  
  8105.  
  8106.  
  8107.  
  8108.  
  8109.  
  8110.  
  8111.  
  8112.  
  8113.  
  8114.  
  8115.  
  8116.  
  8117.  
  8118.  
  8119.  
  8120.  
  8121.  
  8122.  
  8123.  
  8124.  
  8125.  
  8126.  
  8127.  
  8128.  
  8129.  
  8130.  
  8131.  
  8132.  
  8133.  
  8134.  
  8135.  
  8136.  
  8137.           Bits and Bytes; A Brief Tutorial                       132 of 143
  8138.  
  8139.  
  8140.           Appendix B                - Programmer's Productivity Pack 2.60 -
  8141.  
  8142.  
  8143.                                      ------------
  8144.                                       Appendix B
  8145.                                      ------------
  8146.  
  8147.  
  8148.           Understanding Two's Complement Numbers:
  8149.           =======================================
  8150.  
  8151.           When manipulating signed values, your computer must be able to
  8152.           tell the difference between a positive and a negative number.  It
  8153.           does this through the use of a "sign bit." The leftmost bit is
  8154.           the sign bit.  When this leftmost bit is a zero (0) the number is
  8155.           positive, when that bit is a one (1) the number is negative.  Of
  8156.           course, when you are treating a number as an UNsigned value, the
  8157.           leftmost bit is just a part of the number, and all values will be
  8158.           considered positive.
  8159.  
  8160.           There's a little more to negative numbers than just a sign bit.
  8161.           To your computer, negative numbers are actually what is called
  8162.           the "two's complement" of positive numbers.  While this may sound
  8163.           complicated, it is actually very simple and reasonable.  Here is
  8164.           a brief explanation of what "two's complement" really means, and
  8165.           a simple example to illustrate how it actually works.
  8166.  
  8167.           Let's use an 8 bit value for the sake of simplicity, and the
  8168.           number 5.  In binary, the number 5 looks like this:
  8169.  
  8170.                                 00000101
  8171.  
  8172.           Now, to obtain the two's complement of that number, we must do
  8173.           two things.  First we must complement each bit, simply change
  8174.           each 1 to a 0, and each 0 to a 1.  In essence we are just
  8175.           reversing each digit.  This is called the one's complement.  Here
  8176.           is what our results will look like:
  8177.  
  8178.                         Before changing: 00000101
  8179.                          After changing: 11111010
  8180.  
  8181.           A quick way to do this using ProPak's Calculator is to use the
  8182.           "NOT" operator.  It will instantly show you the one's complement
  8183.           of the current value.
  8184.  
  8185.           The next (and final) step we must perform is just as easy.
  8186.           Simply add 1 to the number, like this:
  8187.  
  8188.  
  8189.                                   11111010
  8190.                                  +       1
  8191.                                  _________
  8192.  
  8193.                                   11111011
  8194.  
  8195.  
  8196.           Two's Complement Numbers                               133 of 143
  8197.  
  8198.  
  8199.           Appendix B                - Programmer's Productivity Pack 2.60 -
  8200.  
  8201.  
  8202.           That is the binary representation of -5.  We have just converted
  8203.           a positive 5 to a negative 5 in two simple steps.  As you might
  8204.           imagine, those two steps are exactly the kind of thing your
  8205.           computer is good at, and can do very quickly.  By using this
  8206.           technique, the computer is able to subtract one number from
  8207.           another simply by adding the two's complement of the value to the
  8208.           first value.  In this way the processor is able to perform two
  8209.           different kinds of math using basically the same internal
  8210.           circuitry.
  8211.  
  8212.           Just to show that this really does work, let's change the
  8213.           negative 5 back into a positive 5, using the same steps.  Here
  8214.           goes:
  8215.  
  8216.                      Before changing (-5): 11111011
  8217.  
  8218.                            After changing: 00000100
  8219.  
  8220.                                Now, add 1: 00000100
  8221.                                           +       1
  8222.                                           ---------
  8223.                                            00000101
  8224.  
  8225.           There you have it!  We've converted 5 to -5 and back to 5, using
  8226.           the same technique employed by your computer.  With this
  8227.           information under your belt, it will be much easier to understand
  8228.           overflow flags and the like when you are working on the assembly
  8229.           language level.
  8230.  
  8231.           In 8086/8088 assembly language, the "NEG" instruction performs
  8232.           the two's complement for you.  The Programmer's Calculator
  8233.           produces the same result with the "Change Sign" command.
  8234.  
  8235.  
  8236.  
  8237.  
  8238.  
  8239.  
  8240.  
  8241.  
  8242.  
  8243.  
  8244.  
  8245.  
  8246.  
  8247.  
  8248.  
  8249.  
  8250.  
  8251.  
  8252.  
  8253.  
  8254.  
  8255.           Two's Complement Numbers                               134 of 143
  8256.  
  8257.  
  8258.           Appendix C                - Programmer's Productivity Pack 2.60 -
  8259.  
  8260.  
  8261.                                      ------------
  8262.                                       Appendix C
  8263.                                      ------------
  8264.  
  8265.  
  8266.           For Those New to MS-DOS:
  8267.           ========================
  8268.  
  8269.           Due to space limitations, this information appears only in the
  8270.           printed User's Guide which comes with the registered version.
  8271.  
  8272.  
  8273.  
  8274.  
  8275.  
  8276.  
  8277.  
  8278.  
  8279.  
  8280.  
  8281.  
  8282.  
  8283.  
  8284.  
  8285.  
  8286.  
  8287.  
  8288.  
  8289.  
  8290.  
  8291.  
  8292.  
  8293.  
  8294.  
  8295.  
  8296.  
  8297.  
  8298.  
  8299.  
  8300.  
  8301.  
  8302.  
  8303.  
  8304.  
  8305.  
  8306.  
  8307.  
  8308.  
  8309.  
  8310.  
  8311.  
  8312.  
  8313.  
  8314.           Directories and Paths: A Brief Tutorial                135 of 143
  8315.  
  8316.  
  8317.           Appendix D                - Programmer's Productivity Pack 2.60 -
  8318.  
  8319.  
  8320.                                      ------------
  8321.                                       Appendix D
  8322.                                      ------------
  8323.  
  8324.  
  8325.           Background Information:
  8326.           =======================
  8327.  
  8328.           Due to space limitations, this information appears only in the
  8329.           printed User's Guide which comes with the registered version.
  8330.  
  8331.  
  8332.  
  8333.  
  8334.  
  8335.  
  8336.  
  8337.  
  8338.  
  8339.  
  8340.  
  8341.  
  8342.  
  8343.  
  8344.  
  8345.  
  8346.  
  8347.  
  8348.  
  8349.  
  8350.  
  8351.  
  8352.  
  8353.  
  8354.  
  8355.  
  8356.  
  8357.  
  8358.  
  8359.  
  8360.  
  8361.  
  8362.  
  8363.  
  8364.  
  8365.  
  8366.  
  8367.  
  8368.  
  8369.  
  8370.  
  8371.  
  8372.  
  8373.           Background Information                                 136 of 143
  8374.  
  8375.  
  8376.           Appendix E                - Programmer's Productivity Pack 2.60 -
  8377.  
  8378.  
  8379.                                      ------------
  8380.                                       Appendix E
  8381.                                      ------------
  8382.  
  8383.  
  8384.           Sources for Additional Information:
  8385.           ===================================
  8386.  
  8387.           Due to space limitations, this information appears only in the
  8388.           printed User's Guide which comes with the registered version.
  8389.  
  8390.  
  8391.  
  8392.  
  8393.  
  8394.  
  8395.  
  8396.  
  8397.  
  8398.  
  8399.  
  8400.  
  8401.  
  8402.  
  8403.  
  8404.  
  8405.  
  8406.  
  8407.  
  8408.  
  8409.  
  8410.  
  8411.  
  8412.  
  8413.  
  8414.  
  8415.  
  8416.  
  8417.  
  8418.  
  8419.  
  8420.  
  8421.  
  8422.  
  8423.  
  8424.  
  8425.  
  8426.  
  8427.  
  8428.  
  8429.  
  8430.  
  8431.  
  8432.           Sources for Additional Information                     137 of 143
  8433.  
  8434.  
  8435.           Appendix F                - Programmer's Productivity Pack 2.60 -
  8436.  
  8437.  
  8438.                                      ------------
  8439.                                       Appendix F
  8440.                                      ------------
  8441.  
  8442.  
  8443.           What is Falk Data Systems?
  8444.           ==========================
  8445.  
  8446.           Falk Data Systems is a small software company owned and operated
  8447.           by Bob Falk.
  8448.  
  8449.           At Falk Data Systems we believe that the PRIMARY purpose of
  8450.           business is service, not profit.  This concept is fundamental to
  8451.           our approach to product development, production and marketing.
  8452.  
  8453.           Falk Data Systems has been producing top quality computer
  8454.           software at reasonable prices, continuously, since 1987.
  8455.  
  8456.           Please feel free to contact me (Bob Falk) at any time if you have
  8457.           any questions, comments or suggestions.  I can be reached by mail
  8458.           at the following address:
  8459.  
  8460.              Bob Falk
  8461.              Falk Data Systems
  8462.              5322 Rockwood Court
  8463.              El Paso, Texas  79932-2412
  8464.              U.S.A.
  8465.  
  8466.           I can also be reached by voice or electronically as follows:
  8467.  
  8468.              Phone:        (915) 584-7670
  8469.              FAX:          (915) 584-1540
  8470.              Orders Only:  (800) 326-5615
  8471.  
  8472.              CompuServe:   71420,2431
  8473.  
  8474.              Internet:     71420.2431@COMPUSERVE.COM
  8475.  
  8476.  
  8477.           Other Products From Falk Data Systems:
  8478.           ======================================
  8479.  
  8480.           Please refer to the PRODUCTS.DOC text file for a complete list of
  8481.           other products available from Falk Data Systems.
  8482.  
  8483.  
  8484.  
  8485.  
  8486.  
  8487.  
  8488.  
  8489.  
  8490.  
  8491.           Other Products From Falk Data Systems                  138 of 143
  8492.  
  8493.  
  8494.  
  8495.  
  8496.  
  8497.  
  8498.  
  8499.                                    ---  INDEX  ---
  8500.  
  8501.  
  8502.  
  8503.  
  8504.  
  8505.           A                                  Capture Screen to disk 44, 57,
  8506.           Add 48                               65
  8507.           Advanced options menu 114          Carry flag 50, 131
  8508.           Alt-Q 103, 122                     Change Bits (^C) 37, 45
  8509.           AND 49, 128                        Change Hot Key 39, 44, 76, 84,
  8510.           ANSWERS.DOC 11                       85, 112
  8511.           ASCII and Color Attribute          Change Sign (^-) 45, 129, 134
  8512.             Chart 52                         Circular queue See: Linked
  8513.             Reference Guide 55-57              list
  8514.             Tutorial 53-54                   Clear All (^A) 45, 47, 48
  8515.           ASCII poster 15                    Clear Entry (^E) 46, 49
  8516.           ASP 2                              Click sound 113
  8517.             Ombudsman 2                      Clipper 61, 63
  8518.           Assembly language 35, 42, 51,      Color attribute set 105
  8519.             134                              Colors menu 104
  8520.           Attachments 52, 55, 57, 65         Command line
  8521.           AUTOEXEC.BAT 29                      DOS 20
  8522.                                              Command line parameters 26,
  8523.           B                                    99, 100, 102
  8524.           Background task 10, 25, 61           -U 26
  8525.           Batch files 29                       ProSwap 21
  8526.           BCD See: Binary Coded Decimal           -? 24
  8527.           Beep Sound 113                          -D 22
  8528.           Benefits 2                              -E 22
  8529.           Binary Coded Decimal 51                 -H 22
  8530.           Binary format 34, 36, 40, 42,           -M 23
  8531.             43, 45                                -N 23
  8532.           Binary numbers 108, 124, 125,           -P 23
  8533.             133                                   -S 24
  8534.           Bit level operations 49                 -T 23
  8535.           Bit manipulation facility 37,           -U 24
  8536.             45                                    -X 24
  8537.           Bits 37, 45, 49, 124               Communications programs 20
  8538.           Blank screen 46, 54, 66, 119       CompuServe 2
  8539.           Bypassing 18                       Conflicts with other TSR's 29
  8540.           Bytes 124, 127, 133                Control Center 26, 85
  8541.                                                Customizing 110, 112
  8542.           C                                    Menu 76
  8543.           Calculator and Attachments 33,       Reference Guide 76-82
  8544.             85, 112                            Tutorial #1 68-71
  8545.           Calculator menu 42, 108              Tutorial #2 72-75
  8546.           Cancel Changes 101, 103, 122       Copy screen to file 79
  8547.                                              Ctrl-@ 44
  8548.  
  8549.  
  8550.           Falk Data Systems                                      139 of 143
  8551.  
  8552.  
  8553.                                    ---  INDEX  ---
  8554.  
  8555.  
  8556.           Current value 46, 48, 49           Fractions 128
  8557.           Custom attribute set 105
  8558.           Custom colors menu 106             G
  8559.           Customizing program See:           Get status info 80, 92
  8560.             PCustom                          Grab box
  8561.                                                Change size 94, 116
  8562.           D                                    Color 116
  8563.           dBASE 58, 61                         Move 93
  8564.           DEBUG 21                           Graphics mode 20, 31
  8565.           Decimal format 34, 36, 37, 40,     Gray scale attribute set 105
  8566.             43, 125
  8567.           Decimal point 49, 128              H
  8568.           Delete Digit 49                    Hard Disk 19
  8569.           DESQview 10, 21, 25                Hardware Interrupt Handlers 20
  8570.           Disable disk parking 46            HEAP 17
  8571.           Divide 49                          Hexadecimal format 14, 34, 37,
  8572.           DOS ERRORLEVEL 29                    40, 43, 45, 46
  8573.           DOS Shell 19, 20                   High memory 20
  8574.           DOS version 3.0 19                 Hot key
  8575.           Double word 127                      Tips 44, 84
  8576.           Dual monitor systems 6, 13         Hot Keys menu 111
  8577.  
  8578.           E                                  I
  8579.           EDLIN 21                           INKEY() 58, 61, 63
  8580.           EMS memory 6, 7, 16, 17, 19,       Insert a Value (^I) 46
  8581.             30, 31, 119                      Installation 10
  8582.           End-of-line characters 95            Floppy disk 11
  8583.           Enhanced keyboard 14, 48, 61,        Hard disk 11
  8584.             64, 84                           Integer division 48
  8585.           Environment block 17               Intermediate value 46, 48, 49
  8586.           Error messages 30, 109             Internal stacks 17
  8587.           Error sound 101, 113               ISR 20
  8588.           ERRORLEVEL 29
  8589.           Exchange Double Words See:         K
  8590.             XCHG DD                          KEY extension 74, 75, 78, 92,
  8591.           Exchange Words See: XCHG DW          118
  8592.           Exclusive OR See: XOR              Keyboard 13
  8593.           Exit PCustom 103, 121              Keyboard interrupt 14, 48
  8594.           Exit the ASCII Chart 54, 57        KeyRef 52, 58
  8595.           Exit the Calculator 46, 47         Keystroke Playback Delay 73,
  8596.           Exit The Control Center 71           77, 85, 91, 118
  8597.           Exit The Keystroke Reference       Keystroke Recordings
  8598.             Center 59, 65                      Delete 79, 92
  8599.           Extended characters 56, 69           Limits 90
  8600.                                                List 77, 91
  8601.           F                                    Memory 119
  8602.           F11 and F12 84                       Merge 92
  8603.           Filter See: Screen Capture,          Playback 85, 91
  8604.             114                                Read from file 78, 86, 92,
  8605.           Final result 47, 48, 49              118
  8606.           FoxBase 61                           Reference Guide 89-95
  8607.  
  8608.  
  8609.           Falk Data Systems                                      140 of 143
  8610.  
  8611.  
  8612.                                    ---  INDEX  ---
  8613.  
  8614.  
  8615.             Replace 92                       Multitasking version 7, 10,
  8616.             Start 85, 90                       25, 47
  8617.             Stop 85, 90
  8618.             Tutorial 72                      N
  8619.             Write to file 78, 91             Name
  8620.           Keystroke Reference Center 52,       changing 18, 26
  8621.             109                              NEG 129, 134
  8622.             Reference Guide 61-65            Negative to positive 45
  8623.             Tutorial 58-60                   Network shells 20
  8624.                                              Nibble 127
  8625.           L                                  Non-Registered Users 3
  8626.           License 1                          Normal messages 111
  8627.           Linked list See: Recursion         NOT 50, 129, 133
  8628.           Loading ProPak 16                  Numeric Format 43, 114
  8629.           Logical operations 49, 128           Switching 37, 43
  8630.                                              Numeric Mode 45, 114
  8631.           M                                  NumLock 14, 34, 48, 56, 59
  8632.           Marketing 138
  8633.           Mathematical operations 47         O
  8634.           Memory                             Octal format 34, 40, 43
  8635.             conserving 7                     Ombudsman 2
  8636.             EMS 6, 7, 16, 19                 OmniView 6, 10, 25
  8637.             high 20                          One's complement 133
  8638.             XMS 6, 7, 19                     Opening screen
  8639.           Memory requirements 7                Bypassing 18
  8640.           Memory-resident version 7, 10,     OR 50, 129
  8641.             16, 17, 46, 61                   Overlay buffer 17, 120
  8642.           Memory slots 46, 47                  Supplement 120
  8643.           Memory Usage Info 18               Overlay file 7, 16, 17, 30,
  8644.           Miscellaneous 118                    31, 119
  8645.           Missing overlay file 30
  8646.           Modes See: Video modes             P
  8647.           Modifier keys 13, 44               Park Disk(s) and Blank Screen
  8648.           Modify Current Settings              46, 54, 57, 66, 66-67
  8649.             submenu 83                       PCustom 100
  8650.           Modify Options 77                    Alt-Q 122
  8651.             Reference Guide 83-88              Cancel Changes 122
  8652.             Tutorial 68                        Reference Guide 102-122
  8653.           Modulus 49                           Save changes 121
  8654.           Monitors                             Select 122
  8655.             Black-and-white 12, 100,           Tutorial 100-101
  8656.             102, 106                         PCustom.EXE 10
  8657.             Color 12, 55, 105                PCustom menus
  8658.             Gas plasma 12, 100, 102            Advanced options menu 114
  8659.             Gray scale 12, 100, 102,           Colors menu 104
  8660.             105, 106                           Custom colors menu 106
  8661.             LCD 12, 100, 102                   Exit PCustom menu 121
  8662.             Monochrome 12, 105, 106            Hot Keys menu 111
  8663.           Moving the display 51, 64            Main menu 104
  8664.           Multiply 48                          Sound effects menu 113
  8665.           Multitasking system 20, 25, 61     Pick list 46, 47
  8666.  
  8667.  
  8668.           Falk Data Systems                                      141 of 143
  8669.  
  8670.  
  8671.                                    ---  INDEX  ---
  8672.  
  8673.  
  8674.           Playback See: Keystroke            Rotate Left See: ROL
  8675.             Recordings                       Rotate Right See: ROR
  8676.           Pop-Up DOS Shell See: DOS          Rotate through the Carry Left
  8677.             Shell                              See: RCL
  8678.             Customizing 113                  Rotate through the Carry Right
  8679.           PopCalc 29                           See: RCR
  8680.           Portability Note 58, 59, 64
  8681.           Positive to negative 45            S
  8682.           Poster See: ASCII Poster           SAL 51, 130
  8683.           PRINT 28, 71, 77, 98, 119          SAR 51, 130
  8684.           Print facility 80                  Save a Value (^S) 46
  8685.             Reference Guide 98-99            Scan code 58, 61, 63
  8686.             Tutorial 68                      SCN extension 44, 53, 57, 70,
  8687.           ProComm 20                           96, 115
  8688.           Program Segment Prefix 16          Screen Blank
  8689.           Programmer's Calculator              Clock 111
  8690.             Customizing 107, 114             Screen Capture 44, 57, 65, 114
  8691.             Reference Guide 40-52              Filter method 87
  8692.             Tutorial 33-39                     Reference Guide 96-97
  8693.           ProSwap 19                           Tutorial 68
  8694.                                              Screen Grabber 85, 91, 93, 111
  8695.           Q                                    Tutorial 73
  8696.           QEMM 20                            Screen Refresh (^R) 47
  8697.           QRAM 20                            ScrollLock 59
  8698.           QuickSilver 61                     Shareware 1, 2
  8699.           Quit PCustom 103, 121              Shift Arithmetic Left See: SAL
  8700.           Quit the ASCII Chart 54, 57        Shift Arithmetic Right See:
  8701.           Quit the Calculator 46, 47           SAR
  8702.           Quit The Control Center 71         Shift keys 13
  8703.           Quit The Keystroke Reference       Shift Left See: SHL
  8704.             Center 59, 65                    Shift Right See: SHR
  8705.                                              SHL 50, 130
  8706.           R                                  Show Result 49
  8707.           RAM 7                              SHR 50, 130
  8708.           RAM Disk 19                        Sidekick version 16, 27
  8709.           Range of values 40                 Sign bit 133
  8710.           RCL 50, 131                        Signed mode 37, 40, 42, 45, 47
  8711.           RCR 51, 131                        Signed numbers 127, 133
  8712.           Read/Write heads 46                Sound effects menu 113
  8713.           Recursion See: Circular queue      Stacks See: Internal stacks
  8714.           Recycled Paper 3                   Stand-alone version 19, 25
  8715.           Registered Users 1, 3              Start recording keystrokes 85
  8716.           Registration 1, 3                  Starting PCustom 102
  8717.           Remainder 49                       Status bytes 59
  8718.           Rename 18, 26                      Stop recording keystrokes 85
  8719.           Replacement character 115          Subtract 48
  8720.           Returning to the Calculator        Supplement 120
  8721.             52, 57, 65                       Swapping 19
  8722.           ROL 50, 131                        Swapping Message 111
  8723.           ROR 50, 131                        System requirements 6
  8724.  
  8725.  
  8726.  
  8727.           Falk Data Systems                                      142 of 143
  8728.  
  8729.  
  8730.                                    ---  INDEX  ---
  8731.  
  8732.  
  8733.           T                                  Unsafe to pop up 31
  8734.           TAPCIS 20                          Unsafe to unload 39
  8735.           TaskView 6, 10, 25                 Unsigned mode 37, 41, 42, 45,
  8736.           Technical Support 1                  47
  8737.           Text mode 31                       Unsigned numbers 127, 133
  8738.           386MAX 20                          Updates 3
  8739.           TIP 44, 69, 76, 77, 78, 79,
  8740.             81, 84, 87, 92, 102, 103,        V
  8741.             124                              Video
  8742.           Toggle                               Adapters 6
  8743.             Bits 45                          Video modes
  8744.             Modes 42, 47                       Display height 13
  8745.           Toggle Sign Mode (^T) 47             Display width 13
  8746.           Trigger Key 72, 73, 74, 75,          Graphics 13, 20
  8747.             77, 79, 86, 87, 89, 90, 91,        Text 13
  8748.             92                               Virtual screen 25
  8749.           Truth tables 128-130
  8750.           Try-before-you-buy 1               W
  8751.           Two line cursor 120                Warranty 1
  8752.           Two's complement 133, 134          Word 127
  8753.           Two seconds 31
  8754.                                              X
  8755.           U                                  XCHG DD 51
  8756.           Unblank screen 46                  XCHG DW 51
  8757.           Unload from memory 47, 81          XMS memory 6, 7, 19
  8758.           Unloading ProPak 26, 81            XOR 50, 130
  8759.           Unpark disk 46
  8760.  
  8761.  
  8762.  
  8763.  
  8764.  
  8765.  
  8766.  
  8767.  
  8768.  
  8769.  
  8770.  
  8771.  
  8772.  
  8773.  
  8774.  
  8775.  
  8776.  
  8777.  
  8778.  
  8779.  
  8780.  
  8781.  
  8782.  
  8783.  
  8784.  
  8785.  
  8786.           Falk Data Systems                                      143 of 143
  8787.  
  8788.