home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PROGRAMS / MISC / THEDRAW / THEDRAW.DOC < prev    next >
Encoding:
Text File  |  1993-03-02  |  273.2 KB  |  6,874 lines

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