home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / graf / thedraw1.zip / THEDRAW.DOC < prev    next >
Text File  |  1991-03-04  |  280KB  |  6,874 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                                TheDraw Version 4.00
  10.                 Color and Monochrome Screen Image Generator/Editor
  11.                                  Operation Manual
  12.  
  13.  
  14.  
  15.                             COPYRIGHT (C) 1986-1991 by 
  16.                    TheSoft Programming Services and Ian E. Davis
  17.                               All Rights are Reserved
  18.  
  19.  
  20.  
  21.                            TheSoft Programming Services
  22.                                1929 Whitecliff Court
  23.                               Walnut Creek, CA. 94596
  24.  
  25.  
  26.  
  27.                           Written using Turbo Pascal v5.5
  28.  
  29.  
  30.  
  31.  
  32.  
  33.                                    P R E F A C E
  34.  
  35.  
  36.        This document is 119 pages long.
  37.  
  38.        This  document  is  Copyright  (C)  1988-1991  by  TheSoft Programming
  39.        Services.  All rights reserved.
  40.  
  41.        The software programs TheDraw (TM) and TheDrawR (TM) are
  42.        Copyright (C) 1986-1991 by TheSoft Programming  Services.   All rights
  43.        are reserved.
  44.  
  45.        TheDraw and  TheDrawR are registered trademarks of TheSoft Programming
  46.        Services.  Other brand and product names are  trademarks or registered
  47.        trademarks of their respective holders.
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.        TheDraw v4.00                  Preface                        i       
  87.  
  88.  
  89.  
  90.  
  91.                                    L I C E N S E
  92.  
  93.  
  94.        TheDraw is  not a  Public Domain  program and is not free.  TheDraw is
  95.        copyright (C) 1986-1991 by TheSoft Programming Services.
  96.  
  97.        Non-registered users of this  program are  granted a  limited two-week
  98.        license  to  TheDraw  to  evaluate  the programs suitability for their
  99.        requirements.  Any usage  of  TheDraw  beyond  evaluation  time period
  100.        requires registration  of each copy of the program used.   Use of non-
  101.        registered copies of TheDraw beyond the original evaluation  period is
  102.        prohibited.
  103.  
  104.        TheDraw may  NOT be modified in any respect, for any reason, including
  105.        but  not  limited   to,   de-compiling,   disassembling,   or  reverse
  106.        engineering of  the program.   The opening title screen, help screens,
  107.        and all  other  proprietary  program  output  must  never  be altered,
  108.        removed, bypassed or modified by any means.  
  109.  
  110.        You are free to distribute the PUBLICLY AVAILABLE shareware version of
  111.        TheDraw to others subject  to  the  above  restrictions  and  also the
  112.        following:
  113.  
  114.           A.   No fee is charged for its use.
  115.  
  116.           B.   No renumeration  may be  accepted for  TheDraw.  This does not
  117.                apply to computer access charges the system operators (Sysops)
  118.                of  or  organizations  owning  bulletin  board systems, online
  119.                services, etc... may charge subscribers.
  120.  
  121.           C.   TheDraw must be copied in unaltered form, complete  with files
  122.                containing  license  information,  the  FULL documentation and
  123.                all  accompanying   files.      The   self-extracting  archive
  124.                distributed by TheSoft must not be altered in ANY respect.
  125.  
  126.           D.   All shareware  houses/distribution firms  must make explicitly
  127.                clear that  the  diskette  purchase  containing  any shareware
  128.                program has NOT registered the shareware with TheSoft.
  129.  
  130.        System Operators  may make  TheDraw available for download only if the
  131.        above conditions are met.  The  self-extracting archive (TDRAW400.EXE)
  132.        distributed by  TheSoft or an equivilant archive may be made available
  133.        only in complete form.    Refer  to  section  FILE  LISTING  to verify
  134.        complete  package  contents.    If  the contents appear altered or not
  135.        complete, you may obtain the latest  release of  TheDraw directly from
  136.        TheSoft  by  sending  a  formatted  diskette  labeled  with  the  word
  137.        "THEDRAW".  Please include $5 for handling.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.        TheDraw v4.00                  License                       ii       
  145.  
  146.  
  147.  
  148.         
  149.        Commercial distributors of "Public  Domain", "Shareware",  and/or User
  150.        Supported  software  may  distribute  TheDraw  subject  to  the  above
  151.        conditions  only  after  obtaining  WRITTEN  permission  from  TheSoft
  152.        Programming  Services.     This  condition  statement  supersedes  all
  153.        previous agreements.
  154.  
  155.        Please refer to the section entitled registration/ordering section for
  156.        additional information  on registration,  corporate site-licensing and
  157.        related topics.
  158.  
  159.        -----
  160.  
  161.        The above license statement does not  apply to  the REGISTERED version
  162.        of TheDraw.   The  registered software of TheSoft Programming Services
  163.        is protected  under United  States Copyright  and Trademark  Laws.  It
  164.        must be treated just like a book with certain exceptions as follows:
  165.  
  166.        A. TheSoft  Programming  Services  authorizes  the  making of archival
  167.           copies  of  the  registered  software  for  the  sole   purpose  of
  168.           backing-up  your  software  and  protecting  your  investment  from
  169.           possible loss.
  170.  
  171.        B. The  medium  on  which  the  registered  software  is  recorded  is
  172.           transferred to the customer, but not the title to the software.
  173.  
  174.        C. The  customer  may  resell  or  distribute unmodified copies of the
  175.           registered  software  provided  the  customer  has  purchased  from
  176.           TheSoft Programming  one copy  of the  registered software for each
  177.           one sold or distributed.  The  provisions of  this software license
  178.           shall also  be applicable  to third parties receiving copies of the
  179.           registered software from the customer.
  180.  
  181.        D. By saying, "just like a book",  TheSoft Programming  means that the
  182.           registered software  may be used by any number of people and may be
  183.           freely moved from one computer location to another so long as there
  184.           is ABSOLUTELY NO POSSIBILITY of it being used at one location while
  185.           being used at another.  Just like a book that cannot be read by two
  186.           different people in two different locations at the same time.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.        TheDraw v4.00                  License                      iii       
  203.  
  204.  
  205.  
  206.  
  207.                       O R D E R I N G   I N F O R M A T I O N
  208.  
  209.  
  210.        Once a registered user of TheDraw, you are free to utilize the program
  211.        as often as you wish.  Other than having a clear conscience, there are
  212.        many advantages  to registered.   You can opt to receive in the mail a
  213.        registered  version  of  TheDraw  with  configurable  editor commands,
  214.        enhanced editing  facilities, context sensitive pop-up help, and macro
  215.        keys.  The registered version support  utility routines  (uncrunch and
  216.        display) offer  Bios write  capability and  snow/hash prevention.  You
  217.        are also notified via mail  when  significant  enhancements  have been
  218.        made to  the program.  Once registered, all upgrades are available for
  219.        a $5 upgrade fee plus the original TheDraw diskette (see below).
  220.  
  221.        There are two ways to register.    The  first  is  by  sending  $15 to
  222.        TheSoft Programming  Services along  with a registration form.  You do
  223.        NOT receive the registered version of  TheDraw for  this registration,
  224.        but  are  notified  of  upgrades.    For  an  additional  $5  plus  $2
  225.        shipping/handling, we send you  the  latest  shareware  and registered
  226.        versions of  TheDraw on  disk along  with documentation  (on disk) and
  227.        utilities. If you want to receive TheDraw on a 3.5 inch diskette (720k
  228.        format), add an additional $3 for each diskette ordered.
  229.  
  230.        If unsure, you can receive the latest shareware version of TheDraw for
  231.        evaluation by sending a formatted diskette plus $5 for handling.
  232.  
  233.        Please use the following form or print the included file "MAILER" when
  234.        placing an order.
  235.  
  236.        -----
  237.        NON U.S.  residents, please  send checks drawn on U.S. funds.  We will
  238.        accept non U.S. currency, but you must include  an additional  $5 (US)
  239.        to cover exchange handling.  Also add $5 overseas shipping/handling.
  240.  
  241.  
  242.        UPGRADING TO LATEST THEDRAW
  243.        ______________________________________________________________________
  244.  
  245.        Users who have registered (and received a diskette) may upgrade to the
  246.        latest version of TheDraw by sending  in their  TheDraw ORIGINAL DISK,
  247.        along with  $5 (service and handling).  Please use the following order
  248.        form when upgrading.  If there  has  been  an  address  change, please
  249.        indicate so on the order form.
  250.  
  251.        The original  disk must be returned and contain the registered version
  252.        of TheDraw.  The disk  will  be  reformatted  and  the  current Master
  253.        copied  onto  it.    Any  disk  in  poor condition will be replaced by
  254.        TheSoft.  If the serial number label is  missing or  the diskette does
  255.        not  contain  the  registered  version  of TheDraw, the update will be
  256.        refused and the diskette returned unchanged. 
  257.  
  258.  
  259.  
  260.        TheDraw v4.00                 Ordering                       iv       
  261.  
  262.  
  263.  
  264.  
  265.        Please Remit To:    TheSoft Programming Services
  266.                            1929 Whitecliff Court
  267.                            Walnut Creek, CA. 94596
  268.  
  269.        Qty.    Description                                  Each    Total
  270.  
  271.        ____    TheDraw Upgrade to version 4.00              $5.00   ________ 
  272.                (You must return your original diskette 
  273.                 containing your copy of the registered 
  274.                 version of TheDraw)
  275.  
  276.        ____    TheDraw Evaluation Copy                      $5.00   ________
  277.                (You supply diskette, no registration)
  278.  
  279.        ____    TheDraw Registration                        $15.00   ________
  280.                (Does not include a new diskette with the
  281.                 registered version of TheDraw)
  282.  
  283.        ____    TheDraw Registration with 5.25" diskette    $20.00   ________
  284.                (Registration including diskette with the
  285.                 latest shareware and registered program
  286.                 versions along with manual on diskette)
  287.  
  288.        ____    TheDraw Registration with 3.5" diskette     $23.00   ________
  289.                (same as above except on new size media)
  290.                                                          Subtotal   ________
  291.  
  292.           (Site License discount - see below)            Discount [-________]
  293.  
  294.           (U.S. orders add $2 shipping & handling)       Shipping   ________
  295.           (Foreign orders add $5 shipping)
  296.  
  297.           (Add $5 for Foreign Currency Exchange)    Misc. Charges   ________
  298.  
  299.           (CA residents please add 7.25% sales tax)           Tax   ________
  300.  
  301.                                                             TOTAL  $________
  302.  
  303.           Name: ________________________________________________________
  304.  
  305.        Company: ________________________________________________________
  306.  
  307.        Address: ________________________________________________________
  308.  
  309.                 ________________________________________________________
  310.  
  311.                 ________________________________________________________
  312.  
  313.  
  314.        All checks must be drawn on  U.S. Funds  in U.S.  Dollars.   Sorry, no
  315.        C.O.D. orders will be accepted.
  316.  
  317.  
  318.        TheDraw v4.00                 Ordering                        v       
  319.  
  320.  
  321.  
  322.  
  323.                               S I T E   L I C E N S E
  324.  
  325.  
  326.        If you  plan on using TheDraw in a corporate, government office, or in
  327.        any business environment  whatsoever,  registration  is  mandatory and
  328.        the two  week limited  license is  strictly enforced.  For such users,
  329.        quantity discounts are available under a Site License agreement.
  330.  
  331.        One MASTER copy of  TheDraw (with  documentation) will  be provided on
  332.        diskette.   The site is responsible for printing the documentation and
  333.        copying the diskettes for distribution.   Backups of the  MASTER disks
  334.        do not count towards the total copies of the license.
  335.  
  336.        With all  site licenses,  the site will supply one contact person with
  337.        which all correspondence will be made.  If a problem should occur, the
  338.        contact person  will call  and make  arrangements to get a fix for the
  339.        glitch.  Updates to TheDraw will be forwarded  to the  contact person.
  340.        When filling out the order form, use the contact persons name to avoid
  341.        confusion at a later date. 
  342.  
  343.  
  344.        Following is the current site license discount rates:
  345.  
  346.                              TOTAL COPIES     DISCOUNT
  347.                                 1 - 4           none
  348.                                 5 - 10           5%
  349.                                11 - 20          10%
  350.                                21 - 30          15%
  351.                                31 - 50          20%
  352.                                51 - 100         30%
  353.                               101+              40%
  354.  
  355.  
  356.        NOTE:   All prices and discounts are subject to change without notice.
  357.                Also  note  that  discounts  are  not  cumulative and apply to
  358.                separate orders only.
  359.  
  360.  
  361.        PURCHASE ORDER TERMS AND REQUIREMENTS
  362.        _____________________________________
  363.  
  364.        Purchase Orders less than $100 must be pre-paid.  
  365.  
  366.        Terms are net 30 days.  
  367.        Freight is prepaid by TheSoft.
  368.        Lead time: Stock items.
  369.  
  370.        Tax exceptions:  Include  appropriate documentation.   Contact TheSoft
  371.        for voice verification if required.
  372.  
  373.  
  374.  
  375.  
  376.        TheDraw v4.00              Site Licensing                    vi       
  377.  
  378.  
  379.  
  380.  
  381.                                   W A R R A N T Y
  382.  
  383.  
  384.        TheDraw is  provided AS IS without any warranty, expressed or implied.
  385.        This  includes  without  limitation  the  fitfulness  to  a particular
  386.        purpose or application and any warranties of merchantability.  
  387.  
  388.        While we  tried to  be as through as possible while debugging TheDraw,
  389.        TheSoft Programming Services shall  not  be  liable  for  any damages,
  390.        whether  direct,  indirect,  special,  or consequential arising from a
  391.        failure of this program or accompanying files to  operate in  a manner
  392.        desired by the user.  TheSoft Programming Services shall not be liable
  393.        for any damage to  data or  property which  may by  caused directly or
  394.        indirectly by use of this program.
  395.  
  396.        In no event will TheSoft Programming Services be liable to you for any
  397.        damages, including any lost profits, lost savings or  other incidental
  398.        or consequential  damages arising  out of your use or inability to use
  399.        the program, or for any claim by any other party.
  400.  
  401.        -----
  402.  
  403.        If you have a problem with  TheDraw  please  feel  free  to  write and
  404.        describe the  situation.   Registered users, please include the serial
  405.        number found on your diskette.
  406.  
  407.        To those people who  have  registered  (with  diskette),  the physical
  408.        diskette is warranted against defects in materials and workmanship for
  409.        a period of 60 days from date of  shipment by  TheSoft.   Any returned
  410.        disks found damaged or bad will be replaced at no charge. 
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.        TheDraw v4.00                 Warranty                      vii       
  435.  
  436.  
  437.  
  438.  
  439.                          T A B L E   O F   C O N T E N T S
  440.  
  441.  
  442.        Preface ...................................................... i
  443.  
  444.        License
  445.           Single User License ....................................... ii
  446.           Giving out Copies ......................................... ii
  447.           System Operators (Sysops) Info ............................ ii
  448.           Software Distributors - Read this ......................... iii
  449.           Registered Version License Agreement ...................... iii
  450.  
  451.        Ordering Information
  452.           Registration .............................................. iv
  453.              Upgrading to latest TheDraw ............................ iv
  454.              Registration only (no diskette) ........................ iv
  455.              Registration (diskette sent out) ....................... iv
  456.              Getting a Trial Copy ................................... iv
  457.              Getting a 3.5 inch diskette ............................ iv
  458.           Invoice Order Form ........................................ v
  459.           Site Licensing ............................................ vi
  460.              Bulk Order Discounts ................................... vi
  461.           Purchase Order Terms and Requirements ..................... vi
  462.              Tax Exceptions ......................................... vi  
  463.  
  464.        Warranty ..................................................... vii
  465.  
  466.        Introduction ................................................. 1
  467.  
  468.        Definitions .................................................. 3
  469.  
  470.        System Requirements .......................................... 4
  471.           Multitasking Environments ................................. 4
  472.  
  473.        Get Running .................................................. 5
  474.           Floppy Disk Installation .................................. 5
  475.           Hard Disk Installation .................................... 5
  476.           Make it Do Something ...................................... 6
  477.           The Demo Files ............................................ 6
  478.           Moving to TheDraw Version Three and Beyond ................ 7
  479.           File Listing .............................................. 8
  480.  
  481.        The Setup Utility ............................................ 9
  482.           Why Setup? ................................................ 9
  483.           Windows and Selecting Options ............................. 10
  484.           Saving and Aborting Changes ............................... 10
  485.           Running Setup ............................................. 10
  486.              Main Menu .............................................. 11
  487.                 Editor Configuration ................................ 11
  488.                    Changing a key entry ............................. 11
  489.                    Allowed Keystrokes ............................... 12
  490.  
  491.  
  492.        TheDraw v4.00                                              viii       
  493.  
  494.  
  495.  
  496.  
  497.        The Setup Utility (cont)
  498.                 Keyboard Customize .................................. 12
  499.                 Screen Mode ......................................... 13
  500.                 Colors .............................................. 14
  501.                 Files Directory ..................................... 14
  502.                 Memory Usage ........................................ 15
  503.                 Defaults ............................................ 15
  504.                 Quit/Save ........................................... 16
  505.  
  506.        Starting TheDraw ............................................. 17
  507.           Command Line Filespecs .................................... 17
  508.           The Status Line ........................................... 17
  509.           HELP! ..................................................... 18
  510.           Cursor Control ............................................ 18
  511.           Mouse Control ............................................. 19
  512.           Command Summary ........................................... 20
  513.  
  514.        Pull-Down Menu System ........................................ 21
  515.           The FILES Menu ............................................ 21
  516.           The GLOBAL Menu ........................................... 22
  517.           The OPTIONS Menu .......................................... 23
  518.              Setup Default Options .................................. 24
  519.           The SCREEN Menu ........................................... 27
  520.           The ANIMATION Menu ........................................ 28
  521.           The COLOR Menu ............................................ 30
  522.           The TOGGLES Menu .......................................... 30
  523.  
  524.        TheDraw Keyboard Commands .................................... 32
  525.           Alt-A  Change Text Color Attributes ....................... 32
  526.           Alt-B  Block Action Commands .............................. 33
  527.                    Copy a Block ..................................... 34
  528.                    Move a Block ..................................... 34
  529.                    Fill a Block ..................................... 35
  530.                    Block Text Operations ............................ 36
  531.                    Delete a Block ................................... 37
  532.                    Erase a Block .................................... 37
  533.                    Block Replace Operations ......................... 37
  534.                    Load a Block (normal mode only) .................. 38
  535.                    Save a Block (normal mode only) .................. 38
  536.                    Rescan a Block (animation mode only) ............. 38
  537.           Alt-C  Clear Current Screen ............................... 38
  538.           Alt-D  Set Default Clear Screen Color ..................... 39
  539.           Alt-E  Change Page Layer Edit Screen ...................... 39
  540.                    Sprite Editing ................................... 39
  541.           Alt-F  View Function Key Sets ............................. 41
  542.           Alt-G  Global Commands .................................... 41
  543.                    Copy Screen ...................................... 42
  544.                    Move/Rotate Screen ............................... 42
  545.                    Fill Screen ...................................... 42
  546.                    Global Text Operations ........................... 43
  547.                    Global Replace Operations ........................ 44
  548.  
  549.  
  550.        TheDraw v4.00                                                ix       
  551.  
  552.  
  553.  
  554.  
  555.           Alt-H  Display Help Information ........................... 44
  556.           Alt-I  Insert a Line ...................................... 45
  557.           ALT-J  Animation Options .................................. 45
  558.                    From Normal Edit Mode ............................ 45
  559.                    From Animator Mode ............................... 47
  560.                      Include - Specify Animation Include Files ...... 48
  561.                        Ansi Music ................................... 49
  562.                      User_Seq - Specify User Control Sequences ...... 49
  563.                      Limit - Specify Animation Limiting ............. 50
  564.                      Marker - Specify Animation Markers ............. 50
  565.                      Movement - Toggle Storage of Cursor Movement ... 51
  566.                      Normal - Convert to Normal Edit Mode ........... 51
  567.                      Rescan - Rescan All Screens for New Sequence ... 52
  568.                      Pause - Animation Pausing ...................... 52
  569.           Alt-K  Delete a File ...................................... 53
  570.           Alt-L  Load Screen from Disk .............................. 53
  571.           Alt-M  Select Draw Mode (toggle) .......................... 54
  572.           Alt-N  Ruler .............................................. 54
  573.           Alt-O  Change Drive/Sub Directory ......................... 55
  574.           Alt-P  Paint/Fill Commands ................................ 55
  575.           Alt-Q  Redraw Screen (animator mode only) ................. 56
  576.           Alt-R  Restore Current Line ............................... 56
  577.           Alt-S  Save Screen to Disk ................................ 56
  578.           Alt-T  Tab Setup .......................................... 62
  579.           Alt-U  Use Color under Cursor ............................. 62
  580.           Alt-V  View a Screen (not load) ........................... 62
  581.           Alt-W  Edit Character (animator mode only) ................ 63
  582.           Alt-X  Exit TheDraw ....................................... 63
  583.           Alt-Y  Delete Current Line ................................ 63
  584.           Alt-Z  Erase Cursor Character (animator mode only) ........ 64 
  585.  
  586.           ALT-[LEFT]  Delete Current Column ......................... 64
  587.           ALT-[RIGHT] Insert a Column ............................... 64
  588.  
  589.           Alt--  Toggle Color Draw Mode ............................. 64
  590.           Alt-=  Toggle Macro Learning Mode ......................... 65
  591.  
  592.           Alternate Color Change Options (CTRL-UP/DOWN/LEFT/RIGHT) .. 65
  593.           Solid Spaces (SHIFT-SPACE) ................................ 66
  594.           Full Screen Editing (CTRL-PRTSC) .......................... 66
  595.  
  596.        The Animation System ......................................... 67
  597.           What is Ansi Animation? ................................... 67
  598.           Animation Basics .......................................... 68
  599.           A Simple Example .......................................... 68
  600.           How to Animate Something .................................. 69
  601.           Tricks of the Trade ....................................... 71
  602.           Limitations ............................................... 73
  603.  
  604.        The Presentation Program (THEPP) ............................. 74
  605.  
  606.  
  607.  
  608.        TheDraw v4.00                                                 x       
  609.  
  610.  
  611.  
  612.  
  613.        Appendix A:  Setting up CONFIG.SYS ........................... 78
  614.  
  615.        Appendix B:  Programmers Programming Tips .................... 79
  616.           Programming in Assembler .................................. 79
  617.           Programming in Pascal ..................................... 81
  618.              Turbo Pascal v4.0 through v5.5 ......................... 83
  619.              Turbo Pascal Version 6.0 ............................... 85
  620.           Programming in C .......................................... 86
  621.              Using Object Files with C .............................. 88
  622.           Programming in Standard Basic ............................. 90
  623.           Programming in Microsoft QuickBasic v4.0 and v4.5 ......... 91
  624.           Programming in Clipper(tm) ................................ 94
  625.  
  626.        Appendix C:  Extended/Special Character Set .................. 96
  627.  
  628.        Appendix D:  Common Questions & Answers ...................... 97
  629.  
  630.        Revision History ............................................. 100
  631.  
  632.        The Future ................................................... 106
  633.  
  634.        Comments ..................................................... 107
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.        TheDraw v4.00                                                xi       
  667.  
  668.  
  669.  
  670.  
  671.                               I N T R O D U C T I O N
  672.  
  673.  
  674.        TheDraw  is  a  powerful  screen  image generator/editor for color and
  675.        monochrome video users.  What  does  that  mean?    Literally, TheDraw
  676.        makes designing and figuring out a video screen display childs play.
  677.  
  678.        Its basic  premise is  this: be easy to use.  The most novice computer
  679.        user can make an Ansi text file screen  with TheDraw  in only minutes.
  680.        From that  point on,  you can  explore and  use more of the horsepower
  681.        available in TheDraw.
  682.  
  683.        Someone is probably saying "it edits screens...  big deal".  This type
  684.        of person has never known the agony of creating a good looking menu or
  685.        display for a program (assuming he/she programs), making a fancy batch
  686.        file intro  screen, or  having to  quickly putting together a computer
  687.        presentation for the boss.  
  688.  
  689.        The biggest problem facing most people is we  really do  not know what
  690.        will  look  good  until  we  see  it.    Manually editing a screen can
  691.        literally take hours.  With  TheDraw,  you  can  free  form  until you
  692.        really  know  what  is  perfect.    With  the picture in mind, you can
  693.        quickly develop whatever is necessary or instruct TheDraw  to create a
  694.        data file  which can be used.  Instead of hours, making a screen takes
  695.        minutes.
  696.  
  697.        For the curious, TheDraw  can  transform  your  masterpiece  into data
  698.        files with the following formats:   
  699.  
  700.              ANSI color text (useful in batch files, BBS's, etc...)
  701.              ASCII text (compatible with word processors and text editors)
  702.              BINARY files (generic, useful in most everything)
  703.              BSAVE (for Basic)
  704.              COM files (actual separate programs executable directly 
  705.                 by Dos - Great for batch files and presentations)
  706.              ASSEMBLER (for the die-hard coder)
  707.              TURBO PASCAL (directly compilable source code)
  708.              C (format is for Turbo C specifically)
  709.              OBJECT (Intel format compatible, suitable for linking.  Four
  710.                 varieties available for Large/Small generic data model, Turbo
  711.                 Pascal v4.0+, and QuickBasic v4.0+)
  712.              THEDRAW (custom storage format for FAST loading and saving)
  713.  
  714.        TheDraw was long ago originally written as an improvement to  a simple
  715.        program named  AnsiDraw written  by Amrich Enterprises.  Both programs
  716.        provided similar operation, with TheDraw giving  a much  enhanced user
  717.        interface.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.        TheDraw v4.00               Introduction                      1       
  725.  
  726.  
  727.  
  728.  
  729.        TheDraw is  now vastly  improved over  the abilities  of AnsiDraw, and
  730.        most other screen editors.  It  is compatible  with systems  that have
  731.        250k of free memory available.  Monochrome and Color monitor users are
  732.        supported, and  a  special  keyboard  driver  allows  you  to redefine
  733.        keystrokes that  do not operate properly or are used by other programs
  734.        (registered version).  If  you  have  an  EGA  or  VGA  video display,
  735.        TheDraw permits editing 43 or 50 line screens respectfully.
  736.  
  737.        Another  feature  TheDraw  fully  supports  is  ANIMATION.   With this
  738.        facility you can develop quick and dirty presentations, or simply make
  739.        a generic screen appear with pizzazz.  You can either let TheDraw make
  740.        an animation sequence from  a static  image, or  one can  be made from
  741.        scratch; thus  letting you  fully control the appearance of your work.
  742.        TheDraw gives you a maximum of  16000 separate  animation "entries" to
  743.        handle the  most complex job.  The final result can be saved either as
  744.        an ANSI file (Ansi Animation) or TheDraw format file.  See the section
  745.        entitled "The Animation System" for more information.
  746.  
  747.        To get started using TheDraw right away, refer to the section entitled
  748.        "Starting TheDraw".   This  section describes  how to  install and run
  749.        TheDraw.
  750.  
  751.        Enjoy!
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.        TheDraw v4.00               Introduction                      2       
  783.  
  784.  
  785.  
  786.  
  787.                                D E F I N I T I O N S
  788.  
  789.  
  790.        Throughout  this  documentation  you  may  run  across  the occasional
  791.        enigmatic word  that  needs  explaining.      The  following  are some
  792.        examples you might come across:
  793.  
  794.              enigmatic      - mysterious or cryptic
  795.  
  796.              [ENTER] or C/R - This represents the return key on the keyboard.
  797.                               If you see this in the text, press the Enter
  798.                               key; do not type the actual letters.
  799.  
  800.              ESC or [ESC]   - Means to press the ESC key on the keyboard.
  801.  
  802.              [letter]       - Means to press the actual key marked 'letter'
  803.                               on your keyboard.  ie: [L] means to press the
  804.                               'L' key.
  805.  
  806.              Alt-[letter]   - Alt- is always followed by another character. 
  807.                               Together, this symbol means to first press and
  808.                               hold down the ALT key on the keyboard then type
  809.                               the letter key following it.  ie: Alt-A means
  810.                               hold down ALT then press 'A'.
  811.  
  812.              Ctrl-[letter]  - This is executed the same as the ALT key.
  813.               or ^[letter]    Press and hold down the CTRL then hit the
  814.                               letter following.  ie:  CTRL-A and ^A mean the
  815.                               same thing - hold CTRL then press 'A'.
  816.  
  817.              [LEFT] [RIGHT] - Means to press the corresponding keypad arrow
  818.              [UP] [DOWN]      key on your keyboard.  Similar to the [letter]
  819.                               example shown above.  ie: [UP] means to press
  820.                               then up arrow key.
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.        TheDraw v4.00                Definitions                      3       
  841.  
  842.  
  843.  
  844.  
  845.                        S Y S T E M   R E Q U I R E M E N T S
  846.  
  847.  
  848.        TheDraw requires an IBM PC/XT/AT or close compatible running MsDos 2.0
  849.        or higher.   In  addition,  a  monochrome  adapter  or  color graphics
  850.        display  adapter  (CGA,  EGA,  or  VGA)  plus monitor is needed to run
  851.        properly.
  852.  
  853.        In a minimum configuration, 250 kilobytes of free memory are required.
  854.        The  maximum  memory  usage  is  410k  of memory (8 page layers, 16000
  855.        animation entries).   TheDraw  will  always  attempt  to  allocate all
  856.        available memory up to the limits specified via the Setup utility.
  857.  
  858.  
  859.  
  860.        MULTITASKING ENVIRONMENTS
  861.        ______________________________________________________________________
  862.  
  863.        TheDraw  can  be  used  under  multitasking  or windowing environments
  864.        provided the full video  screen  is  allocated  to  it.    The program
  865.        directly  accesses  video  memory  and  the keyboard hardware for some
  866.        functions.  TheDraw does not use any high  resolution graphics  in its
  867.        operation.
  868.  
  869.        TheDraw  is  known  to  operate  under  Double  Dos  except  for minor
  870.        problems.  Double Dos  disables  certain  keyboard  sequences (notably
  871.        Ctrl-PrtSc).   For this  situation, people with the registered version
  872.        of TheDraw can use the Setup utility to redefine the function of Ctrl-
  873.        Prtsc to another key.
  874.  
  875.        TheDraw operates  under Microsoft Windows and Desqview provided memory
  876.        and video requirements (as mentioned above) are taken care of.
  877.  
  878.  
  879.        Note:    It is easy to cause problems with window  environments if the
  880.                 user  wishes.    Working  in  another  window  while  TheDraw
  881.                 attempts to refresh its  screen  will  result  in information
  882.                 being overwritten.  Be warned.
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.        TheDraw v4.00            System Requirements                  4       
  899.  
  900.  
  901.  
  902.  
  903.                                G E T   R U N N I N G
  904.  
  905.  
  906.        Setting up  TheDraw to  operate on your computer is not a great chore.
  907.        Refer to the section below that  applies  to  you.    If  you received
  908.        TheDraw  on  diskette,  it  is  suggested  you  backup the disk before
  909.        proceeding.  It  never  hurts  to  play  things  safe.    On diskettes
  910.        obtained from  TheSoft a  batch file called INSTALL.BAT is included to
  911.        simplify the initial setup (note:  INSTALL.BAT  is  not  included with
  912.        the shareware distributed version of TheDraw).
  913.  
  914.  
  915.  
  916.        FLOPPY DISK INSTALLATION
  917.        ______________________________________________________________________
  918.  
  919.        If you obtained a diskette from TheSoft, you are almost set to go.  
  920.        You will  want to copy all the files onto the "work" diskette you will
  921.        be using frequently.  To reduce space requirements, the setup utility,
  922.        documentation and  demo files  are compacted.   Use  the INSTALL batch
  923.        file to expand these files onto another diskette.  ie:
  924.  
  925.                              A:INSTALL FLOPPY <enter>
  926.  
  927.        Simply follow the online instructions presented.   Once  done, proceed
  928.        to the section "The Setup Utility".
  929.  
  930.  
  931.  
  932.        HARD DISK INSTALLATION
  933.        ______________________________________________________________________
  934.  
  935.        Create a  sub-directory of  your choice to place TheDraw and files in.
  936.        Next, copy all files to the sub-directory.  Example commands are:
  937.  
  938.              MKDIR \THEDRAW   Create  a  sub-directory  THEDRAW  in  the root
  939.                               directory of your hard drive.
  940.  
  941.              CHDIR \THEDRAW   Put Dos into the THEDRAW sub-directory.
  942.  
  943.              COPY A:*.*       Copy all  files from diskette in drive A to the
  944.                               sub-directory.
  945.  
  946.        Details of the above commands will not be covered here.   Please refer
  947.        to your  Dos manual  if you  have questions.  On the diskette obtained
  948.        from TheSoft, there is a batch  file to  simplify this  process.  With
  949.        the diskette in drive A, type:
  950.  
  951.                                A:INSTALL HD <enter>
  952.  
  953.        This will do all of the above for you automatically.
  954.  
  955.  
  956.        TheDraw v4.00                Get Running                      5       
  957.  
  958.  
  959.  
  960.  
  961.        MAKE IT DO SOMETHING!
  962.        ______________________________________________________________________
  963.  
  964.        By this  point you  may be eager to start playing with TheDraw; by all
  965.        means do so.   Use of  the Setup  utility is  not absolutely necessary
  966.        unless TheDraw does not appear to run properly.  To run TheDraw simply
  967.        type from the Dos prompt:
  968.  
  969.                                   THEDRAW [ENTER]
  970.  
  971.        People with the registered version type:
  972.  
  973.                                  THEDRAWR [ENTER]
  974.  
  975.        After a few seconds, TheDraw will start running and display  its title
  976.        screen.   Press a  key, and  TheDraw is ready.   Quickly, two commands
  977.        you should be familiar with are:
  978.  
  979.                             ALT-S  Save Screen to Disk
  980.                             ALT-X  Exit TheDraw       
  981.  
  982.        The former will save your efforts to disk.   The latter will allow you
  983.        to exit TheDraw back to Dos.  Have fun!
  984.  
  985.  
  986.  
  987.  
  988.  
  989.        THE DEMO FILES
  990.        ______________________________________________________________________
  991.  
  992.        TheDraw comes  with two  demonstration files  to help show some of its
  993.        capabilities; SHUTTLE2.ANS and DEMO.TD.      SHUTTLE2.ANS  is a simple
  994.        animation example which you can view from dos by entering:
  995.  
  996.                              TYPE SHUTTLE2.ANS [Enter]
  997.          
  998.        Note: You must  have the  ANSI.SYS driver installed in your CONFIG.SYS
  999.              file for this to appear  properly.    See  APPENDIX  A  for more
  1000.              details on  the CONFIG.SYS  file.   If you do not have ANSI.SYS,
  1001.              THEPP (provided with registered version of TheDraw) can  be used
  1002.              alternatively (ie: THEPP SHUTTLE2.ANS [Enter]).
  1003.  
  1004.  
  1005.        The  second  demo  file,  DEMO.TD,  demonstrates  the block and sprite
  1006.        editing features of TheDraw.  To  use  it,  run  TheDraw  as described
  1007.        above.   Next, press  ALT-L and  type DEMO.TD  [ENTER].   Instructions
  1008.        will appear on screen showing what to do next.
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.        TheDraw v4.00                Get Running                      6       
  1015.  
  1016.  
  1017.  
  1018.  
  1019.        MOVING TO THEDRAW VERSION THREE, FOUR AND BEYOND
  1020.        ______________________________________________________________________
  1021.  
  1022.        Users of TheDraw versions 2.0, 2.1, or 2.2 will be able to start using
  1023.        version 4.0  right away.   The only things the user should be aware of
  1024.        are the revised ALT-E  command,  and  the  block  copy/move "exchange"
  1025.        command.   To flip  page layers,  the wanted  layer must be specified.
  1026.        This differs from the older versions  which merely  toggle between the
  1027.        available pages.
  1028.  
  1029.        There are  many new additions to TheDraw v4.00.  Some will be apparent
  1030.        (such as ability to edit EGA/VGA 43/50 line  screens); some  will not.
  1031.        The following is a list of new features added: 
  1032.  
  1033.           o  EGA and  VGA screen  support.  TheDraw now permits editing 43/50
  1034.              line screens.
  1035.  
  1036.           o  Supersized edit  buffer,  up  to  160  characters  by  50 lines,
  1037.              available regardless of video display mode.  Autoscrolling makes
  1038.              maneuvering a breeze.  User can select any combination of 80/160
  1039.              character widths and 25/43/50 lines for the buffer.
  1040.  
  1041.           o  Built  in  setup  screen  for adjusting those frequently changed
  1042.              default settings.
  1043.  
  1044.           o  Mouse aided line drawing.  Pressing and holding the middle mouse
  1045.              button  (or  both  buttons  for  a  two-button mouse), will make
  1046.              TheDraw generate line/boxes easily.
  1047.  
  1048.           o  Several  new  animation  scanners   including:  Doors,  Diamond,
  1049.              Circle, Clock, Checkerboard, and WiggleOut.  Plus the ability to
  1050.              reverse any given animation scan (ie: instead of  left to right,
  1051.              the scan goes right to left).
  1052.  
  1053.           o  User  defined  Ansi  control  sequences  may  be entered into an
  1054.              animation sequence.
  1055.  
  1056.           o  ANY file format (except TheDraw .TD  files) may  be added  to an
  1057.              animation  sequence.    For  non-Ansi/Ascii  files, TheDraw will
  1058.              prompt to an animation scanner to use.
  1059.  
  1060.           o  Two new varieties of COM files.   TheDraw  will try  crunching a
  1061.              COM  file.    If  this  does  not succeed in reducing the screen
  1062.              size, a second COM  type  specifically  for  screen-width images
  1063.              might be  used.  The latter produces 80 by 25 screens under 4096
  1064.              bytes, reducing wasted disk space due to cluster allocation.
  1065.  
  1066.           o  Backup files can optionally be generated.
  1067.  
  1068.           o  TheDraw optionally  can  be  made  to  prompt  on  exit  to save
  1069.              modified screens.
  1070.  
  1071.  
  1072.        TheDraw v4.00                Get Running                      7       
  1073.  
  1074.  
  1075.  
  1076.  
  1077.           o  Block or  Global Character/Color Replace.  Choose a character or
  1078.              target color combination,  position  the  cursor  upon  it, then
  1079.              select a replacement.  It is that simple.
  1080.  
  1081.           o  Ability to  insert/delete COLUMNS using the ALT-left/right arrow
  1082.              key combinations.
  1083.  
  1084.  
  1085.        Plus much more!
  1086.  
  1087.  
  1088.        FILE LISTING
  1089.        ----------------------------------------------------------------------
  1090.        The following briefly lists  those files  included with  the shareware
  1091.        version of TheDraw: 
  1092.  
  1093.        READ.ME           Contains  last-minute  notes  and  corrections, plus
  1094.                          any special instructions needed.
  1095.        MAILER            Prints out a registration form on  your printer that
  1096.                          can be folded and mailed directly.
  1097.        WHATSNEW.DOC      Gives a  brief listing of major additions to TheDraw
  1098.                          in this latest version.
  1099.        DEMO.TD           Example file.  Refer to the section THE DEMO FILES.
  1100.        SHUTTLE2.ANS         "      " 
  1101.        PRINTDOC.EXE      Program to simplify printing  of this documentation.
  1102.                          Type PRINTDOC [Enter] from Dos.
  1103.        SETUP.EXE         TheDraw Setup utility.  Refer to section below.
  1104.        THEDRAW.EXE       Shareware version of TheDraw.
  1105.        THEDRAW.DOC       This documentation file.
  1106.        UNCRUNCH.ASM      These files contain implementations of the uncrunch
  1107.        UNCRUNCH.PAS      algorithm needed to display screen images crunched
  1108.        UNCRUNCH.H        by TheDraw.
  1109.        UNCRUN_N.OBJ      Near code model implementation for linking purposes.
  1110.        UNCRUN_F.OBJ      Far code model implementation for linking purposes.
  1111.        QB4UTIL.BI        QuickBasic v4.x display routine declarations.
  1112.        QB4UTIL.LIB       QuickBasic v4.x display routines in library form.
  1113.        MAKEQLB.BAT       Produces .QLB and .LIB files for QuickBasic.  See
  1114.                          "Programmers Programming Tips" for more information.
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.        TheDraw v4.00                Get Running                      8       
  1131.  
  1132.  
  1133.  
  1134.  
  1135.                          T H E   S E T U P   U T I L I T Y
  1136.  
  1137.        This  section  describes  how  to  customize  TheDraw and install your
  1138.        customizations in the THEDRAW.EXE or THEDRAWR.EXE (registered version)
  1139.        files. 
  1140.  
  1141.  
  1142.        WHY SETUP?
  1143.        ______________________________________________________________________
  1144.         
  1145.        Setup  is  the  TheDraw  installation  program;  used to customize the
  1146.        TheDraw program (EXE) file.  With this utility you can  specify screen
  1147.        modes, change  edit colors  and various  other defaults.  Setup allows
  1148.        you to change the TheDraw environment in which  you operate.   It also
  1149.        directly modifies  various values  within your  copy of THEDRAW.EXE or
  1150.        THEDRAWR.EXE.
  1151.  
  1152.        Via Setup you can do the following:
  1153.  
  1154.           o  Setup the default video display mode
  1155.  
  1156.           o  Change screen colors
  1157.  
  1158.           o  Resize TheDraw's usage of available memory
  1159.  
  1160.           o  Change save screen default parameters.
  1161.  
  1162.           o  Specify initial default filespec wildcards.
  1163.  
  1164.  
  1165.        In the registered version of TheDraw, the Setup utility can also:
  1166.  
  1167.           o  Customize or "remap" the editor command keys and mouse buttons.
  1168.  
  1169.           o  Setup a path to the directory where help files are stored.
  1170.  
  1171.  
  1172.        TheDraw comes ready to run; there is no mandatory installation.  After
  1173.        setting up as specified in GET RUNNING, you can use TheDraw.
  1174.  
  1175.        However, you  will need  to run  Setup if  you want  to do  any of the
  1176.        following:
  1177.  
  1178.           o  Change TheDraw default colors.
  1179.  
  1180.           o  Force a display mode or "snow" checking
  1181.  
  1182.           o  Customize the editor commands to preferred sequences.
  1183.  
  1184.           o  Adjust memory usage to better suit your needs.
  1185.  
  1186.  
  1187.  
  1188.        TheDraw v4.00             The Setup Utility                   9       
  1189.  
  1190.  
  1191.  
  1192.  
  1193.        WINDOWS AND SELECTING OPTIONS
  1194.        ______________________________________________________________________
  1195.  
  1196.        The setup utility operates  in  a  windowing  user  environment.   You
  1197.        select commands by either pressing the highlighted capital letter of a
  1198.        given option, or using  the Up  and Down  arrow keys  to move  to your
  1199.        selection and then pressing [ENTER].  
  1200.  
  1201.        For instance,  from the  main Setup  installation menu  you can select
  1202.        Editor configuration (R),  Keyboard  customize,  Screen  mode, Colors,
  1203.        Help and overlay file path (R), Memory usage, Defaults, or Quit/Save.
  1204.  
  1205.        (R) Available while editing the registered version only.
  1206.  
  1207.  
  1208.        SAVING AND ABORTING CHANGES
  1209.        ______________________________________________________________________
  1210.  
  1211.        In general,  pressing [ENTER]  will save  any changes.  Pressing [ESC]
  1212.        (as many times as needed) will abort a function and return you  from a
  1213.        submenu to  the main  installation menu.  Where this convention is not
  1214.        followed, instructions are displayed on screen for you.
  1215.  
  1216.  
  1217.        RUNNING SETUP
  1218.        ______________________________________________________________________
  1219.  
  1220.        To get started, type SETUP  [ENTER]  at  the  DOS  prompt.    Once the
  1221.        utility runs,  you will  be prompted for the filename to modify.  This
  1222.        allows you to have several different  customized copies  of TheDraw on
  1223.        your  system.    These  various  copies  of  THEDRAW.EXE can each have
  1224.        different executable program names.  This allows you  to customize for
  1225.        various  editor  command-keys,  menu  colors,  etc...  if  you  are so
  1226.        inclined.  The registered program version is called THEDRAWR.EXE. 
  1227.  
  1228.        After selecting a file  to  edit,  SETUP  determines  what  version of
  1229.        TheDraw is  being updated (shareware or registered).  It then proceeds
  1230.        to the main menu.
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.        TheDraw v4.00             The Setup Utility                  10       
  1247.  
  1248.  
  1249.  
  1250.  
  1251.        RUNNING SETUP: MAIN MENU
  1252.        ______________________________________________________________________
  1253.  
  1254.        The main  menu presents  several options.   Each  item on  the menu is
  1255.        described below:
  1256.  
  1257.  
  1258.        EDITOR CONFIGURATION
  1259.  
  1260.           The  editor  in  TheDraw  provides  many features, including cursor
  1261.           control, color changing, various  text  operations,  etc...   These
  1262.           editing commands are assigned to certain keys, as described in this
  1263.           documentation.   This  option  allows  you  to  change  the default
  1264.           assignments for each function.
  1265.  
  1266.           When you  select Editor  Configuration from  SETUP's main menu, the
  1267.           editor installation screen appears.   Three  columns of information
  1268.           will be immediately notable:
  1269.  
  1270.              o  The  first  (left-most)  column  describes  each configurable
  1271.                 function available in the editor.
  1272.  
  1273.              o  The second column lists Primary keystrokes.   These  keys are
  1274.                 the defaults by which TheDraw normally operates.
  1275.  
  1276.              o  The  third  column  lists  Secondary  keystrokes.   These are
  1277.                 optional alternates keystrokes  you  may  press  to  invoke a
  1278.                 given editor action.  These keystrokes always take precedence
  1279.                 over the primary keystrokes described above.
  1280.  
  1281.           Along the bottom of the screen is a list of the keys used to select
  1282.           and modify entries.
  1283.  
  1284.              Key              Action
  1285.              _______________________________________________________________
  1286.  
  1287.              Up and Down      Selects the editor command you wish to change.
  1288.              arrow keys
  1289.  
  1290.              PgUp/PgDn        Scrolls up/down one full screen page.
  1291.  
  1292.              [ENTER]          Enters the secondary keystroke modify mode.
  1293.  
  1294.              R                Restore  all  editor  commands  to the original
  1295.                               default values.
  1296.  
  1297.              [ESC]            Returns to the main SETUP options menu.
  1298.              _______________________________________________________________
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.        TheDraw v4.00             The Setup Utility                  11       
  1305.  
  1306.  
  1307.  
  1308.  
  1309.           After pressing [ENTER] to modify a  command, the  current secondary
  1310.           definition disappears.   You  can then type in your new definition.
  1311.           Anything may  be used  for redefining  a key  except Numbers (0-9),
  1312.           Letters (A-Z,a-z),  Enter, Esc,  and Backspace.   A maximum of four
  1313.           keystrokes  for  any  given  editor  command  is  allowed; however,
  1314.           certain  key  combinations  are  equal  to  two  keystrokes.  These
  1315.           include ALT-(key),  cursor movement  keys (up,  PgDn, Home, etc...)
  1316.           and any keystroke involving a function key (F1, CTRL-F4, etc...).
  1317.  
  1318.           Upon pressing ESC, if anything has been changed you are prompted to
  1319.           save the changes.  Next,  if  there  are  any  duplicate keystrokes
  1320.           SETUP will  point out  the first occurrence so you can clear up the
  1321.           problem (marked with an asterisk).
  1322.  
  1323.  
  1324.        KEYBOARD CUSTOMIZE
  1325.  
  1326.           The true IBM-PC and certain clones have a  Bios omission preventing
  1327.           the  Ctrl-Up,  Ctrl-Down,  Alt-Left, and Alt-Right key combinations
  1328.           from working properly.  TheDraw gets around this by using  a custom
  1329.           keyboard driver.  The factory defaults from TheSoft will work for a
  1330.           good majority of all computers.  However, if  you have difficulties
  1331.           try this configuration.
  1332.  
  1333.           SETUP examines  the keyboard  hardware to see what happens when any
  1334.           of the above are pressed.  Upon selecting  this option,  the screen
  1335.           clears and  prompts if you wish to continue.  Next you are asked to
  1336.           press Ctrl-Up, Ctrl-Down, Alt-Left, Alt-Right in that order.  SETUP
  1337.           will display scan codes returned by your keyboard for those keys.  
  1338.  
  1339.           Next you  can experiment  to see  that everything is indeed working
  1340.           properly.  Press Ctrl-Up/Down,  Alt-Left/Right until  satisfied you
  1341.           programmed the correct keys.  When ready press [ENTER] to return to
  1342.           the main menu.
  1343.  
  1344.           Note: 
  1345.              A very few computers  react  badly  to  this  driver.    If your
  1346.              computer does  not operate as expected when you run TheDraw, run
  1347.              the setup utility from Dos as follows:
  1348.  
  1349.                                   SETUP * [Enter]
  1350.  
  1351.              Setup will display the current setting  of the  driver.  Respond
  1352.              Yes or  No if the setting is correct.  If after deactivating the
  1353.              driver your computer still locks, please contact TheSoft.
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.        TheDraw v4.00             The Setup Utility                  12       
  1363.  
  1364.  
  1365.  
  1366.  
  1367.        SCREEN MODE
  1368.  
  1369.           Normally, THEDRAW will automatically  determine  the  correct video
  1370.           mode of  your computer.   You should only need to change the Screen
  1371.           mode option if:
  1372.  
  1373.              o  you think TheDraw is incorrectly detecting your hardware.
  1374.  
  1375.              o  you have a Color Graphics Adapter (CGA) that does not produce
  1376.                 the "snow" or hashing effect.
  1377.  
  1378.              o  You have an EGA or VGA video card and wish to always start in
  1379.                 43/50 line edit mode.
  1380.  
  1381.              o  your computer has a composite video screen, appearing  like a
  1382.                 CGA but  with only  one color.   In  this case,  you want the
  1383.                 Black and White screen option.
  1384.  
  1385.           Upon pressing S to select this  option, a  pop-up menu  will appear
  1386.           with the available options.  These are fairly apparent:
  1387.  
  1388.  
  1389.           DEFAULT
  1390.  
  1391.              TheDraw will operate in the mode active when first run.
  1392.  
  1393.  
  1394.           BLACK AND WHITE
  1395.  
  1396.              TheDraw  will  use  composite  black and white mode (80 column),
  1397.              regardless of the active mode  when  first  run.    The original
  1398.              video mode will be selected when you exit TheDraw.
  1399.  
  1400.  
  1401.           COLOR
  1402.  
  1403.              TheDraw will use color mode (80 column), regardless of what mode
  1404.              active when first run.  The original video mode will be selected
  1405.              when you exit TheDraw.
  1406.  
  1407.  
  1408.           EGA/VGA
  1409.  
  1410.              TheDraw  will  use  color  mode  (80  column)  and  43/50 lines,
  1411.              regardless of what mode was  active  initially.    Initial video
  1412.              mode is restored upon exit from TheDraw.
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.        TheDraw v4.00             The Setup Utility                  13       
  1421.  
  1422.  
  1423.  
  1424.  
  1425.           MONOCHROME
  1426.  
  1427.              TheDraw  uses  monochrome  video  mode, and switches back to the
  1428.              previous mode upon exiting.
  1429.  
  1430.           After selecting one of the first three options above (Default, B&W,
  1431.           or Color),  SETUP checks  the screen  for snow.  If you see snow or
  1432.           hashing, respond Yes to the prompt that appears.
  1433.  
  1434.  
  1435.  
  1436.        COLOR CONFIGURATION
  1437.  
  1438.           TheDraw holds three complete  sets of  configurable colors.   Which
  1439.           color  set  is  used  depends  on the initial screen mode specified
  1440.           above.  The sets  are for  Color, Black  and White,  and Monochrome
  1441.           screen users.  A pop-up window prompts for which set to edit.
  1442.  
  1443.           After selecting  a color  set, another  pop-up prompts for the item
  1444.           type to configure.  Options are the Edit Screen, Main Help Display,
  1445.           Directory  (Load/View)  Screen,  Pop-up  help,  and  Pull-Down menu
  1446.           display.
  1447.  
  1448.           Next,  a  menu  of  configurable  items  under  that  type appears.
  1449.           Selecting one  displays a  view port and list of available colors. 
  1450.           The view port shows an example of the  screen item  you chose.   It
  1451.           also reflects any changes in colors as you scroll through the color
  1452.           palette.
  1453.  
  1454.           Use the arrows keys to select  a  color  to  your  liking  from the
  1455.           palette.   Watch the  view port  to see  how the item looks in that
  1456.           color.  Press [ENTER] or [ESC] to save your choice.
  1457.  
  1458.           Now repeat this procedure for every screen color  item you  want to
  1459.           customize.   When done,  press [ESC]  until you  return to the main
  1460.           SETUP menu.
  1461.  
  1462.  
  1463.  
  1464.        FILES DIRECTORY
  1465.  
  1466.           The Files  Directory is  used by  TheDraw to  find its  files.  The
  1467.           shareware version looks for the pick list file (THEDRAW.PCK) there.
  1468.           The registered version of TheDraw looks for its help and  macro key
  1469.           files there in addition.
  1470.  
  1471.           The current  setting is  displayed for  you.   To change it, simply
  1472.           type in the new directory.  Enter a period (.) by itself to use the
  1473.           current directory  of Dos  when TheDraw  is loaded.   Press [ENTER]
  1474.           without entry to leave unchanged.
  1475.  
  1476.  
  1477.  
  1478.        TheDraw v4.00             The Setup Utility                  14       
  1479.  
  1480.  
  1481.  
  1482.  
  1483.        MEMORY USAGE
  1484.  
  1485.           TheDraw always tries to allocate all available memory  up to limits
  1486.           specified by this SETUP option.  When fully configured, TheDraw can
  1487.           use as much as 410k of  memory.    Memory  is  allocated  first for
  1488.           screen page layers and then for the animation system.
  1489.  
  1490.           If you  have limited  memory, there might not be enough space for 8
  1491.           page layers and 16000 animation entries (maximum usage).  There may
  1492.           however  be  enough  space  for  4  page  layers and 5000 animation
  1493.           entries, or just one layer, or anything in between.
  1494.  
  1495.           This  is  when  you  may  wish  to  override  the  automatic memory
  1496.           allocation.   To make  TheDraw operate  as in earlier versions, you
  1497.           would want just 2 page layers  and  5000  entries.    Feel  free to
  1498.           experiment.  Keep in mind that TheDraw will scale down all settings
  1499.           when loaded if there is insufficient memory.
  1500.  
  1501.           Upon selecting this option the current  settings are  displayed for
  1502.           you.   The amount  of memory occupied by screen page layers and the
  1503.           animation system is also  indicated.   If you  wish to  change them
  1504.           answer Yes  to the prompt.  You can then enter new values for both.
  1505.  
  1506.  
  1507.  
  1508.        DEFAULTS
  1509.  
  1510.           TheDraw has certain default  values  used  throughout  the program.
  1511.           Some of these are:
  1512.  
  1513.              o  Initial edit colors
  1514.              o  Default file extensions
  1515.              o  Default file save parameters
  1516.              o  Sticky directory wildcards
  1517.              o  Initial work file directory
  1518.              etc...
  1519.  
  1520.           Selecting Defaults  from the main setup menu displays a screen with
  1521.           several fields.  Use the up and down arrow keys to select the field
  1522.           you wish  to change.   PgUp/PgDn switches between the three screens
  1523.           of options.  To  change a  value follow  the on  screen directions.
  1524.           Pressing "R"  at any  time restores  all "factory" defaults.  Press
  1525.           [ESC] when satisfied with your changes.
  1526.  
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.  
  1535.  
  1536.        TheDraw v4.00             The Setup Utility                  15       
  1537.  
  1538.  
  1539.  
  1540.        QUIT/SAVE
  1541.  
  1542.           Once all changes are completed, select Quit/save at  the main SETUP
  1543.           menu.  The message:
  1544.  
  1545.                                 Save Changes? (Y/N)
  1546.  
  1547.           appears along  the bottom  line of  the screen.  Reply Yes, and all
  1548.           the changes you have made will  be saved  into TheDraw.   Reply No,
  1549.           and all  your changes  are ignored.  After either reply, you return
  1550.           to the operating system (Dos).
  1551.  
  1552.           If you ever decide to reset TheDraw completely to factory defaults,
  1553.           simply copy  the EXE  program file from your original disk (you did
  1554.           make one right?) onto your work disk.  If you just want  the editor
  1555.           commands restored, select the R command under Editor Configuration.
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.        TheDraw v4.00             The Setup Utility                  16       
  1595.  
  1596.  
  1597.  
  1598.  
  1599.                           S T A R T I N G   T H E D R A W
  1600.  
  1601.  
  1602.        COMMAND LINE FILESPECS
  1603.        ______________________________________________________________________
  1604.  
  1605.        For convenience,  TheDraw allows  you to  specify a  filespec from Dos
  1606.        when first running the program.  ie:
  1607.  
  1608.                                   THEDRAW DEMO.TD
  1609.  
  1610.        Only one  file may  be specified  this way.  All files are loaded onto
  1611.        page layer one (except for  THEDRAW  format  files  which  may contain
  1612.        multiple layers).
  1613.  
  1614.  
  1615.  
  1616.        THE STATUS LINE
  1617.        ______________________________________________________________________
  1618.  
  1619.        The status  line of  TheDraw shows various information about the state
  1620.        of the program.  Each structure in the status line is described below:
  1621.  
  1622.           (xx,xx)        Displays the current cursor position.
  1623.  
  1624.           Color          Indicates the current drawing color.   This color is
  1625.                          used for any new characters placed onto the screen.
  1626.  
  1627.           Text,          The word displayed indicates if TheDraw is in normal
  1628.           Attr, or       text, color draw mode, or line draw mode.  In color
  1629.           Draw           draw mode,  moving the  cursor changes characters to
  1630.                          the current colors.      In  Draw  mode,  moving the
  1631.                          cursor with the arrow keys draws a line in the moved
  1632.                          direction.
  1633.  
  1634.           Ins            Appears when TheDraw is  in  Insert  keystroke mode.
  1635.                          When on, typing a character shifts everything to the
  1636.                          right to make room for the new character.
  1637.  
  1638.           Page:x or      Indicates the current screen page edit layer.  In
  1639.           Anim:x         animation mode (see The  Animation  System  for more
  1640.                          details), the  word Anim appears.  In addition, this
  1641.                          structure indicates when TheDraw  is in  sprite edit
  1642.                          mode  (see  ALT-E).    In sprite mode, the structure
  1643.                          appears in capital letters.  ie: PAGE or ANIM.  
  1644.  
  1645.           Set:xx         Number of the current  function key  set.   This set
  1646.                          appears immediately after this indicator.
  1647.  
  1648.  
  1649.        Note: The symbol "x" or "xx" indicates a number of some value.
  1650.  
  1651.  
  1652.        TheDraw v4.00             Starting TheDraw                   17       
  1653.  
  1654.  
  1655.  
  1656.  
  1657.        HELP!!!
  1658.        ______________________________________________________________________
  1659.  
  1660.        The shareware  version of  TheDraw contains three outline help screens
  1661.        available from command mode (no sub-functions being used)  by pressing
  1662.        ALT-H.  These outline screens display brief notes about all operations
  1663.        available in the program.
  1664.  
  1665.        The registered version of TheDraw supports context sensitive help.  In
  1666.        other  words,  pressing  ALT-H  anywhere  in the program will bring up
  1667.        specific information on that area of TheDraw.  This can be very useful
  1668.        during the learning stage or for rarely used functions.
  1669.  
  1670.  
  1671.  
  1672.        CURSOR CONTROL
  1673.        ______________________________________________________________________
  1674.  
  1675.        The cursor may be moved by using the following keys:
  1676.  
  1677.                 Key           Action
  1678.                 _____________________________________________________
  1679.  
  1680.                 Up Arrow      Up one line
  1681.                 Down Arrow    Down one line
  1682.                 Left Arrow    Left one position
  1683.                 Right Arrow   Right one position
  1684.                 Home          First column of current line
  1685.                 End           Last column of current line
  1686.                 PgUp          First line in current column
  1687.                 PgDn          Last line in current column
  1688.                 Ctrl-Home     First Character of current line
  1689.                 Ctrl-End      Last Character of current line (plus 1)
  1690.                 Ctrl-PgUp     Upper-left position of screen
  1691.                 Ctrl-PgDn     Lower-right position of screen
  1692.                 Tab           Next set Tab position (see Alt-T)
  1693.                 Shift-Tab     Previous set Tab position (see Alt-T)
  1694.                 Enter         First column of following line
  1695.                 _____________________________________________________
  1696.  
  1697.  
  1698.        Naturally, if  you attempt  to move  past the  screen border no action
  1699.        will be taken.  If  no  tab  position  follows  the  current location,
  1700.        pressing [TAB] will return you to column one of the current line.
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.        TheDraw v4.00             Starting TheDraw                   18       
  1711.  
  1712.  
  1713.  
  1714.  
  1715.        MOUSE CONTROL
  1716.        ______________________________________________________________________
  1717.  
  1718.        TheDraw  fully  supports  the  use  of a Microsoft Mouse or compatible
  1719.        device.  Pull down  menus  and  other  facilities  are  available (see
  1720.        section PULL  DOWN MENU  SYSTEM).   You may  use either a two or three
  1721.        button mouse with TheDraw.  
  1722.  
  1723.        The mouse operates differently depending on where you  are in TheDraw.
  1724.        At command mode (no sub-functions in use) the mouse functions are:
  1725.  
  1726.              MOVEMENT:        Moves cursor.
  1727.              LEFT BUTTON:     Marks a block.
  1728.              MIDDLE BUTTON:   Toggles line drawing mode
  1729.              RIGHT BUTTON:    Activates pull down menu system.
  1730.  
  1731.  
  1732.        In any sub-function:
  1733.  
  1734.              MOVEMENT:        Moves  cursor/block/screen/etc...   If movement
  1735.                               is allowed, you can use the mouse.
  1736.              LEFT BUTTON:     Equivalent to pressing [ENTER].
  1737.              MIDDLE BUTTON:   Unused.
  1738.              RIGHT BUTTON:    Displays a small window  with all  current menu
  1739.                               options.
  1740.  
  1741.  
  1742.        Someone comfortable  with a  mouse will  find TheDraw easy to get used
  1743.        to.  The mouse is usable everywhere in the program.  If  no particular
  1744.        mouse indicator  appears, the RIGHT mouse button will generally pop up
  1745.        a window with available  options.   Simply click  the RIGHT  button on
  1746.        the wanted option to select it.
  1747.  
  1748.        Users  without  a  mouse  will  find TheDraw operates normally without
  1749.        change.
  1750.  
  1751.        Note: A Microsoft  compatible  mouse  driver  (MSMOUSE.SYS  or similar
  1752.              program)  must  be  installed  into  your CONFIG.SYS file before
  1753.              TheDraw  will  recognize  the  device.    See  APPENDIX   A  for
  1754.              information  on  configuring  Config.Sys.    Once  the driver is
  1755.              installed, TheDraw auto-detects the presence of the mouse.
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.        TheDraw v4.00             Starting TheDraw                   19       
  1769.  
  1770.  
  1771.  
  1772.  
  1773.        COMMAND SUMMARY
  1774.        ______________________________________________________________________
  1775.  
  1776.        TheDraw provides the following 37 command functions, available through
  1777.        ALT-Letter or CTRL-Letter key sequences plus a pull-down menu system.
  1778.  
  1779.  
  1780.                      Alt-A     Change Text Color Attributes
  1781.                      Alt-B     Block Action Commands
  1782.                      Alt-C     Clear Current Screen
  1783.                      Alt-D     Set Default Clear Screen Color
  1784.                      Alt-E     Select Screen Page Layers
  1785.                      Alt-F     View Function Key Sets
  1786.                      Alt-G     Global Commands  
  1787.                      Alt-H     Display Help Information
  1788.                      Alt-I     Insert a Line
  1789.                      Alt-J     Animation Options 
  1790.                      Alt-K     Delete a File 
  1791.                      Alt-L     Load Screen from Disk
  1792.                      Alt-M     Select Draw Mode (toggle) 
  1793.                      Alt-N     Ruler  
  1794.                      Alt-O     Change Drive/Sub Directory
  1795.                      Alt-P     Paint/Fill Commands 
  1796.                      Alt-Q     Redraw Screen (animator)
  1797.                      Alt-R     Restore Current Line
  1798.                      Alt-S     Save Screen to Disk
  1799.                      Alt-T     Tab Setup
  1800.                      Alt-U     Use Colors under Cursor  
  1801.                      Alt-V     View a Screen (not load)
  1802.                      Alt-W     Edit Character (animator) 
  1803.                      Alt-X     Exit TheDraw 
  1804.                      Alt-Y     Delete Current Line
  1805.                      Alt-Z     Erase Cursor Character (animator)
  1806.                      Alt--     Select Color Draw Mode (toggle)
  1807.                      Alt-=     Toggle Macro Learning Mode (reg. version)
  1808.                 Ctrl-PrtSc     Toggle Full Screen Editing mode
  1809.             Alt-Left Arrow     Delete column
  1810.            Alt-Right Arrow     Insert column
  1811.  
  1812.              Ctrl-Up Arrow     Increment Foreground Color 
  1813.            Ctrl-Down Arrow     Decrement Foreground Color 
  1814.            Ctrl-Left Arrow     Increment Background Color
  1815.           Ctrl-Right Arrow     Decrement Background Color
  1816.  
  1817.                Shift-Space     Put a "Solid" space on the Screen.
  1818.  
  1819.                        ESC     Activate pull-down menu system from keyboard.
  1820.  
  1821.        The section  THEDRAW KEYBOARD COMMANDS on the following pages contains
  1822.        explanations for each of the above.
  1823.  
  1824.  
  1825.  
  1826.        TheDraw v4.00             Starting TheDraw                   20       
  1827.  
  1828.  
  1829.  
  1830.  
  1831.                      P U L L   D O W N   M E N U   S Y S T E M
  1832.                      -----------------------------------------
  1833.  
  1834.        TheDraw can be fully  controlled  via  pull  down  menus.    The menus
  1835.        greatly simplify  learning TheDraw by conveniently showing all related
  1836.        commands.
  1837.  
  1838.        The pull down menus are activated from command  mode using  one of two
  1839.        ways.   Pressing either  the [ESC]  key on  the keyboard or if using a
  1840.        mouse the RIGHT-most button.   The  following options  bar will appear
  1841.        across the top of the screen:
  1842.  
  1843.         ┌─────────────────────────────────────────────────────────────────┐
  1844.         │ Files  Global  Options  Screen  Animation  Color  Toggles  Help │
  1845.         └─────────────────────────────────────────────────────────────────┘
  1846.  
  1847.        Each  heading  is  described  briefly  below.    For  full  functional
  1848.        descriptions, please  refer to  the appropriate  section under THEDRAW
  1849.        KEYBOARD COMMANDS.
  1850.  
  1851.  
  1852.        The FILES Menu
  1853.        ----------------------------------------------------------------------
  1854.        The  Files  pull-down  menu  offers  assorted  options  for loading or
  1855.        viewing existing files, deleting  old  files,  and  saving  the screen
  1856.        image currently  being edited.   When you load a file, it is read into
  1857.        the screen edit area.  When done with a file, you can  save it  to any
  1858.        directory  or  file  name.    In addition, from this pull-down you can
  1859.        change to another directory, temporarily go  to a  Dos Shell,  or exit
  1860.        TheDraw completely.
  1861.                                   ┌────────────┐
  1862.                                   │ Load       │
  1863.                                   │ View       │
  1864.                                   │ Delete     │
  1865.                                   │ Change Dir │
  1866.                                   │ Save       │
  1867.                                   │ Quit       │
  1868.                                   └────────────┘
  1869.  
  1870.        LOAD - Load a File (ALT-L)
  1871.  
  1872.           Displays a  list of files under the current directory.  You can use
  1873.           DOS-style wildcard masks for  a listing  of specific  wanted files.
  1874.           Simply type  in the  name of the file to load or use the arrow keys
  1875.           to move the selector bar and press [ENTER].  Activate the pick list
  1876.           by pressing the TAB key or the RIGHT-most mouse button.
  1877.  
  1878.  
  1879.  
  1880.  
  1881.  
  1882.  
  1883.  
  1884.        TheDraw v4.00           Pull Down Menu System                21       
  1885.  
  1886.  
  1887.  
  1888.        VIEW - View a File (ALT-V)
  1889.  
  1890.           Similar  to  LOAD,  except  the  image  is loaded only temporarily.
  1891.           Pressing [ENTER] returns to command mode.
  1892.  
  1893.  
  1894.        DELETE - Delete a File (ALT-K)
  1895.  
  1896.           Allows files  to  be  deleted  from  within  TheDraw.    The screen
  1897.           operates  identically  to  the  LOAD  option above.  The difference
  1898.           being TheDraw will attempt to delete any file you select.
  1899.  
  1900.  
  1901.        CHANGE DIR - Change Working Directory (ALT-O)
  1902.  
  1903.           Displays all subdirectories in the current  directory.   Select the
  1904.           wanted  directory  by  typing  it  in  or  using the arrow keys and
  1905.           pressing [ENTER].  To change  to  another  drive,  simply  type the
  1906.           wanted drive followed by a colon.  ie: "C:"
  1907.  
  1908.  
  1909.        SAVE - Save Current Screen to a File (ALT-S)
  1910.  
  1911.           Saves current screen image to one of a variety of file formats.
  1912.  
  1913.  
  1914.        QUIT - Quit/Shell from TheDraw (ALT-X)
  1915.  
  1916.           Allows you  to either  exit TheDraw completely or leave the program
  1917.           just temporarily.  In both cases, you end up at the Dos prompt.
  1918.  
  1919.           To return to TheDraw from a Dos Shell, type EXIT.   This  is useful
  1920.           when you want to run a DOS command without quitting TheDraw.  
  1921.  
  1922.  
  1923.  
  1924.        The GLOBAL Menu
  1925.        ----------------------------------------------------------------------
  1926.        The global  menu offers  options that  affect the  entire edit screen.
  1927.        These options include  moving  and  copying  the  screen,  plus global
  1928.        screen fills and text operations.
  1929.  
  1930.                                      ┌──────┐
  1931.                                      │ Copy │
  1932.                                      │ Move │
  1933.                                      │ Fill │
  1934.                                      │ Text │
  1935.                                      └──────┘
  1936.  
  1937.        Each function is described on the following page.
  1938.  
  1939.  
  1940.  
  1941.  
  1942.        TheDraw v4.00           Pull Down Menu System                22       
  1943.  
  1944.  
  1945.  
  1946.        COPY - Global Screen Copy (ALT-G,Copy)
  1947.  
  1948.           Copies the  current screen  page to another page.  You are prompted
  1949.           for which destination page you want.
  1950.  
  1951.  
  1952.        MOVE - Global Screen Movement (ALT-G,Move)
  1953.  
  1954.           Allows the rotating of the screen  around  its  borders.    Use the
  1955.           arrow keys or the mouse.  Press [ENTER] or the LEFT mouse button to
  1956.           save at the new location.
  1957.  
  1958.  
  1959.        FILL - Global Fill Screen (ALT-G,Fill)
  1960.  
  1961.           Fills the entire screen based  on  a  specified  sub-command.   The
  1962.           available  options  allow  just  the  color  attributes,  just  the
  1963.           characters, or both to be changed at once.
  1964.  
  1965.  
  1966.        TEXT - Global Text Operations (ALT-G,Text)
  1967.  
  1968.           Performs various screen  text  operations.    Available sub-options
  1969.           are:   Draw Box,  Outline contents of screen, Center Justify screen
  1970.           contents, Left Justify, and Right Justify.
  1971.  
  1972.  
  1973.  
  1974.        The OPTIONS Menu
  1975.        ----------------------------------------------------------------------
  1976.        The Options menu contains  facilities to  aid you  in the  layout of a
  1977.        screen design.  Commands affect things like the current character set,
  1978.        the Tab line setup,  and  the  on-screen  ruler.    A  screen painting
  1979.        function is available also.
  1980.  
  1981.                                  ┌───────────────┐
  1982.                                  │ Character Set │
  1983.                                  │ Tab Setup     │
  1984.                                  │ Ruler         │
  1985.                                  │ Paint/Fill    │
  1986.                                  │ Setup Options │
  1987.                                  └───────────────┘
  1988.  
  1989.        CHARACTER SET - Display and Select Character Set (ALT-F)
  1990.  
  1991.           Shows  a  screen  containing  all  special  IBM  extended character
  1992.           symbols.  From this you can  select which  character set  you would
  1993.           like to work with.  Use the arrow keys or the mouse.  Press [ENTER]
  1994.           to save your choice.
  1995.  
  1996.  
  1997.  
  1998.  
  1999.  
  2000.        TheDraw v4.00           Pull Down Menu System                23       
  2001.  
  2002.  
  2003.  
  2004.        TAB SETUP - Adjust TheDraw Tab Stops (ALT-T)
  2005.  
  2006.           This command permits the setting of  tabs in  the editor (positions
  2007.           where the  [TAB] key  stops).  Initially the positions are at every
  2008.           tenth column.   Sub-commands  are available  for setting, clearing,
  2009.           and resetting tabs.
  2010.  
  2011.  
  2012.        RULER - On-Screen Ruler (ALT-N)
  2013.  
  2014.           Places a  pair of lines on the screen which intersect at the cursor
  2015.           position.   Move the ruler using arrows or  the mouse.   [ENTER] or
  2016.           LEFT mouse  button saves  the new cursor position.  This command is
  2017.           useful for aligning items of the screen.  The ruler can be  held on
  2018.           the screen by selecting the [S]ticky option.  
  2019.  
  2020.  
  2021.        PAINT/FILL - Enclosed Area Painter (ALT-P)
  2022.  
  2023.           Lets you  fill an enclosed area easily with characters and/or color
  2024.           attributes.  An area is defined  as  any  shape  formed  using line
  2025.           characters  (from  function  key  sets  1-4).  To use this command,
  2026.           position the cursor inside  the target  area before  activating the
  2027.           pull down menus.
  2028.  
  2029.  
  2030.        SETUP OPTIONS - Default Setup Configuration (no separate key sequence)
  2031.  
  2032.           Provides access  to many  of the  configurable defaults while using
  2033.           TheDraw.  The following options may be changed:
  2034.  
  2035.           WORKSHEET WIDTH
  2036.              Choose how wide the  edit buffer  should be.   Either  80 or 160
  2037.              characters.
  2038.  
  2039.           WORKSHEET DEPTH
  2040.              Choose how deep the edit buffer should be.  Can be 25, 43, or 50
  2041.              lines.  Note the worksheet depth cannot be  less than  the video
  2042.              mode in  use.   For example,  if using  43 line EGA editing, the
  2043.              worksheet depth cannot be less than 43 lines.
  2044.  
  2045.           VIDEO SCREEN MODE
  2046.              Choose one of the  following  video  edit  modes:    Standard 80
  2047.              character  by  25  lines  (80x25),  80x43 (if using EGA card) or
  2048.              80x50 (if using VGA card).
  2049.  
  2050.           MAINTAIN FILE DESCRIPTOR LISTING WILDCARD
  2051.              Tells TheDraw to maintain  wildcards specified  in the directory
  2052.              listing  available  during  loading  (or deleting).  For example
  2053.              entering "*.BIN" to  see  all  binary  files  would  normally be
  2054.              forgotten, unless this option was turned on.
  2055.  
  2056.  
  2057.  
  2058.        TheDraw v4.00           Pull Down Menu System                24       
  2059.  
  2060.  
  2061.  
  2062.           DEFAULT SAVE SCREEN FORMAT
  2063.              Default file  format TheDraw  should select  when saving a file.
  2064.              Upon hitting ALT-S, you are present with many choices.  Pressing
  2065.              [ENTER] selects  the default  save screen  format.   If you find
  2066.              yourself using a specific  format  often,  changing  the default
  2067.              might prove a convenience.
  2068.  
  2069.           DEFAULT LOAD SCREEN FORMAT
  2070.              Similar  to  the  above,  but  used  during loading.  If you are
  2071.              working with a given file type  regularly, changing  the default
  2072.              load format  will save  you from typing the file extension.  For
  2073.              example if set to Binary, "DEMO"  becomes "DEMO.BIN"  instead of
  2074.              "DEMO.ANS".
  2075.  
  2076.           CREATE BACKUP FILES
  2077.              Instructs TheDraw  to generate  backup files  when saving.  If a
  2078.              file already exists, TheDraw  will  change  the  existing file's
  2079.              extension to .BAK, then continue the save.
  2080.  
  2081.           SAVING FILENAME PICK LIST ON EXIT TO DOS
  2082.              Controls the  saving of  the filename pick list to disk on exit.
  2083.              When off, any accumulated filenames will be lost upon exit.
  2084.  
  2085.           ASK TO SAVE CHANGES BEFORE EXITING
  2086.              TheDraw can be made to prompt  before allowing  exit to  Dos, if
  2087.              changes were made to the current page or any page.
  2088.  
  2089.           USE ALT-KEY HELP WINDOW
  2090.              Holding  down  the  ALT  key  for about three seconds displays a
  2091.              brief pop-up of available commands.  The feature may be disabled
  2092.              by toggling this option.
  2093.  
  2094.           BLANK SCREEN AFTER HOW MANY MINUTES
  2095.              TheDraw will  blank the screen by writing blanks if no action is
  2096.              taken for a specified time.  The time delay can be set from 1 to
  2097.              255 minutes, or turned off completely.
  2098.  
  2099.           DISK SWAP FILE PATHNAME
  2100.              Used when  doing a Dos Shell (see ALT-X,S).  TheDraw attempts to
  2101.              write all its data  to expanded  memory or  a disk  swap file to
  2102.              provide more  room during  the shell.   If insufficient expanded
  2103.              memory (EMM or EMS) is available, the disk swap file  is used at
  2104.              the  specified  path.    Leaving  this option blank will prevent
  2105.              TheDraw from using a swap file. 
  2106.  
  2107.           DEFAULT FILENAME EXTENSIONS
  2108.              The default filename extensions TheDraw uses when saving a file.
  2109.              Change  to  your  preference.    For instance, if saving an Ansi
  2110.              file, TheDraw will change "DEMO" into "DEMO.ANS".
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.        TheDraw v4.00           Pull Down Menu System                25       
  2117.  
  2118.  
  2119.  
  2120.           DEFAULT ASM,PASCAL,C SAVE FORMAT
  2121.              Controls if TheDraw defaults to Normal,  Ascii, or  Crunching of
  2122.              screen data.  See ALT-S for more information.
  2123.  
  2124.           FILTER OUT SOLID SPACES ON ANSI/ASCII/ASM/PASCAL/C FILES
  2125.              Occasionally   solid   spaces   (entered  with  Shift-Space  key
  2126.              combination) cause prompts with  other  programs.    This filter
  2127.              will  convert  all  solid  spaces  to  normal spaces in the data
  2128.              written to disk (for Ansi, Ascii, Asm, Pascal, and C formats).
  2129.  
  2130.           FORCE CR/LF ON END OF LINES OF ASCII THAT ARE SCREEN WIDTH
  2131.              TheDraw is faced with a dilemma  when saving  Ascii files.   The
  2132.              Dos TYPE command automatically wraps the cursor down a line when
  2133.              screen width text (80 characters) is printed.   TheDraw normally
  2134.              handles this  by not  writing a carriage return sequence (CR/LF)
  2135.              for those lines, as it is not needed.  However,  reading such an
  2136.              Ascii file  into other  programs can  cause problems.  Therefore
  2137.              this option forces TheDraw to always write the  CR/LF regardless
  2138.              of anything.  A simple, yet effective, solution.
  2139.  
  2140.           RESET COLORS TO WHITE ON END OF ANSI FILES
  2141.              Controls if TheDraw resets the Ansi colors to white after all is
  2142.              said and done.  Generally of use in  animation files,  where the
  2143.              last character printed is flashing magenta on a green background
  2144.              (or some even worse color combination).
  2145.  
  2146.           DEFAULT ANSI VIDEO PREPARATION
  2147.              Choose if by default TheDraw does  nothing, homes  the cursor to
  2148.              the  upper  left  screen  corder,  or  clears  the screen before
  2149.              displaying an Ansi file.
  2150.  
  2151.           DEFAULT ANSI SLOW DOWN FACTOR
  2152.              Choose how many delay elements TheDraw  inserts by  default into
  2153.              an  Ansi  file.    Normally  used  on  faster  machines  to make
  2154.              animation more appealing (ie: visible).
  2155.  
  2156.           MAXIMUM ANSI LINE LENGTH
  2157.              Controls the maximum line length TheDraw  will permit  a line of
  2158.              Ansi  to  become.    Some  programs have line length limitations
  2159.              (such as bulletin board systems).  Since TheDraw can conceivable
  2160.              generate lines  thousands of characters long, this option allows
  2161.              you to compensate.   The  setting  can  be  between  32  and 255
  2162.              characters, or set to Unlimited if no conflicts exist.
  2163.  
  2164.  
  2165.  
  2166.  
  2167.  
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.        TheDraw v4.00           Pull Down Menu System                26       
  2175.  
  2176.  
  2177.  
  2178.        The SCREEN Menu
  2179.        ----------------------------------------------------------------------
  2180.        Use items  in the  Screen menu  to erase  a page  layer or select some
  2181.        other page.  Other options allow you to insert, delete, or restore the
  2182.        contents of individual lines.            
  2183.                                                 
  2184.                                  ┌──────────────┐
  2185.                                  │ Clear Page   │
  2186.                                  │ Select Page  │       
  2187.                                  │ Insert Line  │       
  2188.                                  │ Delete Line  │       
  2189.                                  │ Restore Line │       
  2190.                                  └──────────────┘        
  2191.                                                 
  2192.        CLEAR PAGE - Clear the Current or All Page Layers (ALT-C)
  2193.  
  2194.           Erases the  image in  the current  page.  You may also opt to erase
  2195.           all page layers in  one fell  swoop for  a completely  clean slate.
  2196.           You will  be prompted  to save  the current  screen if changes have
  2197.           been made.
  2198.  
  2199.  
  2200.        SELECT PAGE - Choose a New Page to Work On (ALT-E)
  2201.  
  2202.           TheDraw prompts for the page layer  you  wish  to  edit.    Enter a
  2203.           number  between  one  (1)  and  the number of available pages.  The
  2204.           mouse can be used for selection by pressing the RIGHT button.
  2205.  
  2206.  
  2207.        INSERT LINE (ALT-I)
  2208.  
  2209.           Inserts a blank horizontal screen line at the position of  the edit
  2210.           cursor.  This command is not reversible so use it carefully.
  2211.  
  2212.  
  2213.        DELETE LINE (ALT-Y)
  2214.  
  2215.           Similar to Insert, but deletes the line rather than inserts one.
  2216.  
  2217.  
  2218.        RESTORE LINE - Recover from Unwanted Changes on the Screen (ALT-R)
  2219.  
  2220.           Brings  back  the  previous  copy  of the horizontal line currently
  2221.           being worked on.  Please note  that  once  you  leave  a  line, all
  2222.           changes are permanent.
  2223.  
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.        TheDraw v4.00           Pull Down Menu System                27       
  2233.  
  2234.  
  2235.  
  2236.        The ANIMATION Menu
  2237.        ----------------------------------------------------------------------
  2238.        Provides  various  facilities  for  working with the TheDraw animation
  2239.        system.  Options  allow  the  display  and  editing  of  the animation
  2240.        sequence.    The  registered  version  of  TheDraw  adds  Limiting and
  2241.        animation markers (as shown below). 
  2242.  
  2243.                                ┌──────────────────┐
  2244.                                │ Screen Redraw    │
  2245.                                │ Change Character │
  2246.                                │ Erase Character  │
  2247.                                │                  │
  2248.                                │ Include Files    │
  2249.                                │ Limiting         │
  2250.                                │ marKer           │
  2251.                                │ Movement Storage │     
  2252.                                │ Rescan Animation │
  2253.                                │ Pause Animation  │
  2254.                                └──────────────────┘
  2255.  
  2256.        SCREEN REDRAW - Display the Entire Animation Sequence (ALT-Q)
  2257.  
  2258.           Display the animation sequence as entered.   The  command is useful
  2259.           for seeing  how your  work is progressing.  The speed of the redraw
  2260.           may be controlled by  specifying a  number between  0 (fastest) and
  2261.           255 (slowest).  
  2262.  
  2263.  
  2264.        CHANGE CHARACTER - Edit a Character in Animation Sequence (ALT-W)
  2265.  
  2266.           Allows the  editing of  a mistyped animation entry.  Animation mode
  2267.           differs from the normal  edit  mode  in  that  simply  overtyping a
  2268.           character does not replace it.  In animation mode, both entries are
  2269.           remembered - the incorrect  character, plus  the wanted  one.  This
  2270.           command  permits  you  to  edit  something  without adding unwanted
  2271.           entries.
  2272.  
  2273.  
  2274.        ERASE CHARACTER - Delete a Character from Animation Sequence (ALT-Z)
  2275.  
  2276.           Deletes characters from the animation sequence.  As stated above in
  2277.           the CHANGE CHARACTER option, a character is not replaced or deleted
  2278.           in animation mode by overtyping.   To erase  something this command
  2279.           must  be  used.    Only  the  top-most character (the one currently
  2280.           visible) is removed; anything under it is left intact.
  2281.  
  2282.  
  2283.        INCLUDE FILES - Ansi/Ascii Include Files (ALT-J,Include)
  2284.  
  2285.           Allows text files created by  programs  other  than  TheDraw  to be
  2286.           inserted into  Animation sequences.   Particularly  useful for Ansi
  2287.           Music, BBS control codes, and often used sequences.  
  2288.  
  2289.  
  2290.        TheDraw v4.00           Pull Down Menu System                28       
  2291.  
  2292.  
  2293.  
  2294.        LIMITING - Animation Sequence Editing (ALT-J,Limit) - Registered
  2295.  
  2296.           Limiting gives  total control  over the  animation sequence, making
  2297.           changes anywhere  trivial.   Normally all changes and additions are
  2298.           done on the end of the animation sequence.  By  using limiting, you
  2299.           can move the edit point to anywhere within the sequence.  
  2300.  
  2301.           Once the limit point has been set, TheDraw operates only up to that
  2302.           point.  All deletions, additions and correcting are  done where the
  2303.           limit is  specified.  Everything in the sequence above the limit is
  2304.           protected, temporarily out of the way.
  2305.  
  2306.  
  2307.        MARKER - Animation Markers (ALT-J,marKer) - Registered
  2308.  
  2309.           Markers are  used  to  "mark"  or  "tag"  different  places  in the
  2310.           animation sequence  for later  reference.  Once set, markers can be
  2311.           used for quickly changing the animation limit position  (see above)
  2312.           and viewing specific portions of the animation sequence.
  2313.  
  2314.  
  2315.        MOVEMENT STORAGE - Cursor Movement Storage (ALT-J,Movement)
  2316.  
  2317.           Controls whether  or not cursor movement is stored in the animation
  2318.           sequence.    Normally  only   characters  specifically   typed  are
  2319.           recorded.   With this  option turned  on however,  movements of the
  2320.           cursor are also saved (for example, using the mouse or arrow keys).
  2321.  
  2322.  
  2323.        RESCAN ANIMATION - Animation Screen Rescanning (ALT-J,Rescan)
  2324.  
  2325.           Creates a new animation  sequence using  the current  screen image.
  2326.           Any previous animation is lost (unless in animation limiting mode).
  2327.  
  2328.  
  2329.        PAUSE ANIMATION - Animation Pausing (ALT-J,Pause)
  2330.  
  2331.           Inserts  either  a  keyboard  or  timed  pause  into  the animation
  2332.           sequence.   Gives the opportunity to sit and reflect upon a certain
  2333.           presentation.  Note these pauses are  truly functional  only within
  2334.           TheDraw or  THEPP (The Presentation Program).  In Ansi files, timed
  2335.           pauses cannot be accurately saved.  Keyboard pauses  are flatly not
  2336.           possible with standard Ansi.
  2337.  
  2338.  
  2339.  
  2340.  
  2341.  
  2342.  
  2343.  
  2344.  
  2345.  
  2346.  
  2347.  
  2348.        TheDraw v4.00           Pull Down Menu System                29       
  2349.  
  2350.  
  2351.  
  2352.        The COLOR Menu
  2353.        ----------------------------------------------------------------------
  2354.        Use  this  menu  to  select  edit  colors.   Options are available for
  2355.        setting normal  edit  foreground  and  background  color,  the default
  2356.        background  color  used  for  erasing  areas,  and "picking up" colors
  2357.        currently used underneath the cursor.
  2358.  
  2359.                                  ┌──────────────┐
  2360.                                  │ Fore/Back    │
  2361.                                  │ Default      │
  2362.                                  │ Under Cursor │  
  2363.                                  └──────────────┘
  2364.  
  2365.        FORE/BACK - Change New Character Fore/Background Color (ALT-A)
  2366.  
  2367.           Displays a screen showing available colors.   Simply  select wanted
  2368.           color using  mouse, arrow keys, or directly typing the number.  See
  2369.           also CTRL-UP/DOWN.
  2370.  
  2371.  
  2372.        DEFAULT - Change Default Erase Background Color (ALT-D)
  2373.  
  2374.           Similar to above, except  changes  default  color.    This  is used
  2375.           whenever  TheDraw  must  erase  an  area,  or otherwise deal with a
  2376.           "void" created by some operation.
  2377.  
  2378.  
  2379.        UNDER CURSOR - Use Colors Currently Under Cursor (ALT-U)
  2380.  
  2381.           Changes new character  fore/background  color  attributes  to those
  2382.           under the  edit cursor.   Very  useful for making quick updates and
  2383.           fixes.
  2384.  
  2385.  
  2386.  
  2387.        The TOGGLES Menu
  2388.        ----------------------------------------------------------------------
  2389.        The  Toggles  menu  contains  settings  for  controlling  how  TheDraw
  2390.        operates.   The settings  affect things like line draw or sprite mode,
  2391.        animation  mode  toggling,  character  insert  mode,  and  full screen
  2392.        editing.
  2393.  
  2394.                                  ┌────────────────┐
  2395.                                  │ Draw Mode      │
  2396.                                  │ Color Draw     │
  2397.                                  │ Sprite Mode    │
  2398.                                  │ Animation Mode │
  2399.                                  │ Insert Mode    │
  2400.                                  │ Full Screen    │
  2401.                                  └────────────────┘
  2402.  
  2403.        The options are discussed on the following pages.
  2404.  
  2405.  
  2406.        TheDraw v4.00           Pull Down Menu System                30       
  2407.  
  2408.  
  2409.  
  2410.        DRAW MODE - Line Draw Mode Toggle (ALT-M)
  2411.  
  2412.           Turns on/off line drawing mode.  Line drawing is accomplished using
  2413.           characters from function key sets 1 to 4.  In this mode, moving the
  2414.           cursor draws  a line.   Useful for creating abstract shapes quickly
  2415.           and easily.
  2416.  
  2417.  
  2418.        COLOR DRAW - Color Draw Mode Toggle (ALT--)
  2419.  
  2420.           Turns on/off color attribute drawing mode.  Color  drawing involves
  2421.           simply changing  characters to the current colors.  A manual way of
  2422.           easily painting an area a given color.
  2423.  
  2424.  
  2425.        SPRITE MODE - Sprite Editing Toggle (ALT-E,Toggle)
  2426.  
  2427.           Turns on/off TheDraw Sprite  Editing Mode.   Please  refer to ALT-E
  2428.           for discussion about this mode.
  2429.  
  2430.        ANIMATION MODE - Animation Mode Toggle (ALT-J)
  2431.  
  2432.           Changes TheDraw from Normal to Animation mode and visa versa.  When
  2433.           going from  Normal to  Animation mode,  a list  of available screen
  2434.           scanners are presented.  Refer to ALT-J for more details.
  2435.  
  2436.  
  2437.        INSERT MODE - Character Insert Mode Toggle (INSERT)
  2438.  
  2439.           Turns  on/off  character  insert  mode.    In  insert  mode, typing
  2440.           something bumps everything to the right  to make  room for  the new
  2441.           character.
  2442.  
  2443.  
  2444.        FULL SCREEN - Full Screen Editing Toggle (CTRL-PRTSC)
  2445.  
  2446.           Toggles using  the entire  screen for editing.  In full screen edit
  2447.           mode, the status line  along with  all indicators  disappear.  This
  2448.           makes the full 80 by 25 screen available for editing.
  2449.  
  2450.  
  2451.  
  2452.  
  2453.  
  2454.  
  2455.  
  2456.  
  2457.  
  2458.  
  2459.  
  2460.  
  2461.  
  2462.  
  2463.  
  2464.        TheDraw v4.00           Pull Down Menu System                31       
  2465.  
  2466.  
  2467.  
  2468.  
  2469.                  T H E D R A W   K E Y B O A R D   C O M M A N D S
  2470.                  _________________________________________________
  2471.  
  2472.  
  2473.                         ALT-A: CHANGE TEXT COLOR ATTRIBUTES
  2474.  
  2475.        This function  allows you  to change the current color attributes used
  2476.        by TheDraw.  These attributes "color" any new characters placed on the
  2477.        screen.   When you press ALT-A, the screen will change to a display of
  2478.        the available and currently selected colors.
  2479.  
  2480.        The lower portion of the screen contains two prompts:
  2481.  
  2482.                       Please Select Foreground Color (0-31):
  2483.                       Please Select Background Color  (0-7):
  2484.  
  2485.        The cursor will be flashing immediately after the  first prompt.   You
  2486.        can now change the current foreground color via the Up/Down arrow keys
  2487.        or by directly typing  the number  associated with  a foreground color
  2488.        (see table  below).   Mouse users can position the mouse on the wanted
  2489.        color then press a button.
  2490.  
  2491.                    0  Black                  8  Dark Gray
  2492.                    1  Blue                   9  Light Blue
  2493.                    2  Green                 10  Light Green
  2494.                    3  Cyan                  11  Light Cyan
  2495.                    4  Red                   12  Light Red
  2496.                    5  Magenta               13  Light Magenta
  2497.                    6  Brown                 14  Yellow
  2498.                    7  Light Gray            15  White
  2499.  
  2500.        Characters can be made to blink by selecting colors from  the range 16
  2501.        through 31.  These match the above exactly, except they blink.  
  2502.  
  2503.        After  changing  the  foreground  color  (or leaving it alone) you can
  2504.        either proceed to the background colors  by pressing  [ENTER] or press
  2505.        [ESC] to  return to the edit screen.  The background color is selected
  2506.        in a fashion similar to the above.  Allowed values are the first eight
  2507.        (0 through  7) colors.   There are no background colors available that
  2508.        allow background blinking.
  2509.  
  2510.        Pressing either [ENTER] or [ESC] at this point will return to the edit
  2511.        screen.
  2512.  
  2513.        Notes:   It  is  possible  to  change  the colors without using ALT-A.
  2514.                 Please see the Ctrl-Arrow Key commands for more details.
  2515.  
  2516.                 Monochrome screen users will find background colors generally
  2517.                 useless except when set to light gray (7) while using a black
  2518.                 foreground color of 0 or 16 (blinking black). 
  2519.  
  2520.  
  2521.  
  2522.        TheDraw v4.00         TheDraw Command Functions              32       
  2523.  
  2524.  
  2525.  
  2526.  
  2527.                            ALT-B: BLOCK ACTION COMMANDS
  2528.  
  2529.        The Block Action Commands  provide  many  facilities  for  editing the
  2530.        current screen  and making  extensive changes.   The following options
  2531.        are available:
  2532.  
  2533.           o  Move or Copy blocks of text.
  2534.           o  Fill in areas with characters, colors or both.
  2535.           o  Perform left, right or center text justification.
  2536.           o  Draw boxes or outline text with lines quickly and easily.
  2537.           o  Delete or simply Erase blocks of text.
  2538.           o  Load a block of screen area from a file on disk.
  2539.           o  Save just a piece of the current screen to disk.
  2540.           o  Rescan an area into animation sequence (animation mode only).
  2541.  
  2542.        The Block Action Commands in TheDraw are one of the  more useful tools
  2543.        available.  After pressing ALT-B, you will see the following prompt:
  2544.  
  2545.          Use [L]ast block or move to Upper-Left corner and press [SPACE].
  2546.  
  2547.        Press [L]  to use  the last  block specified.   Otherwise define a new
  2548.        block by indicating the upper-left and  lower-right corners.   Use the
  2549.        arrow keys,  PgUp, PgDn,  Home or End keys on the keyboard to move the
  2550.        cursor to  the wanted  locations, then  press [SPACE]  after you reach
  2551.        each point.  
  2552.  
  2553.        The current block is highlighted (colors inverted) to make it obvious.
  2554.        Once you define the upper-left corner of the block, moving above or to
  2555.        the left  of it will not invert any text.  TheDraw will stop the block
  2556.        marking if you press [SPACE] under this situation.
  2557.  
  2558.        Upon pressing  [SPACE] the  second time  (with an  inverted block) you
  2559.        will see  the available block option commands.  The items on the menu,
  2560.        and their significance are described on the following pages.
  2561.  
  2562.        -----
  2563.  
  2564.        Mouse users may mark a block  by pressing  and holding  the LEFT mouse
  2565.        button,  moving  the  mouse  to  wanted  block size, and releasing the
  2566.        button.  Block option commands as described below will then appear. 
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.        TheDraw v4.00         TheDraw Command Functions              33       
  2581.  
  2582.  
  2583.  
  2584.  
  2585.        COPY - Copy a Block
  2586.  
  2587.           Copies the marked block.  Use mouse or normal cursor movement keys,
  2588.           such as  the arrow  keys, Tab,  PgUp, PgDn, Home or End to move the
  2589.           block copy around.  Available sub-commands are:
  2590.  
  2591.                 pagE   - Change to a different page layer screen.   With this
  2592.                          option you can choose to stamp (see below) copies of
  2593.                          the block on other layers.   A small  window appears
  2594.                          with  a  prompt  for  the  new  page layer.  Enter a
  2595.                          number or press [ESC] to abort.
  2596.  
  2597.                 Toggle - Toggles  between  single  layer  and  sprite editing
  2598.                          modes (see  ALT-E for discussion on sprite editing).
  2599.                          In sprite mode, any text on  a higher  numbered page
  2600.                          layer will appear "under" text on the current page.
  2601.  
  2602.                 Stamp  - Makes  a  copy  of  the current block at the current
  2603.                          position.  Additional copies  can  be  made  as many
  2604.                          times as wished.  
  2605.  
  2606.                 Under  - Toggles between  moving the block "above" or "under"
  2607.                          the current page layer.   The  block copy  starts in
  2608.                          above  mode.    In  above  mode  the entire block is
  2609.                          visible, no matter where  it  is  moved.    In under
  2610.                          mode, the  block appears UNDER any other text on the
  2611.                          current page layer.  It will  only show  through the
  2612.                          black spaces on the current layer.
  2613.  
  2614.                          Note:     Under  mode  also  allows  an  interesting
  2615.                                    effect.  If you  are  sprite  editing (see
  2616.                                    ALT-E  command)  the  block will appear to
  2617.                                    move -between- the current layer and those
  2618.                                    below it.
  2619.  
  2620.                 [ENTER]  Saves all changes made to all layers.
  2621.  
  2622.                 [ESC]    Aborts and removes all changes made to all layers.
  2623.  
  2624.  
  2625.  
  2626.        MOVE - Move a Block
  2627.  
  2628.           Moving a block operates identically to copying a block (see above).
  2629.           The only difference is the block  is  "cut"  out  from  the current
  2630.           screen, leaving a hole behind.  This hole is filled with spaces and
  2631.           the current  default  background  color  (see  ALT-D  regarding the
  2632.           default background  color).   All sub-commands are identical to the
  2633.           block copy described above.
  2634.  
  2635.  
  2636.  
  2637.  
  2638.        TheDraw v4.00         TheDraw Command Functions              34       
  2639.  
  2640.  
  2641.  
  2642.  
  2643.        FILL - Fill a Block
  2644.  
  2645.           Fills the marked block  based  on  a  specified  sub-command.   The
  2646.           available options are listed below:
  2647.  
  2648.                 Attribute - Changes  both  foreground  and  background  color
  2649.                             attributes  to  current  values  shown  in status
  2650.                             line.
  2651.  
  2652.                 Fore      - Changes just  the foreground  color attributes to
  2653.                             current values shown in status line.
  2654.  
  2655.                 bacK      - Changes just  the background  color attributes to
  2656.                             current values shown in status line.
  2657.  
  2658.                 Use       - Changes  both  foreground  and  background  color
  2659.                             attributes to those  under  the  CURSOR  when you
  2660.                             first pressed  ALT-B.  This is not the upper-left
  2661.                             block corner, but the position on  the screen the
  2662.                             cursor  was  sitting  when  block  commands  were
  2663.                             first selected.
  2664.  
  2665.                 Character - Prompts  for  a  keyboard  character  or  special
  2666.                             function set  symbol (see  ALT-F command).  Solid
  2667.                             spaces can be used by pressing  Shift-Space.  The
  2668.                             block  is  then  overwritten  using  whatever was
  2669.                             selected.  The color  attributes at  a given spot
  2670.                             are not changed, just the character there.  
  2671.  
  2672.                 Both      - Combines  both  the  Attribute and Character fill
  2673.                             operations  described  above.    A  character  is
  2674.                             prompted  for,  then  everything  in the block is
  2675.                             overwritten using that character with the current
  2676.                             color attributes from the status line.
  2677.  
  2678.  
  2679.           These  commands  offer  much  flexibility;  however,  nothing  will
  2680.           satisfy everyone.   For  this reason,  the "last  block" option was
  2681.           added.  To perform multiple fill operations on a given block is now
  2682.           done quickly and easily.
  2683.  
  2684.           ----
  2685.  
  2686.           Note: In animation mode, the Attribute, Fore, bacK, and Use options
  2687.                 actually change  characters in the animation sequence (no new
  2688.                 characters are added).  Use of  the Character  or Both option
  2689.                 in Animator  mode however  WILL add  additional characters to
  2690.                 the animation sequence.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.        TheDraw v4.00         TheDraw Command Functions              35       
  2697.  
  2698.  
  2699.  
  2700.  
  2701.        TEXT - Block Text Operations
  2702.  
  2703.           Performs various text operations on the specified block.  Available
  2704.           sub-commands are:
  2705.  
  2706.                 Box     - Draws a  box using  the current  function set.  The
  2707.                           box border is defined by  the  edges  of  the block
  2708.                           area.   The contents of the box are left unchanged,
  2709.                           however anything where the  box lines  are actually
  2710.                           drawn will be overwritten.
  2711.  
  2712.                 Outline - Operates  similar  to  the  Box command, except the
  2713.                           contents of the block are examined first.   The box
  2714.                           border  will  be  adjusted  to just accommodate all
  2715.                           words either fully or  partially  contained  by the
  2716.                           block area.
  2717.  
  2718.                           For instance,  assume you just had one character in
  2719.                           the center of the edit screen.   You  then mark the
  2720.                           entire screen  as a block, and select text outline.
  2721.                           The result would only be  a  small  box  around the
  2722.                           character.    Going  the  other  way,  if you block
  2723.                           marked just the center letter of a long  word (with
  2724.                           no  spaces)   the  block   edges  would  expand  to
  2725.                           accommodate the entire word.    Note: the expansion
  2726.                           is only done for words INITIALLY part of the block.
  2727.                           Any words  the block  expansion happens  to go over
  2728.                           are  ignored,   and  are  not  considered  by  Text
  2729.                           Outline.
  2730.  
  2731.                 Center  - Text contained or partially contained by  the block
  2732.                           is centered.   The  way this  is done is similar to
  2733.                           the text Outline described  above.    Each  line of
  2734.                           characters considered  is expanded  to just enclose
  2735.                           all words.  The string of words is then centered on
  2736.                           the position of the block.
  2737.  
  2738.                 Left    - Text contained  or partially  contained is moved to
  2739.                           the left edge of the  block.    Block  expansion is
  2740.                           used so words are not split apart.
  2741.  
  2742.                 Right   - Identical  to  Left  except  contained or partially
  2743.                           contained text is moved  to the  right edge  of the
  2744.                           block.
  2745.  
  2746.  
  2747.           These  commands  are  useful  making  menu  displays,  short memos,
  2748.           letters, etc... 
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.        TheDraw v4.00         TheDraw Command Functions              36       
  2755.  
  2756.  
  2757.  
  2758.  
  2759.        DELETE - Delete a Block
  2760.  
  2761.           This command is fairly intuitive.  The block is completely removed.
  2762.           Anything on the edit screen to the right of the block is shift over
  2763.           to fill in the space.  The area previously occupied  by the shifted
  2764.           text is  erased using  spaces and the default background color (see
  2765.           the ALT-D).
  2766.  
  2767.  
  2768.        ERASE - Erase a Block
  2769.  
  2770.           Erases the block, without  changing anything  other portion  of the
  2771.           edit  screen.    The  block  is erased using spaces and the default
  2772.           background color (see ALT-D).
  2773.  
  2774.  
  2775.        REPLACE - Block Character/Color Replace
  2776.  
  2777.           Performs character  and/or  color  attribute  replacement  on block
  2778.           based on  specified sub-command.  The pattern is whatever was under
  2779.           the cursor when ALT-G was  selected.    The  available  options are
  2780.           shown below (these are similar to the Fill options):
  2781.  
  2782.                 Attribute -   Searches  both  foreground and background color
  2783.                               attributes,  then  replaces  all  matches  with
  2784.                               current values shown on status line.
  2785.  
  2786.                 Fore       -  Searches and replaces just the foreground color
  2787.                               attributes with current value.
  2788.  
  2789.                 bacK       -  Searches and replaces just the background color
  2790.                               attributes with current value.
  2791.  
  2792.                 Character -   Prompts  for  a  keyboard  character or special
  2793.                               function set symbol (see ALT-F command).  Solid
  2794.                               spaces  can  be  used  by pressing Shift-Space.
  2795.                               The block is then  searched and  all characters
  2796.                               matching the  pattern are replaced with the new
  2797.                               selection.  Color  attributes  at  any position
  2798.                               are not changed, just character values.
  2799.  
  2800.                 Both       -  Combines  both   the  Attribute  and  Character
  2801.                               operations  described  above.    A  replacement
  2802.                               character is  prompted for,  then everything on
  2803.                               the screen matching the pattern (both character
  2804.                               and fore/back  attributes) is replaced with the
  2805.                               character and current colors. 
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.        TheDraw v4.00         TheDraw Command Functions              37       
  2813.  
  2814.  
  2815.  
  2816.        The following  commands are  available only  in normal (non-animation)
  2817.        screen edit mode:
  2818.  
  2819.        LOAD - Load a Block
  2820.  
  2821.           Imports a block of data from another screen saved on disk.  You are
  2822.           first prompted for the  import filespec  (see ALT-L  for details on
  2823.           loading files).  
  2824.  
  2825.           The import  image is  then loaded  onto the screen, and an inverted
  2826.           area of the defined block size  appears.   Move this  inverted area
  2827.           using arrow  keys, PgUp,  PgDn, Home  or End to the wanted portion.
  2828.           Press [ENTER] to save a copy of the  inverted area  in the original
  2829.           edit screen.  The rest of the import image is discarded.
  2830.  
  2831.  
  2832.        SAVE - Save a Block
  2833.  
  2834.           Operates almost  identically to the normal save screen command (see
  2835.           ALT-S for information on  saving  edit  screens).    The difference
  2836.           being the save is restricted to the defined block.   
  2837.  
  2838.  
  2839.        The following command is available only in animation edit mode:
  2840.  
  2841.        RESCAN - Rescan a Block
  2842.  
  2843.           Operates just  like the  ALT-J animator  rescan option, except only
  2844.           the marked block is rescanned.   The  marked  block  area  is first
  2845.           erased from the animation sequence, then the block is rescanned and
  2846.           added onto the end of sequence.
  2847.  
  2848.  
  2849.  
  2850.  
  2851.                             ALT-C: CLEAR CURRENT SCREEN
  2852.  
  2853.        The operation of this command should be apparent.  Once  selected, the
  2854.        following prompt appears:
  2855.  
  2856.           Do you want to CLEAR this Page or All Page Layers? (Yes/No/All)
  2857.  
  2858.        Selecting [Y]es  or pressing [ENTER] will clear the current page layer
  2859.        and nothing else.   Selecting [N]o  or pressing  [ESC] will  abort the
  2860.        command.  
  2861.  
  2862.        Selecting  [A]ll  will  clear  ALL  page  layers.  You are prompted to
  2863.        verify  this  request  before  continuing.    Useful  if  you  want  a
  2864.        completely clean slate.
  2865.  
  2866.        The clearing  of a  given page  layer is  done by using spaces and the
  2867.        default background color (see ALT-D below).
  2868.  
  2869.  
  2870.        TheDraw v4.00         TheDraw Command Functions              38       
  2871.  
  2872.  
  2873.  
  2874.  
  2875.                         ALT-D: SET DEFAULT BACKGROUND COLOR
  2876.  
  2877.        The default  background color  is used  whenever TheDraw  must erase a
  2878.        portion of the screen.  Examples of commands where this is used are:
  2879.  
  2880.           o  Clear Current Screen.
  2881.           o  Block Delete, Erase, and Move.
  2882.           o  Text Operations which move words.
  2883.           o  Use of the Backspace or Delete keys to remove characters.
  2884.           o  Inserting or Deleting of Lines.
  2885.  
  2886.        All  these  commands  "clear"  an  area  of  the  screen in one way or
  2887.        another.  TheDraw does  this using  spaces and  the default background
  2888.        color specified.
  2889.  
  2890.        When you  select ALT-D,  the screen  changes to a display of available
  2891.        colors and the current default background color.  In the lower portion
  2892.        of the screen is the prompt:
  2893.  
  2894.                       Please Select Background Color (0-7): 
  2895.  
  2896.        The  cursor  will  be  flashing  after this prompt.  Select the wanted
  2897.        default background  color via  the Up/Down  arrow keys  or by directly
  2898.        entering the  number associated  with a color (see ALT-A for available
  2899.        colors).  Mouse users simply position  the mouse  on the  wanted color
  2900.        and press a button.
  2901.  
  2902.        Press [ENTER] or [ESC] to return to the edit screen.
  2903.  
  2904.  
  2905.  
  2906.  
  2907.                            ALT-E: EXCHANGE EDIT SCREENS
  2908.  
  2909.        The exchange edit screen command allows you to select a different page
  2910.        layer for editing.   Up to  eight simultaneous  layers can  be used at
  2911.        once, in  either normal  or animation  modes.  With this facility, you
  2912.        can load several images, copy/exchange parts and do much more.
  2913.  
  2914.        After pressing ALT-E, the following prompt appears:
  2915.  
  2916.              Display Page Layer (1-8), Toggle Single/Layers, or [ESC]?
  2917.  
  2918.        The number of available  layers (8  here) will  vary depending  on how
  2919.        TheDraw has been configured.  To select a different page layer, simply
  2920.        press the number.   The second  option, [T]oggle  Single/Layers, is to
  2921.        toggle  the  sprite  editing  facility  of  TheDraw.    Sprite mode is
  2922.        indicated by the word  "Page" or  "Anim" appearing  in capital letters
  2923.        on the status line (ie: PAGE).
  2924.  
  2925.  
  2926.  
  2927.  
  2928.        TheDraw v4.00         TheDraw Command Functions              39       
  2929.  
  2930.  
  2931.  
  2932.  
  2933.        Sprite editing  allows you  to see everything "underneath" the current
  2934.        page layer.  Imagine several sheets  of glass,  stacked on  top of one
  2935.        another.    If  you  look  down  from  the top-most sheet, you can see
  2936.        anything placed on a piece of glass lower down.
  2937.  
  2938.        The sprite  editing mode  of TheDraw  is akin  to the  layers of glass
  2939.        described above.   In  this case,  layer one  is the top-most sheet of
  2940.        glass.  Page layer eight (8) is the bottom-most sheet of glass.  ie:
  2941.  
  2942.                                        ┌────────┐
  2943.                                       .│      . │        
  2944.                                     .  │    .   │ Bottom-Most Layer
  2945.                                  ┌────────┐    8│
  2946.                                ┌─┴──────┐ │─────┘
  2947.                              ┌─┴──────┐ │ │   .
  2948.                              │        │ │3│ .  
  2949.               Top-Most Layer │        │2├─┘
  2950.                              │       1├─┘
  2951.                              └────────┘
  2952.  
  2953.        Naturally, an  object  or  character  closer  to  the  top  will cover
  2954.        anything under  it.  In TheDraw, anything other than a non-solid black
  2955.        space will conceal the contents of a lower layer (see  SHIFT-SPACE for
  2956.        information on solid spaces).
  2957.  
  2958.        Another useful  feature about  sprite editing is only the current page
  2959.        layer may be changed.  Nothing you do will alter a layer  below (short
  2960.        of clearing  all layers),  even though  you can see its contents.  The
  2961.        current layer can be globally moved,  have lines  inserted or deleted,
  2962.        etc...    Anything  lower  down  is  protected unless you specifically
  2963.        change to that page layer for editing.  
  2964.  
  2965.        The question than now comes to mind is:  What can be done with it?  
  2966.        Imagine you have a  screen  made  of  several  distinct  parts,  say a
  2967.        backdrop with  figures on it.  Now a figure must be moved to make room
  2968.        for something  else.   Unless "block"  shaped, the  block move command
  2969.        (ALT-B) is  tedious to  use.  For something tree shaped, an easier way
  2970.        is desired.
  2971.  
  2972.        Using sprite editing each figure could  have its  own layer,  with the
  2973.        backdrop  placed  on  the  bottom-most  page.    To move a figure, you
  2974.        merely switch to its layer and  use  the  global  screen  move command
  2975.        (ALT-G,M).    Nothing  could  be  simpler.   To see the result of your
  2976.        change, switch back to the top-most layer.
  2977.  
  2978.        Menu making is made easier with sprites also.  Put  together the basic
  2979.        outline (lines,  boxes, etc...)  on one page layer, then switch to one
  2980.        higher up for the text.  If you do not like the  initial text, erasing
  2981.        it will  not harm  the outline.   There are endless more possibilities
  2982.        waiting to be discovered.
  2983.  
  2984.  
  2985.  
  2986.        TheDraw v4.00         TheDraw Command Functions              40       
  2987.  
  2988.  
  2989.  
  2990.  
  2991.                            ALT-F: VIEW FUNCTION KEY SETS
  2992.  
  2993.        This command simply shows a  display  of  the  150  special characters
  2994.        supported by TheDraw.  These characters are stored in fifteen separate
  2995.        "function key sets".  The current  set  is  displayed  on  the TheDraw
  2996.        status line.
  2997.  
  2998.        Selecting function  key sets  is divided between two commands.  To use
  2999.        function key sets 1 to 10, press ALT followed by  a function  key 1 to
  3000.        10.   To use  function key  sets 11  to 15,  press CTRL  followed by a
  3001.        function key 1 to 5.  ie: 
  3002.  
  3003.                        ALT-F7 will select function key set 7
  3004.                       CTRL-F4 will select function key set 14
  3005.  
  3006.        The  actual  characters  are  accessed  using  the  function  keys  by
  3007.        themselves.   If function  key set 7 was selected, pressing [F2] would
  3008.        display the second character in that set (a smiley face).
  3009.  
  3010.        Note:    Appendix  C  contains  a  list  of   all  special  characters
  3011.                 supported  by  the  IBM-PC  extended character set in numeric
  3012.                 order.    To  access  these  characters  -without-  using the
  3013.                 function  key  sets,  press  and  hold down the ALT key.  Now
  3014.                 using the numeric keypad on the side of the keyboard, type in
  3015.                 the number  associated with the wanted character.  Once done,
  3016.                 release the ALT key.  The  character will  then appear.   ie:
  3017.                 press and  hold ALT.   Now type 65 on the numeric keypad, and
  3018.                 release ALT.  The letter "A" will appear.
  3019.  
  3020.  
  3021.  
  3022.  
  3023.                               ALT-G: GLOBAL COMMANDS
  3024.  
  3025.        The global commands offer many facilities  for doing  "global" changes
  3026.        to the  entire screen.  All of these commands could be duplicated with
  3027.        block  operations;  they  exist   for  convenience.     The  following
  3028.        selections are available:
  3029.  
  3030.           o  Copy the current screen to another page layer.
  3031.           o  Move/Rotate the current screen around its borders.
  3032.           o  Globally fill the screen with colors and/or characters.
  3033.           o  Perform text operations globally on the screen.
  3034.           o  Globally replace a character or color with something else.
  3035.  
  3036.        After  pressing  ALT-G  the  available  commands are listed.  The menu
  3037.        items are described on the following pages.
  3038.  
  3039.  
  3040.  
  3041.  
  3042.  
  3043.  
  3044.        TheDraw v4.00         TheDraw Command Functions              41       
  3045.  
  3046.  
  3047.  
  3048.  
  3049.        COPY - Copy Screen
  3050.  
  3051.           The command first prompts  for the  destination page.   The current
  3052.           screen is then copied to the specified page layer.  
  3053.  
  3054.           In  animation  mode,  this  deletes  everything  on the destination
  3055.           layer.  The current screen is then copied item by item to it.
  3056.           
  3057.  
  3058.        MOVE - Move/Rotate Screen
  3059.  
  3060.           Moves the entire screen around its borders.  Use the arrows keys to
  3061.           rotate the  screen.  Press [ENTER] when satisfied or [ESC] to leave
  3062.           the screen as it was.   ie: moving the screen upwards will "rotate"
  3063.           the line at the top of the screen down to the bottom of the screen.
  3064.  
  3065.  
  3066.        FILL - Fill Screen
  3067.  
  3068.           Fills  the  entire  screen  based  on a specified sub-command.  The
  3069.           available options are listed  below  (these  are  identical  to the
  3070.           block fill commands):
  3071.  
  3072.                 Attribute - Changes  both  foreground  and  background  color
  3073.                             attributes  to  current  values  shown  in status
  3074.                             line.
  3075.  
  3076.                 Fore      - Changes just  the foreground  color attributes to
  3077.                             current values shown in status line.
  3078.  
  3079.                 bacK      - Changes just  the background  color attributes to
  3080.                             current values shown in status line.
  3081.  
  3082.                 Use       - Changes  both  foreground  and  background  color
  3083.                             attributes to those  under  the  CURSOR  when you
  3084.                             first pressed ALT-G.  This is the position on the
  3085.                             screen  the   cursor  was   sitting  when  global
  3086.                             commands were selected.
  3087.  
  3088.                 Character - Prompts  for  a  keyboard  character  or  special
  3089.                             function set symbol (see  ALT-F command).   Solid
  3090.                             spaces can  be used by pressing Shift-Space.  The
  3091.                             screen is  then  overwritten  using  whatever was
  3092.                             selected.    The  color  attributes  at any given
  3093.                             position are not changed,  just the  character at
  3094.                             that position.
  3095.  
  3096.  
  3097.  
  3098.  
  3099.  
  3100.  
  3101.  
  3102.        TheDraw v4.00         TheDraw Command Functions              42       
  3103.  
  3104.  
  3105.  
  3106.  
  3107.                 Both      - Combines  both  the  Attribute and Character fill
  3108.                             operations  described  above.    A  character  is
  3109.                             prompted  for,  then  everything on the screen is
  3110.                             overwritten using that character with the current
  3111.                             color attributes from the status line.
  3112.  
  3113.  
  3114.           In animation  mode, the Attribute, Fore, bacK, and Use options only
  3115.           alter characters already in  the animation  sequence (no additional
  3116.           characters are  added).  The Character or Both options however WILL
  3117.           add additional characters to the animation sequence.
  3118.  
  3119.         
  3120.        TEXT - Global Text Operations
  3121.  
  3122.           Performs various text operations on  the  screen.    Available sub-
  3123.           commands are:
  3124.  
  3125.                 Box     - Draws a  box using  the current  function set.  The
  3126.                           box border will be the defined by the  edges of the
  3127.                           screen.   The inside  of the box is left unchanged,
  3128.                           however anything where the  box lines  are actually
  3129.                           drawn will be overwritten.
  3130.  
  3131.                 Outline - Operates  similar  to  the Box command, however the
  3132.                           contents of the block are examined first.   The box
  3133.                           border  will  be  adjusted  to just accommodate all
  3134.                           words contained by the screen.
  3135.  
  3136.                           For instance, assume you just had  one character in
  3137.                           the center of the edit screen.  The result of using
  3138.                           global text  outline  would  only  be  a  small box
  3139.                           around the character.
  3140.  
  3141.                 Center  - Text in  the screen  is centered.   The way this is
  3142.                           done  is  similar  to  the  text  Outline described
  3143.                           above.    Each  line  of  characters  considered is
  3144.                           reduced to just enclose all words.   The  string of
  3145.                           words is then centered in the screen.
  3146.  
  3147.                 Left    - Text is moved to the left edge of the screen.  
  3148.  
  3149.                 Right   - Identical to Left except text is moved to the right
  3150.                           edge of the screen.
  3151.  
  3152.  
  3153.  
  3154.  
  3155.  
  3156.  
  3157.  
  3158.  
  3159.  
  3160.        TheDraw v4.00         TheDraw Command Functions              43       
  3161.  
  3162.  
  3163.  
  3164.  
  3165.        REPLACE - Global Character/Color Replace
  3166.  
  3167.           Performs character and/or  color  attribute  replacement  on entire
  3168.           screen based on specified sub-command.  The pattern is whatever was
  3169.           under the cursor when  ALT-G was  selected.   The available options
  3170.           are shown below (these are similar to the Fill options):
  3171.  
  3172.                 Attribute -   Searches  both  foreground and background color
  3173.                               attributes,  then  replaces  all  matches  with
  3174.                               current values shown on status line.
  3175.  
  3176.                 Fore       -  Searches and replaces just the foreground color
  3177.                               attributes with current value.
  3178.  
  3179.                 bacK       -  Searches and replaces just the background color
  3180.                               attributes with current value.
  3181.  
  3182.                 Character -   Prompts  for  a  keyboard  character or special
  3183.                               function set symbol (see ALT-F command).  Solid
  3184.                               spaces  can  be  used  by pressing Shift-Space.
  3185.                               The screen is then searched and  all characters
  3186.                               matching the  pattern are replaced with the new
  3187.                               selection.  Color  attributes  at  any position
  3188.                               are not changed, just character values.
  3189.  
  3190.                 Both       -  Combines  both   the  Attribute  and  Character
  3191.                               operations  described  above.    A  replacement
  3192.                               character is  prompted for,  then everything on
  3193.                               the screen matching the pattern (both character
  3194.                               and fore/back  attributes) is replaced with the
  3195.                               character and current colors. 
  3196.  
  3197.           These commands operate similar to the block action text commands.
  3198.  
  3199.  
  3200.  
  3201.  
  3202.                           ALT-H: DISPLAY HELP INFORMATION
  3203.  
  3204.        The help  screens provide  a quick  reminder for  the various commands
  3205.        supported  by  TheDraw.    The  three  screens  briefly  describe most
  3206.        available functions.
  3207.  
  3208.        The registered  version of  TheDraw supports  context sensitive pop-up
  3209.        help  for  the  ENTIRE  program.    Typing  ALT-H at any position will
  3210.        display specific help on what you are doing.  Try it, you'll like it!
  3211.  
  3212.  
  3213.  
  3214.  
  3215.  
  3216.  
  3217.  
  3218.        TheDraw v4.00         TheDraw Command Functions              44       
  3219.  
  3220.  
  3221.  
  3222.  
  3223.                                ALT-I: INSERT A LINE
  3224.  
  3225.        Inserts a  line at  the current  position.   The current  line and all
  3226.        those  below  it  are  shifted  down.   The bottom line is lost.  This
  3227.        command is not reversible, so use with care.
  3228.  
  3229.  
  3230.  
  3231.  
  3232.                               ALT-J: ANIMATOR OPTIONS
  3233.  
  3234.        The Animator Options command  operates differently  depending on which
  3235.        mode you are currently in (normal or animator).
  3236.  
  3237.  
  3238.        ALT-J FROM NORMAL MODE
  3239.        ______________________________________________________________________
  3240.  
  3241.        When in  normal mode,  selecting ALT-J will put TheDraw into animation
  3242.        mode.  To convert the existing normal screen images (static images) to
  3243.        animation entries,  a "scan method" must be specified.  The particular
  3244.        scan method used tells TheDraw how  to  read  your  static  images for
  3245.        display.  Ten different scan methods are available:
  3246.  
  3247.        TOP - Scan Top to Bottom
  3248.  
  3249.           The static  page layers are scanned from their upper-left to lower-
  3250.           right corners.  The scan goes  across the  screen (left  to right).
  3251.           The next line down is then scanned, and so on.
  3252.  
  3253.  
  3254.        LEFT - Scan Left to Right
  3255.  
  3256.           Similar  to  TOP,  except  the  scan  goes  down the screen (top to
  3257.           bottom).  The next column over is then scanned, and so on.
  3258.  
  3259.  
  3260.        CLOCK - Clock Arm Scan
  3261.  
  3262.           Scans in clockwise direction from center  of screen  to border edge
  3263.           around screen.  Appears somewhat like a growing pie-slice.
  3264.  
  3265.  
  3266.        CIRCLES - Circular Ring Scan
  3267.  
  3268.           Scans image in ever growing circles from center of screen outwards.
  3269.           ie:  small circle, then slightly  larger encompassing  circle, then
  3270.           slightly larger again, etc...
  3271.  
  3272.  
  3273.  
  3274.  
  3275.  
  3276.        TheDraw v4.00         TheDraw Command Functions              45       
  3277.  
  3278.  
  3279.  
  3280.  
  3281.        CHECKERBOARD - Checkerboard Effect Scan 
  3282.  
  3283.           Scans  alternating  squares  on  first pass creating a checkerboard
  3284.           appearance, then fills in all the gaps on the second pass.
  3285.  
  3286.  
  3287.        ANGLE - Angle Scan
  3288.  
  3289.           Scans  each  static  page  layer  from  upper-left  to  lower-right
  3290.           corners, using  a backward angle approach.  ie: scan character then
  3291.           move down to next line and backup one position. 
  3292.  
  3293.                                    AAAAAAAAAA
  3294.                                    BBBBBBBBB
  3295.                                    CCCCCCCC
  3296.                                    DDDDDDD
  3297.                                    etc...
  3298.  
  3299.        GATE - Gated Scan
  3300.  
  3301.           Alternating lines scan from opposite sides  of the  screen forwards
  3302.           and backwards  going across.     The first  line will  scan left to
  3303.           right going across the screen.  The second line scans right to left
  3304.           across the  screen.  The third line scans as the first, etc...  All
  3305.           lines are processed at once, so the screen appears "gated". 
  3306.  
  3307.  
  3308.        PYRAMID - Pyramid Scan
  3309.  
  3310.           Scans in a "pyramid" shape, starting from bottom center of screen.
  3311.                                         .
  3312.                                        .D.
  3313.                                       cDCD.
  3314.                                      tDCBCD.
  3315.                                     eDCBABCD.
  3316.  
  3317.  
  3318.        SQUARES - Squares or Spiral Scan
  3319.  
  3320.           Scans static screen images using squares.  The border of the screen
  3321.           is first  scanned (progressing clockwise).  The next smaller square
  3322.           is then scanned, and so.  Produces a spiral effect.
  3323.  
  3324.  
  3325.        SCRAMBLE - Random Scramble Scan
  3326.  
  3327.           Each static page layer is scanned in a completely random order. 
  3328.  
  3329.  
  3330.  
  3331.  
  3332.  
  3333.  
  3334.        TheDraw v4.00         TheDraw Command Functions              46       
  3335.  
  3336.  
  3337.  
  3338.  
  3339.        DOOR - Closing Door Scan
  3340.  
  3341.           Screen is scanned from top to  bottom, on  both sides  of screen at
  3342.           once.  Gives the impression of doors closing on the user.
  3343.  
  3344.  
  3345.        DIAMOND - Growing Diamond Scan
  3346.  
  3347.           Scans image using ever growing diamond shapes from center of screen
  3348.           outwards.  Mildly similar to the circle scan in operation.
  3349.  
  3350.  
  3351.        WIGGLE - Wiggle Scan
  3352.  
  3353.           Similar to GATE, except only  one  line  is  processed  at  a time.
  3354.           Produces a  snaking line  appearance starting  from the  top of the
  3355.           screen.  Scan first goes across screen, then returns on  next.  The
  3356.           cycle is then repeated.
  3357.  
  3358.  
  3359.        WIGGLEOUT - Wiggle Out Scan
  3360.  
  3361.           Starts in  center of screen with wiggle operation going both up and
  3362.           down at once.
  3363.  
  3364.  
  3365.        Once the animation  scan  is  completed,  the  screen  is  cleared and
  3366.        redrawn.    At  this  point  TheDraw will operate normally, except all
  3367.        entries are sequenced by the animation  system.   Please refer  to the
  3368.        section "The Animation System" for more details on its use.
  3369.  
  3370.        If you have ideas for more animation scanners, please send them!
  3371.  
  3372.  
  3373.  
  3374.  
  3375.        ALT-J FROM ANIMATOR MODE
  3376.        ______________________________________________________________________
  3377.  
  3378.        Once in animator mode, selecting ALT-J presents several facilities for
  3379.        managing the animation system.  The following commands are available:
  3380.  
  3381.           o  Specify Animation Include Files
  3382.           o  Specify User Control Sequences
  3383.           o  Toggle storing of cursor movements
  3384.           o  Convert animation screens to normal mode static screen images
  3385.           o  Rescan current animation screen
  3386.           o  Enter a pause into the animation sequence
  3387.  
  3388.  
  3389.  
  3390.  
  3391.  
  3392.        TheDraw v4.00         TheDraw Command Functions              47       
  3393.  
  3394.  
  3395.  
  3396.  
  3397.        The registered version of TheDraw also supports:
  3398.  
  3399.           o  Animation Position Editing (Sequence Limiting)
  3400.           o  Specify Animation Markers
  3401.  
  3402.        Each item on the menu is described below:
  3403.  
  3404.  
  3405.        INCLUDE - Specify Animation Include File
  3406.  
  3407.           When creating an ANSI  file, TheDraw  allows you  to "include" text
  3408.           from other files in the new one being created.  Ten different files
  3409.           can be included at various points in the sequence.
  3410.  
  3411.           When TheDraw includes another  file, its  contents are  copied into
  3412.           the new  output file  TheDraw is making.  Once the output Ansi file
  3413.           is created, the include file is not needed again.  The include file
  3414.           need only be present when TheDraw is actually copying text from it.
  3415.  
  3416.           Include files are only accessed  when  TheDraw  is  saving  a file.
  3417.           They are  ignored by  ALT-Q.   If you  wish to  see what everything
  3418.           looks like before saving, use the View option described below.
  3419.  
  3420.           Upon choosing the INCLUDE  option,  a  window  will  appear  on the
  3421.           screen.   All currently defined include files will be listed, along
  3422.           with their positions in the animation sequence.  The following sub-
  3423.           commands are available:
  3424.  
  3425.              SET   - Sets an  include file at the current animation position.
  3426.                      In the shareware version of TheDraw, this will always be
  3427.                      the end of the current animation sequence.  
  3428.  
  3429.                      In the registered version, this is the current animation
  3430.                      limit position.  This allows include files to  be easily
  3431.                      specified  "after  the  fact", anywhere in the animation
  3432.                      sequence (see Limit below).
  3433.  
  3434.              CLEAR - Erases the include file entry you specify.  No verify is
  3435.                      done before the entry is deleted, so be warned.
  3436.  
  3437.              VIEW  - Displays  the   entire  animation   sequence,  with  all
  3438.                      specified include  files.   Very useful  for testing the
  3439.                      appearance of things.
  3440.  
  3441.  
  3442.           Press [ESC]  once when done editing the include files.  All changes
  3443.           are saved.
  3444.  
  3445.  
  3446.  
  3447.  
  3448.  
  3449.  
  3450.        TheDraw v4.00         TheDraw Command Functions              48       
  3451.  
  3452.  
  3453.  
  3454.           ANSI MUSIC
  3455.  
  3456.              Animation include files are  especially useful  for including so
  3457.              called "Ansi  Music" sequences into a TheDraw image.  Ansi Music
  3458.              is not part of  the standard  Ansi driver.   It  is an extension
  3459.              found in  certain modem communication programs (such as Qmodem).
  3460.              Please note  that  TheDraw  cannot  generate  Ansi  Music source
  3461.              sequences.  The code format of Ansi Music is as follows:
  3462.  
  3463.                        <esc>[MF<music control codes><ctrl-N>
  3464.                          │                             │
  3465.                        ascii 27                     ascii 14  
  3466.  
  3467.              The  <music  control  codes>  is  a  string of music descriptors
  3468.              identical to those used in the Basic PLAY  command.   Refer to a
  3469.              Basic language reference manual for further information.
  3470.  
  3471.              Other uses  are often  used images  or complex  BBS control code
  3472.              sequences (for systems such as WildCat).   The  following option
  3473.              is more suitable for the latter however.
  3474.         
  3475.  
  3476.        USER_SEQ - Specify Animation User Control Sequence
  3477.  
  3478.           Allows you to insert your own short control code sequences directly
  3479.           into the Ansi file output TheDraw generates.   Extremely useful for
  3480.           BBS  control  codes  (ie:  for  user  names and such), or inserting
  3481.           special extra Ansi  codes  into  the  animation  (ie:  clearing the
  3482.           display midstream,  or causing an image to scroll).  User Sequences
  3483.           are only referred to when TheDraw  saves a  file, and  are not used
  3484.           when redrawing (see ALT-Q).  
  3485.  
  3486.           Upon  choosing  the  USER_SEQ  option,  a window will appear on the
  3487.           screen.  All  currently  defined  user  control  sequences  will be
  3488.           listed, along  with their positions in the animation sequence.  The
  3489.           following sub-commands are available:
  3490.  
  3491.              SET   - Sets a user sequence at the  current animation position.
  3492.                      In the shareware version of TheDraw, this will always be
  3493.                      the end of the current animation sequence.  
  3494.  
  3495.                      In the registered version, this is the current animation
  3496.                      limit position.   This allows control codes to be easily
  3497.                      specified after a screen has been  made, anywhere during
  3498.                      the display of the animation sequence (see Limit below).
  3499.  
  3500.              CLEAR - Removes the  user sequence entry you specify.  No verify
  3501.                      is done before the entry is deleted, so be warned.
  3502.  
  3503.              VIEW  - Displays the  animation  sequence,  up  to  the position
  3504.                      where  the  specified  user  sequence  is  to be output.
  3505.                      Useful for jogging your memory.
  3506.  
  3507.  
  3508.        TheDraw v4.00         TheDraw Command Functions              49       
  3509.  
  3510.  
  3511.  
  3512.  
  3513.        LIMIT - Specify Animation Limit (registered version only)
  3514.  
  3515.           The animation limit facility of  TheDraw  provides  for  a powerful
  3516.           animation editing system.  You can easily correct mistakes, insert,
  3517.           delete or do anything else in the MIDDLE of any animation sequence.
  3518.  
  3519.           To use limiting, you tell  TheDraw  where  to  stop  displaying the
  3520.           animation sequence.   For  example, assume  you had a sequence with
  3521.           5000 entries.  You could  limit  it  to  2000,  correct  a spelling
  3522.           mistake, then  quickly reset the limit back to 5000.  With limiting
  3523.           turned on TheDraw operates as always,  except everything  above the
  3524.           animation limit is temporarily held out of the way.
  3525.  
  3526.           Upon choosing the LIMIT option, you can specify the animation limit
  3527.           position by means of the following keys:
  3528.  
  3529.              Up/Down Arrows   Advance/Backup limit by one position.
  3530.              PgUp/PgDn        Advance/Backup limit by 100 positions.
  3531.              Home             Go to start of sequence (position = 0).
  3532.              End              Go to end of sequence (all entries).
  3533.  
  3534.              marKer           Move to the position of an animation marker. 
  3535.                               Selecting this command displays a window of all
  3536.                               currently   set   animation   markers.    After
  3537.                               choosing a marker, the animation limit moves to
  3538.                               the position  of the marker.  Assuming you have
  3539.                               set markers in  strategic  places,  this allows
  3540.                               you  to  quickly  bounce  around  an  animation
  3541.                               sequence looking for a particular spot.
  3542.  
  3543.           Press [ENTER] to save the  new  animation  limit.    Pressing [ESC]
  3544.           leaves the original animation limit position unchanged.
  3545.  
  3546.  
  3547.        MARKER - Specify Animation Markers (registered version only)
  3548.  
  3549.           Markers  are  used  to  "mark"  different  places  in the animation
  3550.           sequence for later reference.  Once  set, markers  can be  used for
  3551.           changing the  animation limit position (see above) and viewing just
  3552.           portions of the  animation  sequence.      They  can  be  useful in
  3553.           locating things  forgotten or set aside until later, editing images
  3554.           a page at a time, etc...
  3555.  
  3556.           Upon choosing the  MARKER  option,  a  window  will  appear  on the
  3557.           screen.  All currently defined markers are listed, along with their
  3558.           position in the animation sequence.  
  3559.  
  3560.  
  3561.  
  3562.  
  3563.  
  3564.  
  3565.  
  3566.        TheDraw v4.00         TheDraw Command Functions              50       
  3567.  
  3568.  
  3569.  
  3570.  
  3571.           The following sub-commands are available:
  3572.  
  3573.              SET   - Sets a marker at the current animation limit position.  
  3574.                      This allows markers to  be easily  specified anywhere in
  3575.                      the animation  sequence.   You are first be prompted for
  3576.                      which marker to change.  If  the marker  is already set,
  3577.                      it will  be erased before continuing.  After you specify
  3578.                      a marker, you can then enter a comment (32 characters).
  3579.  
  3580.              CLEAR - Erases the marker you specify.  No verify is done before
  3581.                      the entry is deleted, so be warned.
  3582.  
  3583.              VIEW  - Displays  the  animation  sequence,  up  to  a specified
  3584.                      marker.  Useful for  reminding yourself  of what happens
  3585.                      early in a 16000 entry animation sequence.
  3586.  
  3587.           Press [ESC] once done editing markers.  All changes are saved.
  3588.  
  3589.  
  3590.  
  3591.        MOVEMENT - Toggle Storage of Cursor Movements
  3592.  
  3593.           Toggles  whether  or  not  TheDraw  stores  actual movements of the
  3594.           cursor.  Normally only typed characters  are recorded;  however, if
  3595.           the cursor  movement toggle  is on  all movements of the cursor are
  3596.           also stored.  Cursor movements are  being stored  whenever the ANIM
  3597.           symbol in  the status line is flashing.  If you are still in doubt,
  3598.           watch the animation entry count.  It will  increase every  time you
  3599.           move the cursor. 
  3600.  
  3601.  
  3602.        NORMAL - Convert to Normal Edit Mode.
  3603.  
  3604.           Converts what  appears on  the screen  to normal  mode images.  All
  3605.           animation is erased after  executing this  command.   You are first
  3606.           prompted to verify this before continuing.
  3607.  
  3608.           In  the  registered  version,  anything  not  displayed  because of
  3609.           animation limiting is lost.    Only  what  appears  exactly  on the
  3610.           screen when  you select  this command  is converted  to normal mode
  3611.           images.
  3612.  
  3613.  
  3614.  
  3615.  
  3616.  
  3617.  
  3618.  
  3619.  
  3620.  
  3621.  
  3622.  
  3623.  
  3624.        TheDraw v4.00         TheDraw Command Functions              51       
  3625.  
  3626.  
  3627.  
  3628.  
  3629.        RESCAN - Rescan the Screens
  3630.  
  3631.           Selecting this command prompts  for  an  animation  scan  method as
  3632.           described above  in the ALT-J FROM NORMAL MODE section.  Everything
  3633.           in the animation sequence is first erased, then  the images  on the
  3634.           screens are rescanned.   
  3635.  
  3636.           In  the  registered  version,  any animation sequence not displayed
  3637.           because of animation limiting  is  NOT  lost.    It  will  still be
  3638.           available  after  this  operation  is  done.  This differs from the
  3639.           above sub-option and permits rebuilding something which did not cut
  3640.           it the first time.
  3641.  
  3642.  
  3643.        PAUSE - Animation Pausing
  3644.  
  3645.           Allows  for  the  putting  of  pauses  into the animation sequence.
  3646.           TheDraw can wait for either a  key press  or a  specified number of
  3647.           seconds.   There is  no limit on pauses and they may occur anywhere
  3648.           in  the  animation  sequence.      This  can  be  very   useful  in
  3649.           presentations.
  3650.  
  3651.           After selecting PAUSE, the following sub-commands are available:
  3652.  
  3653.              TIME_PAUSE       Creates  a  pause  for  a  specified  number of
  3654.                               seconds (the pause can  be aborted  by pressing
  3655.                               any  key  when  actually  displayed).   You are
  3656.                               prompted for the number of seconds to delay.
  3657.  
  3658.              KEY_ONLY_PAUSE   Creates a pause for a key to be pressed.
  3659.  
  3660.              CLEAR            Erases  pauses  from  the  animation  sequence.
  3661.                               TheDraw  searches  backwards  from  the current
  3662.                               animation position for  a  Pause.    If  one is
  3663.                               found, you  can DELETE,  VIEW up to this pause,
  3664.                               or scan for the  NEXT  pause  before  this one.
  3665.                               Press [ESC] to abort clearing a pause.
  3666.  
  3667.           Pauses are observed whenever you redraw the animation sequence with
  3668.           ALT-Q.  When you save an ANSI file, it is  not possible  to produce
  3669.           the exact  pause equivalent (pauses for a key are impossible).  For
  3670.           this reason,  a  small  separate  presentation  program  (THEPP) is
  3671.           included  with   registered  copies   of  TheDraw.    This  program
  3672.           duplicates the operation of the  ALT-Q  command,  and  uses THEDRAW
  3673.           format data files.  See section entitled "The Presentation Program"
  3674.           for information on using THEPP.
  3675.  
  3676.  
  3677.  
  3678.  
  3679.  
  3680.  
  3681.  
  3682.        TheDraw v4.00         TheDraw Command Functions              52       
  3683.  
  3684.  
  3685.  
  3686.  
  3687.                                ALT-K: DELETE A FILE 
  3688.  
  3689.        Deletes a specified file from disk.  Use this option  to free  up disk
  3690.        space when  the need  arises.   The directory file selector (see ALT-L
  3691.        below) displays everything in  the current  directory.   Use the arrow
  3692.        keys to select a file to delete, or simply type in the filename at the
  3693.        bottom of the screen.  Press [ENTER] to select the file.  
  3694.  
  3695.        TheDraw will then check for the file.  If it exists, you  are prompted
  3696.        to  verify  before  continuing.    This is your last chance before you
  3697.        delete something you might regret later.  
  3698.  
  3699.  
  3700.  
  3701.                            ALT-L: LOAD SCREEN FROM DISK
  3702.  
  3703.        This command allows you to load any ANSI  text, ANSI  Animation, ASCII
  3704.        text,  BINARY  dump,  Basic  BSAVE,  TheDraw  Object,  TheDraw COM, or
  3705.        TheDraw (.TD) format file.  
  3706.  
  3707.        You are prompted to continue if the current screen image  has not been
  3708.        saved.   The directory  file selector  next displays  all files in the
  3709.        current directory for convenience.  The selector cursor may be used to
  3710.        choose  a  file,  or  a  filename  can be typed in directly.  Move the
  3711.        selector cursor via the  arrow and  PgUp/PgDn keys.   To  see the pick
  3712.        list of  last 10  files accessed, press the TAB key.  Press [ENTER] to
  3713.        load the file.
  3714.  
  3715.        If there are many files in the directory,  a wildcard  filename can be
  3716.        used  to  display  a  partial  listing of those available.   Wildcards
  3717.        operate as found  in  Dos.    Please  refer  to  your  Dos  manual for
  3718.        additional information.  Wildcards are normally temporary, and are not
  3719.        maintained between directory invocations.  They  can be  made "sticky"
  3720.        however by use of the Setup utility.
  3721.  
  3722.        If  you  type  in  the  filename,  a  file extension is assumed unless
  3723.        otherwise specified.  The  assumed value  is ".ANS"  unless changed in
  3724.        the setup  options.   The following  file types  require the specified
  3725.        extensions for TheDraw to be able to load them: 
  3726.  
  3727.                                Binary Dump      .BIN
  3728.                                Basic BSAVE      .BSV
  3729.                                TheDraw COM File .COM
  3730.                                TheDraw OBJ File .OBJ
  3731.                                TheDraw Format   .TD
  3732.  
  3733.        (Note:  The above filename extensions can be changed in  Setup Options
  3734.        menu with TheDraw, or via the Setup Utility Defaults option).
  3735.  
  3736.  
  3737.  
  3738.  
  3739.  
  3740.        TheDraw v4.00         TheDraw Command Functions              53       
  3741.  
  3742.  
  3743.  
  3744.        A  file  without  one  of  the  above  is  assumed to be an ANSI file.
  3745.        Assembler, Pascal, and C  format files  cannot be  reloaded, except as
  3746.        Ascii  text.    You  must  keep  another  copy of those screens safely
  3747.        somewhere in one of the above loadable formats.
  3748.  
  3749.        Binary, BSave,  COM, Object  (OBJ), and  TheDraw format  files are all
  3750.        reloadable and  may contain either a full screen or small block image.
  3751.        Where a block is displayed depends upon the  file format.   Binary and
  3752.        Object formats  load in the upper-left corner.  Formatting information
  3753.        is not stored with binary blocks however, so  TheDraw will  prompt for
  3754.        block width before loading.
  3755.         
  3756.        BSave and  COM formats load in the same locations they were originally
  3757.        saved from.  The TheDraw format is more flexible however,  placing you
  3758.        automatically into block copy/move mode to position the block.
  3759.  
  3760.        When loading Ansi or Ascii, only the first screen full is stored.  Any
  3761.        extra lines below the first screen are discarded.   Do  not be alarmed
  3762.        by Ansi  files which  might be  hundreds (or thousands) of lines long.
  3763.        So long as the cursor never  goes  below  the  bottom  of  the screen,
  3764.        everything will load properly.
  3765.  
  3766.        Ansi  animation   is  automatically  detected  by  TheDraw  using  the
  3767.        following advanced system:  If the cursor suddenly moves to a place it
  3768.        normally could never go, the file must be animated. 
  3769.  
  3770.  
  3771.  
  3772.  
  3773.                               ALT-M: SELECT DRAW MODE
  3774.  
  3775.        TheDraw supports  the "drawing"  of lines.   This is easily done using
  3776.        the arrow keys while in Draw mode.   The characters used  in the lines
  3777.        are those  available via  the function  keys from the current function
  3778.        key set.  Only the first four sets of characters contain lines.   If a
  3779.        function  key  set  without  lines  is selected, the first set (single
  3780.        lines) is used.   Draw mode  is indicated  by the  word "Draw"  at the
  3781.        bottom of the screen.
  3782.  
  3783.        In draw  mode, everything  operates without  change.  Typed characters
  3784.        still appear.   The only change is that using  the arrow  keys makes a
  3785.        line appear in the direction moved.
  3786.  
  3787.  
  3788.  
  3789.  
  3790.                                    ALT-N: RULER
  3791.  
  3792.        The Ruler  command places  a pair of intersecting lines on the screen.
  3793.        The point of intersection represents the position of  the cursor.   It
  3794.        is useful for lining up rows or columns of text or figures.
  3795.  
  3796.  
  3797.  
  3798.        TheDraw v4.00         TheDraw Command Functions              54       
  3799.  
  3800.  
  3801.  
  3802.  
  3803.        The ruler  can be  moved using  all normal  cursor keys (ie: the arrow
  3804.        keys, Tab, PgUp, PgDn, Home, End, etc...).  Press [ENTER]  to save the
  3805.        new cursor  location, or  press [ESC]  to return to the initial cursor
  3806.        position.
  3807.  
  3808.        The ruler can held on the  screen during  normal editing  by selecting
  3809.        [S]ticky mode.   The  ruler will  appear under  the current layer.  To
  3810.        turn off the sticky ruler, simply select ALT-N again then press [ESC].
  3811.  
  3812.  
  3813.  
  3814.                          ALT-O: CHANGE DRIVE/SUB DIRECTORY
  3815.  
  3816.        This command allows you to change  the Dos  default directory  or path
  3817.        (displayed when  loading or  viewing a  file).  All sub-directories of
  3818.        the current path are displayed  for  you.    A  new  directory  can be
  3819.        selected by  using the  arrows keys  or typing in the pathname.  Press
  3820.        [ENTER] to change to it.  Note that the details of sub-directories are
  3821.        not covered here.  Please refer to your dos manual for that.
  3822.  
  3823.        For example,  if you  were on  drive C in a sub-directory named GAMES,
  3824.        you could switch to the subdirectory  UTILITY of  drive D  by entering
  3825.        "D:\UTILITY".    You  could  then  get  back to the directory GAMES by
  3826.        simply entering "C:" (no backslash).
  3827.  
  3828.  
  3829.  
  3830.                             Alt-P:  PAINT/FILL COMMANDS
  3831.  
  3832.        This command allows enclosed areas to be easily filled with characters
  3833.        and/or  attributes.    An  enclosed  area is made by using lines (from
  3834.        function key sets 1-4) or using the Draw command (see ALT-M).   To use
  3835.        this command, position the cursor inside the area then press ALT-P.  
  3836.  
  3837.        The following sub-commands are available:
  3838.  
  3839.          ATTRIBUTE   Changes all  foreground and  background color attributes
  3840.                      within the enclosed area  to those  values shown  in the
  3841.                      status line.
  3842.  
  3843.          FORE        Changes only  the foreground color attributes within the
  3844.                      enclosed area to the current foreground value.
  3845.  
  3846.          BACK        Changes only the background color attributes  within the
  3847.                      enclosed area to the current background value.
  3848.  
  3849.          CHARACTER   Prompts for a keyboard character or special function set
  3850.                      symbol (see ALT-F command).  Solid spaces can be used by
  3851.                      pressing Shift-Space.   All enclosed characters are then
  3852.                      overwritten using  whatever  was  specified.    No color
  3853.                      attributes are changed, just actual character symbols.
  3854.  
  3855.  
  3856.        TheDraw v4.00         TheDraw Command Functions              55       
  3857.  
  3858.  
  3859.  
  3860.  
  3861.          BOTH        Combines   both   the   Attribute  and  Character  paint
  3862.                      operations above.  A  character  is  prompted  for, then
  3863.                      everything  in   the  area  is  overwritten  using  that
  3864.                      character with the  current  color  attributes  from the
  3865.                      status line.
  3866.  
  3867.        In animation  mode, the  Character and Both options add new entries to
  3868.        the animation sequence; nothing is  deleted.    The  Attribute command
  3869.        however only changes the color attributes of characters already in the
  3870.        animation sequence.  No new entries are added.
  3871.  
  3872.  
  3873.  
  3874.                                ALT-Q: REDRAW SCREEN
  3875.                         (available in animation mode only)
  3876.  
  3877.        This command redraws the animation sequence on the screen.   With this
  3878.        you can  see how  your work  is developing.   You are prompted for the
  3879.        display speed to redraw at.  Available speeds are from  0 (fastest) to
  3880.        255 (crawl).   A  value of  about 40 is generally a good speed to view
  3881.        at.  Be warned that 255 literally is a crawl speed, displaying between
  3882.        two and  four characters  per second  (standard PC/XT).  A slow redraw
  3883.        can be broken out of by pressing any key.
  3884.  
  3885.  
  3886.  
  3887.                             ALT-R: RESTORE CURRENT LINE
  3888.  
  3889.        Restores current line to original contents.    Useful  if  you  make a
  3890.        mistake while  entering text.  Removes all changes to the line made by
  3891.        the user.  Once you move off to  a new  line however,  any changes are
  3892.        permanent.  
  3893.  
  3894.  
  3895.  
  3896.                             ALT-S: SAVE SCREEN TO DISK
  3897.  
  3898.        The  Save  Screen  command  offers  many formats for saving the entire
  3899.        current screen.    The  available  formats  are:    Ansi,  Ascii, Asm,
  3900.        Binary, BSave,  Com, C, Pascal, Object, and TheDraw.  Please note that
  3901.        all color attributes are  lost in  an Ascii  file.   All other formats
  3902.        store  the  complete  screen  with color information (unless specified
  3903.        otherwise).
  3904.  
  3905.        The entire screen is saved when  using this  command.   If you  do not
  3906.        require the  full video,  use a  block save (see ALT-B).  These can be
  3907.        more effective at times.
  3908.  
  3909.        You are first prompted for which storage format to use.   In animation
  3910.        mode, only  ANSI and  THEDRAW formats are available.  The items on the
  3911.        menu are discussed below.
  3912.  
  3913.  
  3914.        TheDraw v4.00         TheDraw Command Functions              56       
  3915.  
  3916.  
  3917.  
  3918.  
  3919.        ANSI - Ansi text file
  3920.  
  3921.           You are first asked what initial screen preparation you want before
  3922.           the image is displayed.  Options are: 
  3923.  
  3924.                 CLEAR - Clears the screen
  3925.                 HOME  - Move cursor to upper-left corner of screen
  3926.                 NONE  - Leave screen and cursor position as is.
  3927.  
  3928.           The next prompt is for the maximum length of each line in the saved
  3929.           file.   TheDraw is  capable of  producing over  1300 characters per
  3930.           screen line (if every character had a differing color combination).
  3931.           Some applications and  programs  (ie:  other  text  editors) cannot
  3932.           handle so  many characters per line.  This option limits the output
  3933.           line length sacrificing time to display the image.  If length is no
  3934.           problem, specify [N]one for the most efficient file.
  3935.  
  3936.           Lastly, you  are prompted for the Ansi display speed (a number from
  3937.           0 to 50).  The operation  is similar  to the  ALT-Q animator redraw
  3938.           screen function.   Things are slowed down by adding redundant codes
  3939.           after displayed characters.  A value  of 50  is approximately equal
  3940.           to an  ALT-Q speed  of 255  (extremely slow).  Experimentation will
  3941.           find the most appropriate speed for your needs.  
  3942.  
  3943.  
  3944.        ASCII - Ascii Text (no colors)
  3945.  
  3946.           If you select ASCII,  you are  prompted if  you really  want a non-
  3947.           color image  made before  continuing.   The Ascii  file produced is
  3948.           similar to any file  produced by  a normal  text editor  (ie: Turbo
  3949.           Pascal or Sidekick editor).  
  3950.  
  3951.           There is  one difference  in the  approach used by TheDraw however.
  3952.           Lines of Ascii that  are the  full 80  character screen  width, are
  3953.           normally NOT  terminated with  a carriage  return sequence (CR/LF).
  3954.           Such Ascii files viewed via the  Dos TYPE  command display properly
  3955.           but do  not load correctly into most other software.  Therefore, an
  3956.           option to force CR/LF was added  to the  Setup Options  menu within
  3957.           TheDraw, and  the Setup  Utility Defaults area.  Set this toggle if
  3958.           you are having difficulties.
  3959.  
  3960.  
  3961.        ASM - Assembly Language 
  3962.  
  3963.           ASM produces a list of  DB  data  statements  for  use  by assembly
  3964.           language  programmers.    Additional  sub-options  are available to
  3965.           specify the assembler data format.    You  can  specify  to Crunch,
  3966.           output only Ascii characters, or generate a normal file.  Crunching
  3967.           uses a custom technique for compressing  color changes  and strings
  3968.           of identical  characters to  make the  smallest possible  file.  To
  3969.           display  a  crunched  file  you  must  use  the  uncruncher routine
  3970.  
  3971.  
  3972.        TheDraw v4.00         TheDraw Command Functions              57       
  3973.  
  3974.  
  3975.  
  3976.           included  separately  with  TheDraw  (UNCRUNCH.ASM).  This file has
  3977.           comments explaining its  use.    It  is  compatible  with Microsoft
  3978.           (MASM) and  Borland (TASM)  assemblers.   Simple formatting changes
  3979.           may be required for other vendors assemblers.
  3980.  
  3981.           The Ascii format saves all characters  on  the  screen.    No color
  3982.           attribute information  is stored  however.   The Normal format is a
  3983.           pure  binary  dump  of  the  screen,  converted  to   an  assembler
  3984.           compatible format.
  3985.  
  3986.           You are also prompted for a reference identifier to use.  This will
  3987.           be the  name used  to access  the data  within a  program.  TheDraw
  3988.           takes this  and generates  statements to simplify programming.  For
  3989.           instance, assume a standard full screen with the default IMAGEDATA:
  3990.  
  3991.                 IMAGEDATA_WIDTH EQU 80
  3992.                 IMAGEDATA_DEPTH EQU 25
  3993.                 IMAGEDATA_LENGTH EQU 4000
  3994.                 IMAGEDATA LABEL BYTE
  3995.                      ... data for screen image follows here ...
  3996.  
  3997.           The width and depth statements reflect  the character  dimension of
  3998.           the image  saved.  Saving a block changes them appropriately.  This
  3999.           facilitates easier program development.  Instead of directly coding
  4000.           block sizes  refer to  the above identifiers.  Thus eliminating the
  4001.           need to remember arbitrary block sizes.
  4002.  
  4003.  
  4004.        BINARY - Binary Screen Dump
  4005.  
  4006.           Produces a straight data byte dump of the video screen.   This data
  4007.           format is  generic.   It is useful for many things, such as loading
  4008.           screen images directly to video ram,  etc...    This  will  be 4000
  4009.           bytes for a standard 80x25 screen, larger for EGA/VGA displays.
  4010.  
  4011.  
  4012.        BSAVE - Basic BSave Screen Dump
  4013.  
  4014.           This  file  is  identical  to  a binary screen dump, except loading
  4015.           codes for Basic are placed at the front.  These files can be loaded
  4016.           from basic with:
  4017.  
  4018.                      DEF SEG = &HB800 : BLOAD"filespec.BSV",0
  4019.  
  4020.           If you have a monochrome monitor, replace the B800 with B000 in the
  4021.           above line.  
  4022.  
  4023.  
  4024.  
  4025.  
  4026.  
  4027.  
  4028.  
  4029.  
  4030.        TheDraw v4.00         TheDraw Command Functions              58       
  4031.  
  4032.  
  4033.  
  4034.  
  4035.        COM - Dos Executable COM Files.
  4036.  
  4037.           Produces a truly separate program executable from Dos by typing the
  4038.           program name.   COM  files are  useful in  batch files and the like
  4039.           for -fast- displaying.  COM file screen blocks  (via ALT-B) display
  4040.           only  the   block  without  changing  anything  else.    You  could
  4041.           conceivably  generate  a  "layering"  windows  effect   if  you  so
  4042.           desired.   TheDraw has three different styles of COM file, and will
  4043.           transparently select the most appropriate to minimize file size.
  4044.  
  4045.  
  4046.        PASCAL - Turbo Pascal Compatible Screen Dump
  4047.  
  4048.           This operates the same  as the  ASM option  described above, except
  4049.           the output  is in  a Turbo  Pascal compatible CONST structure.  See
  4050.           Appendix B for the section entitled "Programmers Programming Tips".
  4051.           To use the Crunched file format, use the file UNCRUNCH.PAS.
  4052.  
  4053.  
  4054.        C - Modern C Formatted Compatible Screen Dump (Turbo C)
  4055.  
  4056.           Again, this operates the same as the ASM option.  The format is for
  4057.           the new  "modern C" string continuation structure.  The data may be
  4058.           uncrunched  using  routines  in  the  two  files  UNCRUN_N.OBJ  and
  4059.           UNCRUN_F.OBJ  (for  near  and  far  code models respectfully).  The
  4060.           header file UNCRUNCH.H contains instructions on their proper usage.
  4061.  
  4062.           We are aware only of TurboC able to handle this  structure.  People
  4063.           using other compilers should use the Object file format below.
  4064.  
  4065.  
  4066.        OBJECT - Intel Compatible Object Code File
  4067.  
  4068.           This  is   a  format  compatible  with  many  high  level  language
  4069.           compilers.  Object files  can be  produced with  screen information
  4070.           crunched, ascii  only, or  binary normal  (as in ASM format).  Four
  4071.           code/data models are supported:
  4072.  
  4073.                                  Turbo Pascal v4.0 (and above)
  4074.                                  Small Data
  4075.                                  Large Data
  4076.                                  QuickBasic v4.0 (and above)
  4077.  
  4078.           The TP40 format is compatible with Turbo Pascal  v4.0 through v6.0.
  4079.           Data  saved  to  these  files  is  referenced by external procedure
  4080.           calls and  pointers.    Refer  to  the  topics  "TURBO  PASCAL v4.0
  4081.           through  v5.5"  and  "TURBO  PASCAL VERSION 6.0" in the Programmers
  4082.           Programming Tips section for examples.
  4083.  
  4084.  
  4085.  
  4086.  
  4087.  
  4088.        TheDraw v4.00         TheDraw Command Functions              59       
  4089.  
  4090.  
  4091.  
  4092.  
  4093.           The QB40 format is for use  with QuickBasic  v4.0 and  higher.  The
  4094.           image data  saved to these files are referenced by provided display
  4095.           routines.  The  object  files  are  linkable  (if  you  use  the BC
  4096.           compiler),  or  can  be  incorporated  into a Quick Library for use
  4097.           within the  QuickBasic environment.   When  linking separately, you
  4098.           must include  the file QBUTIL.LIB in addition to any TheDraw object
  4099.           files.  To simplify  matters,  you  can  merge  the  QBUTIL.LIB and
  4100.           object files into one library.
  4101.  
  4102.           A batch  file MAKEQLB.BAT  is provided  to simplify  the process of
  4103.           creating Quick Library and the separate library files.  To use, the
  4104.           first parameter  should be the name of the quick library to create.
  4105.           The following parameters are TheDraw object files plus other object
  4106.           (.OBJ) and library (.LIB) files you want included.  ie:
  4107.  
  4108.                 MAKEQLB testlib IMAGE1.OBJ IMAGE2.OBJ USERCODE.LIB
  4109.  
  4110.           This creates  the files named TESTLIB.LIB and TESTLIB.QLB.  Note no
  4111.           file extension was  specified  on  the  "testlib"  parameter above,
  4112.           since the  batch file  adds ".LIB"  and ".QLB"  automatically.  The
  4113.           Quick Library contains the display routines (from QBUTIL.LIB, which
  4114.           is  always  added  by  the  batch  file), plus the screen images in
  4115.           IMAGE1.OBJ and IMAGE2.OBJ.  Also included is a library of user code
  4116.           you might  optionally want  in this  quick library.   See the topic
  4117.           "MICROSOFT  QUICKBASIC   v4.0   AND   v4.5"   in   the  Programmers
  4118.           Programming Tips section.
  4119.  
  4120.  
  4121.           OBJECT FILE DATA FORMATS
  4122.           ------------------------
  4123.  
  4124.           The data formats use the following identifiers:
  4125.  
  4126.                                  Small Data        Large Data
  4127.                                  ----------      ---------------
  4128.                      Segment:      _DATA          filename_DATA
  4129.                      Group:        DGROUP         filename_DATA
  4130.  
  4131.           Where "filename" is the actual filename given the object file.
  4132.  
  4133.           The  last  prompt  under  object  files  is  for the data reference
  4134.           identifier.  This is the name  you  will  use  in  your  program to
  4135.           access the  object data.   It  defaults to  IMAGEDATA (for TP40 and
  4136.           QuickBasic) or _IMAGEDATA (Small or Large Data).  The underscore is
  4137.           usually  required   for  small   or  large  data  formats,  but  is
  4138.           application and compiler dependent.
  4139.  
  4140.  
  4141.  
  4142.  
  4143.  
  4144.  
  4145.  
  4146.        TheDraw v4.00         TheDraw Command Functions              60       
  4147.  
  4148.  
  4149.  
  4150.  
  4151.           The above identifier is used to  directly reference  the image data
  4152.           stored.      In   addition,   TheDraw  generates  three  additional
  4153.           identifiers similar to the ASM case:
  4154.  
  4155.                                  identifier_WIDTH
  4156.                                  identifier_DEPTH
  4157.                                  identifier_LENGTH
  4158.  
  4159.           For QuickBasic users the following identifiers are used,  called as
  4160.           subroutine functions to obtain the wanted value:
  4161.  
  4162.                                  identifierWIDTH
  4163.                                  identifierDEPTH
  4164.                                  identifierLENGTH
  4165.  
  4166.           In all  cases, these  contain the dimensions of the block specified
  4167.           (width and depth).  The last identifier specifies how long the data
  4168.           block is.   The  width/depth values  are useful for drawing windows
  4169.           and other related functions.   The  length parameter  is useful for
  4170.           displaying crunched images.
  4171.  
  4172.  
  4173.        THEDRAW - TheDraw Setup Save
  4174.  
  4175.           This  format  saves  everything  about the current configuration of
  4176.           TheDraw.  In normal edit mode, all occupied page layers  are saved.
  4177.           In animation  mode, the complete animation sequence is stored.  All
  4178.           other parameters are saved  also  (ie:  current  colors,  tab line,
  4179.           cursor position, current page layer, etc...).
  4180.  
  4181.           The TheDraw  format file  also has the benefit of being the fastest
  4182.           way to load and retrieve screen images; eight page layers  or 16000
  4183.           animation entries take only seconds to load.
  4184.  
  4185.  
  4186.        Following the  above prompts,  TheDraw prompts for a filename.  If the
  4187.        file already exists, you are prompted to verify the save.   If  you do
  4188.        not specify a filename extension, TheDraw assumes the following:
  4189.  
  4190.                           .ANS     ANSI compatible files
  4191.                           .ASC     ASCII text files
  4192.                           .ASM     Assembler files
  4193.                           .BIN     Binary dumps
  4194.                           .BSV     Bsave files 
  4195.                           .COM     COM files
  4196.                           .PAS     Pascal files
  4197.                           .H       C files
  4198.                           .OBJ     Object files
  4199.                           .TD      TheDraw format files.
  4200.  
  4201.  
  4202.  
  4203.  
  4204.        TheDraw v4.00         TheDraw Command Functions              61       
  4205.  
  4206.  
  4207.  
  4208.  
  4209.        A file  without an  extension can  be specified by placing a period as
  4210.        the last character of the filename (ie: TESTFILE. ).  After entry of a
  4211.        valid filename, the screen is saved to disk.
  4212.  
  4213.        For information  and suggestions  on using the screen files created by
  4214.        TheDraw see Appendix B (Programmers Programming Tips).  
  4215.  
  4216.  
  4217.  
  4218.                                  ALT-T: TAB SETUP
  4219.  
  4220.        This command allows you to set tabs in the editor (positions where the
  4221.        [TAB] key  stops).  Initially the positions are at every tenth column.
  4222.        Available sub-commands are:
  4223.  
  4224.           SET       - Set a new tab position.  Move the cursor to  the wanted
  4225.                       position then press 'S'.
  4226.           CLEAR     - Clears tab at current cursor position
  4227.           RESET     - Resets tab line to initial settings (every ten spaces).
  4228.           ERASE     - Delete all current tab setting for a clean slate.
  4229.           INCREMENT - Prompts  for  a  step  size.    From the current cursor
  4230.                       position, every nth location is then set.   This allows
  4231.                       you to  quickly specify,  say every  fourth position if
  4232.                       your need requires it.
  4233.  
  4234.        Press [ESC] to leave the tab set command.
  4235.  
  4236.  
  4237.  
  4238.                           ALT-U: USE COLORS UNDER CURSOR
  4239.  
  4240.        Changes current edit colors (seen on  status line)  to those currently
  4241.        under the  cursor.   This provides  a fast  method to change to colors
  4242.        already displayed on the screen.
  4243.  
  4244.  
  4245.  
  4246.                                ALT-V: VIEW A SCREEN
  4247.  
  4248.        This command allows you to look at an image saved on disk.  Nothing is
  4249.        altered by  this command.   This might be used in conjunction with the
  4250.        block load/import function (see ALT-B).  
  4251.  
  4252.        Viewing a screen is similar to loading (see  ALT-L) except  the loaded
  4253.        image is  not remembered.  Once the image is fully displayed, a window
  4254.        appears  with  instructions.      Press  [ENTER]  to  exit  view mode.
  4255.        Pressing any  other key  will make  the window disappear to facilitate
  4256.        viewing.  After about 30 seconds  the window  reappears to  remind you
  4257.        about view mode (in case you leave the computer unattended).
  4258.  
  4259.  
  4260.  
  4261.  
  4262.        TheDraw v4.00         TheDraw Command Functions              62       
  4263.  
  4264.  
  4265.  
  4266.  
  4267.                                ALT-W: EDIT CHARACTER
  4268.                         (available in animation mode only)
  4269.  
  4270.        Allows the editing of a mistyped animation entry.  This command exists
  4271.        because simply overwriting an incorrect character does not  delete it.
  4272.        In  animation  mode,  both  entries  are  remembered  -  the incorrect
  4273.        character, plus the  wanted  one.    Upon  redisplaying  the animation
  4274.        sequence (see  ALT-Q), both  characters would  be seen (the former for
  4275.        only a millisecond perhaps, but it would appear).
  4276.  
  4277.        Another way is using ALT-Z to delete the incorrect entry.   The wanted
  4278.        character could then be typed in.  This works perfectly well, and some
  4279.        people may prefer it;  however, to  quickly change  an entry  ALT-W is
  4280.        more convenient.
  4281.  
  4282.        After pressing  Alt-W you are prompted to type the new character.  The
  4283.        current position  will  flicker.    All  color  changing  commands are
  4284.        available (ALT-A and the Ctrl-Arrow keys) while editing.
  4285.  
  4286.  
  4287.  
  4288.  
  4289.                                 ALT-X: EXIT THEDRAW
  4290.  
  4291.        Prompts  if  you  wish  to  exit  TheDraw  or  execute a shell to DOS.
  4292.        Responding Yes exits the program.  No cancels the command.  
  4293.  
  4294.        Shell also exits to Dos,  however  TheDraw  remains  in  memory.   All
  4295.        screen page  layers and  animation entries  are retained.   To free up
  4296.        memory for the Dos Shell, TheDraw will try temporarily saving its data
  4297.        to  expanded  memory/EMS  or  a  disk  swap  file (if insufficient EMS
  4298.        exists).  Typing the command "EXIT"  at  the  Dos  prompt  will return
  4299.        control to TheDraw.
  4300.  
  4301.  
  4302.  
  4303.                             ALT-Y: DELETE CURRENT LINE
  4304.  
  4305.        Deletes the  current line  on the screen.  All lines below are shifted
  4306.        up one line position.  The bottom line is cleared using spaces and the
  4307.        default background  color.   This command is not reversible, so use it
  4308.        carefully.
  4309.  
  4310.  
  4311.  
  4312.  
  4313.  
  4314.  
  4315.  
  4316.  
  4317.  
  4318.  
  4319.  
  4320.        TheDraw v4.00         TheDraw Command Functions              63       
  4321.  
  4322.  
  4323.  
  4324.  
  4325.                            ALT-Z: ERASE CURSOR CHARACTER
  4326.                         (available in animation mode only)
  4327.  
  4328.        Erases the top-most  character  from  the  animation  sequence  at the
  4329.        current cursor  position.  Only the last character typed at the cursor
  4330.        position is deleted, everything typed before is unchanged.  
  4331.  
  4332.        This differs from the Backspace  key  which  deletes  everything  at a
  4333.        cursor position.
  4334.  
  4335.  
  4336.  
  4337.                          ALT-[left]: DELETE CURRENT COLUMN
  4338.  
  4339.        Deletes the  current column on the screen.  Everything to the right of
  4340.        the current column is shift over one position.  The  right-most column
  4341.        is  cleared  using  spaces  and  the  default  background color.  This
  4342.        command is equivalent to using Block  Delete (ALT-B,D)  on the current
  4343.        column.  In any case, the action is not reversible so use carefully.
  4344.  
  4345.  
  4346.  
  4347.  
  4348.                            ALT-[right]: INSERT A COLUMN
  4349.  
  4350.        Inserts a  column at the current position.  The current column and all
  4351.        those to its right are shifted over.   The right-most  column is lost.
  4352.        This command is not reversible, so use with care.
  4353.  
  4354.  
  4355.  
  4356.  
  4357.                            ALT-- TOGGLE COLOR DRAW MODE
  4358.  
  4359.        Toggles  color  attribute  drawing.    In this mode, moving the cursor
  4360.        updates the new character position to the current  edit colors.   This
  4361.        permits  easy  manual  color  painting  of a given area.  In animation
  4362.        mode, only those locations with characters  in the  animation sequence
  4363.        will be altered.  Unused locations will not be affected.
  4364.  
  4365.        Operation of  TheDraw is  not changed by this mode.  Moving the cursor
  4366.        will simply change colors.
  4367.  
  4368.  
  4369.  
  4370.  
  4371.  
  4372.  
  4373.  
  4374.  
  4375.  
  4376.  
  4377.  
  4378.        TheDraw v4.00         TheDraw Command Functions              64       
  4379.  
  4380.  
  4381.  
  4382.  
  4383.                            ALT-= TOGGLE MACRO LEARN MODE
  4384.                              (registered version only)
  4385.  
  4386.        Activates the macro learning mode of TheDrawR.   You are  prompted for
  4387.        which macro key to program (0-9).  After specifying the macro, TheDraw
  4388.        remembers everything  you type.   This  is somewhat  akin to animation
  4389.        mode; however,  macro learn  mode literally remembers everything.  All
  4390.        editing commands performed, any  characters typed,  etc...   Up to 512
  4391.        characters will be recorded.
  4392.  
  4393.        Once satisfied  with the  macro, type  ALT-= again to save it.  To use
  4394.        the macro, press ALT  followed by  the proper  number key  0 through 9
  4395.        (do not use the numbers on the keypad).
  4396.  
  4397.        While  programming  a  macro,  selecting  another macro chains the two
  4398.        together.   Chaining  a macro  in this  fashion permits  you to create
  4399.        longer macros  than available  otherwise.  When you specify the second
  4400.        macro, the one being programmed is saved and learn mode is turned off.
  4401.  
  4402.        To program the second macro (and continue the  sequence), select Alt-=
  4403.        from command mode again. 
  4404.  
  4405.        You can  create an  "endless" macro quite easily.  Simply have a macro
  4406.        call itself.  For instance, if programming macro 0, type ALT-0.  ie:
  4407.  
  4408.                 ALT-= 0 [Enter]         Start programming macro 0.
  4409.                 <macro contents>Alt-0
  4410.  
  4411.        TheDraw would repeat the macro contents until ESC was pressed.
  4412.  
  4413.  
  4414.  
  4415.  
  4416.                           ALTERNATE COLOR CHANGE OPTIONS
  4417.  
  4418.        For the experienced user,  TheDraw provides  a more  convenient way of
  4419.        adjusting the current status line colors.
  4420.  
  4421.        Pressing Ctrl-Up increments the current foreground color number (found
  4422.        in ALT-A) and Ctrl-Down decrements it.  These two key  combinations do
  4423.        not always  work reliably  on all  computers (a Bios flaw exists).  To
  4424.        get around this, TheDraw incorporates  a  special  keyboard  driver to
  4425.        handle these  two keys.   If  they do not work on your machine run the
  4426.        SETUP utility and use "Keyboard  Customize"  to  configure  TheDraw to
  4427.        your keyboard.
  4428.  
  4429.        Pressing  Ctrl-Right  increments  the current background color number;
  4430.        Ctrl-Left decrements it.  
  4431.  
  4432.  
  4433.  
  4434.  
  4435.  
  4436.        TheDraw v4.00         TheDraw Command Functions              65       
  4437.  
  4438.  
  4439.  
  4440.  
  4441.                         SHIFT-SPACE: SOLID SPACE CHARACTER
  4442.  
  4443.        As stated elsewhere in this documentation (see ALT-E), the sprite mode
  4444.        of TheDraw  makes lower  page layers  appear through "black spaces" on
  4445.        the  current  page  layer.    This  can  sometimes  be  convenient and
  4446.        sometimes  not.    There  are  instances  when you want to have a non-
  4447.        transparent black space on the screen.
  4448.  
  4449.        The Solid Space performs this function  (non-transparent black space).
  4450.        Moving the  cursor onto  a solid space will cause the background color
  4451.        to flicker as an  indicator.   A Solid  space is  nothing more  than a
  4452.        character #255 (which is a blank IBM extended character).
  4453.  
  4454.  
  4455.  
  4456.  
  4457.                         CTRL-PRTSC: FULL SCREEN MODE TOGGLE
  4458.  
  4459.        This  command  toggles  screen  usage  in  TheDraw  between  23  lines
  4460.        (regular) and 25 lines (full-screen).  In full-Screen  mode the status
  4461.        line disappears  so you  can fully use the screen.  TheDraw also makes
  4462.        heavy use of pop  up windows  for prompts  and messages  in this mode.
  4463.        While useful,  it can be awkward since YOU must remember where you are
  4464.        at all times.  For instance, block marking and etc...   It  is easy to
  4465.        become confused  unless you are careful.  If all else fails, hit ESC a
  4466.        few times to abort the current command.   Some people  may prefer this
  4467.        mode which  is fine.  Nothing forces you to use either screen size for
  4468.        anything.  
  4469.  
  4470.        Ctrl-PrtSc only operates from command mode.  It is not available under
  4471.        any  sub  commands  (such  as  Block,  Global,  etc...).  There are no
  4472.        restrictions on full screen use in animation modes.
  4473.  
  4474.  
  4475.  
  4476.  
  4477.  
  4478.  
  4479.  
  4480.  
  4481.  
  4482.  
  4483.  
  4484.  
  4485.  
  4486.  
  4487.  
  4488.  
  4489.  
  4490.  
  4491.  
  4492.  
  4493.  
  4494.        TheDraw v4.00         TheDraw Command Functions              66       
  4495.  
  4496.  
  4497.  
  4498.  
  4499.                                THE ANIMATION SYSTEM
  4500.                                ____________________
  4501.  
  4502.  
  4503.        WHAT IS ANSI ANIMATION?
  4504.        ______________________________________________________________________
  4505.  
  4506.        The animation system of TheDraw allows the user to create screens with
  4507.        movement, adding excitement to your presentations.  In animation mode,
  4508.        TheDraw  basically  remembers  the  exact  order  in  which  you enter
  4509.        something.  This involves what you type, and more significantly, where
  4510.        you typed it.  For comparison, TheDraw normally  saves a  static image
  4511.        from the  Top to  Bottom of  the screen  -- just like any typical text
  4512.        file would be displayed.
  4513.  
  4514.        Animation or sequencing allows a  screen  to  be  displayed  bottom to
  4515.        top, totally  against the  natural order  of things  (so far as Dos is
  4516.        concerned anyway).  With the animation sequence you  put characters in
  4517.        exact locations  in any order you want.  Those keystrokes are repeated
  4518.        in the same order when played back.  For example typing the  numbers 0
  4519.        through 9 backwards along the screen.  ie:
  4520.  
  4521.                          ┌───────────────────────────────┐
  4522.                          │                               │
  4523.                          │                               │
  4524.                          │      9 8 7 6 5 4 3 2 1 0      │
  4525.                          │                               │
  4526.                          │ ( <--- typed this direction ) │
  4527.                          └───────────────────────────────┘
  4528.  
  4529.        Upon replay,  the "0"  would appear  first, followed  by the "1", "2",
  4530.        etc...  Exactly as was typed.  Note  in this  example movement  of the
  4531.        cursor was not stored, although it could be.  Storing cursor movements
  4532.        will be discussed later.
  4533.  
  4534.        Animation sequences can be saved in two different formats: ANSI (.ANS)
  4535.        and THEDRAW  (.TD).   A sequence  saved in Ansi can be displayed using
  4536.        the  Dos  TYPE  command  on  any  computer  with  the  ANSI.SYS driver
  4537.        installed (see  Appendix A on how to install it).  Ansi files are also
  4538.        used widely on bulletin board  systems.    TheDraw  is  not  needed to
  4539.        display Ansi files once created.  
  4540.  
  4541.        The THEDRAW  format is  used for  quickly saving and loading animation
  4542.        sequences to disk.  The Presentation  Program (THEPP)  can be  used to
  4543.        display an animation sequence saved in TheDraw format.
  4544.  
  4545.        For an  example of  Ansi Animation, enter "TYPE SHUTTLE2.ANS" from the
  4546.        Dos prompt (once the ANSI.SYS driver is installed).
  4547.  
  4548.  
  4549.  
  4550.  
  4551.  
  4552.        TheDraw v4.00           The Animation System                 67       
  4553.  
  4554.  
  4555.  
  4556.  
  4557.        ANIMATION BASICS
  4558.        ______________________________________________________________________
  4559.  
  4560.        TheDraw never physically "moves"  anything  when  animating something.
  4561.        This is  an illusion created by careful placement of characters (which
  4562.        as you remember can be placed anywhere we want).  The "animation" of a
  4563.        display is done manually; moving objects step by step. 
  4564.  
  4565.        The  illusion  of  movement  is  simple  to describe:  Draw an object.
  4566.        Erase it, then redraw it moved over slightly.  Repeat  the above.   If
  4567.        done  properly,  the  object  will  appear to move.  Nothing is really
  4568.        "moving" per say, we are just simulating it.
  4569.  
  4570.        For an example, imagine an asterisk in the center of  the screen.   We
  4571.        wish to  have this  asterisk move  to the right.  To do this, first we
  4572.        put a space over the existing asterisk (thus erasing it), then display
  4573.        a new  asterisk over to the right (redrawing it).  Repeating this will
  4574.        "animate" the asterisk, since it appears to move.  ie:
  4575.                         
  4576.           ┌─┬─┬─┬─┬─┬─┬─┐
  4577.           │ │ │ │*│ │ │ │       Asterisk as it initially was drawn.
  4578.           └─┴─┴─┴─┴─┴─┴─┘
  4579.           ┌─┬─┬─┬─┬─┬─┬─┐
  4580.           │ │ │ │_│ │ │ │       Asterisk has been erased
  4581.           └─┴─┴─┴─┴─┴─┴─┘
  4582.           ┌─┬─┬─┬─┬─┬─┬─┐
  4583.           │ │ │ │_│*│ │ │       A new asterisk has been drawn shifted over.
  4584.           └─┴─┴─┴─┴─┴─┴─┘
  4585.           ┌─┬─┬─┬─┬─┬─┬─┐
  4586.           │ │ │ │_│_│*│ │       Above two steps repeated.
  4587.           └─┴─┴─┴─┴─┴─┴─┘
  4588.  
  4589.        Do the above process quickly, and  the user  effectively sees movement
  4590.        because the  eye smoothly  connects the old asterisk position with the
  4591.        new one for us.
  4592.  
  4593.  
  4594.        A SIMPLE EXAMPLE
  4595.        ______________________________________________________________________
  4596.  
  4597.        The easiest animation example under TheDraw to play  with is  a snake.
  4598.        Our snake,  we'll call  him Slither from now on, will be a simple life
  4599.        form, growing each time  he is  moved.   In effect,  Slither's tail is
  4600.        never shifted since he grows so rapidly.  To create this peculiar life
  4601.        form, enter animation mode (ALT-J,T).  Next, turn on line drawing mode
  4602.        (ALT-M; "Draw" appears on status line).
  4603.  
  4604.        To give  arise to Slither, move the cursor using the arrow keys.  Keep
  4605.        moving in the same direction and low and behold there  he is.   Change
  4606.        direction, and move for a while.   Make Slither do as many twists and
  4607.        turns as you like, since he really enjoys a good run (or crawl?)
  4608.  
  4609.  
  4610.        TheDraw v4.00           The Animation System                 68       
  4611.  
  4612.  
  4613.  
  4614.  
  4615.                              (example run of Slither)
  4616.                      ┌───────────────────────────────────────┐
  4617.                      │                                       │
  4618.                      │                 ┌─┐    ┌───┐     │    │
  4619.                      │     ┌───────────┘ │    │   │     │    │
  4620.                      │     │             │    │   │     │    │
  4621.                      │     │ ┌────────┐ ┌┘    │   └┐    │    │
  4622.                      │     │ │    ┌─┐ │ │     │    └─┐  │    │
  4623.                      │     └─┘    │ │ │ └─────┘      │  │    │
  4624.                      │            │ │ │        ┌─────┘  │    │
  4625.                      │       *────┘ └─┘        │        │    │
  4626.                      │    (start)              └────────┘    │
  4627.                      └───────────────────────────────────────┘
  4628.  
  4629.        Now for  the moment of truth.  Make Slither repeat what he just did by
  4630.        using animation redraw (ALT-Q).  Enter a delay of about  100, then sit
  4631.        back and watch Slither perform for you exactly as he did before.
  4632.  
  4633.        Hopefully this example shows just how little effort it takes to
  4634.        produce simple animation.  Even this uncomplicated approach will add
  4635.        the extra pizzazz a presentation needs.  Possibilities include drawing
  4636.        charts, graphs,  outline figures,  backdrops, etc...  Your imagination
  4637.        is the only limiting factor.
  4638.  
  4639.        The next section describes how to move objects (such as the asterisk
  4640.        example shown previously).
  4641.  
  4642.  
  4643.  
  4644.        HOW TO ANIMATE SOMETHING
  4645.        ______________________________________________________________________
  4646.  
  4647.        The asterisk  example  showed  the  classic  method  for  moving small
  4648.        objects.   ie: draw, erase, draw, repeat...   However, the Ansi driver
  4649.        under which our animation  special effects  operate is  quite limited.
  4650.        The illusion  of movement  is lost with large objects because too much
  4651.        time is spent erasing and redrawing them.  A better way is needed.
  4652.  
  4653.        For larger  objects, we  can use  the block  copy facility.   Draw the
  4654.        object,  and  decide  what  direction  things  will move.  Now, mark a
  4655.        block over the object -plus- an extra blank line on  the side opposite
  4656.        to the direction of movement.  ie:
  4657.  
  4658.        block outline --> ┌───────┐
  4659.                          │ OBJECT│--> movement will be this way
  4660.                          └───────┘
  4661.                           ^
  4662.                           └──── extra blank line
  4663.  
  4664.  
  4665.  
  4666.  
  4667.  
  4668.        TheDraw v4.00           The Animation System                 69       
  4669.  
  4670.  
  4671.  
  4672.  
  4673.        The complicated  bit follows:  Choose block copy.  Move the block once
  4674.        in the direction of movement and Stamp it.  Move it again,  and Stamp.
  4675.        Repeat as  much as  desired.  On the last shift, press [ENTER] instead
  4676.        of stamp.  That's it!  Now try redrawing with ALT-Q.  You have created
  4677.        a moving object.
  4678.  
  4679.        This new approach is similar to the asterisk example, but notice we do
  4680.        not explicitly erase the object before shifting and redrawing.  A good
  4681.        improvement making each shift almost twice as fast!
  4682.  
  4683.        Objects are  generally larger  than the distance moved between shifts,
  4684.        and afterwards occupy most of the same space as before.  Thus, why you
  4685.        may ask,  bother erasing an area if it will immediately be overwritten
  4686.        again?  We can avoid wasting time and things will go faster.
  4687.  
  4688.                             ┌─┌─┌─┌──────────────────┐
  4689.                             │░│░│░│██████████████████│
  4690.                             │░│░│░│██████████████████│
  4691.                             │░│░│░│█████ Object █████│
  4692.                             │░│░│░│██████████████████│
  4693.                             │░│░│░│██████████████████│
  4694.                             └─└─└─└──────────────────┘
  4695.                              ^ ^ ^
  4696.                              └─┴─┴── old portion of object, 
  4697.                                      "erased" by blank line
  4698.  
  4699.        The extra blank  line  erases  what  needs  erasing,  and  the redrawn
  4700.        object simply  overwrites the rest.  By using more than one blank line
  4701.        (and stepping more than one line between stamps), the movement appears
  4702.        to go faster still.
  4703.  
  4704.        Notice that  block copy  was used, not block move.  In animation mode,
  4705.        the block move relocates animation  entries  in  the  block.   Copying
  4706.        leaves the original in place, and -overwrites- it with the moved copy.
  4707.        Just like the asterisk example, we  didn't move  it, we  overwrote it.
  4708.        See example shown above.
  4709.  
  4710.        Block move  physically moves  the object  to the first stamp location.
  4711.        If you redraw the  animation sequence,  you would  find no "movement".
  4712.        The object is drawn only once, where it was moved over to (at least on
  4713.        the first stamp).   Additional stamps  would behave  as expected, only
  4714.        the first stamp would not be right.
  4715.  
  4716.  
  4717.  
  4718.  
  4719.  
  4720.  
  4721.  
  4722.  
  4723.  
  4724.  
  4725.  
  4726.        TheDraw v4.00           The Animation System                 70       
  4727.  
  4728.  
  4729.  
  4730.  
  4731.        TRICKS OF THE TRADE
  4732.        ______________________________________________________________________
  4733.  
  4734.        Once  the  above  mentioned  animation  skills  are down, certain easy
  4735.        special effects will help  liven up  a display.   Care  given to color
  4736.        selection,  shading,   and  use   of  shadowing  to  furnish  a  three
  4737.        dimensional feel can perform wonders.   Animation is  also improved on
  4738.        occasion by pausing the display slightly.
  4739.  
  4740.  
  4741.        USE OF COLORS
  4742.  
  4743.           Good color  selection is  as important as the display content being
  4744.           viewed.  Colors should be high contrast, but not so  as to distract
  4745.           the viewer.   For example, Yellow on Cyan go well together, however
  4746.           Magenta on Green do not.  Extensive theory exists to  predict which
  4747.           color to  use with  what, but  for our  purposes some experimenting
  4748.           will suffice.  Simply look for combinations which are easy  to read
  4749.           and do not strain the eyes.  Observing other peoples work is a good
  4750.           teacher as well.
  4751.  
  4752.           Background colors should be used to  your advantage.   For example,
  4753.           look closely  at the TheDraw title screen and note how the layering
  4754.           was achieved.  Half block characters (such as "▄" and "▀") are used
  4755.           extensively with  the solid  portion one color and the blank region
  4756.           another.  
  4757.  
  4758.           Lastly,  flashing  colors  in  combination  with   good  background
  4759.           selection  is  an  excellent  visual  device.   For example, select
  4760.           flashing red  (color 20)  on a  gray background  (color 7).   Put a
  4761.           block character  ("█").   Now select  flashing gray (color 23) on a
  4762.           red background (color 4).  Put another block character next  to the
  4763.           first.   What you  see is  the block colors alternating between red
  4764.           and gray, each block  opposite  of  one  another.    Repeating this
  4765.           pattern produces a moving effect.  
  4766.  
  4767.  
  4768.        SHADING
  4769.  
  4770.           Shading  and  shadowing  discussed  below  are both used for adding
  4771.           texture and three dimensional quality to a display.  Shading is the
  4772.           process of  gradually changing  visual intensity.  This can be done
  4773.           using bright colors then  more subdued  colors, or  using different
  4774.           characters with different density such as "░▒▓█".
  4775.  
  4776.           For  successful  shading,  one  must  be  aware of how things truly
  4777.           appear in nature.  Examine a pen sitting on a table carefully.  The
  4778.           color  is  not  uniform,  but  rather  is bright in the middle then
  4779.           apparently gets darker towards the edges.  The same holds  true for
  4780.           any curvature.
  4781.  
  4782.  
  4783.  
  4784.        TheDraw v4.00           The Animation System                 71       
  4785.  
  4786.  
  4787.  
  4788.           Example of how color changes on a curved object:
  4789.  
  4790.  
  4791.                                   brightest here                     
  4792.  
  4793.                            darker  ▄▄▀▀▀▀▀▀▀▀▄▄  darker          
  4794.                                  ▄▀            ▀▄                
  4795.                                 █                █               
  4796.                  darkest here  █                  █  darkest here
  4797.                               ▐▌                  ▐▌             
  4798.  
  4799.  
  4800.  
  4801.                                     ░░░░░░░░░░    
  4802.                                   ░░▒▒▓▓▓▓▓▓▒▒░░  
  4803.                                  ░▒▒▓▓▓████▓▓▓▒▒░ 
  4804.                                 ░▒▒▓▓▓██████▓▓▓▒▒░
  4805.                                 ░▒▒▓▓▓██████▓▓▓▒▒░
  4806.                                  ░▒▒▓▓▓████▓▓▓▒▒░ 
  4807.                                   ░░▒▒▓▓▓▓▓▓▒▒░░  
  4808.                                     ░░░░░░░░░░    
  4809.  
  4810.  
  4811.           The above  character shading  example shows one attempt at matching
  4812.           the curvature  example.   You can  obtain more  gradations by using
  4813.           high  intensity  and  low  intensity  color  in  combination.   For
  4814.           instance, coloring the following blocks as indicated yields
  4815.           eight shades of blue:
  4816.  
  4817.                                         light       
  4818.                                         blue        
  4819.                                           │         
  4820.                                light ─┬─┐┌┴┐┌┬─ blue
  4821.                                 cyan  █▓▒▓▒░▒░      
  4822.  
  4823.  
  4824.        SHADOWING
  4825.  
  4826.           This effect gives the appearance of  an object  throwing a "shadow"
  4827.           onto something.   Many  popular programs use shadowing to highlight
  4828.           menu or other box structures.  Shadows are  made by  duplicating an
  4829.           object shifted down and over slightly, in a darkened color.  ie:
  4830.  
  4831.                                ████████████████████ 
  4832.                                ████████████████████░
  4833.                                ████████████████████░
  4834.                                ████████████████████░
  4835.                                ████████████████████░
  4836.                                 ░░░░░░░░░░░░░░░░░░░░
  4837.  
  4838.           The most effective shadow colors are the light and dark grays.
  4839.  
  4840.  
  4841.  
  4842.        TheDraw v4.00           The Animation System                 72       
  4843.  
  4844.  
  4845.  
  4846.  
  4847.        PAUSING
  4848.  
  4849.           TheDraw directly  supports two  types of animation pause: timed and
  4850.           keyboard.  Unfortunately, there is  no  way  to  implement  a keyed
  4851.           response in  an Ansi file.  The keyboard option is operable only if
  4852.           TheDraw or THEPP (see following section  in documentation)  is used
  4853.           for  displaying  the  animation.   Timed pauses can be approximated
  4854.           however, by inserting redundant codes into the Ansi file.
  4855.  
  4856.           One application might be slowing down steps of  an animated object.
  4857.           The object  is shifted  once, then  a short pause occurs before the
  4858.           object is shifted again.  The relative speed difference (ie: object
  4859.           redrawn  faster   than  shifting  occurs)  could  help  smooth  the
  4860.           animation in some situations.
  4861.  
  4862.           Another application of course, is placing  a delay  after a message
  4863.           appears.   Whisking something away too quickly might frustrate some
  4864.           users.  The SHUTTLE2.ANS example has a couple of delays  used.  Can
  4865.           you find them?
  4866.  
  4867.  
  4868.        Ideally  from  the  above  you'll  notice  the "tricks" are not really
  4869.        tricks at all, but rather easy  skills to  master.   A little practice
  4870.        will put you firmly on the right track.
  4871.  
  4872.  
  4873.  
  4874.        LIMITATIONS
  4875.        ______________________________________________________________________
  4876.  
  4877.        You will discover a few limitations of Ansi animation as you progress.
  4878.        Large objects tend to "ripple" as they move.  ie:
  4879.                             
  4880.                               ┌─────────────────────┐
  4881.                               │                     │ <-- ripple effect
  4882.                               │                    │
  4883.                              │                     │
  4884.                              │                     │
  4885.                              └─────────────────────┘
  4886.  
  4887.        Large object also use a significant portion of the available animation
  4888.        space.   You will  be amazed how quickly even 16000 entries disappear.
  4889.        Objects up to 30 character by 10 lines (30x10) in  size generally work
  4890.        with minimal  difficulty.  Faster computers can get away with slightly
  4891.        larger blocks.  
  4892.  
  4893.        Since only one character point can  change at  any given  time, having
  4894.        multiple objects move simultaneously will slow performance.
  4895.  
  4896.        As with  everything, experience will tell you what is best for a given
  4897.        situation.  Good luck, and enjoy being a qualified TheDraw hacker!
  4898.  
  4899.  
  4900.        TheDraw v4.00           The Animation System                 73       
  4901.  
  4902.  
  4903.  
  4904.  
  4905.                              THE PRESENTATION PROGRAM
  4906.                              ________________________
  4907.  
  4908.        The Presentation Program (THEPP) included with  the registered version
  4909.        of  TheDraw  is  a  command  line  driven utility intended to simplify
  4910.        displays and demonstrations.  It is flexible and  easy to  use.  THEPP
  4911.        can display  any file loadable by TheDraw (Ansi, Ascii, Binary, BSave,
  4912.        Object and TheDraw formats).  As with TheDraw, the filename extensions
  4913.        tell  THEPP  what  format  a  given  file  is saved in.  The following
  4914.        extensions are used (but changeable via the SETUP utility):
  4915.  
  4916.                               Binary Dump        .BIN
  4917.                               Basic BSAVE        .BSV
  4918.                               TheDraw COM Files  .COM
  4919.                               TheDraw OBJ Files  .OBJ
  4920.                               TheDraw Format     .TD
  4921.  
  4922.        Any other file is assumed to be either Ansi or Ascii.   TheDraw format
  4923.        files store  which page  layer was  being edited.  THEPP displays only
  4924.        this page layer.  If sprite mode was turned on, any page  layers below
  4925.        the current one will appear also ("under" the current layer).
  4926.  
  4927.        THEPP takes  as its  parameters a  list of filenames to display on the
  4928.        screen.  This it will do  as fast  and efficiently  as possible unless
  4929.        otherwise  stated  (on  other  words,  you  will probably want to slow
  4930.        things down a bit).
  4931.  
  4932.        The following options may  be  interspersed  anywhere  in  the command
  4933.        line, before  between or  after, any filenames.  Options are specified
  4934.        by using a slash followed by one of these characters:
  4935.  
  4936.           Character       Action
  4937.  
  4938.               p           Stops THEPP  the display  of pause  messages on the
  4939.                           screen.  Note the pauses are still performed.
  4940.  
  4941.               k           Pause for  a key  to be  pressed by  user.  This is
  4942.                           useful for placing between  files, so  you can stop
  4943.                           to appreciate what is shown.  See also /i command.
  4944.  
  4945.               t<num>      Pauses for  <num> number of seconds.  Valid numbers
  4946.                           for <num> are 1 to 255 seconds.  ie: 
  4947.  
  4948.                                    /t10   (pause for ten seconds)
  4949.  
  4950.               s<num>      Animation display speed.  This is a slowdown factor
  4951.                           identical to  the value you enter when using ALT-Q.
  4952.                           It is used whenever  THEPP displays  a Ansi, Ascii,
  4953.                           or  TheDraw  format  file.   ie: s10 slows down the
  4954.                           file display equivalent to an ALT-Q value of 10.
  4955.  
  4956.  
  4957.  
  4958.        TheDraw v4.00         The Presentation Program               74       
  4959.  
  4960.  
  4961.  
  4962.  
  4963.           Character       Action (continued)
  4964.  
  4965.               b           Produces a beep on the computer speaker.
  4966.  
  4967.               c           Clears the screen.   THEPP by  default does nothing
  4968.                           before displaying a file.  If you wish to clear the
  4969.                           screen beforehand use this option.
  4970.  
  4971.               m<x>,<y>    Moves the cursor  to  horizontal  position  <x> and
  4972.                           vertical  position  <y>.    Useful  if  you want to
  4973.                           control where an Ansi or Ascii  file will  start to
  4974.                           appear on  the screen, or wish to display a message
  4975.                           using the command below.  ie: 
  4976.  
  4977.                              /m40,12   (move cursor to center of screen)
  4978.  
  4979.               a<f>,<b>    Changes  text  output   color   to   the  specified
  4980.                           foreground and  background colors.   Colors are the
  4981.                           same as listed under ALT-A, but are repeated below:
  4982.  
  4983.                               Black               DGray     (Dark Gray)
  4984.                               Blue                LBlue     (Light Blue)
  4985.                               Green               LGreen    (Light Green)
  4986.                               Cyan                LCyan     (Light Cyan)
  4987.                               Red                 LRed      (Light Red)
  4988.                               Magenta             LMagenta  (Light Magenta)
  4989.                               Brown               Yellow
  4990.                               LGray (Light Gray)  White
  4991.  
  4992.                           Foreground  colors  may  be   any  of   the  above.
  4993.                           Background colors are restricted to the first eight
  4994.                           however (Black to LGray).  ie:
  4995.  
  4996.                               /aYellow,Cyan  (Yellow on Cyan background)
  4997.  
  4998.               "text"      Displays any message or  text  between  the quotes.
  4999.                           The  message   MUST  be   terminated  by  a  quote,
  5000.                           otherwise THEPP assumes  the  rest  of  the command
  5001.                           line is  a message.   This is useful if you wish to
  5002.                           display your own "Press any key  to continue" style
  5003.                           message, etc...  Use the "m" option described above
  5004.                           to position messages anywhere  on  the  screen, and
  5005.                           "a" option to select appropriate colors.  ie:
  5006.  
  5007.                                           /"Hello World"
  5008.  
  5009.                           Prints   message   "Hello  World"  (without  quotes
  5010.                           naturally) at cursor position.
  5011.  
  5012.  
  5013.  
  5014.  
  5015.  
  5016.        TheDraw v4.00         The Presentation Program               75       
  5017.  
  5018.  
  5019.  
  5020.  
  5021.               v<size>     Specify video size to  use.   Either 25,  43, or 50
  5022.                           vertical  lines.    Note  the  43  &  50 parameters
  5023.                           operate identically  (43 lines  always selected for
  5024.                           EGA adapter, 50 for VGA).  ie:
  5025.  
  5026.                                  /v50  (select VGA 50 line display)
  5027.  
  5028.               f<filename> Directs  THEPP  to  obtain  more  commands from the
  5029.                           specified file.  This command file  simply contains
  5030.                           a  list  of  the  above commands.  In addition, the
  5031.                           command file may call  upon  another  command file.
  5032.                           Once   that   nested   command  file  is  finished,
  5033.                           execution returns  to the  following instruction in
  5034.                           the first  file.   Up to  ten levels of nesting may
  5035.                           be active at once.  ie:
  5036.  
  5037.                                            /fCOMMANDS.FIL
  5038.  
  5039.                           Use file COMMANDS.FIL as source for next commands.
  5040.  
  5041.  
  5042.        If you do not give any parameters, THEPP  will display  an abbreviated
  5043.        help screen for convenience.  Examples of THEPP usage and explanations
  5044.        are given below:
  5045.  
  5046.  
  5047.        THEPP /c/p SHUTTLE2.ANS /m34,25 /aYellow,Black /"Press a key" /k/c
  5048.  
  5049.           Clears the  screen, and  turns off  the display  of pause messages.
  5050.           The Ansi  text demo file SHUTTLE2.ANS is displayed, followed by the
  5051.           message "Press a key" in Yellow approximately in the center  of the
  5052.           bottom  line.    THEPP  then  waits  for a key to be pressed before
  5053.           clearing the screen and returning to Dos.
  5054.  
  5055.  
  5056.        THEPP DEMO.TD /c /m38,12 /"BLIP" /b/p/t10 /m1,20
  5057.  
  5058.           Displays the current page layer of DEMO.TD, then immediately clears
  5059.           the screen, displays "BLIP" in the middle of the screen, and sounds
  5060.           the speaker.  The cursor is then placed at the beginning of line 20
  5061.           and THEPP exits.
  5062.  
  5063.  
  5064.        THEPP SOMEFILE.ASC
  5065.  
  5066.           Displays the contents of the Ascii file SOMEFILE.ASC on the screen.
  5067.           Equivalent to using "TYPE SOMEFILE.ASC".
  5068.  
  5069.  
  5070.  
  5071.  
  5072.  
  5073.  
  5074.        TheDraw v4.00         The Presentation Program               76       
  5075.  
  5076.  
  5077.  
  5078.  
  5079.        THEPP /fCOMMAND1.FIL /m1,6 /"All done!"
  5080.  
  5081.           Makes THEPP obtain its  next commands  from the  file COMMAND1.FIL.
  5082.           This file  simply contains  a list  of command line parameters.  An
  5083.           example might be:
  5084.  
  5085.              Filename #1:  COMMAND1.FIL
  5086.                 /m1,1
  5087.                 /"Command file 1 running - Running command file 2"
  5088.                 /fCOMMAND2.FIL
  5089.                 /m1,5
  5090.                 /"Command file 1 resumed."
  5091.                 
  5092.  
  5093.              Filename #2:  COMMAND2.FIL
  5094.                 /m1,2
  5095.                 /"Command file 2 running - Running command file 3"
  5096.                 /fCOMMAND3.FIL
  5097.                 /m1,4
  5098.                 /"Command file 2 resumed."
  5099.  
  5100.  
  5101.              Filename #3:  COMMAND3.FIL
  5102.                 /m1,3
  5103.                 /"Command file 3 running"
  5104.  
  5105.           In this example, command files are nest two levels deep.   In other
  5106.           words,  COMMAND1.FIL  calls  COMMAND2.FIL  which calls COMMAND3.FIL
  5107.           which then exits back to COMMAND2.FIL which then exits finally back
  5108.           to COMMAND1.FIL.   THEPP  allows nesting to go ten (10) levels deep
  5109.           for a large amount of complexity.  Running the above  example would
  5110.           produce the output:
  5111.  
  5112.              Command file 1 running - Running command file 2
  5113.              Command file 2 running - Running command file 3
  5114.              Command file 3 running
  5115.              Command file 2 resumed
  5116.              Command file 1 resumed
  5117.              All done!
  5118.  
  5119.           Note:    Conceivably,  an  semi-endless  loop is possible.  In this
  5120.           case, a command file would call itself (ie:  replace /fCOMMAND2.FIL
  5121.           with /fCOMMAND1.FIL in the above example).  If this occurred, THEPP
  5122.           would open the same command file 10 times  then stop  with an error
  5123.           message.
  5124.  
  5125.  
  5126.  
  5127.  
  5128.  
  5129.  
  5130.  
  5131.  
  5132.        TheDraw v4.00         The Presentation Program               77       
  5133.  
  5134.  
  5135.  
  5136.  
  5137.                                     APPENDIX A
  5138.                                     __________
  5139.  
  5140.                                SETTING UP CONFIG.SYS
  5141.  
  5142.  
  5143.        The ANSI  driver must  be installed  to display  Ansi color images and
  5144.        Ansi animation files via the Dos TYPE command.   This  can be  done by
  5145.        adding a  'DEVICE=ANSI.SYS' statement to your CONFIG.SYS file.  If you
  5146.        do not have a CONFIG.SYS  file,  you  can  create  one  by  typing the
  5147.        following in your root directory:
  5148.  
  5149.                           COPY CON CONFIG.SYS<enter>
  5150.                           DEVICE=ANSI.SYS<enter>
  5151.                           ^Z<enter>               ( <-- press CTRL and Z )
  5152.  
  5153.        If you have a CONFIG.SYS file, append the sequence with:
  5154.  
  5155.                           EDLIN CONFIG.SYS<enter>
  5156.                           #I<enter>
  5157.                           DEVICE=ANSI.SYS<enter>
  5158.                           ^Z<enter>               ( <-- press CTRL and Z )
  5159.                           E<enter>
  5160.  
  5161.        For this  to work properly, the ANSI.SYS file must also be in the root
  5162.        directory of your boot disk or hard drive (whichever is applicable).
  5163.  
  5164.        People wanting  to use  a mouse  with TheDraw  may have  to install an
  5165.        additional  file  in  their  CONFIG.SYS  file.    If  a driver must be
  5166.        installed, follow the above instructions using the name  of your mouse
  5167.        driver  (ie:  MSMOUSE.SYS  or  MOUSE.SYS, etc...) instead of ANSI.SYS.
  5168.        Additional parameters  may be  required.   Please refer  to the manual
  5169.        that came with your mouse for more details.
  5170.  
  5171.        There  are  many  other  useful  statements that can be placed in your
  5172.        CONFIG.SYS file.  Two which can  dramatically improve  the performance
  5173.        of DOS are:
  5174.  
  5175.                                      BUFFERS=10
  5176.                                      FILES=10
  5177.  
  5178.        Add these  as stated  above.   If you created a new CONFIG.SYS for the
  5179.        DEVICE=ANSI.SYS clause by COPY CON, then append these using the second
  5180.        method.  Enjoy!
  5181.  
  5182.  
  5183.  
  5184.  
  5185.  
  5186.  
  5187.  
  5188.  
  5189.  
  5190.        TheDraw v4.00                Appendix A                      78       
  5191.  
  5192.  
  5193.  
  5194.  
  5195.                                     APPENDIX B
  5196.                                     __________
  5197.  
  5198.                            PROGRAMMERS PROGRAMMING TIPS
  5199.  
  5200.  
  5201.        This section is for individuals writing programs who are interested in
  5202.        using TheDraw.  Effort was put  forth  to  make  TheDraw  a convenient
  5203.        utility.   Registered users  get several ready to use program routines
  5204.        (in addition to standard Uncrunch  code).    Routines  supporting Bios
  5205.        display, direct  video display with/without snow checking, and several
  5206.        screen access routines are included.  Seperate documentation for those
  5207.        routines is included for registered users.
  5208.  
  5209.  
  5210.        PROGRAMMING IN ASSEMBLER
  5211.        ------------------------
  5212.  
  5213.        Assembly programmers  will find  ASM formatted  files in standard data
  5214.        byte format, using the DB operator.  Asm files can  have varying sizes
  5215.        depending  upon  the  save  mode  used  (Ascii/Normal/Crunched).   The
  5216.        dimensions and  length of  the save  are displayed  at the  top of all
  5217.        assembler dumps.   If  you crunched  the screen,  you will have to use
  5218.        the uncrunch  routine  provided  in  ASM  source  code (UNCRUNCH.ASM).
  5219.        Values required in the CPU registers are documented in the file.  
  5220.  
  5221.        Ascii formatted files must be read as bytes and saved on the screen as
  5222.        words.  This can  be  achieved  using  LODSB  and  STOSW instructions.
  5223.        LODSB loads  into AL  the character.   You  store into  AH the desired
  5224.        screen color attributes.   STOSW then  writes the  two bytes  onto the
  5225.        screen.   An alternate method would be to use the Bios or Dos, however
  5226.        these methods are considerably slower.  
  5227.  
  5228.        A normal 4000 byte dump (80x25 screen) is  the easiest  to display via
  5229.        the REP MOVSW instruction.  To display the image, point the ES:DI pair
  5230.        to B800:0000 (for color  screens; B000:0000  monochrome) and  DS:SI to
  5231.        the screen  in your  program.   Also load  CX with the number of video
  5232.        words to display (2000 - A total of 4000 bytes).  ie:
  5233.  
  5234.                 MOV   AX,0B800h
  5235.                 MOV   ES,AX
  5236.                 MOV   DI,0
  5237.                 MOV   SI,offset ImageData
  5238.                 MOV   CX,2000
  5239.                 CLD                          ;Make MOVSW go forward.
  5240.                 REP   MOVSW
  5241.  
  5242.        If writing to a EGA screen (80x43), CX would need 3440.   If to  a VGA
  5243.        screen (80x50), CX would need 4000.  
  5244.  
  5245.  
  5246.  
  5247.  
  5248.        TheDraw v4.00                Appendix B                      79       
  5249.  
  5250.  
  5251.  
  5252.  
  5253.        As shown  above, the  ImageData is  written directly  onto the screen.
  5254.        This will cause hashing or "snow" on some  color video  displays.  You
  5255.        may want  to move  only one  video word  at a  time, pausing until the
  5256.        video hardware is in horizontal or  vertical  retrace.    This  can be
  5257.        accomplished with the following routine.
  5258.  
  5259.        Example:
  5260.  
  5261.           MOV   AX,0B800h
  5262.           MOV   ES,AX
  5263.           MOV   DI,0
  5264.           MOV   SI,offset ImageData
  5265.           MOV   CX,2000
  5266.           CLD
  5267.  
  5268.           MOV   DX,03DAh           ;Save i/o address of CGA status register
  5269.  
  5270.        LOOPA:
  5271.           LODSW                    ;Read data to be written
  5272.           MOV   BX,AX              ;Save for later.
  5273.  
  5274.           MOV   AH,9               ;Test mask for Vertical/Horizontal retrace
  5275.  
  5276.           IN    AL,DX              ;Read the status register
  5277.           TEST  AL,8               ;See if in vertical retrace?
  5278.           JNZ   WRITE_IT           ;Jump if so.  No need to wait here.
  5279.  
  5280.        LOOPB:
  5281.           IN    AL,DX              ;Read the status register
  5282.           RCR   AL,1               ;Test bit1.  Make sure we are not in the
  5283.           JC    LOOPB              ;middle of a horizontal retrace. 
  5284.  
  5285.        LOOPC:
  5286.           IN    AL,DX              ;Read the status register
  5287.           TEST  AL,AH              ;Wait until in either vertical or
  5288.           JZ    LOOPC              ;horizontal retrace.
  5289.  
  5290.        WRITE_IT:
  5291.           MOV   AX,BX              ;Retrieve the character we loaded before.
  5292.           STOSW                    ;Save it.
  5293.  
  5294.           LOOP  LOOPA
  5295.  
  5296.  
  5297.        The above  is a  fairly complex mess, but will reliably place a screen
  5298.        image snow free onto the display.   This  routine is  not needed  on a
  5299.        monochrome video since such hardware does not suffer from snow.
  5300.  
  5301.        Notice the  entry code  is identical  to the  previous simple example.
  5302.        The REP MOVSW is has been replaced with extensive checks  on the video
  5303.        hardware however.  
  5304.  
  5305.  
  5306.        TheDraw v4.00                Appendix B                      80       
  5307.  
  5308.  
  5309.  
  5310.        PROGRAMMING IN PASCAL
  5311.        ---------------------
  5312.  
  5313.        Pascal programmers  have equal  ease with  displaying screens.  Images
  5314.        can be flashed to the screen using the Turbo Pascal  "MOVE" procedure.
  5315.        A pascal NORMAL save can be displayed with the following program:
  5316.  
  5317.          {$I image.pas}
  5318.          type ScreenType = array [0..3999] of Byte;  
  5319.          var Screen : ScreenType absolute $B800:0000;
  5320.  
  5321.          begin
  5322.            Move (ImageData,Screen,4000);
  5323.          end.
  5324.  
  5325.        The  above  defines  a  variable  at the absolute address of the video
  5326.        memory.  The importance of defining such an array will  become obvious
  5327.        below.   IMAGEDATA is assumed to be the name of the pascal image dump,
  5328.        but is easily altered  when saving  the file  from TheDraw.   The MOVE
  5329.        procedure puts  ImageData onto  the screen.   Please note this is only
  5330.        for a full screen.    To  display  a  screen  block  is  slightly more
  5331.        difficult.  Our program now becomes:
  5332.  
  5333.          {$I image.pas}
  5334.          type ScreenType = array [0..3999] of Byte;  
  5335.          var Screen : ScreenType absolute $B800:0000;
  5336.              X,Offset : Integer;
  5337.          begin
  5338.            Offset := ???; {Replace ??? with position to display block}
  5339.  
  5340.            for X := 0 to IMAGEDATA_DEPTH-1 do
  5341.              Move (ImageData[1+X*IMAGEDATA_WIDTH*2],
  5342.                    Screen[X*160+Offset],IMAGEDATA_WIDTH*2);
  5343.          end.
  5344.  
  5345.        The  constants  IMAGEDATA_DEPTH  and IMAGEDATA_WIDTH specify the block
  5346.        dimensions of IMAGEDATA, and  are generated  by TheDraw automatically.
  5347.        If  you  change  the  name  identifier,  the width and depth names are
  5348.        updated also.  The depth is the number of vertical lines in the block.
  5349.        Width is  the number  of character  across the  block.   OFFSET is the
  5350.        video address you want the block to appear at.  It is computed with: 
  5351.  
  5352.                              (column*2)+(row*160)-162
  5353.  
  5354.                                 Column varies 1..80
  5355.                                  Row varies 1..25
  5356.  
  5357.        Notice in this example we are using a  loop and  moving one  line at a
  5358.        time.   Lines from  ImageData are  placed on the video at OFFSET.  The
  5359.        address in ImageData is advanced to the location  of the  next line in
  5360.        each loop.   The  video address advances 160 characters each time (the
  5361.        byte width of the video display).
  5362.  
  5363.  
  5364.        TheDraw v4.00                Appendix B                      81       
  5365.  
  5366.  
  5367.  
  5368.  
  5369.        Turbo Pascal v3.0 users also have another interesting option.  You can
  5370.        include a .BIN file into a turbo program and then display it using the
  5371.        above techniques.  
  5372.  
  5373.        The file actually becomes part of your compiled pascal program.   Once
  5374.        your program is compiled, you no longer need to have the DEMO.BIN file
  5375.        present.
  5376.          
  5377.          procedure DummyProc; external 'DEMO.BIN';
  5378.  
  5379.          type ScreenType = array [0..3999] of Byte;  
  5380.          var Screen : ScreenType absolute $B800:0000;
  5381.              X,Depth,Width,Offset : Integer;
  5382.              ImageDataPtr : ^ScreenType;
  5383.          begin
  5384.            Depth := ???;    {Replace ???'s with actual block dimensions}
  5385.            Width := ???;    {as specified by TheDraw after .BIN save.}
  5386.            Offset := ???;   {Replace ??? with position to display block}
  5387.  
  5388.            ImageDataPtr := Addr(DummyProc);
  5389.  
  5390.            for X := 0 to Depth-1 do
  5391.              Move (ImageDataPtr^[1+X*Width*2],Screen[X*160+Offset],Width*2);
  5392.          end.
  5393.  
  5394.        In the above program, we create  a pointer  (IMAGEDATAPTR) pointing at
  5395.        the address  of DUMMYPROC.   The rest of the program is similar to the
  5396.        previous example, except all  occurrences  of  IMAGEDATA  are replaced
  5397.        with  IMAGEDATAPTR^.    Also,  since  the  block  dimensions  are  not
  5398.        available, you must specify them.
  5399.  
  5400.        The up arrow symbol at the end is  very important.   If  you don't use
  5401.        it, Turbo  will copy  the -value- of your pointer to the screen.  This
  5402.        will generally appear as  garbage.   It can  be fun  playing with this
  5403.        concept, you simply must be careful with the pointers.
  5404.  
  5405.        Pascal ASCII  saves are  used similar to strings.  Since the ImageData
  5406.        arrays created do not have color  attributes, we  cannot directly move
  5407.        them to  the video.  The following shows two techniques for displaying
  5408.        these images.
  5409.  
  5410.          --- Pascal ASCII Save Example 1 ---
  5411.  
  5412.          {$I image.pas}
  5413.          var X:Integer;
  5414.          begin
  5415.            ClrScr;
  5416.            for X := 1 to IMAGEDATA_LENGTH do Write (ImageData[X]);
  5417.          end.
  5418.  
  5419.  
  5420.  
  5421.  
  5422.        TheDraw v4.00                Appendix B                      82       
  5423.  
  5424.  
  5425.  
  5426.  
  5427.          --- Pascal ASCII Save Example 2 ---
  5428.  
  5429.          {$I image.pas}
  5430.          type ScreenType = array [0..3999] of Byte;  
  5431.          var Screen : ScreenType absolute $B800:0000;
  5432.              X:Integer;
  5433.          begin
  5434.            ClrScr;
  5435.            for X := 1 to IMAGEDATA_LENGTH do
  5436.              Screen[X*2-2] := ImageData[X];
  5437.          end.  
  5438.  
  5439.        The first example is easiest to  understand.    All  we  are  doing is
  5440.        displaying each  character in IMAGEDATA on the screen using the pascal
  5441.        WRITE function.  This works because the IMAGEDATA block (in this case)
  5442.        is 80  characters wide, so there is no need for a WRITELN.  The cursor
  5443.        will automatically be bumped down to the next  line.  IMAGEDATA_LENGTH
  5444.        is another constant automatically generated by TheDraw.
  5445.  
  5446.        The second  example is  similar to  the first, but directly stuffs the
  5447.        characters onto the screen.    This  will  be  faster  than  the first
  5448.        method.  Notice the Screen[X*2-2].  The multiplication is done because
  5449.        each character occupies two bytes of  video memory.   Since  the first
  5450.        video address is 0, we add -2 to the offset to keep things aligned.
  5451.  
  5452.        To  use  pascal  images  CRUNCHED  by  TheDraw  requires  use  of  the
  5453.        UNCRUNCH.PAS file  included  with  the  package.    The  file contains
  5454.        details and instruction on using crunched images.
  5455.  
  5456.  
  5457.        TURBO PASCAL v4.0 through v5.5 
  5458.        ------------------------------
  5459.  
  5460.        The above  examples will all work for Turbo Pascal v4.0 to v5.5 users,
  5461.        with exception to the external .BIN file example.  The newer compilers
  5462.        do not  support the  old format.  Instead you must use TheDraw's Turbo
  5463.        Pascal compatible Object (.OBJ) files.
  5464.  
  5465.        To use the object file do the following:
  5466.  
  5467.          {$L DEMO.OBJ }
  5468.          procedure ImageData; external;
  5469.          procedure ImageData_Width; external;
  5470.          procedure ImageData_Depth; external;
  5471.          procedure ImageData_Length; external;
  5472.  
  5473.        The procedure name  (ImageData  here)  is  specified  when  making the
  5474.        object  file.    All  four  external  procedure  definitions  must  be
  5475.        specified (Turbo requires it).   Although  these are  "procedures" you
  5476.        MUST NOT  execute them.   They  only contain  image data which must be
  5477.        referred to via pointers.  The modified .BIN example follows:
  5478.  
  5479.  
  5480.        TheDraw v4.00                Appendix B                      83       
  5481.  
  5482.  
  5483.  
  5484.  
  5485.          {$L DEMO.OBJ}
  5486.          procedure ImageData; external;
  5487.          procedure ImageData_Width; external;
  5488.          procedure ImageData_Depth; external;
  5489.          procedure ImageData_Length; external;
  5490.  
  5491.          type ScreenType = array [0..3999] of Byte;  
  5492.          var Screen : ScreenType absolute $B800:0000;
  5493.              X,Offset : Integer;
  5494.              ImageDataPtr : ^ScreenType;
  5495.              ImageDataWidthPtr : ^Integer;
  5496.              ImageDataDepthPtr : ^Integer;
  5497.              ImageDataLengthPtr : ^Integer;
  5498.  
  5499.          begin
  5500.            Offset := ???;   {Replace ??? with position to display block}
  5501.  
  5502.            ImageDataPtr := @ImageData;
  5503.            ImageDataWidthPtr := @ImageData_Width;
  5504.            ImageDataDepthPtr := @ImageData_Depth;
  5505.            ImageDataLengthPtr := @ImageData_Length;
  5506.  
  5507.            for X := 0 to ImageDataDepthPtr^-1 do
  5508.              Move (ImageDataPtr^[1+X*ImageDataWidthPtr^*2],
  5509.                    Screen[X*160+Offset],ImageDataWidthPtr^*2);
  5510.          end.
  5511.  
  5512.        The above is for a generalized block of any dimension.   A  pointer to
  5513.        the IMAGEDATA_LENGTH  is initialized  but not  used.   It is there for
  5514.        example usage only.  The above program can be simplified  somewhat for
  5515.        an entire screen.  ie:
  5516.  
  5517.          {$L DEMO.OBJ}
  5518.          procedure ImageData; external;         {All of these are needed,}
  5519.          procedure ImageData_Width; external;   {otherwise Turbo v4.0-v5.5}
  5520.          procedure ImageData_Depth; external;   {get upset.}
  5521.          procedure ImageData_Length; external;  
  5522.  
  5523.          begin
  5524.            Move (pointer(@ImageData)^,ptr($B800,0)^,4000);
  5525.          end.
  5526.  
  5527.        Note the  usage of  typecasting to eliminate the pointer to ImageData.
  5528.        This cleans up the program  appearance  somewhat.    In  addition, the
  5529.        value of  4000 could  be replaced  with a pointer to IMAGEDATA_LENGTH.
  5530.        However, since this is an  entire  screen  why  bother  initializing a
  5531.        pointer.  A full 80 by 25 screen is always 4000 bytes in length.  
  5532.  
  5533.  
  5534.  
  5535.  
  5536.  
  5537.  
  5538.        TheDraw v4.00                Appendix B                      84       
  5539.  
  5540.  
  5541.  
  5542.  
  5543.        TURBO PASCAL VERSION 6.0
  5544.        ------------------------
  5545.  
  5546.        Everything  shown  thus  far  for  Turbo  Pascal  v4.0  to  v5.5 works
  5547.        perfectly well in TP 6.0.  However, the  newest release  allows a more
  5548.        relaxed  preinitialized  constant  definitions.  The previous examples
  5549.        can be shorten to:
  5550.  
  5551.          {$L DEMO.OBJ}
  5552.          procedure ImageData; external;
  5553.          procedure ImageData_Width; external;
  5554.          procedure ImageData_Depth; external;
  5555.          procedure ImageData_Length; external;
  5556.  
  5557.          type ScreenType = array [0..3999] of Byte;  
  5558.          var Screen : ScreenType absolute $B800:0000;
  5559.              X,Offset : Integer;
  5560.  
  5561.          const
  5562.            ImageDataPtr : ^ScreenType = @ImageData;
  5563.            ImageDataWidthPtr : ^Integer = @ImageData_Width;
  5564.            ImageDataDepthPtr : ^Integer = @ImageData_Depth;
  5565.            ImageDataLengthPtr : ^Integer = @ImageData_Length;
  5566.  
  5567.          begin
  5568.            Offset := ???;   {Replace ??? with position to display block}
  5569.  
  5570.            for X := 0 to ImageDataDepthPtr^-1 do
  5571.              Move (ImageDataPtr^[1+X*ImageDataWidthPtr^*2],
  5572.                    Screen[X*160+Offset],ImageDataWidthPtr^*2);
  5573.          end.
  5574.  
  5575.  
  5576.        In addition, all the external definitions  for public  identifiers are
  5577.        no longer mandatory.   Thus the full screen example reduces to:
  5578.  
  5579.          {$L DEMO.OBJ}
  5580.          procedure ImageData; external;
  5581.  
  5582.          begin
  5583.            Move (pointer(@ImageData)^,ptr($B800,0)^,4000);
  5584.          end.
  5585.  
  5586.        People casually reviewing the literature for v6.0 may note initialized
  5587.        data is permitted within object files now.   Although a  definite vast
  5588.        improvement, the  data is  still private to the object file.  Assuming
  5589.        the  designers  of  Turbo  Pascal  eventually  add  external  variable
  5590.        declarations  (similar  to  C),  presumably the Large object file data
  5591.        model TheDraw currently supports should be compatible.   Until then we
  5592.        must bear with the current approach for accessing image data.
  5593.  
  5594.  
  5595.  
  5596.        TheDraw v4.00                Appendix B                      85       
  5597.  
  5598.  
  5599.  
  5600.  
  5601.        PROGRAMMING IN C
  5602.        ----------------
  5603.  
  5604.        C  programmers  have  support  similar  to  that  for pascal.  TheDraw
  5605.        creates the Normal, Ascii,  and Crunched  file formats  using modern C
  5606.        code definitions.  The ImageData arrays are used similar to the pascal
  5607.        case.  Please note, in the following examples  it will  be assumed the
  5608.        programs are compiled in a state supporting 32-bit data pointers.
  5609.  
  5610.        A C NORMAL save is the easiest to display.  For instance:
  5611.         
  5612.          #include <stdio.h>
  5613.          #include <mem.h> 
  5614.          #include "image.h"
  5615.          main ()  { 
  5616.            /* Kludge a pointer at video memory (segment 0xB800, offset 0) */ 
  5617.            void far *screen = (void far *) 0xB8000000; 
  5618.            memcpy (screen,IMAGEDATA,4000);    /* Move image to screen */ 
  5619.          }
  5620.  
  5621.        The  <mem.h>  file  reference  contains  the  definition of the memcpy
  5622.        routine.  Users of Microsoft C  should reference  the <memory.h> file.
  5623.        IMAGE.H is  assumed to  contain the array IMAGEDATA created by TheDraw
  5624.        (the name may be changed to anything else  naturally).   The void data
  5625.        type used is a modern C convention.  If your compiler does not support
  5626.        it, use type char instead (or  whatever type  your compiler  wants for
  5627.        parameters to memcpy).  
  5628.  
  5629.        Reminder:
  5630.           Be absolutely sure you are using the proper code/data model.  It is
  5631.           very easy to write  the above  program, only  to have  the compiler
  5632.           complain about incompatible pointer sizes and other nastiness.  The
  5633.           function memcpy MUST accept full 32 bit data  pointers.   In TurboC
  5634.           for instance, you must use memory models Compact, Large, or Huge.
  5635.  
  5636.        The above  is for  a full screen image.  To display a block involves a
  5637.        little more work, as in the pascal example.
  5638.  
  5639.          #include <stdio.h>
  5640.          #include <mem.h>          
  5641.          #include "image.h"
  5642.          main () {
  5643.            void far *screen;
  5644.            int offset = ???;  {Replace ??? with position to display block}
  5645.            int x;      
  5646.            
  5647.            for (x=0; x<IMAGEDATA_DEPTH; x++) {
  5648.              (long) screen = 0xB8000000+x*160+offset;
  5649.              memcpy (screen,&IMAGEDATA[x*IMAGEDATA_WIDTH*2],IMAGEDATA_WIDTH*2);
  5650.            }
  5651.          }
  5652.  
  5653.  
  5654.        TheDraw v4.00                Appendix B                      86       
  5655.  
  5656.  
  5657.  
  5658.  
  5659.        As before, the variables  IMAGEDATA_DEPTH and  IMAGEDATA_WIDTH specify
  5660.        the block  size saved in IMAGEDATA, and are generated by TheDraw.  The
  5661.        depth is the number  of vertical  lines in  the block.   Width  is the
  5662.        number  of  characters  across  the  block.  OFFSET contains the video
  5663.        address the block is to appear at.  It is computed with: 
  5664.  
  5665.                              (column*2)+(row*160)-162
  5666.  
  5667.                                 Column varies 1..80
  5668.                                  Row varies 1..25
  5669.  
  5670.        A loop is used in this  example to  move one  line at  a time.   Lines
  5671.        from IMAGEDATA  are placed  on the  video at OFFSET.  The address into
  5672.        IMAGEDATA is advanced to the location of the  next line  in each loop.
  5673.        The  video  address  advances  160  characters for each line (the byte
  5674.        width of the video display).
  5675.  
  5676.        Programmers with TurboC can  also  use  the  function  puttext.   This
  5677.        handles everything  the previous  example did  and is  called with the
  5678.        following parameters:
  5679.  
  5680.                       XUL    = X coordinate of upper-left corner.
  5681.                       YUL    = Y coordinate of upper-left corner.
  5682.                       XLR    = X coordinate of lower-right corner.
  5683.                       YLR    = Y coordinate of lower-right corner.
  5684.                       source = address pointer to data
  5685.  
  5686.        Examples of usage are: 
  5687.  
  5688.              puttext (1,1,80,25,IMAGEDATA);  
  5689.                 /* full screen display */
  5690.  
  5691.              puttext (1,1,IMAGEDATA_WIDTH,IMAGEDATA_DEPTH,IMAGEDATA);
  5692.                 /* display block in upper-left corner of screen */
  5693.  
  5694.              puttext (81-IMAGEDATA_WIDTH,26-IMAGEDATA_DEPTH,80,25,IMAGEDATA);
  5695.                 /* display block in lower-right corner of screen */
  5696.  
  5697.  
  5698.        In addition to simplifying the code,  this function  can be  used from
  5699.        ANY memory model.  You are not restricted to the larger memory models.
  5700.        However, remember this function will only work for NORMAL screen saves
  5701.        (not Ascii or Crunched).
  5702.  
  5703.  
  5704.  
  5705.  
  5706.  
  5707.  
  5708.  
  5709.  
  5710.  
  5711.  
  5712.        TheDraw v4.00                Appendix B                      87       
  5713.  
  5714.  
  5715.  
  5716.  
  5717.        The ASCII  format is  a bit easier to use in C than Pascal.  By taking
  5718.        advantage of the 0 terminated strings  of C,  we can  display an ASCII
  5719.        image by simply doing the following:
  5720.  
  5721.          #include <stdio.h>
  5722.          #include "image.h"
  5723.          main () {
  5724.            printf ("%s",IMAGEDATA);
  5725.          }
  5726.  
  5727.        An alternate technique for displaying ASCII format files is similar to
  5728.        the second pascal example (for doing the same thing).  ie: 
  5729.          #include <stdio.h>
  5730.          #include <mem.h>
  5731.          #include "image.h"
  5732.          main () {
  5733.            void far *screen;
  5734.  
  5735.            int x;      
  5736.            
  5737.            for (x=0; x<4000; x++) {
  5738.              (long) screen = 0xB8000000 + x*2;
  5739.              memcpy (screen,&IMAGEDATA[x],1);
  5740.            }
  5741.          }
  5742.  
  5743.        Characters are copied one at a  time from  the IMAGEDATA  array to the
  5744.        video memory.   This  is significantly faster than the printf example,
  5745.        since the overhead of going through the operating system is removed.
  5746.  
  5747.        To use C images CRUNCHED by TheDraw, you must use  the code  in either
  5748.        UNCRUN_N.OBJ or  UNCRUN_F.OBJ (depending if you are using a Small/Near
  5749.        or Large/Far code model).   The  file UNCRUNCH.H  contains examples on
  5750.        their usage.
  5751.  
  5752.  
  5753.  
  5754.        USING OBJECT FILES WITH C
  5755.        -------------------------
  5756.  
  5757.        C  is  normally  implemented  to smoothly interface with object files.
  5758.        There are two steps to using TheDraw object files with C.  
  5759.  
  5760.           1) Specify external variables referencing the screen image.
  5761.           2) Tell the compiler make/project utility to  link the  wanted file
  5762.              with your program.  
  5763.  
  5764.        The following example will help show this.
  5765.  
  5766.  
  5767.  
  5768.  
  5769.  
  5770.        TheDraw v4.00                Appendix B                      88       
  5771.  
  5772.  
  5773.  
  5774.  
  5775.        Notice in  the following  program that  no include  is made.  The file
  5776.        containing the image is not C source code.   It  is a  prepared object
  5777.        file merely  needing to  be linked.   Therefore,  we tell the compiler
  5778.        what to expect via EXTERN definitions.
  5779.  
  5780.          #include <stdio.h>
  5781.          #include <mem.h>          
  5782.          main () {
  5783.            extern int IMAGEDATA_WIDTH;
  5784.            extern int IMAGEDATA_DEPTH;
  5785.            extern int IMAGEDATA_LENGTH;
  5786.            extern unsigned char IMAGEDATA [];
  5787.  
  5788.            void far *screen;
  5789.            int offset = ???;  {Replace ??? with position to display block}
  5790.            int x;      
  5791.            
  5792.            for (x=0; x<IMAGEDATA_DEPTH; x++) {
  5793.              (long) screen = 0xB8000000+x*160+offset;
  5794.              memcpy (screen,&IMAGEDATA[x*IMAGEDATA_WIDTH*2],IMAGEDATA_WIDTH*2);
  5795.            }
  5796.          }
  5797.  
  5798.        Notice  the  image  dimensions  (width,depth,length)  are   stored  as
  5799.        variables for  easy reference.  The length parameter is not used here,
  5800.        but included to show its availability. 
  5801.  
  5802.        The second step is largely dependent on the compiler setup.   You must
  5803.        create  or  update  a  make  file to link the necessary TheDraw object
  5804.        (.OBJ) file with your program.  If you  use Turbo  C, simply  list the
  5805.        file in the project listing.
  5806.  
  5807.  
  5808.  
  5809.  
  5810.  
  5811.  
  5812.  
  5813.  
  5814.  
  5815.  
  5816.  
  5817.  
  5818.  
  5819.  
  5820.  
  5821.  
  5822.  
  5823.  
  5824.  
  5825.  
  5826.  
  5827.  
  5828.        TheDraw v4.00                Appendix B                      89       
  5829.  
  5830.  
  5831.  
  5832.  
  5833.        PROGRAMMING IN STANDARD BASIC
  5834.        -----------------------------
  5835.  
  5836.        Basic programmers  are a  little more  limited, not  because they lack
  5837.        commands, but lack speed.  Therefore  TheDraw creates  the BSave files
  5838.        with all  addressing information  already programmed.  All you have to
  5839.        do  is  type  'BLOAD  "filename.BSV"'.      The   screen   segment  is
  5840.        automatically set,  so you  don't have  to bother  with DEF SEG=etc...
  5841.        However, if you wish to override the display segment default,  try the
  5842.        following:  
  5843.  
  5844.             DEF SEG=&HB800 : BLOAD"filename.BSV",0
  5845.  
  5846.        For monochrome video users, replace the B800 with B000.
  5847.  
  5848.        TheDraw allows  partial block saves for basic files.  These files will
  5849.        always be 80 characters wide.  This is a limitation of BLOAD  which we
  5850.        all  must  live  with.    They  can start and end on any vertical line
  5851.        however, so you could load a  full screen  then just  load small block
  5852.        images to  update those parts of the screen needing it.  Make sure you
  5853.        build the partial-block images in TheDraw in the exact screen location
  5854.        you want them to finally appear.  If you save a block starting on line
  5855.        5, and ending on line 8 that is where Basic will display it.
  5856.  
  5857.  
  5858.  
  5859.  
  5860.  
  5861.  
  5862.  
  5863.  
  5864.  
  5865.  
  5866.  
  5867.  
  5868.  
  5869.  
  5870.  
  5871.  
  5872.  
  5873.  
  5874.  
  5875.  
  5876.  
  5877.  
  5878.  
  5879.  
  5880.  
  5881.  
  5882.  
  5883.  
  5884.  
  5885.  
  5886.        TheDraw v4.00                Appendix B                      90       
  5887.  
  5888.  
  5889.  
  5890.  
  5891.        PROGRAMMING IN MICROSOFT QUICKBASIC v4.0 AND v4.5
  5892.        -------------------------------------------------
  5893.  
  5894.        All the techniques mentioned  for Standard  Basic above  are valid for
  5895.        Microsoft's QuickBasic compiler.  However, in QuickBasic v4.0 and v4.5
  5896.        additional means are at our disposal.  
  5897.  
  5898.        TheDraw produces QuickBasic compatible  object files  (.OBJ) which are
  5899.        directly linkable.   Each  TheDraw QuickBasic object file contains the
  5900.        screen image data  plus  four  functions  for  referencing  that data.
  5901.        These are  shown below  as used  from within  QuickBasic (assuming the
  5902.        default identifier of IMAGEDATA):
  5903.  
  5904.                           DECLARE FUNCTION IMAGEDATA!
  5905.                           DECLARE FUNCTION IMAGEDATAWIDTH%
  5906.                           DECLARE FUNCTION IMAGEDATADEPTH%
  5907.                           DECLARE FUNCTION IMAGEDATALENGTH%
  5908.  
  5909.        Changing the identifier when saving the  object file  alters the above
  5910.        accordingly.  ie:  an identifier of TEST would be:
  5911.  
  5912.                           DECLARE FUNCTION TEST!
  5913.                           DECLARE FUNCTION TESTWIDTH%
  5914.                           DECLARE FUNCTION TESTDEPTH%
  5915.                           DECLARE FUNCTION TESTLENGTH%
  5916.  
  5917.        The  functions  are  used  in  conjunction  with  the QB4UTIL.LIB file
  5918.        containing subroutines for displaying  the  screen  image  data.   The
  5919.        first  function,  IMAGEDATA  (or  whatever identifier chosen), returns
  5920.        information regarding the location of the  data.    It  is  used  as a
  5921.        parameter to one of the display subroutines.  ie:
  5922.  
  5923.              CALL UNCRUNCH (IMAGEDATA!, 0)            Use whichever is
  5924.              CALL ASCIIDISPLAY (IMAGEDATA!, 0)     <- appropriate to the
  5925.              CALL NORMALDISPLAY (IMAGEDATA!, 0)       file created by TheDraw
  5926.  
  5927.        The next  two functions  return the  width and depth dimensions of the
  5928.        screen image block.   For  instance,  a  full  screen  would typically
  5929.        return 80  and 25  respectfully (unless  a EGA/VGA  display was in use
  5930.        causing the depth to  increase).    These  parameters  are  useful for
  5931.        determining window and viewport sizes, computing area, etc...
  5932.  
  5933.        The last  function returns  the length  of the  data as stored in your
  5934.        program.  A crunched image or a small data block could be quite small.
  5935.        A 80x25 normal binary screen image would be 4000 bytes.  
  5936.  
  5937.        To  use   TheDraw  object   files  within  the  QuickBasic  integrated
  5938.        environment requires the making of  a  Microsoft  Quick  Library.   If
  5939.        linking together your program externally, the QB4UTIL.LIB file must be
  5940.        included as  it  contains  the  required  Uncrunch,  AsciiDisplay, and
  5941.        NormalDisplay routines.
  5942.  
  5943.  
  5944.        TheDraw v4.00                Appendix B                      91       
  5945.  
  5946.  
  5947.  
  5948.  
  5949.        To  ease  the  use  of  TheDraw  object  files,  a  batch  file called
  5950.        MAKEQLB.BAT is included.    The  batch  file  creates  both  the Quick
  5951.        Library files  (.QLB extension)  and the  separate library files (.LIB
  5952.        extension).  The idea being to put everything in one place.
  5953.  
  5954.        Once MAKEQLB has run  successfully,  you  can  use  the  Quick Library
  5955.        within the environment.  ie: 
  5956.  
  5957.                                 QB /L testfile.QLB
  5958.  
  5959.        In addition,  linking at  the Dos  prompt is  simplified since all you
  5960.        need include is the one file.  ie:
  5961.  
  5962.                            LINK program.OBJ+testfile.LIB
  5963.  
  5964.               (program.OBJ is assumed created by the BC.EXE compiler)
  5965.  
  5966.        MAKEQLB.BAT must  be in  the same  directory as  LINK.EXE, LIB.EXE and
  5967.        BRUN40.LIB or  BRUN45.LIB (depending  on your  version of QuickBasic),
  5968.        plus naturally the TheDraw object files.  The parameters to  the batch
  5969.        file are:
  5970.  
  5971.               MAKEQLB <targetlib> <objectfile1> <objectfile2> etc...
  5972.  
  5973.        The <targetlib> is any library filename you want.  Do -not- put a file
  5974.        extension on this! (see example below)  The batch adds  the extensions
  5975.        .QLB and  .LIB automatically for you.  The <objectfile> parameters are
  5976.        the names of object files you created with TheDraw.  
  5977.  
  5978.                -------------------- Example run --------------------
  5979.  
  5980.                    THEDRAW       
  5981.                       ....assume users creates the QB object files
  5982.                           IMAGE1.OBJ and IMAGE2.OBJ
  5983.  
  5984.                    MAKEQLB IMAGES IMAGE1.OBJ IMAGE2.OBJ
  5985.                       ....creates the files IMAGES.QLB & IMAGES.LIB
  5986.                           containing the two above object files plus
  5987.                           the required display routines.
  5988.  
  5989.                    QB /L IMAGES.QLB
  5990.  
  5991.                ----------------------------------------------------
  5992.  
  5993.        Once the Quick Library is created, using the screen images is a simple
  5994.        matter of  calling a  display routine.   The  display routines must be
  5995.        declare within  QuickBasic  before  they  can  be  called.    The file
  5996.        QB4UTIL.BI lists those declaratations for convenience.  Simply include
  5997.        it with the following meta command:
  5998.  
  5999.                             REM $INCLUDE: 'QB4UTIL.BI'
  6000.  
  6001.  
  6002.        TheDraw v4.00                Appendix B                      92       
  6003.  
  6004.  
  6005.  
  6006.  
  6007.        Example  program  using  images  screens.    Assume  two  screens  are
  6008.        available with the identifiers IMAGE1 and IMAGE2.  IMAGE1 was crunched
  6009.        and IMAGE2 saved as Ascii.
  6010.  
  6011.        ------------------
  6012.  
  6013.           REM $INCLUDE: 'QB4UTIL.BI'       ' Get display routine declarations
  6014.  
  6015.           DECLARE FUNCTION Image1!         ' Important!  Do not neglect
  6016.           DECLARE FUNCTION Image1Width%    ' either the "!" or "%" symbols
  6017.           DECLARE FUNCTION Image1Depth%    ' on the function declarations.
  6018.           DECLARE FUNCTION Image1Length%   
  6019.  
  6020.           DECLARE FUNCTION Image2!
  6021.           DECLARE FUNCTION Image2Width%      
  6022.           DECLARE FUNCTION Image2Depth%      
  6023.           DECLARE FUNCTION Image2Length%     
  6024.  
  6025.           COLOR 15,0 
  6026.           CLS                              ' Clear screen to black
  6027.           CALL UNCRUNCH (IMAGE1!,0)        ' Go uncrunch first image.
  6028.           WHILE INKEY$="" : WEND           ' Pause until user hits a key
  6029.  
  6030.           CLS                                        ' Clear screen again
  6031.           CALL ASCIIDISPLAY (IMAGE2!, 5*160 + 40*2)  ' Ascii display second
  6032.                                                      ' image.
  6033.           WHILE INKEY$="" : WEND
  6034.           END
  6035.  
  6036.        ------------------
  6037.  
  6038.        The second parameter of each display  call is  the video  location the
  6039.        image will appear.  The upper left screen corner is offset 0 with each
  6040.        line taking 160 bytes (each screen character uses two bytes).  ie:
  6041.  
  6042.              line 1 = offset 0
  6043.              line 2 = offset 160
  6044.              line 3 = offset 320
  6045.              line 4 = offset 480
  6046.              etc...
  6047.  
  6048.        Thus the first call (to Uncrunch)  displays IMAGE1  in the  upper left
  6049.        corner.    The  second  call  (to AsciiDisplay) displays IMAGE2 on the
  6050.        sixth line down, in  the center  of the  screen (40  characters over).
  6051.        The file QB4UTIL.BI contains a complete description of all the display
  6052.        routines for you.
  6053.  
  6054.        Note in the above  example, everything  available in  a TheDraw object
  6055.        file was  declared (the  Image, the width, depth, and data length) for
  6056.        example purposes.  In normal use you need  only declare  what you wish
  6057.        to take advantage of (naturally).
  6058.  
  6059.  
  6060.        TheDraw v4.00                Appendix B                      93       
  6061.  
  6062.  
  6063.  
  6064.  
  6065.        PROGRAMMING IN CLIPPER (courtesy of Larry Stewart)
  6066.        --------------------------------------------------
  6067.  
  6068.        The Clipper(tm) compiler uses the same format as TheDraw's BINARY save
  6069.        for it's "SAVE SCREEN to memvar" and SAVESCREEN() functions.  The code
  6070.        example that  follows shows how to retrieve a .BIN file and display it
  6071.        in your compiled EXE program.
  6072.  
  6073.        FUNCTION SHOW_BIN
  6074.  
  6075.        * SYNTAX:    SHOWBIN( <name> [, <expN1>, <expN2>, <expN3>, <expN4> ] )
  6076.        * PURPOSE:   Display a full or partial screen from a .BIN file
  6077.        * ARGUMENTS: <name> contains the name of the .BIN file from TheDraw
  6078.        *            If <expN1> through <expN4> are not present, the routine
  6079.        *            assumes a full screen display will be restored.
  6080.        *            <expN1> is the top row for a partial screen
  6081.        *            <expN2> is the left column for the partial screen
  6082.        *            <expN3> is the bottom row for the partial screen
  6083.        *            <expN4> is the right column for the partial screen
  6084.  
  6085.        PARAMETER binfile,t,l,b,r
  6086.        PRIVATE m_buffer,m_handle,m_bytes,m_size
  6087.  
  6088.        IF ! ("." $ binfile)                  && Does file have an extension?
  6089.           binfile = binfile+".BIN"           && No, default to .BIN
  6090.        ENDIF
  6091.  
  6092.        IF ! FILE(binfile)                    && Does file exist on disk?
  6093.           RETURN .F.                         && No, return FAIL value.
  6094.        ENDIF
  6095.  
  6096.        IF PCOUNT() = 1                       && Any border dimensions passed?
  6097.          m_buffer = SPACE(4000)              && If not, assume full screen.
  6098.          m_handle = FOPEN(binfile,0)
  6099.          m_bytes = FREAD(m_handle,@m_buffer,4000)
  6100.          FCLOSE(m_handle)
  6101.          IF m_bytes = 4000
  6102.            RESTORE SCREEN FROM m_buffer
  6103.            RETURN .T.
  6104.          ELSE
  6105.            RETURN .F.                        && Error if .BIN file did not
  6106.          ENDIF                               && contain 4000 bytes.
  6107.        ENDIF
  6108.  
  6109.        IF PCOUNT() != 5                      && Check for correct number of
  6110.          RETURN .F.                          && parameters.
  6111.        ENDIF
  6112.  
  6113.        m_size = 2*((r-l+1)*(b-t+1))          && Compute  number  of  bytes in
  6114.        m_buffer = SPACE(m_size)              && box.  Allocate space for it.
  6115.        m_handle = FOPEN(binfile,0)
  6116.  
  6117.  
  6118.        TheDraw v4.00                Appendix B                      94       
  6119.  
  6120.  
  6121.  
  6122.        m_bytes = FREAD(m_handle,@m_buffer,m_size)
  6123.        FCLOSE (m_handle)
  6124.        IF m_bytes = m_size
  6125.          RESTSCREEN (t,l,b,r,m_buffer)
  6126.          RETURN .T.
  6127.        ELSE 
  6128.          RETURN .F.                          && Error if file not big enough.
  6129.        ENDIF
  6130.  
  6131.        Please note:   When  you save  a box (binary block save) with TheDraw,
  6132.        the screen position and dimensions are not recorded in the  .BIN file.
  6133.        The box  may be  restored to  your screen  at any position you choose;
  6134.        however, the dimensions of the box -cannot- be  changed.   If you try,
  6135.        the box  will appear  distorted or  the above routine will generate an
  6136.        error.
  6137.  
  6138.        Examples:
  6139.  
  6140.           SHOWBIN ("EXAMPLE1")
  6141.              Displays the full screen image in the file EXAMPLE1.
  6142.  
  6143.           SHOWBIN ("EXAMPLE2",10,20,20,60)
  6144.              Displays the 40 by  10  block  in  EXAMPLE2  at  screen position
  6145.              (20,10).
  6146.  
  6147.        ------------------------
  6148.        If you have additional ideas for this section, please send them in!
  6149.  
  6150.  
  6151.  
  6152.  
  6153.  
  6154.  
  6155.  
  6156.  
  6157.  
  6158.  
  6159.  
  6160.  
  6161.  
  6162.  
  6163.  
  6164.  
  6165.  
  6166.  
  6167.  
  6168.  
  6169.  
  6170.  
  6171.  
  6172.  
  6173.  
  6174.  
  6175.  
  6176.        TheDraw v4.00                Appendix B                      95       
  6177.  
  6178.  
  6179.  
  6180.  
  6181.                                     APPENDIX C
  6182.                                     __________
  6183.  
  6184.                           EXTENDED/SPECIAL CHARACTER SET
  6185.  
  6186.  
  6187.        The following lists everything available in the IBM extended character
  6188.        set.  These are  all found  in the  15 special  character function key
  6189.        sets supported by TheDraw.
  6190.  
  6191.  
  6192.             Code Symbol     Code Symbol     Code Symbol     Code Symbol
  6193.  
  6194.              128   Ç         160   á         192   └         224   α
  6195.              129   ü         161   í         193   ┴         225   ß
  6196.              130   é         162   ó         194   ┬         226   Γ
  6197.              131   â         163   ú         195   ├         227   π
  6198.              132   ä         164   ñ         196   ─         228   Σ
  6199.              133   à         165   Ñ         197   ┼         229   σ
  6200.              134   å         166   ª         198   ╞         230   µ
  6201.              135   ç         167   º         199   ╟         231   τ
  6202.              136   ê         168   ¿         200   ╚         232   Φ
  6203.              137   ë         169   ⌐         201   ╔         233   Θ
  6204.              138   è         170   ¬         202   ╩         234   Ω
  6205.              139   ï         171   ½         203   ╦         235   δ
  6206.              140   î         172   ¼         204   ╠         236   ∞
  6207.              141   ì         173   ¡         205   ═         237   φ
  6208.              142   Ä         174   «         206   ╬         238   ε
  6209.              143   Å         175   »         207   ╧         239   ∩
  6210.              144   É         176   ░         208   ╨         240   ≡
  6211.              145   æ         177   ▒         209   ╤         241   ±
  6212.              146   Æ         178   ▓         210   ╥         242   ≥
  6213.              147   ô         179   │         211   ╙         243   ≤
  6214.              148   ö         180   ┤         212   ╘         244   ⌠
  6215.              149   ò         181   ╡         213   ╒         245   ⌡
  6216.              150   û         182   ╢         214   ╓         246   ÷
  6217.              151   ù         183   ╖         215   ╫         247   ≈
  6218.              152   ÿ         184   ╕         216   ╪         248   °
  6219.              153   Ö         185   ╣         217   ┘         249   ∙
  6220.              154   Ü         186   ║         218   ┌         250   ·
  6221.              155   ¢         187   ╗         219   █         251   √
  6222.              156   £         188   ╝         220   ▄         252   ⁿ
  6223.              157   ¥         189   ╜         221   ▌         253   ²
  6224.              158   ₧         190   ╛         222   ▐         254   ■
  6225.              159   ƒ         191   ┐         223   ▀         255   solid spc
  6226.               
  6227.  
  6228.  
  6229.  
  6230.  
  6231.  
  6232.  
  6233.  
  6234.        TheDraw v4.00                Appendix C                      96       
  6235.  
  6236.  
  6237.  
  6238.  
  6239.                                     APPENDIX D
  6240.                                     __________
  6241.  
  6242.                             COMMON QUESTIONS & ANSWERS
  6243.  
  6244.        In  an  attempt  to  help  users  with  commonplace difficulties, this
  6245.        section answers some of the more frequent questions.
  6246.  
  6247.        Q:   Why does TheDraw display  garbage when  I load  captures graphics
  6248.             screens?
  6249.  
  6250.        A:   TheDraw is  not designed  to handle  high resolution graphics per
  6251.             say.  TheDraw handles only text images.  It is similar to  a word
  6252.             processor in that regard.
  6253.        ----
  6254.        Q:   How can TheDraw support imbedded Ansi BBS control sequences?
  6255.  
  6256.        A:   Previously  users  had  to  resort  to  Animation  Include files,
  6257.             however with TheDraw v4.00,  user control  sequences are directly
  6258.             supported.  Refer to command ALT-J,User-Seq for more information.
  6259.        ----
  6260.        Q:   How can  I control  the location of the cursor after an Ansi file
  6261.             is displayed?
  6262.  
  6263.        A:   The easiest way is to  convert  your  Ansi  screen  to Animation.
  6264.             Select the  ALT-J, and  the "Top"  scanner.  The top scanner will
  6265.             make your Ansi file  display as  before.   You could  choose some
  6266.             other if you like.  Next, move the cursor where you would like to
  6267.             appear after the display is finished, and press the [SPACE] bar.
  6268.  
  6269.             The space  will  become  the  last  character  displayed  and the
  6270.             position where TheDraw leaves the cursor.
  6271.        ----
  6272.        Q:   How do  I upload Ansi files to another computer (a bulletin board
  6273.             system)?
  6274.  
  6275.        A:   Ansi files are sent identically to  regular text  messages, using
  6276.             your communication  programs Ascii  upload option.   Before doing
  6277.             so, be aware some BBS's explicitly do not  support Ansi.   If you
  6278.             pass  the  first  hurdle,  note some BBS's feature automatic text
  6279.             wrap-around for lines which are too long.   Other's simply refuse
  6280.             to accept  more than a maximum line length.  Either of the latter
  6281.             cases will disrupt the appearance of your Ansi files.
  6282.  
  6283.             To avoid difficulties, find  the  maximum  line  length enterable
  6284.             before the above problems occur (generally 70 characters is about
  6285.             average).  Next,  when  saving  your  Ansi  files  using TheDraw,
  6286.             specify the  number determined  (70 here)  for the maximum output
  6287.             line length.  TheDraw will limit lines to that length,  and there
  6288.             should be no problems uploading the image.
  6289.  
  6290.  
  6291.  
  6292.        TheDraw v4.00                Appendix C                      97       
  6293.  
  6294.  
  6295.  
  6296.        Q:   Can I  use images  created with  this software in my own programs
  6297.             for public use (or sale)?
  6298.  
  6299.        A:   Yes.  There are  absolutely no  restrictions on  work you create.
  6300.             You  might  add  a  mention  "Screens  produced  by TheDraw", but
  6301.             certainly do not ask for or require it.
  6302.        ----
  6303.        Q:   How do I draw circles/ovals/etc?
  6304.  
  6305.        A:   Smooth circles & ovals  are  not  possible  using  text graphics.
  6306.             Approximations  are  possible  by careful selection of characters
  6307.             and symbols.  For instance:
  6308.                                         ▄▄▄▄     
  6309.                                      ▄▀▀    ▀▀▄  
  6310.                                     █          █ 
  6311.                                    ▐▌          ▐▌
  6312.                                     █          █ 
  6313.                                      ▀▄▄    ▄▄▀  
  6314.                                         ▀▀▀▀     
  6315.             The above was produced using symbols from function key set #6.
  6316.        ----
  6317.        Q:   I get disk full error messages when I try saving an Ansi  file to
  6318.             an empty  diskette.   The file  is large, very close to the 16000
  6319.             animation limit.  Is this a bug?
  6320.  
  6321.        A:   Seems unlikely a bug  exists.    The  Ansi  produced  is probably
  6322.             larger than  your diskette.   Try  splitting it  into two smaller
  6323.             chunks.  Although dependant  primarily  on  the  application, the
  6324.             largest  Ansi  file  we  know  of TheDraw producing was about 7.9
  6325.             million bytes (a test  of  16000  random  entries,  32 char/line,
  6326.             ansi pause of 50).  Even larger files might be possible.  
  6327.        ----
  6328.        Q:   How can I combine two Ansi files together?
  6329.  
  6330.        A:   There are  three ways.   Either load them both into TheDraw under
  6331.             animation mode (you will be  prompted  if  to  append  the second
  6332.             file), or use the Dos COPY command.  ie:
  6333.  
  6334.                       COPY FILE1.ANS+FILE2.ANS FILE3.ANS
  6335.  
  6336.             The  above  will  create  a  new  file "FILE3.ANS" containing the
  6337.             complete contents of FILE1.ANS and FILE2.ANS.
  6338.  
  6339.             The last  method involves  using a  50 line  buffer mode, loading
  6340.             each target  Ansi file into appropriate portions (an ideal use of
  6341.             Block Load), then saving as one file.
  6342.  
  6343.  
  6344.  
  6345.  
  6346.  
  6347.  
  6348.  
  6349.  
  6350.        TheDraw v4.00                Appendix C                      98       
  6351.  
  6352.  
  6353.  
  6354.        Q:   Why can't I change the video size from 25 lines to 43 or 50 lines
  6355.             as the manual suggests?
  6356.  
  6357.        A:   You must have an EGA or VGA video card adapter installed in order
  6358.             to use these video  modes.    If  you  have  a  EGA/VGA  card and
  6359.             TheDraw  is  not  recognizing  your hardware, then please contact
  6360.             TheSoft describing the situation.
  6361.        ----
  6362.        Q:   My mouse  will not  go below  line 25  when using  the 43/50 line
  6363.             video mode.   I  can use the cursor keys fine, but the mouse gets
  6364.             stuck.  What is wrong?
  6365.  
  6366.        A:   TheDraw requires a mouse  driver  (ie:  MOUSE.SYS,  MOUSE.COM, or
  6367.             similar  variation)  be  installed  which  is compatible with the
  6368.             EGA/VGA video card.   Please contact  your mouse  manufacturer or
  6369.             check local computer bulletin board systems for an update.
  6370.  
  6371.  
  6372.  
  6373.  
  6374.  
  6375.  
  6376.  
  6377.  
  6378.  
  6379.  
  6380.  
  6381.  
  6382.  
  6383.  
  6384.  
  6385.  
  6386.  
  6387.  
  6388.  
  6389.  
  6390.  
  6391.  
  6392.  
  6393.  
  6394.  
  6395.  
  6396.  
  6397.  
  6398.  
  6399.  
  6400.  
  6401.  
  6402.  
  6403.  
  6404.  
  6405.  
  6406.  
  6407.  
  6408.        TheDraw v4.00                Appendix C                      99       
  6409.  
  6410.  
  6411.  
  6412.  
  6413.                           R E V I S I O N   H I S T O R Y
  6414.  
  6415.  
  6416.        05/01/86  -  Version 1.00  -  Program completed.  
  6417.        ______________________________________________________________________
  6418.  
  6419.        05/05/86  -  Version 1.01
  6420.  
  6421.        Carl Ehmann noticed a glitch in text creation that caused highlighting
  6422.        and blinking attributes  changes  to  go  unnoticed.    This  has been
  6423.        corrected.
  6424.        ______________________________________________________________________
  6425.  
  6426.        06/05/86  -  Version 1.02
  6427.  
  6428.        Steven Mills  discovered a bug in the file loading routine that caused
  6429.        TheDraw to flag valid filenames as invalid.  It has been squashed.
  6430.                                                       
  6431.        Changed the program to not allow the user to enter a code  #26 or code
  6432.        #27 into  a text screen. A code #26 is the Dos end of file marker, and
  6433.        entering it means loss of all following text upon displaying  the file
  6434.        or reloading  it back  into TheDraw.   A  code #27  is the ANSI driver
  6435.        signal  character.  Supposedly  ANSI  ignores  invalid  sequences, but
  6436.        allowing  the  code  created  "false"  ANSI codes which caused loading
  6437.        problems.
  6438.        ______________________________________________________________________
  6439.  
  6440.        07/31/86  -  Version 1.03 
  6441.  
  6442.        Upon prompting from Carl Ehmann, output line length  limiting has been
  6443.        added.   This will  facilitate other  programs which cannot load lines
  6444.        conceivably going over 1300 characters (such as RBBS).   Color changes
  6445.        can now  be accomplished  using the  Ctrl-Left and Right arrow keys to
  6446.        increment the fore and background colors respectively.
  6447.        ______________________________________________________________________
  6448.  
  6449.        08/15/86  -  Version 1.10  (later changed to v2.00) 
  6450.  
  6451.        Changes in a big way.  New features include:
  6452.          ANSI Animation, Line Drawing, Ruler, movement of
  6453.          blocks UNDER other text and much more!!
  6454.          
  6455.        Quick color change keys have been expanded to  use the  Ctrl-Up, Down,
  6456.        Left, and Right keys in a more logical manner.
  6457.        ______________________________________________________________________
  6458.  
  6459.        09/13/86  -  Version 2.01
  6460.  
  6461.        A few  more enhancements.   Pop-Up help, and macros have been added to
  6462.        the new registered version of the program.  Also a few aspects  of the
  6463.        animation editor have been sped up.
  6464.  
  6465.  
  6466.        TheDraw v4.00                  History                      100       
  6467.  
  6468.  
  6469.  
  6470.  
  6471.                      R E V I S I O N   H I S T O R Y  (cont):
  6472.  
  6473.  
  6474.        09/19/86 - Version 2.02
  6475.  
  6476.        Fixed a slight bug which was causing TheDraw to display the wrong Help
  6477.        Screen (in registered version).  Also,  the registered  version wasn't
  6478.        keeping track of where its overlay was.
  6479.        ______________________________________________________________________
  6480.  
  6481.        09/27/86 - Version 2.03
  6482.  
  6483.        Carl Ehmann noticed yet another glitch (what would I do without him?).
  6484.        The Ascii save routine was using ANSI codes  to advance  the cursor to
  6485.        the next line.  
  6486.        ______________________________________________________________________
  6487.  
  6488.        11/28/86 - Version 2.04
  6489.  
  6490.        Ray Buti  discovered an  oddity with  the Pascal  screen save.  If you
  6491.        used a single quote "'" TheDraw didn't compensate  for it.   Therefore
  6492.        when  Turbo  Pascal  compiled  that  screen  it  complained.  Ray also
  6493.        noticed that  characters under  #32 were  missing the  "#" required by
  6494.        Turbo.  These have both been cured.
  6495.  
  6496.        In addition,   the animation load routine has been made more reliable.
  6497.        Occasionally movement just involving the  cursor  (no  text)  would be
  6498.        lost.   Other improvements  were made  to make  animation screen files
  6499.        smaller and display faster.
  6500.        ______________________________________________________________________
  6501.  
  6502.        03/06/87 - Version 2.10
  6503.  
  6504.        Support for monochrome monitors has finally been added.  Don't ask why
  6505.        I never  did it  before...   The glitches  Paul Pacter (and many other
  6506.        people) found  with IBM  PC Ctrl-Up/Down  keys has  been eliminated. I
  6507.        would have  never noticed  that glitch,  so many thanks!  Kent Godding
  6508.        made an excellent suggestion for a ansi-file slow down routine.   This
  6509.        has  been  added.    Lastly,  a  few  changes were made to the command
  6510.        structure to clarify things and many prompts were cleaned up.
  6511.  
  6512.  
  6513.  
  6514.  
  6515.  
  6516.  
  6517.  
  6518.  
  6519.  
  6520.  
  6521.  
  6522.  
  6523.  
  6524.        TheDraw v4.00                  History                      101       
  6525.  
  6526.  
  6527.  
  6528.  
  6529.                      R E V I S I O N   H I S T O R Y  (cont):
  6530.  
  6531.  
  6532.        06/20/87 - Version 2.20
  6533.  
  6534.        BSave saves fixed to operate properly  for monochrome  monitors.  Ansi
  6535.        files now  output <esc>[40m  color sequences  to clear screen to black
  6536.        color before doing anything else.  Thanks to Barry Simon  for bringing
  6537.        this  oversight  to  my  attention  and  also  suggesting command line
  6538.        filespecs.  Some  new  items  were  added,  most  notably  full screen
  6539.        editing.   Thank Ray  Buti for  finally bugging  me enough  to add it.
  6540.        Also extended options for Asm, Pascal,  and  new  C  storage  modes to
  6541.        crunch and  store only  Ascii in addition to the original normal (4000
  6542.        byte) mode.  Thanks to Douglas A. Nicklow for suggesting the C storage
  6543.        capacity.
  6544.        ______________________________________________________________________
  6545.  
  6546.        08/22/87 - Version 2.21
  6547.  
  6548.        Fixed a  minor glitch  with window  sizes being  slightly off.  Also I
  6549.        missed a problem in the registered version.  TheDraw was not using the
  6550.        overlay path  entered by the Setup utility when initializing.  So much
  6551.        for learning  from mistakes  (ie: it  happened before).   In addition,
  6552.        using a  command line  filespec sometimes loaded a Ansi or Ascii image
  6553.        with a random background color.  Needless to say, everything  has been
  6554.        fixed.
  6555.        ______________________________________________________________________
  6556.  
  6557.        04/28/88 - Version 3.00
  6558.  
  6559.        Many, MANY  changes.   TheDraw totally  rewritten to take advantage of
  6560.        Turbo Pascal v4.0.  A new title screen,  dynamic allocation  of screen
  6561.        layers and  animation space  (up to 16000 animation entries and 8 page
  6562.        layers can now be  used),  multi-layer  Sprite  editing,  dos shelling
  6563.        (suggestion from Billy Noto), and a new high-speed TheDraw format data
  6564.        file have all been added.    TheDraw  now  incorporates  its  own Ansi
  6565.        driver so Ansi/Ascii file loading is much faster.  
  6566.  
  6567.        The animation  system has  been greatly  expanded.  Five new animation
  6568.        scanners have been added (ANGLE, GATE, PYRAMID, SQUARES,  and WIGGLE).
  6569.        Animation markers(R),  "include files",  animation pausing, support of
  6570.        animation on multiple page  layers (no  longer restricted  to just one
  6571.        page), global  animation screen  copies, and more have all been added.
  6572.        Animation sequences can now  be  appended  together.    The registered
  6573.        version supports easy animation editing. 
  6574.  
  6575.        A couple  of bugs  were fixed.   The pascal saver was leaving spurious
  6576.        single entries on the end of lines (yet another discovery  of Ray Buti
  6577.        <grin>).   The Ascii Save no longer outputs spaces on the end of every
  6578.        line.  
  6579.  
  6580.  
  6581.  
  6582.        TheDraw v4.00                  History                      102       
  6583.  
  6584.  
  6585.  
  6586.  
  6587.                      R E V I S I O N   H I S T O R Y  (cont):
  6588.  
  6589.        (cont)
  6590.  
  6591.        The  Setup  utility  has  been  vastly   overhauled  and   now  allows
  6592.        configuring  of  the  TheDraw  edit  screen  colors,  TheDraw keyboard
  6593.        commands(R), and many other parameters.  
  6594.        ______________________________________________________________________
  6595.  
  6596.        09/09/88 - Version 3.10
  6597.  
  6598.        Support for the Microsoft Mouse has been added, making cursor movement
  6599.        and the marking of blocks easier.  Five additional character sets have
  6600.        been added.  These are accessed via CTRL-F(1-5).   With  this revision
  6601.        goes a  new function  key screen  (ALT-F).   Finally, a  few bugs were
  6602.        eradicated.  Many people reported CTRL-Up/Down keys were  not working.
  6603.        They did work, however the status display was not always updated (thus
  6604.        causing  the  following  confusion).    TheDraw  now  allows filespecs
  6605.        without  extensions  to  be  used  again.    In  addition, the default
  6606.        filespec extensions can be changed using  the Setup  utility (Ray Buti
  6607.        can now  change .PAS  to anything he likes <grin>).  The Setup utility
  6608.        Defaults option now works as advertised.  Finally, the keyboard driver
  6609.        for Ctrl-Up/Down  has been changed yet again.  With the last revision,
  6610.        a few computers were gained but the PCjr was lost.  
  6611.        ______________________________________________________________________
  6612.  
  6613.        04/04/89 - Version 3.20
  6614.  
  6615.        Pull down menu system has been added to TheDraw.  The program  can now
  6616.        be totally  controlled by  use of a mouse.  Various small details that
  6617.        escaped detection regarding the mouse were  corrected.   TheDraw has a
  6618.        new storage  format --  COM files.  Separate programs useful for batch
  6619.        files and the like.  They work with blocks and  (naturally) the entire
  6620.        screen.  A few bugs floating around the program have been cured.  When
  6621.        attempting a block save, TheDraw would sometimes display  and save the
  6622.        wrong screen  portion.   The ALT-U command was not processing blinking
  6623.        colors properly -- thanks  to Darin  May for  pointing this  out.  The
  6624.        ALT-L file  directory had  a minor problem when there were exactly 124
  6625.        items displayed.  You could go down to the next page even though there
  6626.        was nothing  on it.   Animation  screen copies  might possibly fail if
  6627.        they run out of room.  What the user saw didn't necessarily match what
  6628.        TheDraw thought  was there  until everything got redrawn.  The problem
  6629.        with CTRL-UP/DOWN simply won't go away.  The driver will  work for 99%
  6630.        of  machines,  but  certain  computers  with  non-compatible  keyboard
  6631.        hardware will lockup (notably the Tandy  1000A  and  HX).    The SETUP
  6632.        utility now has a provision for deactivating the driver completely.
  6633.  
  6634.  
  6635.  
  6636.  
  6637.  
  6638.  
  6639.  
  6640.        TheDraw v4.00                  History                      103       
  6641.  
  6642.  
  6643.  
  6644.  
  6645.                      R E V I S I O N   H I S T O R Y  (cont):
  6646.  
  6647.  
  6648.        11/01/89 - Version 3.30
  6649.  
  6650.        TheDraw format  files now support block load/save.  A color attributes
  6651.        drawing mode has been  added,  access  via  Alt--.    Thanks  to James
  6652.        Carroll  for   this  suggestion.    You  can  now  specify  a  default
  6653.        directory/wildcard when  using sticky  directory listings.   Thanks to
  6654.        Sylvest Adam  for this  suggestion.   TheDraw supports a ten file pick
  6655.        list now.  This maintains a  listing of  the last  ten files accessed.
  6656.        Simply press the TAB whenever TheDraw prompts for a filespec.  TheDraw
  6657.        now generates Intel format compatible object  code files.   Useful for
  6658.        linking with Turbo Pascal v4.0 and above, C plus many other high-level
  6659.        languages.   The ruler  can now  be made  "sticky".   When active, the
  6660.        ruler stays  on the  screen appearing under the current page layer.  A
  6661.        few bugs were fixed.  The  problem with  ansi animation  files getting
  6662.        confused  when  saved  without  screen  preparation  has  been solved.
  6663.        Thanks to Terry Blake for reporting it.  Alt-O now properly allows you
  6664.        to  change  drives.    A  minor  glitch  with  animation include files
  6665.        dropping characters has been solved.   Finally, the  directory listing
  6666.        handles the mouse in a more predictable/controllable manner.  
  6667.  
  6668.  
  6669.        03/01/91 - Version 4.00
  6670.  
  6671.        A great number of changes, additions, and improvements.  First the bug
  6672.        fixes: The uncrunch algorithm was not quite in sync with how TheDraw
  6673.        handled flashing  characters. Thanks to Garry Kraemer for pointing it
  6674.        out.  Michael Harris discovered it was possible to select a page  0 in
  6675.        version 3.30;  an unhealthy  action that  allowed critical areas to be
  6676.        overwritten.  Paul Furman noted the  BSAVE file  format was  not quite
  6677.        compatible with  Basic, lacking  a termination code sequence.  TheDraw
  6678.        now includes them for  completeness.   Carter Downer of Late Night
  6679.        BBS (315)592-7300 noted that when trying to save Ansi files with 80
  6680.        column Ansi  files produced  by TheDraw were not fully compatible with
  6681.        bulletin board systems.  A file size optimization  causing the problem
  6682.        was removed.  Other problems included command line filespecs not being
  6683.        added to  the  pick  list,  animation  include  files  not  working in
  6684.        shareware version,  and the  screen changing to the default color when
  6685.        changing page layers with sprite mode off were fixed.
  6686.  
  6687.        New features added or  improved are:   EGA/VGA  screen editing support
  6688.        (43 or  50 lines respectfully).  Also a virtual screen edit buffer was
  6689.        added, allowing screens  up  to  160  characters  by  50  lines  to be
  6690.        edited.   Mouse aided  line drawing;  pressing the middle mouse button
  6691.        down and moving will draw a line or box for you.   All cursor movement
  6692.        keys  now  function  throughout  the  program.   Line drawing mode was
  6693.        improved to tolerate bumping into  the  screen  border;  no  longer do
  6694.        unwanted T and plus symbols appear.  
  6695.  
  6696.  
  6697.  
  6698.  
  6699.        TheDraw v4.00                  History                      104       
  6700.  
  6701.  
  6702.  
  6703.  
  6704.                      R E V I S I O N   H I S T O R Y  (cont):
  6705.  
  6706.        (cont)
  6707.  
  6708.        Several  new  animation  scanners  have  been  added including Doors*,
  6709.        Diamond*, Circle*, Clock*, Checkerboard, and Wiggleout.  Thanks to Guy
  6710.        StarBuck for  suggestion the  first four new scanners.  The ability to
  6711.        reverse the operation  of  any  animation  scan  (making  the  scan go
  6712.        backwards) was  also added.  Thanks to Dorothy Hade for this excellent
  6713.        suggestion.  Another new animation feature  is User  Control Sequences
  6714.        (R) permitting BBS operators and such to add escape codes specific for
  6715.        special features of their  software.   The last  animation improvement
  6716.        was  the  ability  to  append  -ANY-  file  format  (except .TD) to an
  6717.        animation sequence.  For non-ansi/ascii files, TheDraw requests you to
  6718.        select an animation scanner for reading the screen.  
  6719.  
  6720.        Block and global character/attribute replace has been added.  Position
  6721.        the cursor on the character (or  character contain  color) to replace,
  6722.        then  activate  global  or  block  mode.    The  default load filename
  6723.        extension can now be changed to something other than ANS.  If  most of
  6724.        your  work  entails  binary  or  TheDraw  format files, this will be a
  6725.        welcome addition.  An online setup menu was  added to  TheDraw, making
  6726.        configuration of the environment much easier.  Go to the Options under
  6727.        the pull-down menu system and select Setup.   Two additional  COM file
  6728.        formats were  added, with  TheDraw transparently selecting the best of
  6729.        the three for a given application.   One  of the  new flavors crunches
  6730.        the screen.   If  smaller than  either of  the other two formats it is
  6731.        used.  Otherwise, a  version  explicitly  for  full-width  screens was
  6732.        added.   An 80x25  image will use under 4096 bytes; perfect for floppy
  6733.        disks where wasted cluster space is critical.
  6734.  
  6735.        Ascii files can now be forced to have  carriage returns  placed on the
  6736.        end  of  each  line.    If  a  line  was  80 characters, TheDraw would
  6737.        previously not include the CR/LF sequence.  This  would make  the file
  6738.        display  properly  if  typed  from  the  Dos  prompt, but fouled other
  6739.        software such as text editors.  A few last things  were added.   These
  6740.        were an ALT-key pop-up help screen; pressing and holding ALT for about
  6741.        3 seconds displays a brief quick reference display.   TheDraw  can now
  6742.        save  backup  files.    If  a  file already exists on disk, it will be
  6743.        renamed filename.BAK before saving.   The  ALT-Left/Right key sequence
  6744.        delete/insert  columns.    Avoids  have  to mark a block or use global
  6745.        screen move, etc...  Automatic screen  blanking  was  added.    If you
  6746.        leave the  machine unattended for a period of time, TheDraw will erase
  6747.        the display for you (preventing possible burn damage to your monitor).
  6748.        It is  variable from  1 minute to 255 minutes or can be shut off.  Dos
  6749.        Shell will attempt to  swap out  information to  EMS memory  or a disk
  6750.        swap  file  to  increase  available  memory  during the shell.  Lastly
  6751.        (whew!), TheDraw can be made to  prompt to  save changes  before exit.
  6752.        Either just for the current page, or for all page layers.  Enjoy!
  6753.  
  6754.        (R) = Feature in Registered Version of TheDraw Only
  6755.  
  6756.  
  6757.        TheDraw v4.00                  History                      105       
  6758.  
  6759.  
  6760.  
  6761.  
  6762.                                 T H E   F U T U R E
  6763.  
  6764.  
  6765.        Look for these features in the next version of TheDraw:
  6766.  
  6767.             Improved   Undo   facility,   allowing  recovery  from  such
  6768.             disasters as the unwanted  delete line,  or seconds thoughts
  6769.             about a block copy...
  6770.  
  6771.               
  6772.        Send in  your ideas,  suggestions, criticisms and bug reports.  Report
  6773.        something first and be immortalized in the docs of TheDraw!
  6774.  
  6775.        If you ever find a copy of TheDraw  with a  version number  other than
  6776.        one  listed  above,  please  take  the  time  to write us a quick note
  6777.        describing it.  Thank you!
  6778.  
  6779.  
  6780.  
  6781.  
  6782.  
  6783.  
  6784.  
  6785.  
  6786.  
  6787.  
  6788.  
  6789.  
  6790.  
  6791.  
  6792.  
  6793.  
  6794.  
  6795.  
  6796.  
  6797.  
  6798.  
  6799.  
  6800.  
  6801.  
  6802.  
  6803.  
  6804.  
  6805.  
  6806.  
  6807.  
  6808.  
  6809.  
  6810.  
  6811.  
  6812.  
  6813.  
  6814.  
  6815.        TheDraw v4.00                                               106       
  6816.  
  6817.  
  6818.  
  6819.  
  6820.                                   C O M M E N T S
  6821.  
  6822.  
  6823.        Please consider registering for the amount  of $22.   Quality software
  6824.        at good  prices is  very difficult to find.  We at TheSoft Programming
  6825.        Services firmly  believe  in  and  support  the  concept  of shareware
  6826.        products, and  hopefully you  do also.   Please make any checks out to
  6827.        TheSoft Programming Services.  If you  have any  requests, comments or
  6828.        suggestions for TheDraw, please send them to:
  6829.  
  6830.  
  6831.  
  6832.                            TheSoft Programming Services
  6833.                            c/o Ian Davis - TheDraw
  6834.                            1929 Whitecliff Court
  6835.                            Walnut Creek, Ca, 94596.
  6836.  
  6837.  
  6838.  
  6839.        Thanks for your support!
  6840.  
  6841.  
  6842.  
  6843.  
  6844.  
  6845.  
  6846.  
  6847.  
  6848.  
  6849.  
  6850.  
  6851.  
  6852.  
  6853.  
  6854.  
  6855.  
  6856.  
  6857.  
  6858.  
  6859.  
  6860.  
  6861.  
  6862.  
  6863.  
  6864.  
  6865.  
  6866.  
  6867.  
  6868.  
  6869.  
  6870.  
  6871.  
  6872.  
  6873.        TheDraw v4.00                                               107       
  6874.