home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / PROG / PASCAL / SYST55C.ZIP / SYST55C.DOC < prev    next >
Encoding:
Text File  |  1990-11-12  |  26.6 KB  |  761 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.                                 TURBO PASCAL 5.5
  20.                                    SYST55C.TPU
  21.                                INSTALLATION GUIDE
  22.  
  23.                                   Version 5.5c
  24.                                 November 13, 1990
  25.  
  26.                   Copyright (C) 1990 Eagle Performance Software
  27.                               All Rights Reserved.
  28.  
  29.  
  30.  
  31.                                _______                     
  32.                           ____|__     |               (tm) 
  33.                        --|       |    |------------------- 
  34.                          |   ____|__  |  Association of    
  35.                          |  |       |_|  Shareware         
  36.                          |__|   o   |    Professionals     
  37.                        -----|   |   |--------------------- 
  38.                             |___|___|    MEMBER            
  39.  
  40.  
  41.    SYSTEM Unit                                Installation Guide, Version 5.5c
  42.  
  43.  
  44.  
  45.                        T A B L E   O F   C O N T E N T S
  46.  
  47.         1. INTRODUCTION  . . . . . . . . . . . . . . . . . . . . . 3
  48.              Features  . . . . . . . . . . . . . . . . . . . . . . 3
  49.              Philosophy  . . . . . . . . . . . . . . . . . . . . . 3
  50.              Licensing . . . . . . . . . . . . . . . . . . . . . . 3
  51.              Discounts . . . . . . . . . . . . . . . . . . . . . . 4
  52.              Customer Service  . . . . . . . . . . . . . . . . . . 4
  53.              ASP . . . . . . . . . . . . . . . . . . . . . . . . . 5
  54.  
  55.         2. GETTING STARTED . . . . . . . . . . . . . . . . . . . . 6
  56.              Distribution Files  . . . . . . . . . . . . . . . . . 6
  57.              Installation  . . . . . . . . . . . . . . . . . . . . 6
  58.  
  59.         3. PERFORMANCE . . . . . . . . . . . . . . . . . . . . . . 7
  60.              LongInt Math  . . . . . . . . . . . . . . . . . . . . 7
  61.              Decimal / String Conversions  . . . . . . . . . . . . 7
  62.              String handling . . . . . . . . . . . . . . . . . . . 7
  63.              Set Handling  . . . . . . . . . . . . . . . . . . . . 8
  64.              Other Improvements  . . . . . . . . . . . . . . . . . 8
  65.              Code Size . . . . . . . . . . . . . . . . . . . . . . 8
  66.              Greater Speeds  . . . . . . . . . . . . . . . . . . . 8
  67.  
  68.         4. SPEED TESTING . . . . . . . . . . . . . . . . . . . . . 9
  69.              Profiler  . . . . . . . . . . . . . . . . . . . . . . 9
  70.              Rate Timer  . . . . . . . . . . . . . . . . . . . . . 9
  71.  
  72.         APPENDIX A: Application Products . . . . . . . . . . . . . 10
  73.  
  74.         APPENDIX B: Revision History . . . . . . . . . . . . . . . 13
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.                                        2
  101.    SYSTEM Unit                                Installation Guide, Version 5.5c
  102.  
  103.  
  104.    1.  I N T R O D U C T I O N
  105.  
  106.  
  107.    FEATURES
  108.  
  109.    Welcome to SYST55C replacement unit for Turbo Pascal 5.5!
  110.  
  111.    How would you like to speed up your Turbo Pascal 5.5 programs without 
  112.    changing a single line of code?  You have just found the easiest way to do 
  113.    it!  SYST55C replaces the SYSTEM.TPU in your TURBO.TPL library with our 
  114.    unit which has much faster algorithms for over 30 built-in procedures and 
  115.    functions like Pos and Div.  See as much as 800% increase in speed!
  116.  
  117.    How can you do it?  Simply run a batch file to replace your SYSTEM.TPU.  
  118.    Then any program you compile will automatically have the faster algorithms 
  119.    - no code to change.  And you get the exact same results - only faster!
  120.    
  121.  
  122.    PHILOSOPHY
  123.  
  124.    The RTL - Borland has been gracious enough to make the Run-Time Library 
  125.    (RTL) assembler source code available to any user for their own 
  126.    modifications (for a license fee of $125).  There are six units specific to 
  127.    TP 5.5 in the RTL and the SYSTEM unit is by far the most significant.  But 
  128.    why would anyone want to take the time for a critical look at this 
  129.    fundamental code?  Most programmers are trying to stay busy and produce 
  130.    applications.  But after getting a copy for ourselves, we noticed that 
  131.    there were some ways that we could trim the amount of time that the CPU 
  132.    spends on a number of SYSTEM routines.  And if these routines can be sped 
  133.    up, then your overall applications can be sped up as well - without 
  134.    changing any of your source code.
  135.  
  136.    The Critical Look - We decided to take whatever time it took to go back 
  137.    over the SYSTEM unit to produce the fastest code possible.  Here are some 
  138.    of the things we considered:
  139.  
  140.      . Created 16-bit transfer methods in lieu of 8-bit.
  141.      . Replaced PUSH/POP with MOV.
  142.      . Combined register/flag operations.
  143.      . Reduced routine CALLs.
  144.      . Tightened clocks in intensive loops.
  145.      . Tested for CPU in use.
  146.      . Used CPU registers in lieu of stack.
  147.      . Used pass-through conditional jumps.
  148.      . Eliminated redundant jumps.
  149.  
  150.    In some routines, this would reduce the amount of code to acheive the same 
  151.    operation.  In others, a few extra bytes greatly increased the speed.  
  152.    SYST55C is the final result of this effort.
  153.  
  154.  
  155.    LICENSING
  156.  
  157.    Registration - These routines and the documentation have been released for 
  158.  
  159.  
  160.    Chapter 1, Introduction                                             Page 3
  161.    SYSTEM Unit                                Installation Guide, Version 5.5c
  162.  
  163.  
  164.    distribution as Shareware.  You have been given the chance to sample the 
  165.    full capability of SYST without risk!  If you find that SYST is a valuable 
  166.    tool, then you are expected to register.  You will find a reasonable 
  167.    licensing schedule found in LICENSE.LIC to meet private or commercial 
  168.    needs.
  169.  
  170.    Source Code - Due to Borland's License Agreement on the Run-Time 
  171.    Library (RTL), we are not authorized to release source code based on the 
  172.    RTL no matter what modifications we have made.  So, at the current time, 
  173.    the source code will not be available for release and will just be managed 
  174.    by Eagle Performance Software.  Please contacts us for the latest 
  175.    developments.
  176.  
  177.  
  178.    DISCOUNTS
  179.  
  180.    Should you register before December 31, 1990, you will be sent an even 
  181.    faster system unit than the one supplied in this archive.  Plus, you will 
  182.    get a 50% extra discount on our STRG55C string handling unit when you 
  183.    register at the same time.
  184.  
  185.  
  186.    CUSTOMER SERVICE
  187.  
  188.    If you have questions, comments, or suggestions, the Eagle can be contacted 
  189.    by four means - (1) CompuServe, (2) telephone, (3) The Eagle BBS, or 
  190.    (4) mail.
  191.  
  192.    CompuServe - The most dependable way to contact the Eagle is through 
  193.    CompuServe.  For personal contact, Jordan Gallagher can be reached on the 
  194.    Borland Forum by typing GO BPROGA from the CompuServe main menu to enter 
  195.    the Forum for Turbo Pascal.  You can contact Jordan with his PPN number of 
  196.    73557,2342.  Messages can also be left through EasyPlex.
  197.  
  198.    Telephone - Jordan can also be reached by phone at (214) 539-7855 on 
  199.    weekdays and Saturday from 9:00 a.m. to 8:00 p.m. CST.
  200.  
  201.    The Eagle BBS - You can also contact us on our 24-hour BBS at (214) 539-
  202.    9878, 1200/2400 N81.
  203.  
  204.    Mail - For registration or problems, please write:
  205.  
  206.        Eagle Performance Software
  207.        P.O. Box 292786
  208.        Lewisville, TX  75029-2786
  209.  
  210.    In your written request for resolving problems, be sure to include:
  211.  
  212.      . A diskette of compilable source code of the problem.
  213.      . The Eagle product and version number.
  214.      . The computer CPU.
  215.  
  216.  
  217.  
  218.  
  219.  
  220.    Chapter 1, Introduction                                             Page 4
  221.    SYSTEM Unit                                Installation Guide, Version 5.5c
  222.  
  223.  
  224.    ASP
  225.  
  226.    SYST is a shareware program conforming to the standards of the Association 
  227.    of Shareware Professionals (ASP).  You can get more information about ASP 
  228.    by writing to:
  229.     
  230.      Association of Shareware Professionals
  231.      P.O. Box 5786
  232.      Bellevue,WA 98006
  233.  
  234.    This program is produced by a member of the Association of Shareware 
  235.    Professionals (ASP).  ASP wants to make sure that the shareware principle 
  236.    works for you.  If you are unable to resolve a shareware-related problem 
  237.    with an ASP member by contacting the member directly, ASP may be able to 
  238.    help.  The ASP Ombudsman can help you resolve a dispute or problem with an 
  239.    ASP member, but does not provide technical support for member's products.  
  240.    Please write to:
  241.  
  242.      ASP Ombudsman
  243.      P.O. Box 5786
  244.      Bellevue,WA 98006
  245.  
  246.   or send a CompuServe message via EasyPlex to ASP Ombudsman 7007,3536.
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.    Chapter 1, Introduction                                             Page 5
  281.    SYSTEM Unit                                Installation Guide, Version 5.5c
  282.  
  283.  
  284.    2.  G E T T I N G   S T A R T E D
  285.  
  286.    This section will acquaint you with the files on distribution disk and show 
  287.    you how to install the new SYSTEM.TPU.
  288.  
  289.  
  290.    DISTRIBUTION FILES
  291.  
  292.    In this version, SYST55C.ZIP contains:
  293.  
  294.      Syst55c .bat:  Automatic installation batch file.
  295.      Syst55c .tpu:  System replacement unit.
  296.      Syst55c .doc:  This file.
  297.      Rate55  .pas:  A simple time test routine for reps/second.
  298.      License .lic:  Order form.
  299.      Statment.lic:  Statement for license terms and conditions.
  300.  
  301. |  Files have been archived using PKZIP.  They should be authentically verfied 
  302. |  after extraction with our company name -  Eagle Performance Software.
  303.  
  304.  
  305.    INSTALLATION
  306.  
  307.    To install the new system unit, simply run the SYST55C.BAT file in your 
  308.    TP55 directory.  But just to make you feel comfortable about running it, 
  309.    we'll explain what it does first.
  310.  
  311.      1. It creates a back-up copy of your current library 
  312.         TURBO.TPL in a file called TPL-BOR.TPL.  (BOR = Borland)
  313.      2. It then creates a second copy of this library in a file 
  314.         called TPL-EPS.TPL.  (EPS = Eagle Performance Software)
  315.      3. Then it modifies TPL-EPS.TPL by installing the new
  316.         SYSTEM.TPU.
  317.      4. Finally, TPL-EPS.TPL is copied to TURBO.TPL.
  318.      5. As a clean-up measure, SYSTEM.TPU is deleted.  So be sure 
  319.         you have your original ZIP file of SYST55C.TPU.
  320.  
  321.    The installation only needs to be done one time.  In fact, it won't let you 
  322.    do it more than once.  Should you ever want to go back to your original 
  323.    library, simply copy TPL-BOR.TPL to TURBO.TPL. To install, do the following 
  324.    steps:
  325.  
  326.      1. Go to your TP directory and be sure that TURBO.TPL and 
  327.         TPUMOVER.EXE exist.
  328. |    2. If you are upgrading to a new version of SYST, be sure 
  329. |       that TURBO.TPL is considered your "original" library. (If 
  330. |       not, copy TPL-BOR.TPL to TURBO.TPL.)
  331.      3. Also be sure that there are NO files named SYSTEM.TPU, 
  332.         TPL-BOR.TPL, or TPL-EPS.TPL in this directory.
  333.      4. Copy SYST55C.TPU and SYST55C.BAT into this directory.
  334.      5. Run SYST55C.BAT.
  335.      6. Compile your programs as usual.
  336.  
  337.    That's about it.  Now you can enjoy what computers are meant for - speed!
  338.  
  339.  
  340.    Chapter 2, Getting Started                                          Page 6
  341.    SYSTEM Unit                                Installation Guide, Version 5.5c
  342.  
  343.  
  344.    3.  P E R F O R M A N C E
  345.  
  346.    This section will show you which algorithms were improved and the range of 
  347.    speed improvements.  Speed increases were checked on a 386/20Hz computer.  
  348.    Values will vary between applications and hardware.
  349.  
  350.  
  351.    LONGINT MATH
  352.  
  353.    Long integer math speed is greatly improved.  Intel 80386 users will 
  354.    enjoy even greater speed since the algorithms check for the CPU.  A source 
  355.    code line like the following:
  356.  
  357.       i1 := abs(i2 * i3 div i4 mod i5);
  358.  
  359.    would get these increases in speed:
  360.  
  361.       Operation                     Increase
  362.       ----------------------------  --------
  363.       *                                  15%
  364.       div / mod (16-bit cpu's)      250-630%
  365.       div / mod (32-bit cpu's)          800%
  366.       abs                                 5%
  367.  
  368.  
  369.    DECIMAL / STRING CONVERSIONS
  370.  
  371.    Conversions from string to scalars and vice-versa are improved in speed as 
  372.    well.  The improvement is readily noticed.  Scalars are bytes, short 
  373.    integers, integers, words, and long integers.  Some values of reals are 
  374.    also affected, but it is minimal.  The procedures Str and Val are directly 
  375.    affected as well as conversions in Read, ReadLn, Write, and WriteLn 
  376.    statements.  Intel 80386 users will also notice an additional increase in 
  377.    speed since the routine detects the CPU in operation.
  378.  
  379.       Procedure                     Increase
  380.       ----------------------------  --------
  381.       Str  (scalar)                  40-100%
  382.       Str  (scalar) (32-bit cpu's)   55-120%
  383.       Val  (scalar)                      19%
  384.  
  385.  
  386.    STRING HANDLING
  387.  
  388.    String handling is improved mostly by using 16-bit transfers instead of 
  389.    just 8-bit handling.  Plus, the algorithms are more efficient.  The 
  390.    longer the string, the more apparent the increase in speed.  The speed 
  391.    increases below reflect the maximum increase on 255-char strings:
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.    Chapter 3, Performance                                              Page 7
  401.    SYSTEM Unit                                Installation Guide, Version 5.5c
  402.  
  403.  
  404.       Operation                     Increase
  405.       ----------------------------  ----------
  406.       Loading, storing, moving      up to  70%  (such as ":=" )
  407.       Comparing                     up to  70%  (such as Str1<Str2)
  408.       Pos                           up to 340%
  409.       Concat                        up to  63%
  410.       Copy                          up to  34%
  411.       Insert / Delete               up to 400%
  412.       Covert char to string                 8%
  413.  
  414.  
  415.    SET HANDLING
  416.  
  417.    Set handling is also improved slightly overall, but the variable range is 
  418.    improved greatly.  Improvements are as follows:
  419.  
  420.       Operation                     Increase
  421.       ----------------------------  ----------
  422.       Subset/superset relation      up to  18%
  423.       Intersection                          8%
  424.       Union                                 8%
  425.       Add variable range            up to 850%
  426.       Add component                         5%
  427.       Difference                            7%
  428.  
  429.  
  430.    OTHER IMPROVEMENTS
  431.  
  432.    Other procedures have also been improved with more efficient preparation 
  433.    for DOS interfaces.  But depending on your version of DOS and the 
  434.    efficiency of your hardware, you may or may not see any difference in 
  435.    speed:
  436.  
  437.       Procedure     Procedure
  438.       ------------  ---------
  439.       Assign        MkDir
  440.       Rename        ChDir
  441.       WriteBlock    RmDir
  442.       ReadBlock
  443.  
  444.    Copying of objects is also improved up to 95%.
  445.  
  446.  
  447.    CODE SIZE
  448.  
  449.    Should your programs use all of the new features, they would increase in 
  450.    size by only 347 bytes - not a bad trade-off for the speed!
  451.  
  452.  
  453.    GREATER SPEEDS
  454.  
  455.    Should you decide to register, you will be sent an even faster system unit 
  456.    with the added features of variable and memory handling.  Plus, you can 
  457. |  register for STRG56 string unit at a 50% discount before December 31, 1990.
  458.  
  459.  
  460.    Chapter 3, Performance                                              Page 8
  461.    SYSTEM Unit                                Installation Guide, Version 5.5c
  462.  
  463.  
  464.    4.  S P E E D   T E S T I N G
  465.  
  466.  
  467.    PROFILER
  468.  
  469.    The easiest way to see differences in speed is to run your program through 
  470.    a profiler program such as the one provided by Borland called Turbo 
  471.    Profiler.  This program is provided with Turbo Assembler/Debugger 2.0.  It 
  472.    will display the actual time used in the time-sensitive portions of your 
  473.    code that you want to observe.  This tool can give you the proof you need 
  474.    to see speed improvements.
  475.    
  476.  
  477.    RATE TIMER
  478.  
  479.    Should you not have access to a profiling tool, a simple rate timer program 
  480.    has been included called RATE55.PAS so you can test your own code 
  481.    sequences.
  482.  
  483.    Insert Code - The program is already set to run testing the DIV operation.  
  484.    If you run it as is, the program will run about 2 seconds and and return 
  485.    the result of "Reps/Second".  This tells how many times the sequence of 
  486.    code was executed.  The higher the number of reps, the faster the speed.  
  487.    You can test the program under either TPL-BOR.TPL or TPL-EPS.TPL by simply 
  488.    copying the appropriate file to TURBO.TPL.  The increase in speed can be 
  489.    seen by comparing the results between the two system units.  You can modify 
  490.    the code in the "Insert Code" area to test any sequence of code you want.
  491.  
  492.    Reset Variables - Sometimes you will need to reset a variable to its 
  493.    original value before testing again.  Since you don't want the time it 
  494.    takes to reset the variables to affect the results, they should be 
  495.    subtracted out.  The RATE55 program automatically does this.  For example, 
  496.    if you were to test the DELETE procedure, you code may look something like 
  497.    the following:
  498.  
  499.        fillchar (MyStr,256,'a');
  500.        MyStr[0] := 255;
  501.        Delete (MyStr,1,1);
  502.  
  503.    The first two lines do the job of resetting the MyStr variable.  Instead of 
  504.    placing these two lines in the "Insert Code" area, they should be placed 
  505.    in the ResetVariables procedure.  Only the last line should be placed in 
  506.    the "Insert Code" area.  If you check out the code, you'll see that the 
  507.    ResetVariables procedure is used for both resetting the variables and is 
  508.    later subtracted out of the final result.  This gives you a true value for 
  509.    "Reps/Second".
  510.  
  511.    Init - Different from repeatedly resetting a variables, use the Init 
  512.    procedure for a one time initialization.  This will allow you to preserve 
  513.    a given value throughout the testing process.
  514.  
  515.    RepsPerSec - The variable RepsPerSec (or R) is the variable to observe in 
  516.    your watch window for the final results which is also output to the screen.  
  517.    Take your choice and see how much SYST55C improves your speed.
  518.  
  519.  
  520.    Chapter 4, Speed Testing                                            Page 9
  521.    SYSTEM Unit                                Installation Guide, Version 5.5c
  522.  
  523.  
  524.    A P P E N D I X   A :   A P P L I C A T I O N   P R O D U C T S
  525.  
  526.  
  527.    Eagle Performance Software has developed identical products for both Turbo 
  528.    C and Turbo Pascal.  Our pledge is to provide you quality products with 
  529.    unparalleled performance and ease of use.  All registered users receive the 
  530.    complete source code when a signed license agreement is returned.  (SYST is 
  531.    currently not eligible for source code release.  Contact us for latest 
  532.    developments.)
  533.  
  534.  
  535.    STRG
  536.  
  537.    STRG - Extremely-high speed string processing routines for strings, 
  538.    characters, and all types of numbers including case, classification, 
  539.    comparison, conversions, copy, count, delete, format, justification, 
  540.    membership, parse, position, replace, search, sort, tabbing, ASCIIZ, many 
  541.    with match/ignore case and many more - 109 routines in 6.3kb or less.  
  542.  
  543.       File name    CIS Name    Compiler  Release date
  544.       -----------  ----------  --------  ------------
  545.       STRG55.ZIP   STRG55.ZIP  TP55       10-01-88
  546.       STRG56.ZIP   STRG56.ZIP  TP55       11-15-90
  547.  
  548.  
  549.    QWIK
  550.  
  551.    QWIK - For direct screen video, QWIK is the highest performance screen 
  552.    writing tools available today for all text modes in any video 
  553.    configuration.  QWIK provides capabilities far beyond those in the 
  554.    unit/library that comes with your compiler.   Here are some of the 
  555.    features:
  556.                    
  557.      - Writes on all IBM compatible computers, displays and adapters 
  558.        including MDA, CGA, EGA, MCGA, VGA, 8514/A, Hercules and 3270 PC.
  559.      - Superior video detection routine.
  560.      - Eliminates snow and flicker.
  561.      - Writes directly to the screen in absolute rather than relative 
  562.        coordinates.
  563.      - Writes in all text modes and column modes.
  564.      - Writes on all video pages.
  565.      - Writes on virtual screens in RAM.
  566.      - Writes text and attribute, text only, or attribute only.
  567.      - Reads strings, characters and attributes.
  568.      - Uses End-Of-String (EOS) marker for quick string chaining.
  569.      - Provides standardized cursor shapes for all adapters.
  570.      - Enhanced cursor movement.
  571.      - Compatible with DESQview and similar multitasking environments.
  572.      - Over 650% faster than standard direct screen writing.
  573.      - Only 2.7k bytes of code if all 43 utilities are used.
  574.      - Optimized by the compiler and drops unused code.
  575.      - Used in all other Eagle products.
  576.      - Excellent documentation like this document.
  577.  
  578.  
  579.  
  580.    Appendix A: Application Products                                    Page 10
  581.    SYSTEM Unit                                Installation Guide, Version 5.5c
  582.  
  583.  
  584.    Here are the product versions:
  585.  
  586.       File name    CIS Name    Compiler  Release date
  587.       -----------  ----------  --------  ------------
  588.       QWIK55.ARC   QWIK55.ARC  TP4-5.5    08-24-89
  589.       QWIK56.ARC   QWIK55.ARC  TP4-5.5    11-01-90
  590.       QWIKC21.ARC  QWKC21.ARC  TC2        07-06-89
  591.         
  592.         
  593.    WNDW
  594.  
  595.    WNDW - For multi-level virtual windows, WNDW is the highest 
  596.    performance window utilities available today.  It offers very 
  597.    powerful utilities for full window control and management you 
  598.    probably never thought possible.   They are simple and yet very 
  599.    powerful with high speed and tight code.  With WNDW, you can choose 
  600.    the absolute writing routines of QWIK, the window- relative writing 
  601.    routines of WNDW, and even customize your own.  Here are some of the 
  602.    features you will discover:
  603.  
  604.      - Uses the powerful direct screen writing routines of QWIK.           
  605.      - Up to 254 fixed or virtual windows can be on the screen at one 
  606.        time.
  607.      - Extremely high-speed virtual screens in RAM (up to 40 times 
  608.        faster).
  609.      - Virtual windows are fully updated on screen, even if covered.  
  610.        Screens can scroll underneath one another right on the screen at 
  611.        very high speeds!       
  612.      - Virtual windows have virtual titles.                                
  613.      - Fully supported hidden windows saved in RAM.                        
  614.      - Fully supports all video pages.                                     
  615.      - Adjustable-rate moving, resizing, and scrolling.                    
  616.      - All windows can be randomly accessed, not just stacked or tiled.    
  617.      - 28 window-relative writing routines.                                
  618.      - 15 different border styles with shadow and zoom effects.            
  619.      - Full line drawing procedures.                                       
  620.      - Full cursor mode control for each window.                           
  621.      - Writes in all text modes and column modes.                          
  622.      - Only 13k bytes of code if all 69 utilities are used.                
  623.      - Used in all other Eagle products.                                   
  624.      - Excellent documentation like this document.
  625.  
  626.    Here are the product versions:
  627.  
  628.       File name    CIS Name    Compiler  Release date
  629.       -----------  ----------  --------  ------------
  630.       WNDW55.ARC   WNDW55.ARC  TP4-5.5    08-24-89
  631.       WNDWC21.ARC  WNDC21.ARC  TC2        08-01-89
  632.         
  633.         
  634.    PULL
  635.  
  636.    PULL - For multi-level pull-down menus, PULL is fully featured and fully 
  637.    configurable.  Includes execute, single, and multiple choice menus, 
  638.  
  639.  
  640.    Appendix A: Application Products                                    Page 11
  641.    SYSTEM Unit                                Installation Guide, Version 5.5c
  642.  
  643.  
  644.    unlimited nested submenus, data entry windows, help windows, directory 
  645.    windows, message system, and fully completed interfaces.  Some of the 
  646.    features are:
  647.  
  648.      - Uses QWIK and WNDW.
  649.      - Work window(s) and complete interface for menus
  650.      - Pull-down menus with 3 menu modes and 8 line modes
  651.      - Pull-down file directory
  652.      - Highlighted command letters
  653.      - Unlimited levels of submenus
  654.      - Unlimited data entry windows for 9 types of data
  655.      - Data entry for the work window(s)
  656.           Free field entry with either fixed column or flexible column          
  657.        length.
  658.         Full editing capability including insert cursor mode
  659.         Full field selection with cursor keys
  660.         Automatic NumLock for numerical data entry
  661.         Right or left justification for data entry output
  662.         Error messages for invalid data entries
  663.         Error messages for data entries out of range
  664.      - Automatic sizes and locations for menus.
  665.      - Operation by cursor keys or command keys
  666.      - Pull/Pop between work window and nested submenu(s)
  667.      - Programmable control of pull and pop sequences
  668.      - Context-sensitive help
  669.      - Message lines for prompts and processing
  670.      - Full working shell for user development
  671.      - Excellent documentation like this document.
  672.  
  673.    Here are the product versions:
  674.  
  675.       File name    CIS Name    Compiler  Release date
  676.       -----------  ----------  --------  ------------
  677.       PULL55.ARC   PULL55.ARC  TP4-5.5    08-24-89
  678.       PULLC21.ARC  PULC21.ARC  TC2        08-01-89
  679.         
  680.  
  681.    ON-LINE SERVICES
  682.  
  683.    CompuServe - All updated files and later versions can be found on the 
  684.    CompuServe Borland Forums (GO BPROGA for TP and GO BPROGB for TC) or the 
  685.    IBM Programming Forum (GO IBMPRO).
  686.  
  687.    The Eagle BBS - You can also get the latest files on our 24-hour BBS at 
  688.    (214) 539-9878, 1200/2400 N81.
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.    Appendix A: Application Products                                    Page 12
  701.    SYSTEM Unit                                Installation Guide, Version 5.5c
  702.  
  703.  
  704.    A P P E N D I X   B :   R E V I S I O N   H I S T O R Y
  705.  
  706.    REVISIONS:
  707.  
  708.    Version 5.5 (08-03-90):
  709.      . Initial release
  710.  
  711.    Version 5.5a (11-05-90):
  712.      . Fixed Copy routine for negative values of count as integer in
  713.        lieu of byte.
  714.  
  715. |  Version 5.5b (11-10-90):
  716. |    . Fixed variable range set routine.  Last value was considered 1-based 
  717. |      and stayed one short of the given range.  Reset to 0-based.
  718.  
  719. |  Version 5.5c (11-13-90):
  720. |    . CLD left out of Str procedure (Str2Int) sometimes indicating an 
  721. |      invalid number string and the value of zero.
  722. |    . Documentation length reduced 1 row for convenience of laser printers.
  723.  
  724.  
  725.    CREDITS:
  726.  
  727.    The original Turbo Pascal Runtime Library is copyright (C) 1990 by Borland 
  728.    International, Inc.
  729.     
  730.    Modification is copyright (C) 1990 by James H. LeMay for Eagle Performance 
  731.    Software.  All Rights Reserved.  Protected by the United States Copyright 
  732.    Laws.
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.    Appendix B: Revision History                                        Page 13
  761.