TheDraw Version 4.30 Color and Monochrome Screen Image Generator/Editor Operation Manual COPYRIGHT (C) 1986-1991 by TheSoft Programming Services and Ian E. Davis All Rights are Reserved TheSoft Programming Services 1929 Whitecliff Court Walnut Creek, CA. 94596 Written using Turbo Pascal v5.5 P R E F A C E This document is 119 pages long. This document is Copyright (C) 1988-1991 by TheSoft Programming Services. All rights reserved. The software programs TheDraw (TM) and TheDrawR (TM) are Copyright (C) 1986-1991 by TheSoft Programming Services. All rights are reserved. TheDraw and TheDrawR are registered trademarks of TheSoft Programming Services. Other brand and product names are trademarks or registered trademarks of their respective holders. TheDraw v4.00 Preface i L I C E N S E TheDraw is not a Public Domain program and is not free. TheDraw is copyright (C) 1986-1991 by TheSoft Programming Services. Non-registered users of this program are granted a limited two-week license to TheDraw to evaluate the programs suitability for their requirements. Any usage of TheDraw beyond evaluation time period requires registration of each copy of the program used. Use of non- registered copies of TheDraw beyond the original evaluation period is prohibited. TheDraw may NOT be modified in any respect, for any reason, including but not limited to, de-compiling, disassembling, or reverse engineering of the program. The opening title screen, help screens, and all other proprietary program output must never be altered, removed, bypassed or modified by any means. You are free to distribute the PUBLICLY AVAILABLE shareware version of TheDraw to others subject to the above restrictions and also the following: A. No fee is charged for its use. B. No renumeration may be accepted for TheDraw. This does not apply to computer access charges the system operators (Sysops) of or organizations owning bulletin board systems, online services, etc... may charge subscribers. C. TheDraw must be copied in unaltered form, complete with files containing license information, the FULL documentation and all accompanying files. The self-extracting archive distributed by TheSoft must not be altered in ANY respect. D. All shareware houses/distribution firms must make explicitly clear that the diskette purchase containing any shareware program has NOT registered the shareware with TheSoft. System Operators may make TheDraw available for download only if the above conditions are met. The self-extracting archive (TDRAW400.EXE) distributed by TheSoft or an equivilant archive may be made available only in complete form. Refer to section FILE LISTING to verify complete package contents. If the contents appear altered or not complete, you may obtain the latest release of TheDraw directly from TheSoft by sending a formatted diskette labeled with the word "THEDRAW". Please include $5 for handling. TheDraw v4.00 License ii Commercial distributors of "Public Domain", "Shareware", and/or User Supported software may distribute TheDraw subject to the above conditions only after obtaining WRITTEN permission from TheSoft Programming Services. This condition statement supersedes all previous agreements. Please refer to the section entitled registration/ordering section for additional information on registration, corporate site-licensing and related topics. ----- The above license statement does not apply to the REGISTERED version of TheDraw. The registered software of TheSoft Programming Services is protected under United States Copyright and Trademark Laws. It must be treated just like a book with certain exceptions as follows: A. TheSoft Programming Services authorizes the making of archival copies of the registered software for the sole purpose of backing-up your software and protecting your investment from possible loss. B. The medium on which the registered software is recorded is transferred to the customer, but not the title to the software. C. The customer may resell or distribute unmodified copies of the registered software provided the customer has purchased from TheSoft Programming one copy of the registered software for each one sold or distributed. The provisions of this software license shall also be applicable to third parties receiving copies of the registered software from the customer. D. By saying, "just like a book", TheSoft Programming means that the registered software may be used by any number of people and may be freely moved from one computer location to another so long as there is ABSOLUTELY NO POSSIBILITY of it being used at one location while being used at another. Just like a book that cannot be read by two different people in two different locations at the same time. TheDraw v4.00 License iii O R D E R I N G I N F O R M A T I O N Once a registered user of TheDraw, you are free to utilize the program as often as you wish. Other than having a clear conscience, there are many advantages to registered. You can opt to receive in the mail a registered version of TheDraw with configurable editor commands, enhanced editing facilities, context sensitive pop-up help, and macro keys. The registered version support utility routines (uncrunch and display) offer Bios write capability and snow/hash prevention. You are also notified via mail when significant enhancements have been made to the program. Once registered, all upgrades are available for a $5 upgrade fee plus the original TheDraw diskette (see below). There are two ways to register. The first is by sending $15 to TheSoft Programming Services along with a registration form. You do NOT receive the registered version of TheDraw for this registration, but are notified of upgrades. For an additional $5 plus $2 shipping/handling, we send you the latest shareware and registered versions of TheDraw on disk along with documentation (on disk) and utilities. If you want to receive TheDraw on a 3.5 inch diskette (720k format), add an additional $3 for each diskette ordered. If unsure, you can receive the latest shareware version of TheDraw for evaluation by sending a formatted diskette plus $5 for handling. Please use the following form or print the included file "MAILER" when placing an order. ----- NON U.S. residents, please send checks drawn on U.S. funds. We will accept non U.S. currency, but you must include an additional $5 (US) to cover exchange handling. Also add $5 overseas shipping/handling. UPGRADING TO LATEST THEDRAW ______________________________________________________________________ Users who have registered (and received a diskette) may upgrade to the latest version of TheDraw by sending in their TheDraw ORIGINAL DISK, along with $5 (service and handling). Please use the following order form when upgrading. If there has been an address change, please indicate so on the order form. The original disk must be returned and contain the registered version of TheDraw. The disk will be reformatted and the current Master copied onto it. Any disk in poor condition will be replaced by TheSoft. If the serial number label is missing or the diskette does not contain the registered version of TheDraw, the update will be refused and the diskette returned unchanged. TheDraw v4.00 Ordering iv Please Remit To: TheSoft Programming Services 1929 Whitecliff Court Walnut Creek, CA. 94596 Qty. Description Each Total ____ TheDraw Upgrade to version 4.00 $5.00 ________ (You must return your original diskette containing your copy of the registered version of TheDraw) ____ TheDraw Evaluation Copy $5.00 ________ (You supply diskette, no registration) ____ TheDraw Registration $15.00 ________ (Does not include a new diskette with the registered version of TheDraw) ____ TheDraw Registration with 5.25" diskette $20.00 ________ (Registration including diskette with the latest shareware and registered program versions along with manual on diskette) ____ TheDraw Registration with 3.5" diskette $23.00 ________ (same as above except on new size media) Subtotal ________ (Site License discount - see below) Discount [-________] (U.S. orders add $2 shipping & handling) Shipping ________ (Foreign orders add $5 shipping) (Add $5 for Foreign Currency Exchange) Misc. Charges ________ (CA residents please add 7.25% sales tax) Tax ________ TOTAL $________ Name: ________________________________________________________ Company: ________________________________________________________ Address: ________________________________________________________ ________________________________________________________ ________________________________________________________ All checks must be drawn on U.S. Funds in U.S. Dollars. Sorry, no C.O.D. orders will be accepted. TheDraw v4.00 Ordering v S I T E L I C E N S E If you plan on using TheDraw in a corporate, government office, or in any business environment whatsoever, registration is mandatory and the two week limited license is strictly enforced. For such users, quantity discounts are available under a Site License agreement. One MASTER copy of TheDraw (with documentation) will be provided on diskette. The site is responsible for printing the documentation and copying the diskettes for distribution. Backups of the MASTER disks do not count towards the total copies of the license. With all site licenses, the site will supply one contact person with which all correspondence will be made. If a problem should occur, the contact person will call and make arrangements to get a fix for the glitch. Updates to TheDraw will be forwarded to the contact person. When filling out the order form, use the contact persons name to avoid confusion at a later date. Following is the current site license discount rates: TOTAL COPIES DISCOUNT 1 - 4 none 5 - 10 5% 11 - 20 10% 21 - 30 15% 31 - 50 20% 51 - 100 30% 101+ 40% NOTE: All prices and discounts are subject to change without notice. Also note that discounts are not cumulative and apply to separate orders only. PURCHASE ORDER TERMS AND REQUIREMENTS _____________________________________ Purchase Orders less than $100 must be pre-paid. Terms are net 30 days. Freight is prepaid by TheSoft. Lead time: Stock items. Tax exceptions: Include appropriate documentation. Contact TheSoft for voice verification if required. TheDraw v4.00 Site Licensing vi W A R R A N T Y TheDraw is provided AS IS without any warranty, expressed or implied. This includes without limitation the fitfulness to a particular purpose or application and any warranties of merchantability. While we tried to be as through as possible while debugging TheDraw, TheSoft Programming Services shall not be liable for any damages, whether direct, indirect, special, or consequential arising from a failure of this program or accompanying files to operate in a manner desired by the user. TheSoft Programming Services shall not be liable for any damage to data or property which may by caused directly or indirectly by use of this program. In no event will TheSoft Programming Services be liable to you for any damages, including any lost profits, lost savings or other incidental or consequential damages arising out of your use or inability to use the program, or for any claim by any other party. ----- If you have a problem with TheDraw please feel free to write and describe the situation. Registered users, please include the serial number found on your diskette. To those people who have registered (with diskette), the physical diskette is warranted against defects in materials and workmanship for a period of 60 days from date of shipment by TheSoft. Any returned disks found damaged or bad will be replaced at no charge. TheDraw v4.00 Warranty vii T A B L E O F C O N T E N T S Preface ...................................................... i License Single User License ....................................... ii Giving out Copies ......................................... ii System Operators (Sysops) Info ............................ ii Software Distributors - Read this ......................... iii Registered Version License Agreement ...................... iii Ordering Information Registration .............................................. iv Upgrading to latest TheDraw ............................ iv Registration only (no diskette) ........................ iv Registration (diskette sent out) ....................... iv Getting a Trial Copy ................................... iv Getting a 3.5 inch diskette ............................ iv Invoice Order Form ........................................ v Site Licensing ............................................ vi Bulk Order Discounts ................................... vi Purchase Order Terms and Requirements ..................... vi Tax Exceptions ......................................... vi Warranty ..................................................... vii Introduction ................................................. 1 Definitions .................................................. 3 System Requirements .......................................... 4 Multitasking Environments ................................. 4 Get Running .................................................. 5 Floppy Disk Installation .................................. 5 Hard Disk Installation .................................... 5 Make it Do Something ...................................... 6 The Demo Files ............................................ 6 Moving to TheDraw Version Three and Beyond ................ 7 File Listing .............................................. 8 The Setup Utility ............................................ 9 Why Setup? ................................................ 9 Windows and Selecting Options ............................. 10 Saving and Aborting Changes ............................... 10 Running Setup ............................................. 10 Main Menu .............................................. 11 Editor Configuration ................................ 11 Changing a key entry ............................. 11 Allowed Keystrokes ............................... 12 TheDraw v4.00 viii The Setup Utility (cont) Keyboard Customize .................................. 12 Screen Mode ......................................... 13 Colors .............................................. 14 Files Directory ..................................... 14 Memory Usage ........................................ 15 Defaults ............................................ 15 Quit/Save ........................................... 16 Starting TheDraw ............................................. 17 Command Line Filespecs .................................... 17 The Status Line ........................................... 17 HELP! ..................................................... 18 Cursor Control ............................................ 18 Mouse Control ............................................. 19 Command Summary ........................................... 20 Pull-Down Menu System ........................................ 21 The FILES Menu ............................................ 21 The GLOBAL Menu ........................................... 22 The OPTIONS Menu .......................................... 23 Setup Default Options .................................. 24 The SCREEN Menu ........................................... 27 The ANIMATION Menu ........................................ 28 The COLOR Menu ............................................ 30 The TOGGLES Menu .......................................... 30 TheDraw Keyboard Commands .................................... 32 Alt-A Change Text Color Attributes ....................... 32 Alt-B Block Action Commands .............................. 33 Copy a Block ..................................... 34 Move a Block ..................................... 34 Fill a Block ..................................... 35 Block Text Operations ............................ 36 Delete a Block ................................... 37 Erase a Block .................................... 37 Block Replace Operations ......................... 37 Load a Block (normal mode only) .................. 38 Save a Block (normal mode only) .................. 38 Rescan a Block (animation mode only) ............. 38 Alt-C Clear Current Screen ............................... 38 Alt-D Set Default Clear Screen Color ..................... 39 Alt-E Change Page Layer Edit Screen ...................... 39 Sprite Editing ................................... 39 Alt-F View Function Key Sets ............................. 41 Alt-G Global Commands .................................... 41 Copy Screen ...................................... 42 Move/Rotate Screen ............................... 42 Fill Screen ...................................... 42 Global Text Operations ........................... 43 Global Replace Operations ........................ 44 TheDraw v4.00 ix Alt-H Display Help Information ........................... 44 Alt-I Insert a Line ...................................... 45 ALT-J Animation Options .................................. 45 From Normal Edit Mode ............................ 45 From Animator Mode ............................... 47 Include - Specify Animation Include Files ...... 48 Ansi Music ................................... 49 User_Seq - Specify User Control Sequences ...... 49 Limit - Specify Animation Limiting ............. 50 Marker - Specify Animation Markers ............. 50 Movement - Toggle Storage of Cursor Movement ... 51 Normal - Convert to Normal Edit Mode ........... 51 Rescan - Rescan All Screens for New Sequence ... 52 Pause - Animation Pausing ...................... 52 Alt-K Delete a File ...................................... 53 Alt-L Load Screen from Disk .............................. 53 Alt-M Select Draw Mode (toggle) .......................... 54 Alt-N Ruler .............................................. 54 Alt-O Change Drive/Sub Directory ......................... 55 Alt-P Paint/Fill Commands ................................ 55 Alt-Q Redraw Screen (animator mode only) ................. 56 Alt-R Restore Current Line ............................... 56 Alt-S Save Screen to Disk ................................ 56 Alt-T Tab Setup .......................................... 62 Alt-U Use Color under Cursor ............................. 62 Alt-V View a Screen (not load) ........................... 62 Alt-W Edit Character (animator mode only) ................ 63 Alt-X Exit TheDraw ....................................... 63 Alt-Y Delete Current Line ................................ 63 Alt-Z Erase Cursor Character (animator mode only) ........ 64 ALT-[LEFT] Delete Current Column ......................... 64 ALT-[RIGHT] Insert a Column ............................... 64 Alt-- Toggle Color Draw Mode ............................. 64 Alt-= Toggle Macro Learning Mode ......................... 65 Alternate Color Change Options (CTRL-UP/DOWN/LEFT/RIGHT) .. 65 Solid Spaces (SHIFT-SPACE) ................................ 66 Full Screen Editing (CTRL-PRTSC) .......................... 66 The Animation System ......................................... 67 What is Ansi Animation? ................................... 67 Animation Basics .......................................... 68 A Simple Example .......................................... 68 How to Animate Something .................................. 69 Tricks of the Trade ....................................... 71 Limitations ............................................... 73 The Presentation Program (THEPP) ............................. 74 TheDraw v4.00 x Appendix A: Setting up CONFIG.SYS ........................... 78 Appendix B: Programmers Programming Tips .................... 79 Programming in Assembler .................................. 79 Programming in Pascal ..................................... 81 Turbo Pascal v4.0 through v5.5 ......................... 83 Turbo Pascal Version 6.0 ............................... 85 Programming in C .......................................... 86 Using Object Files with C .............................. 88 Programming in Standard Basic ............................. 90 Programming in Microsoft QuickBasic v4.0 and v4.5 ......... 91 Programming in Clipper(tm) ................................ 94 Appendix C: Extended/Special Character Set .................. 96 Appendix D: Common Questions & Answers ...................... 97 Revision History ............................................. 100 The Future ................................................... 106 Comments ..................................................... 107 TheDraw v4.00 xi I N T R O D U C T I O N TheDraw is a powerful screen image generator/editor for color and monochrome video users. What does that mean? Literally, TheDraw makes designing and figuring out a video screen display childs play. Its basic premise is this: be easy to use. The most novice computer user can make an Ansi text file screen with TheDraw in only minutes. From that point on, you can explore and use more of the horsepower available in TheDraw. Someone is probably saying "it edits screens... big deal". This type of person has never known the agony of creating a good looking menu or display for a program (assuming he/she programs), making a fancy batch file intro screen, or having to quickly putting together a computer presentation for the boss. The biggest problem facing most people is we really do not know what will look good until we see it. Manually editing a screen can literally take hours. With TheDraw, you can free form until you really know what is perfect. With the picture in mind, you can quickly develop whatever is necessary or instruct TheDraw to create a data file which can be used. Instead of hours, making a screen takes minutes. For the curious, TheDraw can transform your masterpiece into data files with the following formats: ANSI color text (useful in batch files, BBS's, etc...) ASCII text (compatible with word processors and text editors) BINARY files (generic, useful in most everything) BSAVE (for Basic) COM files (actual separate programs executable directly by Dos - Great for batch files and presentations) ASSEMBLER (for the die-hard coder) TURBO PASCAL (directly compilable source code) C (format is for Turbo C specifically) OBJECT (Intel format compatible, suitable for linking. Four varieties available for Large/Small generic data model, Turbo Pascal v4.0+, and QuickBasic v4.0+) THEDRAW (custom storage format for FAST loading and saving) TheDraw was long ago originally written as an improvement to a simple program named AnsiDraw written by Amrich Enterprises. Both programs provided similar operation, with TheDraw giving a much enhanced user interface. TheDraw v4.00 Introduction 1 TheDraw is now vastly improved over the abilities of AnsiDraw, and most other screen editors. It is compatible with systems that have 250k of free memory available. Monochrome and Color monitor users are supported, and a special keyboard driver allows you to redefine keystrokes that do not operate properly or are used by other programs (registered version). If you have an EGA or VGA video display, TheDraw permits editing 43 or 50 line screens respectfully. Another feature TheDraw fully supports is ANIMATION. With this facility you can develop quick and dirty presentations, or simply make a generic screen appear with pizzazz. You can either let TheDraw make an animation sequence from a static image, or one can be made from scratch; thus letting you fully control the appearance of your work. TheDraw gives you a maximum of 16000 separate animation "entries" to handle the most complex job. The final result can be saved either as an ANSI file (Ansi Animation) or TheDraw format file. See the section entitled "The Animation System" for more information. To get started using TheDraw right away, refer to the section entitled "Starting TheDraw". This section describes how to install and run TheDraw. Enjoy! TheDraw v4.00 Introduction 2 D E F I N I T I O N S Throughout this documentation you may run across the occasional enigmatic word that needs explaining. The following are some examples you might come across: enigmatic - mysterious or cryptic [ENTER] or C/R - This represents the return key on the keyboard. If you see this in the text, press the Enter key; do not type the actual letters. ESC or [ESC] - Means to press the ESC key on the keyboard. [letter] - Means to press the actual key marked 'letter' on your keyboard. ie: [L] means to press the 'L' key. Alt-[letter] - Alt- is always followed by another character. Together, this symbol means to first press and hold down the ALT key on the keyboard then type the letter key following it. ie: Alt-A means hold down ALT then press 'A'. Ctrl-[letter] - This is executed the same as the ALT key. or ^[letter] Press and hold down the CTRL then hit the letter following. ie: CTRL-A and ^A mean the same thing - hold CTRL then press 'A'. [LEFT] [RIGHT] - Means to press the corresponding keypad arrow [UP] [DOWN] key on your keyboard. Similar to the [letter] example shown above. ie: [UP] means to press then up arrow key. TheDraw v4.00 Definitions 3 S Y S T E M R E Q U I R E M E N T S TheDraw requires an IBM PC/XT/AT or close compatible running MsDos 2.0 or higher. In addition, a monochrome adapter or color graphics display adapter (CGA, EGA, or VGA) plus monitor is needed to run properly. In a minimum configuration, 250 kilobytes of free memory are required. The maximum memory usage is 410k of memory (8 page layers, 16000 animation entries). TheDraw will always attempt to allocate all available memory up to the limits specified via the Setup utility. MULTITASKING ENVIRONMENTS ______________________________________________________________________ TheDraw can be used under multitasking or windowing environments provided the full video screen is allocated to it. The program directly accesses video memory and the keyboard hardware for some functions. TheDraw does not use any high resolution graphics in its operation. TheDraw is known to operate under Double Dos except for minor problems. Double Dos disables certain keyboard sequences (notably Ctrl-PrtSc). For this situation, people with the registered version of TheDraw can use the Setup utility to redefine the function of Ctrl- Prtsc to another key. TheDraw operates under Microsoft Windows and Desqview provided memory and video requirements (as mentioned above) are taken care of. Note: It is easy to cause problems with window environments if the user wishes. Working in another window while TheDraw attempts to refresh its screen will result in information being overwritten. Be warned. TheDraw v4.00 System Requirements 4 G E T R U N N I N G Setting up TheDraw to operate on your computer is not a great chore. Refer to the section below that applies to you. If you received TheDraw on diskette, it is suggested you backup the disk before proceeding. It never hurts to play things safe. On diskettes obtained from TheSoft a batch file called INSTALL.BAT is included to simplify the initial setup (note: INSTALL.BAT is not included with the shareware distributed version of TheDraw). FLOPPY DISK INSTALLATION ______________________________________________________________________ If you obtained a diskette from TheSoft, you are almost set to go. You will want to copy all the files onto the "work" diskette you will be using frequently. To reduce space requirements, the setup utility, documentation and demo files are compacted. Use the INSTALL batch file to expand these files onto another diskette. ie: A:INSTALL FLOPPY Simply follow the online instructions presented. Once done, proceed to the section "The Setup Utility". HARD DISK INSTALLATION ______________________________________________________________________ Create a sub-directory of your choice to place TheDraw and files in. Next, copy all files to the sub-directory. Example commands are: MKDIR \THEDRAW Create a sub-directory THEDRAW in the root directory of your hard drive. CHDIR \THEDRAW Put Dos into the THEDRAW sub-directory. COPY A:*.* Copy all files from diskette in drive A to the sub-directory. Details of the above commands will not be covered here. Please refer to your Dos manual if you have questions. On the diskette obtained from TheSoft, there is a batch file to simplify this process. With the diskette in drive A, type: A:INSTALL HD This will do all of the above for you automatically. TheDraw v4.00 Get Running 5 MAKE IT DO SOMETHING! ______________________________________________________________________ By this point you may be eager to start playing with TheDraw; by all means do so. Use of the Setup utility is not absolutely necessary unless TheDraw does not appear to run properly. To run TheDraw simply type from the Dos prompt: THEDRAW [ENTER] People with the registered version type: THEDRAWR [ENTER] After a few seconds, TheDraw will start running and display its title screen. Press a key, and TheDraw is ready. Quickly, two commands you should be familiar with are: ALT-S Save Screen to Disk ALT-X Exit TheDraw The former will save your efforts to disk. The latter will allow you to exit TheDraw back to Dos. Have fun! THE DEMO FILES ______________________________________________________________________ TheDraw comes with two demonstration files to help show some of its capabilities; SHUTTLE2.ANS and DEMO.TD. SHUTTLE2.ANS is a simple animation example which you can view from dos by entering: TYPE SHUTTLE2.ANS [Enter] Note: You must have the ANSI.SYS driver installed in your CONFIG.SYS file for this to appear properly. See APPENDIX A for more details on the CONFIG.SYS file. If you do not have ANSI.SYS, THEPP (provided with registered version of TheDraw) can be used alternatively (ie: THEPP SHUTTLE2.ANS [Enter]). The second demo file, DEMO.TD, demonstrates the block and sprite editing features of TheDraw. To use it, run TheDraw as described above. Next, press ALT-L and type DEMO.TD [ENTER]. Instructions will appear on screen showing what to do next. TheDraw v4.00 Get Running 6 MOVING TO THEDRAW VERSION THREE, FOUR AND BEYOND ______________________________________________________________________ Users of TheDraw versions 2.0, 2.1, or 2.2 will be able to start using version 4.0 right away. The only things the user should be aware of are the revised ALT-E command, and the block copy/move "exchange" command. To flip page layers, the wanted layer must be specified. This differs from the older versions which merely toggle between the available pages. There are many new additions to TheDraw v4.00. Some will be apparent (such as ability to edit EGA/VGA 43/50 line screens); some will not. The following is a list of new features added: o EGA and VGA screen support. TheDraw now permits editing 43/50 line screens. o Supersized edit buffer, up to 160 characters by 50 lines, available regardless of video display mode. Autoscrolling makes maneuvering a breeze. User can select any combination of 80/160 character widths and 25/43/50 lines for the buffer. o Built in setup screen for adjusting those frequently changed default settings. o Mouse aided line drawing. Pressing and holding the middle mouse button (or both buttons for a two-button mouse), will make TheDraw generate line/boxes easily. o Several new animation scanners including: Doors, Diamond, Circle, Clock, Checkerboard, and WiggleOut. Plus the ability to reverse any given animation scan (ie: instead of left to right, the scan goes right to left). o User defined Ansi control sequences may be entered into an animation sequence. o ANY file format (except TheDraw .TD files) may be added to an animation sequence. For non-Ansi/Ascii files, TheDraw will prompt to an animation scanner to use. o Two new varieties of COM files. TheDraw will try crunching a COM file. If this does not succeed in reducing the screen size, a second COM type specifically for screen-width images might be used. The latter produces 80 by 25 screens under 4096 bytes, reducing wasted disk space due to cluster allocation. o Backup files can optionally be generated. o TheDraw optionally can be made to prompt on exit to save modified screens. TheDraw v4.00 Get Running 7 o Block or Global Character/Color Replace. Choose a character or target color combination, position the cursor upon it, then select a replacement. It is that simple. o Ability to insert/delete COLUMNS using the ALT-left/right arrow key combinations. Plus much more! FILE LISTING ---------------------------------------------------------------------- The following briefly lists those files included with the shareware version of TheDraw: READ.ME Contains last-minute notes and corrections, plus any special instructions needed. MAILER Prints out a registration form on your printer that can be folded and mailed directly. WHATSNEW.DOC Gives a brief listing of major additions to TheDraw in this latest version. DEMO.TD Example file. Refer to the section THE DEMO FILES. SHUTTLE2.ANS " " PRINTDOC.EXE Program to simplify printing of this documentation. Type PRINTDOC [Enter] from Dos. SETUP.EXE TheDraw Setup utility. Refer to section below. THEDRAW.EXE Shareware version of TheDraw. THEDRAW.DOC This documentation file. UNCRUNCH.ASM These files contain implementations of the uncrunch UNCRUNCH.PAS algorithm needed to display screen images crunched UNCRUNCH.H by TheDraw. UNCRUN_N.OBJ Near code model implementation for linking purposes. UNCRUN_F.OBJ Far code model implementation for linking purposes. QB4UTIL.BI QuickBasic v4.x display routine declarations. QB4UTIL.LIB QuickBasic v4.x display routines in library form. MAKEQLB.BAT Produces .QLB and .LIB files for QuickBasic. See "Programmers Programming Tips" for more information. TheDraw v4.00 Get Running 8 T H E S E T U P U T I L I T Y This section describes how to customize TheDraw and install your customizations in the THEDRAW.EXE or THEDRAWR.EXE (registered version) files. WHY SETUP? ______________________________________________________________________ Setup is the TheDraw installation program; used to customize the TheDraw program (EXE) file. With this utility you can specify screen modes, change edit colors and various other defaults. Setup allows you to change the TheDraw environment in which you operate. It also directly modifies various values within your copy of THEDRAW.EXE or THEDRAWR.EXE. Via Setup you can do the following: o Setup the default video display mode o Change screen colors o Resize TheDraw's usage of available memory o Change save screen default parameters. o Specify initial default filespec wildcards. In the registered version of TheDraw, the Setup utility can also: o Customize or "remap" the editor command keys and mouse buttons. o Setup a path to the directory where help files are stored. TheDraw comes ready to run; there is no mandatory installation. After setting up as specified in GET RUNNING, you can use TheDraw. However, you will need to run Setup if you want to do any of the following: o Change TheDraw default colors. o Force a display mode or "snow" checking o Customize the editor commands to preferred sequences. o Adjust memory usage to better suit your needs. TheDraw v4.00 The Setup Utility 9 WINDOWS AND SELECTING OPTIONS ______________________________________________________________________ The setup utility operates in a windowing user environment. You select commands by either pressing the highlighted capital letter of a given option, or using the Up and Down arrow keys to move to your selection and then pressing [ENTER]. For instance, from the main Setup installation menu you can select Editor configuration (R), Keyboard customize, Screen mode, Colors, Help and overlay file path (R), Memory usage, Defaults, or Quit/Save. (R) Available while editing the registered version only. SAVING AND ABORTING CHANGES ______________________________________________________________________ In general, pressing [ENTER] will save any changes. Pressing [ESC] (as many times as needed) will abort a function and return you from a submenu to the main installation menu. Where this convention is not followed, instructions are displayed on screen for you. RUNNING SETUP ______________________________________________________________________ To get started, type SETUP [ENTER] at the DOS prompt. Once the utility runs, you will be prompted for the filename to modify. This allows you to have several different customized copies of TheDraw on your system. These various copies of THEDRAW.EXE can each have different executable program names. This allows you to customize for various editor command-keys, menu colors, etc... if you are so inclined. The registered program version is called THEDRAWR.EXE. After selecting a file to edit, SETUP determines what version of TheDraw is being updated (shareware or registered). It then proceeds to the main menu. TheDraw v4.00 The Setup Utility 10 RUNNING SETUP: MAIN MENU ______________________________________________________________________ The main menu presents several options. Each item on the menu is described below: EDITOR CONFIGURATION The editor in TheDraw provides many features, including cursor control, color changing, various text operations, etc... These editing commands are assigned to certain keys, as described in this documentation. This option allows you to change the default assignments for each function. When you select Editor Configuration from SETUP's main menu, the editor installation screen appears. Three columns of information will be immediately notable: o The first (left-most) column describes each configurable function available in the editor. o The second column lists Primary keystrokes. These keys are the defaults by which TheDraw normally operates. o The third column lists Secondary keystrokes. These are optional alternates keystrokes you may press to invoke a given editor action. These keystrokes always take precedence over the primary keystrokes described above. Along the bottom of the screen is a list of the keys used to select and modify entries. Key Action _______________________________________________________________ Up and Down Selects the editor command you wish to change. arrow keys PgUp/PgDn Scrolls up/down one full screen page. [ENTER] Enters the secondary keystroke modify mode. R Restore all editor commands to the original default values. [ESC] Returns to the main SETUP options menu. _______________________________________________________________ TheDraw v4.00 The Setup Utility 11 After pressing [ENTER] to modify a command, the current secondary definition disappears. You can then type in your new definition. Anything may be used for redefining a key except Numbers (0-9), Letters (A-Z,a-z), Enter, Esc, and Backspace. A maximum of four keystrokes for any given editor command is allowed; however, certain key combinations are equal to two keystrokes. These include ALT-(key), cursor movement keys (up, PgDn, Home, etc...) and any keystroke involving a function key (F1, CTRL-F4, etc...). Upon pressing ESC, if anything has been changed you are prompted to save the changes. Next, if there are any duplicate keystrokes SETUP will point out the first occurrence so you can clear up the problem (marked with an asterisk). KEYBOARD CUSTOMIZE The true IBM-PC and certain clones have a Bios omission preventing the Ctrl-Up, Ctrl-Down, Alt-Left, and Alt-Right key combinations from working properly. TheDraw gets around this by using a custom keyboard driver. The factory defaults from TheSoft will work for a good majority of all computers. However, if you have difficulties try this configuration. SETUP examines the keyboard hardware to see what happens when any of the above are pressed. Upon selecting this option, the screen clears and prompts if you wish to continue. Next you are asked to press Ctrl-Up, Ctrl-Down, Alt-Left, Alt-Right in that order. SETUP will display scan codes returned by your keyboard for those keys. Next you can experiment to see that everything is indeed working properly. Press Ctrl-Up/Down, Alt-Left/Right until satisfied you programmed the correct keys. When ready press [ENTER] to return to the main menu. Note: A very few computers react badly to this driver. If your computer does not operate as expected when you run TheDraw, run the setup utility from Dos as follows: SETUP * [Enter] Setup will display the current setting of the driver. Respond Yes or No if the setting is correct. If after deactivating the driver your computer still locks, please contact TheSoft. TheDraw v4.00 The Setup Utility 12 SCREEN MODE Normally, THEDRAW will automatically determine the correct video mode of your computer. You should only need to change the Screen mode option if: o you think TheDraw is incorrectly detecting your hardware. o you have a Color Graphics Adapter (CGA) that does not produce the "snow" or hashing effect. o You have an EGA or VGA video card and wish to always start in 43/50 line edit mode. o your computer has a composite video screen, appearing like a CGA but with only one color. In this case, you want the Black and White screen option. Upon pressing S to select this option, a pop-up menu will appear with the available options. These are fairly apparent: DEFAULT TheDraw will operate in the mode active when first run. BLACK AND WHITE TheDraw will use composite black and white mode (80 column), regardless of the active mode when first run. The original video mode will be selected when you exit TheDraw. COLOR TheDraw will use color mode (80 column), regardless of what mode active when first run. The original video mode will be selected when you exit TheDraw. EGA/VGA TheDraw will use color mode (80 column) and 43/50 lines, regardless of what mode was active initially. Initial video mode is restored upon exit from TheDraw. TheDraw v4.00 The Setup Utility 13 MONOCHROME TheDraw uses monochrome video mode, and switches back to the previous mode upon exiting. After selecting one of the first three options above (Default, B&W, or Color), SETUP checks the screen for snow. If you see snow or hashing, respond Yes to the prompt that appears. COLOR CONFIGURATION TheDraw holds three complete sets of configurable colors. Which color set is used depends on the initial screen mode specified above. The sets are for Color, Black and White, and Monochrome screen users. A pop-up window prompts for which set to edit. After selecting a color set, another pop-up prompts for the item type to configure. Options are the Edit Screen, Main Help Display, Directory (Load/View) Screen, Pop-up help, and Pull-Down menu display. Next, a menu of configurable items under that type appears. Selecting one displays a view port and list of available colors. The view port shows an example of the screen item you chose. It also reflects any changes in colors as you scroll through the color palette. Use the arrows keys to select a color to your liking from the palette. Watch the view port to see how the item looks in that color. Press [ENTER] or [ESC] to save your choice. Now repeat this procedure for every screen color item you want to customize. When done, press [ESC] until you return to the main SETUP menu. FILES DIRECTORY The Files Directory is used by TheDraw to find its files. The shareware version looks for the pick list file (THEDRAW.PCK) there. The registered version of TheDraw looks for its help and macro key files there in addition. The current setting is displayed for you. To change it, simply type in the new directory. Enter a period (.) by itself to use the current directory of Dos when TheDraw is loaded. Press [ENTER] without entry to leave unchanged. TheDraw v4.00 The Setup Utility 14 MEMORY USAGE TheDraw always tries to allocate all available memory up to limits specified by this SETUP option. When fully configured, TheDraw can use as much as 410k of memory. Memory is allocated first for screen page layers and then for the animation system. If you have limited memory, there might not be enough space for 8 page layers and 16000 animation entries (maximum usage). There may however be enough space for 4 page layers and 5000 animation entries, or just one layer, or anything in between. This is when you may wish to override the automatic memory allocation. To make TheDraw operate as in earlier versions, you would want just 2 page layers and 5000 entries. Feel free to experiment. Keep in mind that TheDraw will scale down all settings when loaded if there is insufficient memory. Upon selecting this option the current settings are displayed for you. The amount of memory occupied by screen page layers and the animation system is also indicated. If you wish to change them answer Yes to the prompt. You can then enter new values for both. DEFAULTS TheDraw has certain default values used throughout the program. Some of these are: o Initial edit colors o Default file extensions o Default file save parameters o Sticky directory wildcards o Initial work file directory etc... Selecting Defaults from the main setup menu displays a screen with several fields. Use the up and down arrow keys to select the field you wish to change. PgUp/PgDn switches between the three screens of options. To change a value follow the on screen directions. Pressing "R" at any time restores all "factory" defaults. Press [ESC] when satisfied with your changes. TheDraw v4.00 The Setup Utility 15 QUIT/SAVE Once all changes are completed, select Quit/save at the main SETUP menu. The message: Save Changes? (Y/N) appears along the bottom line of the screen. Reply Yes, and all the changes you have made will be saved into TheDraw. Reply No, and all your changes are ignored. After either reply, you return to the operating system (Dos). If you ever decide to reset TheDraw completely to factory defaults, simply copy the EXE program file from your original disk (you did make one right?) onto your work disk. If you just want the editor commands restored, select the R command under Editor Configuration. TheDraw v4.00 The Setup Utility 16 S T A R T I N G T H E D R A W COMMAND LINE FILESPECS ______________________________________________________________________ For convenience, TheDraw allows you to specify a filespec from Dos when first running the program. ie: THEDRAW DEMO.TD Only one file may be specified this way. All files are loaded onto page layer one (except for THEDRAW format files which may contain multiple layers). THE STATUS LINE ______________________________________________________________________ The status line of TheDraw shows various information about the state of the program. Each structure in the status line is described below: (xx,xx) Displays the current cursor position. Color Indicates the current drawing color. This color is used for any new characters placed onto the screen. Text, The word displayed indicates if TheDraw is in normal Attr, or text, color draw mode, or line draw mode. In color Draw draw mode, moving the cursor changes characters to the current colors. In Draw mode, moving the cursor with the arrow keys draws a line in the moved direction. Ins Appears when TheDraw is in Insert keystroke mode. When on, typing a character shifts everything to the right to make room for the new character. Page:x or Indicates the current screen page edit layer. In Anim:x animation mode (see The Animation System for more details), the word Anim appears. In addition, this structure indicates when TheDraw is in sprite edit mode (see ALT-E). In sprite mode, the structure appears in capital letters. ie: PAGE or ANIM. Set:xx Number of the current function key set. This set appears immediately after this indicator. Note: The symbol "x" or "xx" indicates a number of some value. TheDraw v4.00 Starting TheDraw 17 HELP!!! ______________________________________________________________________ The shareware version of TheDraw contains three outline help screens available from command mode (no sub-functions being used) by pressing ALT-H. These outline screens display brief notes about all operations available in the program. The registered version of TheDraw supports context sensitive help. In other words, pressing ALT-H anywhere in the program will bring up specific information on that area of TheDraw. This can be very useful during the learning stage or for rarely used functions. CURSOR CONTROL ______________________________________________________________________ The cursor may be moved by using the following keys: Key Action _____________________________________________________ Up Arrow Up one line Down Arrow Down one line Left Arrow Left one position Right Arrow Right one position Home First column of current line End Last column of current line PgUp First line in current column PgDn Last line in current column Ctrl-Home First Character of current line Ctrl-End Last Character of current line (plus 1) Ctrl-PgUp Upper-left position of screen Ctrl-PgDn Lower-right position of screen Tab Next set Tab position (see Alt-T) Shift-Tab Previous set Tab position (see Alt-T) Enter First column of following line _____________________________________________________ Naturally, if you attempt to move past the screen border no action will be taken. If no tab position follows the current location, pressing [TAB] will return you to column one of the current line. TheDraw v4.00 Starting TheDraw 18 MOUSE CONTROL ______________________________________________________________________ TheDraw fully supports the use of a Microsoft Mouse or compatible device. Pull down menus and other facilities are available (see section PULL DOWN MENU SYSTEM). You may use either a two or three button mouse with TheDraw. The mouse operates differently depending on where you are in TheDraw. At command mode (no sub-functions in use) the mouse functions are: MOVEMENT: Moves cursor. LEFT BUTTON: Marks a block. MIDDLE BUTTON: Toggles line drawing mode RIGHT BUTTON: Activates pull down menu system. In any sub-function: MOVEMENT: Moves cursor/block/screen/etc... If movement is allowed, you can use the mouse. LEFT BUTTON: Equivalent to pressing [ENTER]. MIDDLE BUTTON: Unused. RIGHT BUTTON: Displays a small window with all current menu options. Someone comfortable with a mouse will find TheDraw easy to get used to. The mouse is usable everywhere in the program. If no particular mouse indicator appears, the RIGHT mouse button will generally pop up a window with available options. Simply click the RIGHT button on the wanted option to select it. Users without a mouse will find TheDraw operates normally without change. Note: A Microsoft compatible mouse driver (MSMOUSE.SYS or similar program) must be installed into your CONFIG.SYS file before TheDraw will recognize the device. See APPENDIX A for information on configuring Config.Sys. Once the driver is installed, TheDraw auto-detects the presence of the mouse. TheDraw v4.00 Starting TheDraw 19 COMMAND SUMMARY ______________________________________________________________________ TheDraw provides the following 37 command functions, available through ALT-Letter or CTRL-Letter key sequences plus a pull-down menu system. Alt-A Change Text Color Attributes Alt-B Block Action Commands Alt-C Clear Current Screen Alt-D Set Default Clear Screen Color Alt-E Select Screen Page Layers Alt-F View Function Key Sets Alt-G Global Commands Alt-H Display Help Information Alt-I Insert a Line Alt-J Animation Options Alt-K Delete a File Alt-L Load Screen from Disk Alt-M Select Draw Mode (toggle) Alt-N Ruler Alt-O Change Drive/Sub Directory Alt-P Paint/Fill Commands Alt-Q Redraw Screen (animator) Alt-R Restore Current Line Alt-S Save Screen to Disk Alt-T Tab Setup Alt-U Use Colors under Cursor Alt-V View a Screen (not load) Alt-W Edit Character (animator) Alt-X Exit TheDraw Alt-Y Delete Current Line Alt-Z Erase Cursor Character (animator) Alt-- Select Color Draw Mode (toggle) Alt-= Toggle Macro Learning Mode (reg. version) Ctrl-PrtSc Toggle Full Screen Editing mode Alt-Left Arrow Delete column Alt-Right Arrow Insert column Ctrl-Up Arrow Increment Foreground Color Ctrl-Down Arrow Decrement Foreground Color Ctrl-Left Arrow Increment Background Color Ctrl-Right Arrow Decrement Background Color Shift-Space Put a "Solid" space on the Screen. ESC Activate pull-down menu system from keyboard. The section THEDRAW KEYBOARD COMMANDS on the following pages contains explanations for each of the above. TheDraw v4.00 Starting TheDraw 20 P U L L D O W N M E N U S Y S T E M ----------------------------------------- TheDraw can be fully controlled via pull down menus. The menus greatly simplify learning TheDraw by conveniently showing all related commands. The pull down menus are activated from command mode using one of two ways. Pressing either the [ESC] key on the keyboard or if using a mouse the RIGHT-most button. The following options bar will appear across the top of the screen: Ŀ Files Global Options Screen Animation Color Toggles Help Each heading is described briefly below. For full functional descriptions, please refer to the appropriate section under THEDRAW KEYBOARD COMMANDS. The FILES Menu ---------------------------------------------------------------------- The Files pull-down menu offers assorted options for loading or viewing existing files, deleting old files, and saving the screen image currently being edited. When you load a file, it is read into the screen edit area. When done with a file, you can save it to any directory or file name. In addition, from this pull-down you can change to another directory, temporarily go to a Dos Shell, or exit TheDraw completely. Ŀ Load View Delete Change Dir Save Quit LOAD - Load a File (ALT-L) Displays a list of files under the current directory. You can use DOS-style wildcard masks for a listing of specific wanted files. Simply type in the name of the file to load or use the arrow keys to move the selector bar and press [ENTER]. Activate the pick list by pressing the TAB key or the RIGHT-most mouse button. TheDraw v4.00 Pull Down Menu System 21 VIEW - View a File (ALT-V) Similar to LOAD, except the image is loaded only temporarily. Pressing [ENTER] returns to command mode. DELETE - Delete a File (ALT-K) Allows files to be deleted from within TheDraw. The screen operates identically to the LOAD option above. The difference being TheDraw will attempt to delete any file you select. CHANGE DIR - Change Working Directory (ALT-O) Displays all subdirectories in the current directory. Select the wanted directory by typing it in or using the arrow keys and pressing [ENTER]. To change to another drive, simply type the wanted drive followed by a colon. ie: "C:" SAVE - Save Current Screen to a File (ALT-S) Saves current screen image to one of a variety of file formats. QUIT - Quit/Shell from TheDraw (ALT-X) Allows you to either exit TheDraw completely or leave the program just temporarily. In both cases, you end up at the Dos prompt. To return to TheDraw from a Dos Shell, type EXIT. This is useful when you want to run a DOS command without quitting TheDraw. The GLOBAL Menu ---------------------------------------------------------------------- The global menu offers options that affect the entire edit screen. These options include moving and copying the screen, plus global screen fills and text operations. Ŀ Copy Move Fill Text Each function is described on the following page. TheDraw v4.00 Pull Down Menu System 22 COPY - Global Screen Copy (ALT-G,Copy) Copies the current screen page to another page. You are prompted for which destination page you want. MOVE - Global Screen Movement (ALT-G,Move) Allows the rotating of the screen around its borders. Use the arrow keys or the mouse. Press [ENTER] or the LEFT mouse button to save at the new location. FILL - Global Fill Screen (ALT-G,Fill) Fills the entire screen based on a specified sub-command. The available options allow just the color attributes, just the characters, or both to be changed at once. TEXT - Global Text Operations (ALT-G,Text) Performs various screen text operations. Available sub-options are: Draw Box, Outline contents of screen, Center Justify screen contents, Left Justify, and Right Justify. The OPTIONS Menu ---------------------------------------------------------------------- The Options menu contains facilities to aid you in the layout of a screen design. Commands affect things like the current character set, the Tab line setup, and the on-screen ruler. A screen painting function is available also. Ŀ Character Set Tab Setup Ruler Paint/Fill Setup Options CHARACTER SET - Display and Select Character Set (ALT-F) Shows a screen containing all special IBM extended character symbols. From this you can select which character set you would like to work with. Use the arrow keys or the mouse. Press [ENTER] to save your choice. TheDraw v4.00 Pull Down Menu System 23 TAB SETUP - Adjust TheDraw Tab Stops (ALT-T) This command permits the setting of tabs in the editor (positions where the [TAB] key stops). Initially the positions are at every tenth column. Sub-commands are available for setting, clearing, and resetting tabs. RULER - On-Screen Ruler (ALT-N) Places a pair of lines on the screen which intersect at the cursor position. Move the ruler using arrows or the mouse. [ENTER] or LEFT mouse button saves the new cursor position. This command is useful for aligning items of the screen. The ruler can be held on the screen by selecting the [S]ticky option. PAINT/FILL - Enclosed Area Painter (ALT-P) Lets you fill an enclosed area easily with characters and/or color attributes. An area is defined as any shape formed using line characters (from function key sets 1-4). To use this command, position the cursor inside the target area before activating the pull down menus. SETUP OPTIONS - Default Setup Configuration (no separate key sequence) Provides access to many of the configurable defaults while using TheDraw. The following options may be changed: WORKSHEET WIDTH Choose how wide the edit buffer should be. Either 80 or 160 characters. WORKSHEET DEPTH Choose how deep the edit buffer should be. Can be 25, 43, or 50 lines. Note the worksheet depth cannot be less than the video mode in use. For example, if using 43 line EGA editing, the worksheet depth cannot be less than 43 lines. VIDEO SCREEN MODE Choose one of the following video edit modes: Standard 80 character by 25 lines (80x25), 80x43 (if using EGA card) or 80x50 (if using VGA card). MAINTAIN FILE DESCRIPTOR LISTING WILDCARD Tells TheDraw to maintain wildcards specified in the directory listing available during loading (or deleting). For example entering "*.BIN" to see all binary files would normally be forgotten, unless this option was turned on. TheDraw v4.00 Pull Down Menu System 24 DEFAULT SAVE SCREEN FORMAT Default file format TheDraw should select when saving a file. Upon hitting ALT-S, you are present with many choices. Pressing [ENTER] selects the default save screen format. If you find yourself using a specific format often, changing the default might prove a convenience. DEFAULT LOAD SCREEN FORMAT Similar to the above, but used during loading. If you are working with a given file type regularly, changing the default load format will save you from typing the file extension. For example if set to Binary, "DEMO" becomes "DEMO.BIN" instead of "DEMO.ANS". CREATE BACKUP FILES Instructs TheDraw to generate backup files when saving. If a file already exists, TheDraw will change the existing file's extension to .BAK, then continue the save. SAVING FILENAME PICK LIST ON EXIT TO DOS Controls the saving of the filename pick list to disk on exit. When off, any accumulated filenames will be lost upon exit. ASK TO SAVE CHANGES BEFORE EXITING TheDraw can be made to prompt before allowing exit to Dos, if changes were made to the current page or any page. USE ALT-KEY HELP WINDOW Holding down the ALT key for about three seconds displays a brief pop-up of available commands. The feature may be disabled by toggling this option. BLANK SCREEN AFTER HOW MANY MINUTES TheDraw will blank the screen by writing blanks if no action is taken for a specified time. The time delay can be set from 1 to 255 minutes, or turned off completely. DISK SWAP FILE PATHNAME Used when doing a Dos Shell (see ALT-X,S). TheDraw attempts to write all its data to expanded memory or a disk swap file to provide more room during the shell. If insufficient expanded memory (EMM or EMS) is available, the disk swap file is used at the specified path. Leaving this option blank will prevent TheDraw from using a swap file. DEFAULT FILENAME EXTENSIONS The default filename extensions TheDraw uses when saving a file. Change to your preference. For instance, if saving an Ansi file, TheDraw will change "DEMO" into "DEMO.ANS". TheDraw v4.00 Pull Down Menu System 25 DEFAULT ASM,PASCAL,C SAVE FORMAT Controls if TheDraw defaults to Normal, Ascii, or Crunching of screen data. See ALT-S for more information. FILTER OUT SOLID SPACES ON ANSI/ASCII/ASM/PASCAL/C FILES Occasionally solid spaces (entered with Shift-Space key combination) cause prompts with other programs. This filter will convert all solid spaces to normal spaces in the data written to disk (for Ansi, Ascii, Asm, Pascal, and C formats). FORCE CR/LF ON END OF LINES OF ASCII THAT ARE SCREEN WIDTH TheDraw is faced with a dilemma when saving Ascii files. The Dos TYPE command automatically wraps the cursor down a line when screen width text (80 characters) is printed. TheDraw normally handles this by not writing a carriage return sequence (CR/LF) for those lines, as it is not needed. However, reading such an Ascii file into other programs can cause problems. Therefore this option forces TheDraw to always write the CR/LF regardless of anything. A simple, yet effective, solution. RESET COLORS TO WHITE ON END OF ANSI FILES Controls if TheDraw resets the Ansi colors to white after all is said and done. Generally of use in animation files, where the last character printed is flashing magenta on a green background (or some even worse color combination). DEFAULT ANSI VIDEO PREPARATION Choose if by default TheDraw does nothing, homes the cursor to the upper left screen corder, or clears the screen before displaying an Ansi file. DEFAULT ANSI SLOW DOWN FACTOR Choose how many delay elements TheDraw inserts by default into an Ansi file. Normally used on faster machines to make animation more appealing (ie: visible). MAXIMUM ANSI LINE LENGTH Controls the maximum line length TheDraw will permit a line of Ansi to become. Some programs have line length limitations (such as bulletin board systems). Since TheDraw can conceivable generate lines thousands of characters long, this option allows you to compensate. The setting can be between 32 and 255 characters, or set to Unlimited if no conflicts exist. TheDraw v4.00 Pull Down Menu System 26 The SCREEN Menu ---------------------------------------------------------------------- Use items in the Screen menu to erase a page layer or select some other page. Other options allow you to insert, delete, or restore the contents of individual lines. Ŀ Clear Page Select Page Insert Line Delete Line Restore Line CLEAR PAGE - Clear the Current or All Page Layers (ALT-C) Erases the image in the current page. You may also opt to erase all page layers in one fell swoop for a completely clean slate. You will be prompted to save the current screen if changes have been made. SELECT PAGE - Choose a New Page to Work On (ALT-E) TheDraw prompts for the page layer you wish to edit. Enter a number between one (1) and the number of available pages. The mouse can be used for selection by pressing the RIGHT button. INSERT LINE (ALT-I) Inserts a blank horizontal screen line at the position of the edit cursor. This command is not reversible so use it carefully. DELETE LINE (ALT-Y) Similar to Insert, but deletes the line rather than inserts one. RESTORE LINE - Recover from Unwanted Changes on the Screen (ALT-R) Brings back the previous copy of the horizontal line currently being worked on. Please note that once you leave a line, all changes are permanent. TheDraw v4.00 Pull Down Menu System 27 The ANIMATION Menu ---------------------------------------------------------------------- Provides various facilities for working with the TheDraw animation system. Options allow the display and editing of the animation sequence. The registered version of TheDraw adds Limiting and animation markers (as shown below). Ŀ Screen Redraw Change Character Erase Character Include Files Limiting marKer Movement Storage Rescan Animation Pause Animation SCREEN REDRAW - Display the Entire Animation Sequence (ALT-Q) Display the animation sequence as entered. The command is useful for seeing how your work is progressing. The speed of the redraw may be controlled by specifying a number between 0 (fastest) and 255 (slowest). CHANGE CHARACTER - Edit a Character in Animation Sequence (ALT-W) Allows the editing of a mistyped animation entry. Animation mode differs from the normal edit mode in that simply overtyping a character does not replace it. In animation mode, both entries are remembered - the incorrect character, plus the wanted one. This command permits you to edit something without adding unwanted entries. ERASE CHARACTER - Delete a Character from Animation Sequence (ALT-Z) Deletes characters from the animation sequence. As stated above in the CHANGE CHARACTER option, a character is not replaced or deleted in animation mode by overtyping. To erase something this command must be used. Only the top-most character (the one currently visible) is removed; anything under it is left intact. INCLUDE FILES - Ansi/Ascii Include Files (ALT-J,Include) Allows text files created by programs other than TheDraw to be inserted into Animation sequences. Particularly useful for Ansi Music, BBS control codes, and often used sequences. TheDraw v4.00 Pull Down Menu System 28 LIMITING - Animation Sequence Editing (ALT-J,Limit) - Registered Limiting gives total control over the animation sequence, making changes anywhere trivial. Normally all changes and additions are done on the end of the animation sequence. By using limiting, you can move the edit point to anywhere within the sequence. Once the limit point has been set, TheDraw operates only up to that point. All deletions, additions and correcting are done where the limit is specified. Everything in the sequence above the limit is protected, temporarily out of the way. MARKER - Animation Markers (ALT-J,marKer) - Registered Markers are used to "mark" or "tag" different places in the animation sequence for later reference. Once set, markers can be used for quickly changing the animation limit position (see above) and viewing specific portions of the animation sequence. MOVEMENT STORAGE - Cursor Movement Storage (ALT-J,Movement) Controls whether or not cursor movement is stored in the animation sequence. Normally only characters specifically typed are recorded. With this option turned on however, movements of the cursor are also saved (for example, using the mouse or arrow keys). RESCAN ANIMATION - Animation Screen Rescanning (ALT-J,Rescan) Creates a new animation sequence using the current screen image. Any previous animation is lost (unless in animation limiting mode). PAUSE ANIMATION - Animation Pausing (ALT-J,Pause) Inserts either a keyboard or timed pause into the animation sequence. Gives the opportunity to sit and reflect upon a certain presentation. Note these pauses are truly functional only within TheDraw or THEPP (The Presentation Program). In Ansi files, timed pauses cannot be accurately saved. Keyboard pauses are flatly not possible with standard Ansi. TheDraw v4.00 Pull Down Menu System 29 The COLOR Menu ---------------------------------------------------------------------- Use this menu to select edit colors. Options are available for setting normal edit foreground and background color, the default background color used for erasing areas, and "picking up" colors currently used underneath the cursor. Ŀ Fore/Back Default Under Cursor FORE/BACK - Change New Character Fore/Background Color (ALT-A) Displays a screen showing available colors. Simply select wanted color using mouse, arrow keys, or directly typing the number. See also CTRL-UP/DOWN. DEFAULT - Change Default Erase Background Color (ALT-D) Similar to above, except changes default color. This is used whenever TheDraw must erase an area, or otherwise deal with a "void" created by some operation. UNDER CURSOR - Use Colors Currently Under Cursor (ALT-U) Changes new character fore/background color attributes to those under the edit cursor. Very useful for making quick updates and fixes. The TOGGLES Menu ---------------------------------------------------------------------- The Toggles menu contains settings for controlling how TheDraw operates. The settings affect things like line draw or sprite mode, animation mode toggling, character insert mode, and full screen editing. Ŀ Draw Mode Color Draw Sprite Mode Animation Mode Insert Mode Full Screen The options are discussed on the following pages. TheDraw v4.00 Pull Down Menu System 30 DRAW MODE - Line Draw Mode Toggle (ALT-M) Turns on/off line drawing mode. Line drawing is accomplished using characters from function key sets 1 to 4. In this mode, moving the cursor draws a line. Useful for creating abstract shapes quickly and easily. COLOR DRAW - Color Draw Mode Toggle (ALT--) Turns on/off color attribute drawing mode. Color drawing involves simply changing characters to the current colors. A manual way of easily painting an area a given color. SPRITE MODE - Sprite Editing Toggle (ALT-E,Toggle) Turns on/off TheDraw Sprite Editing Mode. Please refer to ALT-E for discussion about this mode. ANIMATION MODE - Animation Mode Toggle (ALT-J) Changes TheDraw from Normal to Animation mode and visa versa. When going from Normal to Animation mode, a list of available screen scanners are presented. Refer to ALT-J for more details. INSERT MODE - Character Insert Mode Toggle (INSERT) Turns on/off character insert mode. In insert mode, typing something bumps everything to the right to make room for the new character. FULL SCREEN - Full Screen Editing Toggle (CTRL-PRTSC) Toggles using the entire screen for editing. In full screen edit mode, the status line along with all indicators disappear. This makes the full 80 by 25 screen available for editing. TheDraw v4.00 Pull Down Menu System 31 T H E D R A W K E Y B O A R D C O M M A N D S _________________________________________________ ALT-A: CHANGE TEXT COLOR ATTRIBUTES This function allows you to change the current color attributes used by TheDraw. These attributes "color" any new characters placed on the screen. When you press ALT-A, the screen will change to a display of the available and currently selected colors. The lower portion of the screen contains two prompts: Please Select Foreground Color (0-31): Please Select Background Color (0-7): The cursor will be flashing immediately after the first prompt. You can now change the current foreground color via the Up/Down arrow keys or by directly typing the number associated with a foreground color (see table below). Mouse users can position the mouse on the wanted color then press a button. 0 Black 8 Dark Gray 1 Blue 9 Light Blue 2 Green 10 Light Green 3 Cyan 11 Light Cyan 4 Red 12 Light Red 5 Magenta 13 Light Magenta 6 Brown 14 Yellow 7 Light Gray 15 White Characters can be made to blink by selecting colors from the range 16 through 31. These match the above exactly, except they blink. After changing the foreground color (or leaving it alone) you can either proceed to the background colors by pressing [ENTER] or press [ESC] to return to the edit screen. The background color is selected in a fashion similar to the above. Allowed values are the first eight (0 through 7) colors. There are no background colors available that allow background blinking. Pressing either [ENTER] or [ESC] at this point will return to the edit screen. Notes: It is possible to change the colors without using ALT-A. Please see the Ctrl-Arrow Key commands for more details. Monochrome screen users will find background colors generally useless except when set to light gray (7) while using a black foreground color of 0 or 16 (blinking black). TheDraw v4.00 TheDraw Command Functions 32 ALT-B: BLOCK ACTION COMMANDS The Block Action Commands provide many facilities for editing the current screen and making extensive changes. The following options are available: o Move or Copy blocks of text. o Fill in areas with characters, colors or both. o Perform left, right or center text justification. o Draw boxes or outline text with lines quickly and easily. o Delete or simply Erase blocks of text. o Load a block of screen area from a file on disk. o Save just a piece of the current screen to disk. o Rescan an area into animation sequence (animation mode only). The Block Action Commands in TheDraw are one of the more useful tools available. After pressing ALT-B, you will see the following prompt: Use [L]ast block or move to Upper-Left corner and press [SPACE]. Press [L] to use the last block specified. Otherwise define a new block by indicating the upper-left and lower-right corners. Use the arrow keys, PgUp, PgDn, Home or End keys on the keyboard to move the cursor to the wanted locations, then press [SPACE] after you reach each point. The current block is highlighted (colors inverted) to make it obvious. Once you define the upper-left corner of the block, moving above or to the left of it will not invert any text. TheDraw will stop the block marking if you press [SPACE] under this situation. Upon pressing [SPACE] the second time (with an inverted block) you will see the available block option commands. The items on the menu, and their significance are described on the following pages. ----- Mouse users may mark a block by pressing and holding the LEFT mouse button, moving the mouse to wanted block size, and releasing the button. Block option commands as described below will then appear. TheDraw v4.00 TheDraw Command Functions 33 COPY - Copy a Block Copies the marked block. Use mouse or normal cursor movement keys, such as the arrow keys, Tab, PgUp, PgDn, Home or End to move the block copy around. Available sub-commands are: pagE - Change to a different page layer screen. With this option you can choose to stamp (see below) copies of the block on other layers. A small window appears with a prompt for the new page layer. Enter a number or press [ESC] to abort. Toggle - Toggles between single layer and sprite editing modes (see ALT-E for discussion on sprite editing). In sprite mode, any text on a higher numbered page layer will appear "under" text on the current page. Stamp - Makes a copy of the current block at the current position. Additional copies can be made as many times as wished. Under - Toggles between moving the block "above" or "under" the current page layer. The block copy starts in above mode. In above mode the entire block is visible, no matter where it is moved. In under mode, the block appears UNDER any other text on the current page layer. It will only show through the black spaces on the current layer. Note: Under mode also allows an interesting effect. If you are sprite editing (see ALT-E command) the block will appear to move -between- the current layer and those below it. [ENTER] Saves all changes made to all layers. [ESC] Aborts and removes all changes made to all layers. MOVE - Move a Block Moving a block operates identically to copying a block (see above). The only difference is the block is "cut" out from the current screen, leaving a hole behind. This hole is filled with spaces and the current default background color (see ALT-D regarding the default background color). All sub-commands are identical to the block copy described above. TheDraw v4.00 TheDraw Command Functions 34 FILL - Fill a Block Fills the marked block based on a specified sub-command. The available options are listed below: Attribute - Changes both foreground and background color attributes to current values shown in status line. Fore - Changes just the foreground color attributes to current values shown in status line. bacK - Changes just the background color attributes to current values shown in status line. Use - Changes both foreground and background color attributes to those under the CURSOR when you first pressed ALT-B. This is not the upper-left block corner, but the position on the screen the cursor was sitting when block commands were first selected. Character - Prompts for a keyboard character or special function set symbol (see ALT-F command). Solid spaces can be used by pressing Shift-Space. The block is then overwritten using whatever was selected. The color attributes at a given spot are not changed, just the character there. Both - Combines both the Attribute and Character fill operations described above. A character is prompted for, then everything in the block is overwritten using that character with the current color attributes from the status line. These commands offer much flexibility; however, nothing will satisfy everyone. For this reason, the "last block" option was added. To perform multiple fill operations on a given block is now done quickly and easily. ---- Note: In animation mode, the Attribute, Fore, bacK, and Use options actually change characters in the animation sequence (no new characters are added). Use of the Character or Both option in Animator mode however WILL add additional characters to the animation sequence. TheDraw v4.00 TheDraw Command Functions 35 TEXT - Block Text Operations Performs various text operations on the specified block. Available sub-commands are: Box - Draws a box using the current function set. The box border is defined by the edges of the block area. The contents of the box are left unchanged, however anything where the box lines are actually drawn will be overwritten. Outline - Operates similar to the Box command, except the contents of the block are examined first. The box border will be adjusted to just accommodate all words either fully or partially contained by the block area. For instance, assume you just had one character in the center of the edit screen. You then mark the entire screen as a block, and select text outline. The result would only be a small box around the character. Going the other way, if you block marked just the center letter of a long word (with no spaces) the block edges would expand to accommodate the entire word. Note: the expansion is only done for words INITIALLY part of the block. Any words the block expansion happens to go over are ignored, and are not considered by Text Outline. Center - Text contained or partially contained by the block is centered. The way this is done is similar to the text Outline described above. Each line of characters considered is expanded to just enclose all words. The string of words is then centered on the position of the block. Left - Text contained or partially contained is moved to the left edge of the block. Block expansion is used so words are not split apart. Right - Identical to Left except contained or partially contained text is moved to the right edge of the block. These commands are useful making menu displays, short memos, letters, etc... TheDraw v4.00 TheDraw Command Functions 36 DELETE - Delete a Block This command is fairly intuitive. The block is completely removed. Anything on the edit screen to the right of the block is shift over to fill in the space. The area previously occupied by the shifted text is erased using spaces and the default background color (see the ALT-D). ERASE - Erase a Block Erases the block, without changing anything other portion of the edit screen. The block is erased using spaces and the default background color (see ALT-D). REPLACE - Block Character/Color Replace Performs character and/or color attribute replacement on block based on specified sub-command. The pattern is whatever was under the cursor when ALT-G was selected. The available options are shown below (these are similar to the Fill options): Attribute - Searches both foreground and background color attributes, then replaces all matches with current values shown on status line. Fore - Searches and replaces just the foreground color attributes with current value. bacK - Searches and replaces just the background color attributes with current value. Character - Prompts for a keyboard character or special function set symbol (see ALT-F command). Solid spaces can be used by pressing Shift-Space. The block is then searched and all characters matching the pattern are replaced with the new selection. Color attributes at any position are not changed, just character values. Both - Combines both the Attribute and Character operations described above. A replacement character is prompted for, then everything on the screen matching the pattern (both character and fore/back attributes) is replaced with the character and current colors. TheDraw v4.00 TheDraw Command Functions 37 The following commands are available only in normal (non-animation) screen edit mode: LOAD - Load a Block Imports a block of data from another screen saved on disk. You are first prompted for the import filespec (see ALT-L for details on loading files). The import image is then loaded onto the screen, and an inverted area of the defined block size appears. Move this inverted area using arrow keys, PgUp, PgDn, Home or End to the wanted portion. Press [ENTER] to save a copy of the inverted area in the original edit screen. The rest of the import image is discarded. SAVE - Save a Block Operates almost identically to the normal save screen command (see ALT-S for information on saving edit screens). The difference being the save is restricted to the defined block. The following command is available only in animation edit mode: RESCAN - Rescan a Block Operates just like the ALT-J animator rescan option, except only the marked block is rescanned. The marked block area is first erased from the animation sequence, then the block is rescanned and added onto the end of sequence. ALT-C: CLEAR CURRENT SCREEN The operation of this command should be apparent. Once selected, the following prompt appears: Do you want to CLEAR this Page or All Page Layers? (Yes/No/All) Selecting [Y]es or pressing [ENTER] will clear the current page layer and nothing else. Selecting [N]o or pressing [ESC] will abort the command. Selecting [A]ll will clear ALL page layers. You are prompted to verify this request before continuing. Useful if you want a completely clean slate. The clearing of a given page layer is done by using spaces and the default background color (see ALT-D below). TheDraw v4.00 TheDraw Command Functions 38 ALT-D: SET DEFAULT BACKGROUND COLOR The default background color is used whenever TheDraw must erase a portion of the screen. Examples of commands where this is used are: o Clear Current Screen. o Block Delete, Erase, and Move. o Text Operations which move words. o Use of the Backspace or Delete keys to remove characters. o Inserting or Deleting of Lines. All these commands "clear" an area of the screen in one way or another. TheDraw does this using spaces and the default background color specified. When you select ALT-D, the screen changes to a display of available colors and the current default background color. In the lower portion of the screen is the prompt: Please Select Background Color (0-7): The cursor will be flashing after this prompt. Select the wanted default background color via the Up/Down arrow keys or by directly entering the number associated with a color (see ALT-A for available colors). Mouse users simply position the mouse on the wanted color and press a button. Press [ENTER] or [ESC] to return to the edit screen. ALT-E: EXCHANGE EDIT SCREENS The exchange edit screen command allows you to select a different page layer for editing. Up to eight simultaneous layers can be used at once, in either normal or animation modes. With this facility, you can load several images, copy/exchange parts and do much more. After pressing ALT-E, the following prompt appears: Display Page Layer (1-8), Toggle Single/Layers, or [ESC]? The number of available layers (8 here) will vary depending on how TheDraw has been configured. To select a different page layer, simply press the number. The second option, [T]oggle Single/Layers, is to toggle the sprite editing facility of TheDraw. Sprite mode is indicated by the word "Page" or "Anim" appearing in capital letters on the status line (ie: PAGE). TheDraw v4.00 TheDraw Command Functions 39 Sprite editing allows you to see everything "underneath" the current page layer. Imagine several sheets of glass, stacked on top of one another. If you look down from the top-most sheet, you can see anything placed on a piece of glass lower down. The sprite editing mode of TheDraw is akin to the layers of glass described above. In this case, layer one is the top-most sheet of glass. Page layer eight (8) is the bottom-most sheet of glass. ie: Ŀ . . . . Bottom-Most Layer Ŀ 8 Ŀ Ŀ . 3 . Top-Most Layer 2 1 Naturally, an object or character closer to the top will cover anything under it. In TheDraw, anything other than a non-solid black space will conceal the contents of a lower layer (see SHIFT-SPACE for information on solid spaces). Another useful feature about sprite editing is only the current page layer may be changed. Nothing you do will alter a layer below (short of clearing all layers), even though you can see its contents. The current layer can be globally moved, have lines inserted or deleted, etc... Anything lower down is protected unless you specifically change to that page layer for editing. The question than now comes to mind is: What can be done with it? Imagine you have a screen made of several distinct parts, say a backdrop with figures on it. Now a figure must be moved to make room for something else. Unless "block" shaped, the block move command (ALT-B) is tedious to use. For something tree shaped, an easier way is desired. Using sprite editing each figure could have its own layer, with the backdrop placed on the bottom-most page. To move a figure, you merely switch to its layer and use the global screen move command (ALT-G,M). Nothing could be simpler. To see the result of your change, switch back to the top-most layer. Menu making is made easier with sprites also. Put together the basic outline (lines, boxes, etc...) on one page layer, then switch to one higher up for the text. If you do not like the initial text, erasing it will not harm the outline. There are endless more possibilities waiting to be discovered. TheDraw v4.00 TheDraw Command Functions 40 ALT-F: VIEW FUNCTION KEY SETS This command simply shows a display of the 150 special characters supported by TheDraw. These characters are stored in fifteen separate "function key sets". The current set is displayed on the TheDraw status line. Selecting function key sets is divided between two commands. To use function key sets 1 to 10, press ALT followed by a function key 1 to 10. To use function key sets 11 to 15, press CTRL followed by a function key 1 to 5. ie: ALT-F7 will select function key set 7 CTRL-F4 will select function key set 14 The actual characters are accessed using the function keys by themselves. If function key set 7 was selected, pressing [F2] would display the second character in that set (a smiley face). Note: Appendix C contains a list of all special characters supported by the IBM-PC extended character set in numeric order. To access these characters -without- using the function key sets, press and hold down the ALT key. Now using the numeric keypad on the side of the keyboard, type in the number associated with the wanted character. Once done, release the ALT key. The character will then appear. ie: press and hold ALT. Now type 65 on the numeric keypad, and release ALT. The letter "A" will appear. ALT-G: GLOBAL COMMANDS The global commands offer many facilities for doing "global" changes to the entire screen. All of these commands could be duplicated with block operations; they exist for convenience. The following selections are available: o Copy the current screen to another page layer. o Move/Rotate the current screen around its borders. o Globally fill the screen with colors and/or characters. o Perform text operations globally on the screen. o Globally replace a character or color with something else. After pressing ALT-G the available commands are listed. The menu items are described on the following pages. TheDraw v4.00 TheDraw Command Functions 41 COPY - Copy Screen The command first prompts for the destination page. The current screen is then copied to the specified page layer. In animation mode, this deletes everything on the destination layer. The current screen is then copied item by item to it. MOVE - Move/Rotate Screen Moves the entire screen around its borders. Use the arrows keys to rotate the screen. Press [ENTER] when satisfied or [ESC] to leave the screen as it was. ie: moving the screen upwards will "rotate" the line at the top of the screen down to the bottom of the screen. FILL - Fill Screen Fills the entire screen based on a specified sub-command. The available options are listed below (these are identical to the block fill commands): Attribute - Changes both foreground and background color attributes to current values shown in status line. Fore - Changes just the foreground color attributes to current values shown in status line. bacK - Changes just the background color attributes to current values shown in status line. Use - Changes both foreground and background color attributes to those under the CURSOR when you first pressed ALT-G. This is the position on the screen the cursor was sitting when global commands were selected. Character - Prompts for a keyboard character or special function set symbol (see ALT-F command). Solid spaces can be used by pressing Shift-Space. The screen is then overwritten using whatever was selected. The color attributes at any given position are not changed, just the character at that position. TheDraw v4.00 TheDraw Command Functions 42 Both - Combines both the Attribute and Character fill operations described above. A character is prompted for, then everything on the screen is overwritten using that character with the current color attributes from the status line. In animation mode, the Attribute, Fore, bacK, and Use options only alter characters already in the animation sequence (no additional characters are added). The Character or Both options however WILL add additional characters to the animation sequence. TEXT - Global Text Operations Performs various text operations on the screen. Available sub- commands are: Box - Draws a box using the current function set. The box border will be the defined by the edges of the screen. The inside of the box is left unchanged, however anything where the box lines are actually drawn will be overwritten. Outline - Operates similar to the Box command, however the contents of the block are examined first. The box border will be adjusted to just accommodate all words contained by the screen. For instance, assume you just had one character in the center of the edit screen. The result of using global text outline would only be a small box around the character. Center - Text in the screen is centered. The way this is done is similar to the text Outline described above. Each line of characters considered is reduced to just enclose all words. The string of words is then centered in the screen. Left - Text is moved to the left edge of the screen. Right - Identical to Left except text is moved to the right edge of the screen. TheDraw v4.00 TheDraw Command Functions 43 REPLACE - Global Character/Color Replace Performs character and/or color attribute replacement on entire screen based on specified sub-command. The pattern is whatever was under the cursor when ALT-G was selected. The available options are shown below (these are similar to the Fill options): Attribute - Searches both foreground and background color attributes, then replaces all matches with current values shown on status line. Fore - Searches and replaces just the foreground color attributes with current value. bacK - Searches and replaces just the background color attributes with current value. Character - Prompts for a keyboard character or special function set symbol (see ALT-F command). Solid spaces can be used by pressing Shift-Space. The screen is then searched and all characters matching the pattern are replaced with the new selection. Color attributes at any position are not changed, just character values. Both - Combines both the Attribute and Character operations described above. A replacement character is prompted for, then everything on the screen matching the pattern (both character and fore/back attributes) is replaced with the character and current colors. These commands operate similar to the block action text commands. ALT-H: DISPLAY HELP INFORMATION The help screens provide a quick reminder for the various commands supported by TheDraw. The three screens briefly describe most available functions. The registered version of TheDraw supports context sensitive pop-up help for the ENTIRE program. Typing ALT-H at any position will display specific help on what you are doing. Try it, you'll like it! TheDraw v4.00 TheDraw Command Functions 44 ALT-I: INSERT A LINE Inserts a line at the current position. The current line and all those below it are shifted down. The bottom line is lost. This command is not reversible, so use with care. ALT-J: ANIMATOR OPTIONS The Animator Options command operates differently depending on which mode you are currently in (normal or animator). ALT-J FROM NORMAL MODE ______________________________________________________________________ When in normal mode, selecting ALT-J will put TheDraw into animation mode. To convert the existing normal screen images (static images) to animation entries, a "scan method" must be specified. The particular scan method used tells TheDraw how to read your static images for display. Ten different scan methods are available: TOP - Scan Top to Bottom The static page layers are scanned from their upper-left to lower- right corners. The scan goes across the screen (left to right). The next line down is then scanned, and so on. LEFT - Scan Left to Right Similar to TOP, except the scan goes down the screen (top to bottom). The next column over is then scanned, and so on. CLOCK - Clock Arm Scan Scans in clockwise direction from center of screen to border edge around screen. Appears somewhat like a growing pie-slice. CIRCLES - Circular Ring Scan Scans image in ever growing circles from center of screen outwards. ie: small circle, then slightly larger encompassing circle, then slightly larger again, etc... TheDraw v4.00 TheDraw Command Functions 45 CHECKERBOARD - Checkerboard Effect Scan Scans alternating squares on first pass creating a checkerboard appearance, then fills in all the gaps on the second pass. ANGLE - Angle Scan Scans each static page layer from upper-left to lower-right corners, using a backward angle approach. ie: scan character then move down to next line and backup one position. AAAAAAAAAA BBBBBBBBB CCCCCCCC DDDDDDD etc... GATE - Gated Scan Alternating lines scan from opposite sides of the screen forwards and backwards going across. The first line will scan left to right going across the screen. The second line scans right to left across the screen. The third line scans as the first, etc... All lines are processed at once, so the screen appears "gated". PYRAMID - Pyramid Scan Scans in a "pyramid" shape, starting from bottom center of screen. . .D. cDCD. tDCBCD. eDCBABCD. SQUARES - Squares or Spiral Scan Scans static screen images using squares. The border of the screen is first scanned (progressing clockwise). The next smaller square is then scanned, and so. Produces a spiral effect. SCRAMBLE - Random Scramble Scan Each static page layer is scanned in a completely random order. TheDraw v4.00 TheDraw Command Functions 46 DOOR - Closing Door Scan Screen is scanned from top to bottom, on both sides of screen at once. Gives the impression of doors closing on the user. DIAMOND - Growing Diamond Scan Scans image using ever growing diamond shapes from center of screen outwards. Mildly similar to the circle scan in operation. WIGGLE - Wiggle Scan Similar to GATE, except only one line is processed at a time. Produces a snaking line appearance starting from the top of the screen. Scan first goes across screen, then returns on next. The cycle is then repeated. WIGGLEOUT - Wiggle Out Scan Starts in center of screen with wiggle operation going both up and down at once. Once the animation scan is completed, the screen is cleared and redrawn. At this point TheDraw will operate normally, except all entries are sequenced by the animation system. Please refer to the section "The Animation System" for more details on its use. If you have ideas for more animation scanners, please send them! ALT-J FROM ANIMATOR MODE ______________________________________________________________________ Once in animator mode, selecting ALT-J presents several facilities for managing the animation system. The following commands are available: o Specify Animation Include Files o Specify User Control Sequences o Toggle storing of cursor movements o Convert animation screens to normal mode static screen images o Rescan current animation screen o Enter a pause into the animation sequence TheDraw v4.00 TheDraw Command Functions 47 The registered version of TheDraw also supports: o Animation Position Editing (Sequence Limiting) o Specify Animation Markers Each item on the menu is described below: INCLUDE - Specify Animation Include File When creating an ANSI file, TheDraw allows you to "include" text from other files in the new one being created. Ten different files can be included at various points in the sequence. When TheDraw includes another file, its contents are copied into the new output file TheDraw is making. Once the output Ansi file is created, the include file is not needed again. The include file need only be present when TheDraw is actually copying text from it. Include files are only accessed when TheDraw is saving a file. They are ignored by ALT-Q. If you wish to see what everything looks like before saving, use the View option described below. Upon choosing the INCLUDE option, a window will appear on the screen. All currently defined include files will be listed, along with their positions in the animation sequence. The following sub- commands are available: SET - Sets an include file at the current animation position. In the shareware version of TheDraw, this will always be the end of the current animation sequence. In the registered version, this is the current animation limit position. This allows include files to be easily specified "after the fact", anywhere in the animation sequence (see Limit below). CLEAR - Erases the include file entry you specify. No verify is done before the entry is deleted, so be warned. VIEW - Displays the entire animation sequence, with all specified include files. Very useful for testing the appearance of things. Press [ESC] once when done editing the include files. All changes are saved. TheDraw v4.00 TheDraw Command Functions 48 ANSI MUSIC Animation include files are especially useful for including so called "Ansi Music" sequences into a TheDraw image. Ansi Music is not part of the standard Ansi driver. It is an extension found in certain modem communication programs (such as Qmodem). Please note that TheDraw cannot generate Ansi Music source sequences. The code format of Ansi Music is as follows: [MF ascii 27 ascii 14 The is a string of music descriptors identical to those used in the Basic PLAY command. Refer to a Basic language reference manual for further information. Other uses are often used images or complex BBS control code sequences (for systems such as WildCat). The following option is more suitable for the latter however. USER_SEQ - Specify Animation User Control Sequence Allows you to insert your own short control code sequences directly into the Ansi file output TheDraw generates. Extremely useful for BBS control codes (ie: for user names and such), or inserting special extra Ansi codes into the animation (ie: clearing the display midstream, or causing an image to scroll). User Sequences are only referred to when TheDraw saves a file, and are not used when redrawing (see ALT-Q). Upon choosing the USER_SEQ option, a window will appear on the screen. All currently defined user control sequences will be listed, along with their positions in the animation sequence. The following sub-commands are available: SET - Sets a user sequence at the current animation position. In the shareware version of TheDraw, this will always be the end of the current animation sequence. In the registered version, this is the current animation limit position. This allows control codes to be easily specified after a screen has been made, anywhere during the display of the animation sequence (see Limit below). CLEAR - Removes the user sequence entry you specify. No verify is done before the entry is deleted, so be warned. VIEW - Displays the animation sequence, up to the position where the specified user sequence is to be output. Useful for jogging your memory. TheDraw v4.00 TheDraw Command Functions 49 LIMIT - Specify Animation Limit (registered version only) The animation limit facility of TheDraw provides for a powerful animation editing system. You can easily correct mistakes, insert, delete or do anything else in the MIDDLE of any animation sequence. To use limiting, you tell TheDraw where to stop displaying the animation sequence. For example, assume you had a sequence with 5000 entries. You could limit it to 2000, correct a spelling mistake, then quickly reset the limit back to 5000. With limiting turned on TheDraw operates as always, except everything above the animation limit is temporarily held out of the way. Upon choosing the LIMIT option, you can specify the animation limit position by means of the following keys: Up/Down Arrows Advance/Backup limit by one position. PgUp/PgDn Advance/Backup limit by 100 positions. Home Go to start of sequence (position = 0). End Go to end of sequence (all entries). marKer Move to the position of an animation marker. Selecting this command displays a window of all currently set animation markers. After choosing a marker, the animation limit moves to the position of the marker. Assuming you have set markers in strategic places, this allows you to quickly bounce around an animation sequence looking for a particular spot. Press [ENTER] to save the new animation limit. Pressing [ESC] leaves the original animation limit position unchanged. MARKER - Specify Animation Markers (registered version only) Markers are used to "mark" different places in the animation sequence for later reference. Once set, markers can be used for changing the animation limit position (see above) and viewing just portions of the animation sequence. They can be useful in locating things forgotten or set aside until later, editing images a page at a time, etc... Upon choosing the MARKER option, a window will appear on the screen. All currently defined markers are listed, along with their position in the animation sequence. TheDraw v4.00 TheDraw Command Functions 50 The following sub-commands are available: SET - Sets a marker at the current animation limit position. This allows markers to be easily specified anywhere in the animation sequence. You are first be prompted for which marker to change. If the marker is already set, it will be erased before continuing. After you specify a marker, you can then enter a comment (32 characters). CLEAR - Erases the marker you specify. No verify is done before the entry is deleted, so be warned. VIEW - Displays the animation sequence, up to a specified marker. Useful for reminding yourself of what happens early in a 16000 entry animation sequence. Press [ESC] once done editing markers. All changes are saved. MOVEMENT - Toggle Storage of Cursor Movements Toggles whether or not TheDraw stores actual movements of the cursor. Normally only typed characters are recorded; however, if the cursor movement toggle is on all movements of the cursor are also stored. Cursor movements are being stored whenever the ANIM symbol in the status line is flashing. If you are still in doubt, watch the animation entry count. It will increase every time you move the cursor. NORMAL - Convert to Normal Edit Mode. Converts what appears on the screen to normal mode images. All animation is erased after executing this command. You are first prompted to verify this before continuing. In the registered version, anything not displayed because of animation limiting is lost. Only what appears exactly on the screen when you select this command is converted to normal mode images. TheDraw v4.00 TheDraw Command Functions 51 RESCAN - Rescan the Screens Selecting this command prompts for an animation scan method as described above in the ALT-J FROM NORMAL MODE section. Everything in the animation sequence is first erased, then the images on the screens are rescanned. In the registered version, any animation sequence not displayed because of animation limiting is NOT lost. It will still be available after this operation is done. This differs from the above sub-option and permits rebuilding something which did not cut it the first time. PAUSE - Animation Pausing Allows for the putting of pauses into the animation sequence. TheDraw can wait for either a key press or a specified number of seconds. There is no limit on pauses and they may occur anywhere in the animation sequence. This can be very useful in presentations. After selecting PAUSE, the following sub-commands are available: TIME_PAUSE Creates a pause for a specified number of seconds (the pause can be aborted by pressing any key when actually displayed). You are prompted for the number of seconds to delay. KEY_ONLY_PAUSE Creates a pause for a key to be pressed. CLEAR Erases pauses from the animation sequence. TheDraw searches backwards from the current animation position for a Pause. If one is found, you can DELETE, VIEW up to this pause, or scan for the NEXT pause before this one. Press [ESC] to abort clearing a pause. Pauses are observed whenever you redraw the animation sequence with ALT-Q. When you save an ANSI file, it is not possible to produce the exact pause equivalent (pauses for a key are impossible). For this reason, a small separate presentation program (THEPP) is included with registered copies of TheDraw. This program duplicates the operation of the ALT-Q command, and uses THEDRAW format data files. See section entitled "The Presentation Program" for information on using THEPP. TheDraw v4.00 TheDraw Command Functions 52 ALT-K: DELETE A FILE Deletes a specified file from disk. Use this option to free up disk space when the need arises. The directory file selector (see ALT-L below) displays everything in the current directory. Use the arrow keys to select a file to delete, or simply type in the filename at the bottom of the screen. Press [ENTER] to select the file. TheDraw will then check for the file. If it exists, you are prompted to verify before continuing. This is your last chance before you delete something you might regret later. ALT-L: LOAD SCREEN FROM DISK This command allows you to load any ANSI text, ANSI Animation, ASCII text, BINARY dump, Basic BSAVE, TheDraw Object, TheDraw COM, or TheDraw (.TD) format file. You are prompted to continue if the current screen image has not been saved. The directory file selector next displays all files in the current directory for convenience. The selector cursor may be used to choose a file, or a filename can be typed in directly. Move the selector cursor via the arrow and PgUp/PgDn keys. To see the pick list of last 10 files accessed, press the TAB key. Press [ENTER] to load the file. If there are many files in the directory, a wildcard filename can be used to display a partial listing of those available. Wildcards operate as found in Dos. Please refer to your Dos manual for additional information. Wildcards are normally temporary, and are not maintained between directory invocations. They can be made "sticky" however by use of the Setup utility. If you type in the filename, a file extension is assumed unless otherwise specified. The assumed value is ".ANS" unless changed in the setup options. The following file types require the specified extensions for TheDraw to be able to load them: Binary Dump .BIN Basic BSAVE .BSV TheDraw COM File .COM TheDraw OBJ File .OBJ TheDraw Format .TD (Note: The above filename extensions can be changed in Setup Options menu with TheDraw, or via the Setup Utility Defaults option). TheDraw v4.00 TheDraw Command Functions 53 A file without one of the above is assumed to be an ANSI file. Assembler, Pascal, and C format files cannot be reloaded, except as Ascii text. You must keep another copy of those screens safely somewhere in one of the above loadable formats. Binary, BSave, COM, Object (OBJ), and TheDraw format files are all reloadable and may contain either a full screen or small block image. Where a block is displayed depends upon the file format. Binary and Object formats load in the upper-left corner. Formatting information is not stored with binary blocks however, so TheDraw will prompt for block width before loading. BSave and COM formats load in the same locations they were originally saved from. The TheDraw format is more flexible however, placing you automatically into block copy/move mode to position the block. When loading Ansi or Ascii, only the first screen full is stored. Any extra lines below the first screen are discarded. Do not be alarmed by Ansi files which might be hundreds (or thousands) of lines long. So long as the cursor never goes below the bottom of the screen, everything will load properly. Ansi animation is automatically detected by TheDraw using the following advanced system: If the cursor suddenly moves to a place it normally could never go, the file must be animated. ALT-M: SELECT DRAW MODE TheDraw supports the "drawing" of lines. This is easily done using the arrow keys while in Draw mode. The characters used in the lines are those available via the function keys from the current function key set. Only the first four sets of characters contain lines. If a function key set without lines is selected, the first set (single lines) is used. Draw mode is indicated by the word "Draw" at the bottom of the screen. In draw mode, everything operates without change. Typed characters still appear. The only change is that using the arrow keys makes a line appear in the direction moved. ALT-N: RULER The Ruler command places a pair of intersecting lines on the screen. The point of intersection represents the position of the cursor. It is useful for lining up rows or columns of text or figures. TheDraw v4.00 TheDraw Command Functions 54 The ruler can be moved using all normal cursor keys (ie: the arrow keys, Tab, PgUp, PgDn, Home, End, etc...). Press [ENTER] to save the new cursor location, or press [ESC] to return to the initial cursor position. The ruler can held on the screen during normal editing by selecting [S]ticky mode. The ruler will appear under the current layer. To turn off the sticky ruler, simply select ALT-N again then press [ESC]. ALT-O: CHANGE DRIVE/SUB DIRECTORY This command allows you to change the Dos default directory or path (displayed when loading or viewing a file). All sub-directories of the current path are displayed for you. A new directory can be selected by using the arrows keys or typing in the pathname. Press [ENTER] to change to it. Note that the details of sub-directories are not covered here. Please refer to your dos manual for that. For example, if you were on drive C in a sub-directory named GAMES, you could switch to the subdirectory UTILITY of drive D by entering "D:\UTILITY". You could then get back to the directory GAMES by simply entering "C:" (no backslash). Alt-P: PAINT/FILL COMMANDS This command allows enclosed areas to be easily filled with characters and/or attributes. An enclosed area is made by using lines (from function key sets 1-4) or using the Draw command (see ALT-M). To use this command, position the cursor inside the area then press ALT-P. The following sub-commands are available: ATTRIBUTE Changes all foreground and background color attributes within the enclosed area to those values shown in the status line. FORE Changes only the foreground color attributes within the enclosed area to the current foreground value. BACK Changes only the background color attributes within the enclosed area to the current background value. CHARACTER Prompts for a keyboard character or special function set symbol (see ALT-F command). Solid spaces can be used by pressing Shift-Space. All enclosed characters are then overwritten using whatever was specified. No color attributes are changed, just actual character symbols. TheDraw v4.00 TheDraw Command Functions 55 BOTH Combines both the Attribute and Character paint operations above. A character is prompted for, then everything in the area is overwritten using that character with the current color attributes from the status line. In animation mode, the Character and Both options add new entries to the animation sequence; nothing is deleted. The Attribute command however only changes the color attributes of characters already in the animation sequence. No new entries are added. ALT-Q: REDRAW SCREEN (available in animation mode only) This command redraws the animation sequence on the screen. With this you can see how your work is developing. You are prompted for the display speed to redraw at. Available speeds are from 0 (fastest) to 255 (crawl). A value of about 40 is generally a good speed to view at. Be warned that 255 literally is a crawl speed, displaying between two and four characters per second (standard PC/XT). A slow redraw can be broken out of by pressing any key. ALT-R: RESTORE CURRENT LINE Restores current line to original contents. Useful if you make a mistake while entering text. Removes all changes to the line made by the user. Once you move off to a new line however, any changes are permanent. ALT-S: SAVE SCREEN TO DISK The Save Screen command offers many formats for saving the entire current screen. The available formats are: Ansi, Ascii, Asm, Binary, BSave, Com, C, Pascal, Object, and TheDraw. Please note that all color attributes are lost in an Ascii file. All other formats store the complete screen with color information (unless specified otherwise). The entire screen is saved when using this command. If you do not require the full video, use a block save (see ALT-B). These can be more effective at times. You are first prompted for which storage format to use. In animation mode, only ANSI and THEDRAW formats are available. The items on the menu are discussed below. TheDraw v4.00 TheDraw Command Functions 56 ANSI - Ansi text file You are first asked what initial screen preparation you want before the image is displayed. Options are: CLEAR - Clears the screen HOME - Move cursor to upper-left corner of screen NONE - Leave screen and cursor position as is. The next prompt is for the maximum length of each line in the saved file. TheDraw is capable of producing over 1300 characters per screen line (if every character had a differing color combination). Some applications and programs (ie: other text editors) cannot handle so many characters per line. This option limits the output line length sacrificing time to display the image. If length is no problem, specify [N]one for the most efficient file. Lastly, you are prompted for the Ansi display speed (a number from 0 to 50). The operation is similar to the ALT-Q animator redraw screen function. Things are slowed down by adding redundant codes after displayed characters. A value of 50 is approximately equal to an ALT-Q speed of 255 (extremely slow). Experimentation will find the most appropriate speed for your needs. ASCII - Ascii Text (no colors) If you select ASCII, you are prompted if you really want a non- color image made before continuing. The Ascii file produced is similar to any file produced by a normal text editor (ie: Turbo Pascal or Sidekick editor). There is one difference in the approach used by TheDraw however. Lines of Ascii that are the full 80 character screen width, are normally NOT terminated with a carriage return sequence (CR/LF). Such Ascii files viewed via the Dos TYPE command display properly but do not load correctly into most other software. Therefore, an option to force CR/LF was added to the Setup Options menu within TheDraw, and the Setup Utility Defaults area. Set this toggle if you are having difficulties. ASM - Assembly Language ASM produces a list of DB data statements for use by assembly language programmers. Additional sub-options are available to specify the assembler data format. You can specify to Crunch, output only Ascii characters, or generate a normal file. Crunching uses a custom technique for compressing color changes and strings of identical characters to make the smallest possible file. To display a crunched file you must use the uncruncher routine TheDraw v4.00 TheDraw Command Functions 57 included separately with TheDraw (UNCRUNCH.ASM). This file has comments explaining its use. It is compatible with Microsoft (MASM) and Borland (TASM) assemblers. Simple formatting changes may be required for other vendors assemblers. The Ascii format saves all characters on the screen. No color attribute information is stored however. The Normal format is a pure binary dump of the screen, converted to an assembler compatible format. You are also prompted for a reference identifier to use. This will be the name used to access the data within a program. TheDraw takes this and generates statements to simplify programming. For instance, assume a standard full screen with the default IMAGEDATA: IMAGEDATA_WIDTH EQU 80 IMAGEDATA_DEPTH EQU 25 IMAGEDATA_LENGTH EQU 4000 IMAGEDATA LABEL BYTE ... data for screen image follows here ... The width and depth statements reflect the character dimension of the image saved. Saving a block changes them appropriately. This facilitates easier program development. Instead of directly coding block sizes refer to the above identifiers. Thus eliminating the need to remember arbitrary block sizes. BINARY - Binary Screen Dump Produces a straight data byte dump of the video screen. This data format is generic. It is useful for many things, such as loading screen images directly to video ram, etc... This will be 4000 bytes for a standard 80x25 screen, larger for EGA/VGA displays. BSAVE - Basic BSave Screen Dump This file is identical to a binary screen dump, except loading codes for Basic are placed at the front. These files can be loaded from basic with: DEF SEG = &HB800 : BLOAD"filespec.BSV",0 If you have a monochrome monitor, replace the B800 with B000 in the above line. TheDraw v4.00 TheDraw Command Functions 58 COM - Dos Executable COM Files. Produces a truly separate program executable from Dos by typing the program name. COM files are useful in batch files and the like for -fast- displaying. COM file screen blocks (via ALT-B) display only the block without changing anything else. You could conceivably generate a "layering" windows effect if you so desired. TheDraw has three different styles of COM file, and will transparently select the most appropriate to minimize file size. PASCAL - Turbo Pascal Compatible Screen Dump This operates the same as the ASM option described above, except the output is in a Turbo Pascal compatible CONST structure. See Appendix B for the section entitled "Programmers Programming Tips". To use the Crunched file format, use the file UNCRUNCH.PAS. C - Modern C Formatted Compatible Screen Dump (Turbo C) Again, this operates the same as the ASM option. The format is for the new "modern C" string continuation structure. The data may be uncrunched using routines in the two files UNCRUN_N.OBJ and UNCRUN_F.OBJ (for near and far code models respectfully). The header file UNCRUNCH.H contains instructions on their proper usage. We are aware only of TurboC able to handle this structure. People using other compilers should use the Object file format below. OBJECT - Intel Compatible Object Code File This is a format compatible with many high level language compilers. Object files can be produced with screen information crunched, ascii only, or binary normal (as in ASM format). Four code/data models are supported: Turbo Pascal v4.0 (and above) Small Data Large Data QuickBasic v4.0 (and above) The TP40 format is compatible with Turbo Pascal v4.0 through v6.0. Data saved to these files is referenced by external procedure calls and pointers. Refer to the topics "TURBO PASCAL v4.0 through v5.5" and "TURBO PASCAL VERSION 6.0" in the Programmers Programming Tips section for examples. TheDraw v4.00 TheDraw Command Functions 59 The QB40 format is for use with QuickBasic v4.0 and higher. The image data saved to these files are referenced by provided display routines. The object files are linkable (if you use the BC compiler), or can be incorporated into a Quick Library for use within the QuickBasic environment. When linking separately, you must include the file QBUTIL.LIB in addition to any TheDraw object files. To simplify matters, you can merge the QBUTIL.LIB and object files into one library. A batch file MAKEQLB.BAT is provided to simplify the process of creating Quick Library and the separate library files. To use, the first parameter should be the name of the quick library to create. The following parameters are TheDraw object files plus other object (.OBJ) and library (.LIB) files you want included. ie: MAKEQLB testlib IMAGE1.OBJ IMAGE2.OBJ USERCODE.LIB This creates the files named TESTLIB.LIB and TESTLIB.QLB. Note no file extension was specified on the "testlib" parameter above, since the batch file adds ".LIB" and ".QLB" automatically. The Quick Library contains the display routines (from QBUTIL.LIB, which is always added by the batch file), plus the screen images in IMAGE1.OBJ and IMAGE2.OBJ. Also included is a library of user code you might optionally want in this quick library. See the topic "MICROSOFT QUICKBASIC v4.0 AND v4.5" in the Programmers Programming Tips section. OBJECT FILE DATA FORMATS ------------------------ The data formats use the following identifiers: Small Data Large Data ---------- --------------- Segment: _DATA filename_DATA Group: DGROUP filename_DATA Where "filename" is the actual filename given the object file. The last prompt under object files is for the data reference identifier. This is the name you will use in your program to access the object data. It defaults to IMAGEDATA (for TP40 and QuickBasic) or _IMAGEDATA (Small or Large Data). The underscore is usually required for small or large data formats, but is application and compiler dependent. TheDraw v4.00 TheDraw Command Functions 60 The above identifier is used to directly reference the image data stored. In addition, TheDraw generates three additional identifiers similar to the ASM case: identifier_WIDTH identifier_DEPTH identifier_LENGTH For QuickBasic users the following identifiers are used, called as subroutine functions to obtain the wanted value: identifierWIDTH identifierDEPTH identifierLENGTH In all cases, these contain the dimensions of the block specified (width and depth). The last identifier specifies how long the data block is. The width/depth values are useful for drawing windows and other related functions. The length parameter is useful for displaying crunched images. THEDRAW - TheDraw Setup Save This format saves everything about the current configuration of TheDraw. In normal edit mode, all occupied page layers are saved. In animation mode, the complete animation sequence is stored. All other parameters are saved also (ie: current colors, tab line, cursor position, current page layer, etc...). The TheDraw format file also has the benefit of being the fastest way to load and retrieve screen images; eight page layers or 16000 animation entries take only seconds to load. Following the above prompts, TheDraw prompts for a filename. If the file already exists, you are prompted to verify the save. If you do not specify a filename extension, TheDraw assumes the following: .ANS ANSI compatible files .ASC ASCII text files .ASM Assembler files .BIN Binary dumps .BSV Bsave files .COM COM files .PAS Pascal files .H C files .OBJ Object files .TD TheDraw format files. TheDraw v4.00 TheDraw Command Functions 61 A file without an extension can be specified by placing a period as the last character of the filename (ie: TESTFILE. ). After entry of a valid filename, the screen is saved to disk. For information and suggestions on using the screen files created by TheDraw see Appendix B (Programmers Programming Tips). ALT-T: TAB SETUP This command allows you to set tabs in the editor (positions where the [TAB] key stops). Initially the positions are at every tenth column. Available sub-commands are: SET - Set a new tab position. Move the cursor to the wanted position then press 'S'. CLEAR - Clears tab at current cursor position RESET - Resets tab line to initial settings (every ten spaces). ERASE - Delete all current tab setting for a clean slate. INCREMENT - Prompts for a step size. From the current cursor position, every nth location is then set. This allows you to quickly specify, say every fourth position if your need requires it. Press [ESC] to leave the tab set command. ALT-U: USE COLORS UNDER CURSOR Changes current edit colors (seen on status line) to those currently under the cursor. This provides a fast method to change to colors already displayed on the screen. ALT-V: VIEW A SCREEN This command allows you to look at an image saved on disk. Nothing is altered by this command. This might be used in conjunction with the block load/import function (see ALT-B). Viewing a screen is similar to loading (see ALT-L) except the loaded image is not remembered. Once the image is fully displayed, a window appears with instructions. Press [ENTER] to exit view mode. Pressing any other key will make the window disappear to facilitate viewing. After about 30 seconds the window reappears to remind you about view mode (in case you leave the computer unattended). TheDraw v4.00 TheDraw Command Functions 62 ALT-W: EDIT CHARACTER (available in animation mode only) Allows the editing of a mistyped animation entry. This command exists because simply overwriting an incorrect character does not delete it. In animation mode, both entries are remembered - the incorrect character, plus the wanted one. Upon redisplaying the animation sequence (see ALT-Q), both characters would be seen (the former for only a millisecond perhaps, but it would appear). Another way is using ALT-Z to delete the incorrect entry. The wanted character could then be typed in. This works perfectly well, and some people may prefer it; however, to quickly change an entry ALT-W is more convenient. After pressing Alt-W you are prompted to type the new character. The current position will flicker. All color changing commands are available (ALT-A and the Ctrl-Arrow keys) while editing. ALT-X: EXIT THEDRAW Prompts if you wish to exit TheDraw or execute a shell to DOS. Responding Yes exits the program. No cancels the command. Shell also exits to Dos, however TheDraw remains in memory. All screen page layers and animation entries are retained. To free up memory for the Dos Shell, TheDraw will try temporarily saving its data to expanded memory/EMS or a disk swap file (if insufficient EMS exists). Typing the command "EXIT" at the Dos prompt will return control to TheDraw. ALT-Y: DELETE CURRENT LINE Deletes the current line on the screen. All lines below are shifted up one line position. The bottom line is cleared using spaces and the default background color. This command is not reversible, so use it carefully. TheDraw v4.00 TheDraw Command Functions 63 ALT-Z: ERASE CURSOR CHARACTER (available in animation mode only) Erases the top-most character from the animation sequence at the current cursor position. Only the last character typed at the cursor position is deleted, everything typed before is unchanged. This differs from the Backspace key which deletes everything at a cursor position. ALT-[left]: DELETE CURRENT COLUMN Deletes the current column on the screen. Everything to the right of the current column is shift over one position. The right-most column is cleared using spaces and the default background color. This command is equivalent to using Block Delete (ALT-B,D) on the current column. In any case, the action is not reversible so use carefully. ALT-[right]: INSERT A COLUMN Inserts a column at the current position. The current column and all those to its right are shifted over. The right-most column is lost. This command is not reversible, so use with care. ALT-- TOGGLE COLOR DRAW MODE Toggles color attribute drawing. In this mode, moving the cursor updates the new character position to the current edit colors. This permits easy manual color painting of a given area. In animation mode, only those locations with characters in the animation sequence will be altered. Unused locations will not be affected. Operation of TheDraw is not changed by this mode. Moving the cursor will simply change colors. TheDraw v4.00 TheDraw Command Functions 64 ALT-= TOGGLE MACRO LEARN MODE (registered version only) Activates the macro learning mode of TheDrawR. You are prompted for which macro key to program (0-9). After specifying the macro, TheDraw remembers everything you type. This is somewhat akin to animation mode; however, macro learn mode literally remembers everything. All editing commands performed, any characters typed, etc... Up to 512 characters will be recorded. Once satisfied with the macro, type ALT-= again to save it. To use the macro, press ALT followed by the proper number key 0 through 9 (do not use the numbers on the keypad). While programming a macro, selecting another macro chains the two together. Chaining a macro in this fashion permits you to create longer macros than available otherwise. When you specify the second macro, the one being programmed is saved and learn mode is turned off. To program the second macro (and continue the sequence), select Alt-= from command mode again. You can create an "endless" macro quite easily. Simply have a macro call itself. For instance, if programming macro 0, type ALT-0. ie: ALT-= 0 [Enter] Start programming macro 0. Alt-0 TheDraw would repeat the macro contents until ESC was pressed. ALTERNATE COLOR CHANGE OPTIONS For the experienced user, TheDraw provides a more convenient way of adjusting the current status line colors. Pressing Ctrl-Up increments the current foreground color number (found in ALT-A) and Ctrl-Down decrements it. These two key combinations do not always work reliably on all computers (a Bios flaw exists). To get around this, TheDraw incorporates a special keyboard driver to handle these two keys. If they do not work on your machine run the SETUP utility and use "Keyboard Customize" to configure TheDraw to your keyboard. Pressing Ctrl-Right increments the current background color number; Ctrl-Left decrements it. TheDraw v4.00 TheDraw Command Functions 65 SHIFT-SPACE: SOLID SPACE CHARACTER As stated elsewhere in this documentation (see ALT-E), the sprite mode of TheDraw makes lower page layers appear through "black spaces" on the current page layer. This can sometimes be convenient and sometimes not. There are instances when you want to have a non- transparent black space on the screen. The Solid Space performs this function (non-transparent black space). Moving the cursor onto a solid space will cause the background color to flicker as an indicator. A Solid space is nothing more than a character #255 (which is a blank IBM extended character). CTRL-PRTSC: FULL SCREEN MODE TOGGLE This command toggles screen usage in TheDraw between 23 lines (regular) and 25 lines (full-screen). In full-Screen mode the status line disappears so you can fully use the screen. TheDraw also makes heavy use of pop up windows for prompts and messages in this mode. While useful, it can be awkward since YOU must remember where you are at all times. For instance, block marking and etc... It is easy to become confused unless you are careful. If all else fails, hit ESC a few times to abort the current command. Some people may prefer this mode which is fine. Nothing forces you to use either screen size for anything. Ctrl-PrtSc only operates from command mode. It is not available under any sub commands (such as Block, Global, etc...). There are no restrictions on full screen use in animation modes. TheDraw v4.00 TheDraw Command Functions 66 THE ANIMATION SYSTEM ____________________ WHAT IS ANSI ANIMATION? ______________________________________________________________________ The animation system of TheDraw allows the user to create screens with movement, adding excitement to your presentations. In animation mode, TheDraw basically remembers the exact order in which you enter something. This involves what you type, and more significantly, where you typed it. For comparison, TheDraw normally saves a static image from the Top to Bottom of the screen -- just like any typical text file would be displayed. Animation or sequencing allows a screen to be displayed bottom to top, totally against the natural order of things (so far as Dos is concerned anyway). With the animation sequence you put characters in exact locations in any order you want. Those keystrokes are repeated in the same order when played back. For example typing the numbers 0 through 9 backwards along the screen. ie: Ŀ 9 8 7 6 5 4 3 2 1 0 ( <--- typed this direction ) Upon replay, the "0" would appear first, followed by the "1", "2", etc... Exactly as was typed. Note in this example movement of the cursor was not stored, although it could be. Storing cursor movements will be discussed later. Animation sequences can be saved in two different formats: ANSI (.ANS) and THEDRAW (.TD). A sequence saved in Ansi can be displayed using the Dos TYPE command on any computer with the ANSI.SYS driver installed (see Appendix A on how to install it). Ansi files are also used widely on bulletin board systems. TheDraw is not needed to display Ansi files once created. The THEDRAW format is used for quickly saving and loading animation sequences to disk. The Presentation Program (THEPP) can be used to display an animation sequence saved in TheDraw format. For an example of Ansi Animation, enter "TYPE SHUTTLE2.ANS" from the Dos prompt (once the ANSI.SYS driver is installed). TheDraw v4.00 The Animation System 67 ANIMATION BASICS ______________________________________________________________________ TheDraw never physically "moves" anything when animating something. This is an illusion created by careful placement of characters (which as you remember can be placed anywhere we want). The "animation" of a display is done manually; moving objects step by step. The illusion of movement is simple to describe: Draw an object. Erase it, then redraw it moved over slightly. Repeat the above. If done properly, the object will appear to move. Nothing is really "moving" per say, we are just simulating it. For an example, imagine an asterisk in the center of the screen. We wish to have this asterisk move to the right. To do this, first we put a space over the existing asterisk (thus erasing it), then display a new asterisk over to the right (redrawing it). Repeating this will "animate" the asterisk, since it appears to move. ie: Ŀ * Asterisk as it initially was drawn. Ŀ _ Asterisk has been erased Ŀ _* A new asterisk has been drawn shifted over. Ŀ __* Above two steps repeated. Do the above process quickly, and the user effectively sees movement because the eye smoothly connects the old asterisk position with the new one for us. A SIMPLE EXAMPLE ______________________________________________________________________ The easiest animation example under TheDraw to play with is a snake. Our snake, we'll call him Slither from now on, will be a simple life form, growing each time he is moved. In effect, Slither's tail is never shifted since he grows so rapidly. To create this peculiar life form, enter animation mode (ALT-J,T). Next, turn on line drawing mode (ALT-M; "Draw" appears on status line). To give arise to Slither, move the cursor using the arrow keys. Keep moving in the same direction and low and behold there he is. Change direction, and move for a while. Make Slither do as many twists and turns as you like, since he really enjoys a good run (or crawl?) TheDraw v4.00 The Animation System 68 (example run of Slither) Ŀ Ŀ Ŀ Ŀ Ŀ Ŀ * (start) Now for the moment of truth. Make Slither repeat what he just did by using animation redraw (ALT-Q). Enter a delay of about 100, then sit back and watch Slither perform for you exactly as he did before. Hopefully this example shows just how little effort it takes to produce simple animation. Even this uncomplicated approach will add the extra pizzazz a presentation needs. Possibilities include drawing charts, graphs, outline figures, backdrops, etc... Your imagination is the only limiting factor. The next section describes how to move objects (such as the asterisk example shown previously). HOW TO ANIMATE SOMETHING ______________________________________________________________________ The asterisk example showed the classic method for moving small objects. ie: draw, erase, draw, repeat... However, the Ansi driver under which our animation special effects operate is quite limited. The illusion of movement is lost with large objects because too much time is spent erasing and redrawing them. A better way is needed. For larger objects, we can use the block copy facility. Draw the object, and decide what direction things will move. Now, mark a block over the object -plus- an extra blank line on the side opposite to the direction of movement. ie: block outline --> Ŀ OBJECT--> movement will be this way ^ extra blank line TheDraw v4.00 The Animation System 69 The complicated bit follows: Choose block copy. Move the block once in the direction of movement and Stamp it. Move it again, and Stamp. Repeat as much as desired. On the last shift, press [ENTER] instead of stamp. That's it! Now try redrawing with ALT-Q. You have created a moving object. This new approach is similar to the asterisk example, but notice we do not explicitly erase the object before shifting and redrawing. A good improvement making each shift almost twice as fast! Objects are generally larger than the distance moved between shifts, and afterwards occupy most of the same space as before. Thus, why you may ask, bother erasing an area if it will immediately be overwritten again? We can avoid wasting time and things will go faster. Ŀ ۳ ۳ Object ۳ ۳ ۳ ^ ^ ^ old portion of object, "erased" by blank line The extra blank line erases what needs erasing, and the redrawn object simply overwrites the rest. By using more than one blank line (and stepping more than one line between stamps), the movement appears to go faster still. Notice that block copy was used, not block move. In animation mode, the block move relocates animation entries in the block. Copying leaves the original in place, and -overwrites- it with the moved copy. Just like the asterisk example, we didn't move it, we overwrote it. See example shown above. Block move physically moves the object to the first stamp location. If you redraw the animation sequence, you would find no "movement". The object is drawn only once, where it was moved over to (at least on the first stamp). Additional stamps would behave as expected, only the first stamp would not be right. TheDraw v4.00 The Animation System 70 TRICKS OF THE TRADE ______________________________________________________________________ Once the above mentioned animation skills are down, certain easy special effects will help liven up a display. Care given to color selection, shading, and use of shadowing to furnish a three dimensional feel can perform wonders. Animation is also improved on occasion by pausing the display slightly. USE OF COLORS Good color selection is as important as the display content being viewed. Colors should be high contrast, but not so as to distract the viewer. For example, Yellow on Cyan go well together, however Magenta on Green do not. Extensive theory exists to predict which color to use with what, but for our purposes some experimenting will suffice. Simply look for combinations which are easy to read and do not strain the eyes. Observing other peoples work is a good teacher as well. Background colors should be used to your advantage. For example, look closely at the TheDraw title screen and note how the layering was achieved. Half block characters (such as "" and "") are used extensively with the solid portion one color and the blank region another. Lastly, flashing colors in combination with good background selection is an excellent visual device. For example, select flashing red (color 20) on a gray background (color 7). Put a block character (""). Now select flashing gray (color 23) on a red background (color 4). Put another block character next to the first. What you see is the block colors alternating between red and gray, each block opposite of one another. Repeating this pattern produces a moving effect. SHADING Shading and shadowing discussed below are both used for adding texture and three dimensional quality to a display. Shading is the process of gradually changing visual intensity. This can be done using bright colors then more subdued colors, or using different characters with different density such as "". For successful shading, one must be aware of how things truly appear in nature. Examine a pen sitting on a table carefully. The color is not uniform, but rather is bright in the middle then apparently gets darker towards the edges. The same holds true for any curvature. TheDraw v4.00 The Animation System 71 Example of how color changes on a curved object: brightest here darker darker darkest here darkest here ۲ ۲ ۲ ۲ The above character shading example shows one attempt at matching the curvature example. You can obtain more gradations by using high intensity and low intensity color in combination. For instance, coloring the following blocks as indicated yields eight shades of blue: light blue light Ŀ blue cyan ۲ SHADOWING This effect gives the appearance of an object throwing a "shadow" onto something. Many popular programs use shadowing to highlight menu or other box structures. Shadows are made by duplicating an object shifted down and over slightly, in a darkened color. ie: ۰ ۰ ۰ ۰ The most effective shadow colors are the light and dark grays. TheDraw v4.00 The Animation System 72 PAUSING TheDraw directly supports two types of animation pause: timed and keyboard. Unfortunately, there is no way to implement a keyed response in an Ansi file. The keyboard option is operable only if TheDraw or THEPP (see following section in documentation) is used for displaying the animation. Timed pauses can be approximated however, by inserting redundant codes into the Ansi file. One application might be slowing down steps of an animated object. The object is shifted once, then a short pause occurs before the object is shifted again. The relative speed difference (ie: object redrawn faster than shifting occurs) could help smooth the animation in some situations. Another application of course, is placing a delay after a message appears. Whisking something away too quickly might frustrate some users. The SHUTTLE2.ANS example has a couple of delays used. Can you find them? Ideally from the above you'll notice the "tricks" are not really tricks at all, but rather easy skills to master. A little practice will put you firmly on the right track. LIMITATIONS ______________________________________________________________________ You will discover a few limitations of Ansi animation as you progress. Large objects tend to "ripple" as they move. ie: Ŀ <-- ripple effect Large object also use a significant portion of the available animation space. You will be amazed how quickly even 16000 entries disappear. Objects up to 30 character by 10 lines (30x10) in size generally work with minimal difficulty. Faster computers can get away with slightly larger blocks. Since only one character point can change at any given time, having multiple objects move simultaneously will slow performance. As with everything, experience will tell you what is best for a given situation. Good luck, and enjoy being a qualified TheDraw hacker! TheDraw v4.00 The Animation System 73 THE PRESENTATION PROGRAM ________________________ The Presentation Program (THEPP) included with the registered version of TheDraw is a command line driven utility intended to simplify displays and demonstrations. It is flexible and easy to use. THEPP can display any file loadable by TheDraw (Ansi, Ascii, Binary, BSave, Object and TheDraw formats). As with TheDraw, the filename extensions tell THEPP what format a given file is saved in. The following extensions are used (but changeable via the SETUP utility): Binary Dump .BIN Basic BSAVE .BSV TheDraw COM Files .COM TheDraw OBJ Files .OBJ TheDraw Format .TD Any other file is assumed to be either Ansi or Ascii. TheDraw format files store which page layer was being edited. THEPP displays only this page layer. If sprite mode was turned on, any page layers below the current one will appear also ("under" the current layer). THEPP takes as its parameters a list of filenames to display on the screen. This it will do as fast and efficiently as possible unless otherwise stated (on other words, you will probably want to slow things down a bit). The following options may be interspersed anywhere in the command line, before between or after, any filenames. Options are specified by using a slash followed by one of these characters: Character Action p Stops THEPP the display of pause messages on the screen. Note the pauses are still performed. k Pause for a key to be pressed by user. This is useful for placing between files, so you can stop to appreciate what is shown. See also /i command. t Pauses for number of seconds. Valid numbers for are 1 to 255 seconds. ie: /t10 (pause for ten seconds) s Animation display speed. This is a slowdown factor identical to the value you enter when using ALT-Q. It is used whenever THEPP displays a Ansi, Ascii, or TheDraw format file. ie: s10 slows down the file display equivalent to an ALT-Q value of 10. TheDraw v4.00 The Presentation Program 74 Character Action (continued) b Produces a beep on the computer speaker. c Clears the screen. THEPP by default does nothing before displaying a file. If you wish to clear the screen beforehand use this option. m, Moves the cursor to horizontal position and vertical position . Useful if you want to control where an Ansi or Ascii file will start to appear on the screen, or wish to display a message using the command below. ie: /m40,12 (move cursor to center of screen) a, Changes text output color to the specified foreground and background colors. Colors are the same as listed under ALT-A, but are repeated below: Black DGray (Dark Gray) Blue LBlue (Light Blue) Green LGreen (Light Green) Cyan LCyan (Light Cyan) Red LRed (Light Red) Magenta LMagenta (Light Magenta) Brown Yellow LGray (Light Gray) White Foreground colors may be any of the above. Background colors are restricted to the first eight however (Black to LGray). ie: /aYellow,Cyan (Yellow on Cyan background) "text" Displays any message or text between the quotes. The message MUST be terminated by a quote, otherwise THEPP assumes the rest of the command line is a message. This is useful if you wish to display your own "Press any key to continue" style message, etc... Use the "m" option described above to position messages anywhere on the screen, and "a" option to select appropriate colors. ie: /"Hello World" Prints message "Hello World" (without quotes naturally) at cursor position. TheDraw v4.00 The Presentation Program 75 v Specify video size to use. Either 25, 43, or 50 vertical lines. Note the 43 & 50 parameters operate identically (43 lines always selected for EGA adapter, 50 for VGA). ie: /v50 (select VGA 50 line display) f Directs THEPP to obtain more commands from the specified file. This command file simply contains a list of the above commands. In addition, the command file may call upon another command file. Once that nested command file is finished, execution returns to the following instruction in the first file. Up to ten levels of nesting may be active at once. ie: /fCOMMANDS.FIL Use file COMMANDS.FIL as source for next commands. If you do not give any parameters, THEPP will display an abbreviated help screen for convenience. Examples of THEPP usage and explanations are given below: THEPP /c/p SHUTTLE2.ANS /m34,25 /aYellow,Black /"Press a key" /k/c Clears the screen, and turns off the display of pause messages. The Ansi text demo file SHUTTLE2.ANS is displayed, followed by the message "Press a key" in Yellow approximately in the center of the bottom line. THEPP then waits for a key to be pressed before clearing the screen and returning to Dos. THEPP DEMO.TD /c /m38,12 /"BLIP" /b/p/t10 /m1,20 Displays the current page layer of DEMO.TD, then immediately clears the screen, displays "BLIP" in the middle of the screen, and sounds the speaker. The cursor is then placed at the beginning of line 20 and THEPP exits. THEPP SOMEFILE.ASC Displays the contents of the Ascii file SOMEFILE.ASC on the screen. Equivalent to using "TYPE SOMEFILE.ASC". TheDraw v4.00 The Presentation Program 76 THEPP /fCOMMAND1.FIL /m1,6 /"All done!" Makes THEPP obtain its next commands from the file COMMAND1.FIL. This file simply contains a list of command line parameters. An example might be: Filename #1: COMMAND1.FIL /m1,1 /"Command file 1 running - Running command file 2" /fCOMMAND2.FIL /m1,5 /"Command file 1 resumed." Filename #2: COMMAND2.FIL /m1,2 /"Command file 2 running - Running command file 3" /fCOMMAND3.FIL /m1,4 /"Command file 2 resumed." Filename #3: COMMAND3.FIL /m1,3 /"Command file 3 running" In this example, command files are nest two levels deep. In other words, COMMAND1.FIL calls COMMAND2.FIL which calls COMMAND3.FIL which then exits back to COMMAND2.FIL which then exits finally back to COMMAND1.FIL. THEPP allows nesting to go ten (10) levels deep for a large amount of complexity. Running the above example would produce the output: Command file 1 running - Running command file 2 Command file 2 running - Running command file 3 Command file 3 running Command file 2 resumed Command file 1 resumed All done! Note: Conceivably, an semi-endless loop is possible. In this case, a command file would call itself (ie: replace /fCOMMAND2.FIL with /fCOMMAND1.FIL in the above example). If this occurred, THEPP would open the same command file 10 times then stop with an error message. TheDraw v4.00 The Presentation Program 77 APPENDIX A __________ SETTING UP CONFIG.SYS The ANSI driver must be installed to display Ansi color images and Ansi animation files via the Dos TYPE command. This can be done by adding a 'DEVICE=ANSI.SYS' statement to your CONFIG.SYS file. If you do not have a CONFIG.SYS file, you can create one by typing the following in your root directory: COPY CON CONFIG.SYS DEVICE=ANSI.SYS ^Z ( <-- press CTRL and Z ) If you have a CONFIG.SYS file, append the sequence with: EDLIN CONFIG.SYS #I DEVICE=ANSI.SYS ^Z ( <-- press CTRL and Z ) E For this to work properly, the ANSI.SYS file must also be in the root directory of your boot disk or hard drive (whichever is applicable). People wanting to use a mouse with TheDraw may have to install an additional file in their CONFIG.SYS file. If a driver must be installed, follow the above instructions using the name of your mouse driver (ie: MSMOUSE.SYS or MOUSE.SYS, etc...) instead of ANSI.SYS. Additional parameters may be required. Please refer to the manual that came with your mouse for more details. There are many other useful statements that can be placed in your CONFIG.SYS file. Two which can dramatically improve the performance of DOS are: BUFFERS=10 FILES=10 Add these as stated above. If you created a new CONFIG.SYS for the DEVICE=ANSI.SYS clause by COPY CON, then append these using the second method. Enjoy! TheDraw v4.00 Appendix A 78 APPENDIX B __________ PROGRAMMERS PROGRAMMING TIPS This section is for individuals writing programs who are interested in using TheDraw. Effort was put forth to make TheDraw a convenient utility. Registered users get several ready to use program routines (in addition to standard Uncrunch code). Routines supporting Bios display, direct video display with/without snow checking, and several screen access routines are included. Seperate documentation for those routines is included for registered users. PROGRAMMING IN ASSEMBLER ------------------------ Assembly programmers will find ASM formatted files in standard data byte format, using the DB operator. Asm files can have varying sizes depending upon the save mode used (Ascii/Normal/Crunched). The dimensions and length of the save are displayed at the top of all assembler dumps. If you crunched the screen, you will have to use the uncrunch routine provided in ASM source code (UNCRUNCH.ASM). Values required in the CPU registers are documented in the file. Ascii formatted files must be read as bytes and saved on the screen as words. This can be achieved using LODSB and STOSW instructions. LODSB loads into AL the character. You store into AH the desired screen color attributes. STOSW then writes the two bytes onto the screen. An alternate method would be to use the Bios or Dos, however these methods are considerably slower. A normal 4000 byte dump (80x25 screen) is the easiest to display via the REP MOVSW instruction. To display the image, point the ES:DI pair to B800:0000 (for color screens; B000:0000 monochrome) and DS:SI to the screen in your program. Also load CX with the number of video words to display (2000 - A total of 4000 bytes). ie: MOV AX,0B800h MOV ES,AX MOV DI,0 MOV SI,offset ImageData MOV CX,2000 CLD ;Make MOVSW go forward. REP MOVSW If writing to a EGA screen (80x43), CX would need 3440. If to a VGA screen (80x50), CX would need 4000. TheDraw v4.00 Appendix B 79 As shown above, the ImageData is written directly onto the screen. This will cause hashing or "snow" on some color video displays. You may want to move only one video word at a time, pausing until the video hardware is in horizontal or vertical retrace. This can be accomplished with the following routine. Example: MOV AX,0B800h MOV ES,AX MOV DI,0 MOV SI,offset ImageData MOV CX,2000 CLD MOV DX,03DAh ;Save i/o address of CGA status register LOOPA: LODSW ;Read data to be written MOV BX,AX ;Save for later. MOV AH,9 ;Test mask for Vertical/Horizontal retrace IN AL,DX ;Read the status register TEST AL,8 ;See if in vertical retrace? JNZ WRITE_IT ;Jump if so. No need to wait here. LOOPB: IN AL,DX ;Read the status register RCR AL,1 ;Test bit1. Make sure we are not in the JC LOOPB ;middle of a horizontal retrace. LOOPC: IN AL,DX ;Read the status register TEST AL,AH ;Wait until in either vertical or JZ LOOPC ;horizontal retrace. WRITE_IT: MOV AX,BX ;Retrieve the character we loaded before. STOSW ;Save it. LOOP LOOPA The above is a fairly complex mess, but will reliably place a screen image snow free onto the display. This routine is not needed on a monochrome video since such hardware does not suffer from snow. Notice the entry code is identical to the previous simple example. The REP MOVSW is has been replaced with extensive checks on the video hardware however. TheDraw v4.00 Appendix B 80 PROGRAMMING IN PASCAL --------------------- Pascal programmers have equal ease with displaying screens. Images can be flashed to the screen using the Turbo Pascal "MOVE" procedure. A pascal NORMAL save can be displayed with the following program: {$I image.pas} type ScreenType = array [0..3999] of Byte; var Screen : ScreenType absolute $B800:0000; begin Move (ImageData,Screen,4000); end. The above defines a variable at the absolute address of the video memory. The importance of defining such an array will become obvious below. IMAGEDATA is assumed to be the name of the pascal image dump, but is easily altered when saving the file from TheDraw. The MOVE procedure puts ImageData onto the screen. Please note this is only for a full screen. To display a screen block is slightly more difficult. Our program now becomes: {$I image.pas} type ScreenType = array [0..3999] of Byte; var Screen : ScreenType absolute $B800:0000; X,Offset : Integer; begin Offset := ???; {Replace ??? with position to display block} for X := 0 to IMAGEDATA_DEPTH-1 do Move (ImageData[1+X*IMAGEDATA_WIDTH*2], Screen[X*160+Offset],IMAGEDATA_WIDTH*2); end. The constants IMAGEDATA_DEPTH and IMAGEDATA_WIDTH specify the block dimensions of IMAGEDATA, and are generated by TheDraw automatically. If you change the name identifier, the width and depth names are updated also. The depth is the number of vertical lines in the block. Width is the number of character across the block. OFFSET is the video address you want the block to appear at. It is computed with: (column*2)+(row*160)-162 Column varies 1..80 Row varies 1..25 Notice in this example we are using a loop and moving one line at a time. Lines from ImageData are placed on the video at OFFSET. The address in ImageData is advanced to the location of the next line in each loop. The video address advances 160 characters each time (the byte width of the video display). TheDraw v4.00 Appendix B 81 Turbo Pascal v3.0 users also have another interesting option. You can include a .BIN file into a turbo program and then display it using the above techniques. The file actually becomes part of your compiled pascal program. Once your program is compiled, you no longer need to have the DEMO.BIN file present. procedure DummyProc; external 'DEMO.BIN'; type ScreenType = array [0..3999] of Byte; var Screen : ScreenType absolute $B800:0000; X,Depth,Width,Offset : Integer; ImageDataPtr : ^ScreenType; begin Depth := ???; {Replace ???'s with actual block dimensions} Width := ???; {as specified by TheDraw after .BIN save.} Offset := ???; {Replace ??? with position to display block} ImageDataPtr := Addr(DummyProc); for X := 0 to Depth-1 do Move (ImageDataPtr^[1+X*Width*2],Screen[X*160+Offset],Width*2); end. In the above program, we create a pointer (IMAGEDATAPTR) pointing at the address of DUMMYPROC. The rest of the program is similar to the previous example, except all occurrences of IMAGEDATA are replaced with IMAGEDATAPTR^. Also, since the block dimensions are not available, you must specify them. The up arrow symbol at the end is very important. If you don't use it, Turbo will copy the -value- of your pointer to the screen. This will generally appear as garbage. It can be fun playing with this concept, you simply must be careful with the pointers. Pascal ASCII saves are used similar to strings. Since the ImageData arrays created do not have color attributes, we cannot directly move them to the video. The following shows two techniques for displaying these images. --- Pascal ASCII Save Example 1 --- {$I image.pas} var X:Integer; begin ClrScr; for X := 1 to IMAGEDATA_LENGTH do Write (ImageData[X]); end. TheDraw v4.00 Appendix B 82 --- Pascal ASCII Save Example 2 --- {$I image.pas} type ScreenType = array [0..3999] of Byte; var Screen : ScreenType absolute $B800:0000; X:Integer; begin ClrScr; for X := 1 to IMAGEDATA_LENGTH do Screen[X*2-2] := ImageData[X]; end. The first example is easiest to understand. All we are doing is displaying each character in IMAGEDATA on the screen using the pascal WRITE function. This works because the IMAGEDATA block (in this case) is 80 characters wide, so there is no need for a WRITELN. The cursor will automatically be bumped down to the next line. IMAGEDATA_LENGTH is another constant automatically generated by TheDraw. The second example is similar to the first, but directly stuffs the characters onto the screen. This will be faster than the first method. Notice the Screen[X*2-2]. The multiplication is done because each character occupies two bytes of video memory. Since the first video address is 0, we add -2 to the offset to keep things aligned. To use pascal images CRUNCHED by TheDraw requires use of the UNCRUNCH.PAS file included with the package. The file contains details and instruction on using crunched images. TURBO PASCAL v4.0 through v5.5 ------------------------------ The above examples will all work for Turbo Pascal v4.0 to v5.5 users, with exception to the external .BIN file example. The newer compilers do not support the old format. Instead you must use TheDraw's Turbo Pascal compatible Object (.OBJ) files. To use the object file do the following: {$L DEMO.OBJ } procedure ImageData; external; procedure ImageData_Width; external; procedure ImageData_Depth; external; procedure ImageData_Length; external; The procedure name (ImageData here) is specified when making the object file. All four external procedure definitions must be specified (Turbo requires it). Although these are "procedures" you MUST NOT execute them. They only contain image data which must be referred to via pointers. The modified .BIN example follows: TheDraw v4.00 Appendix B 83 {$L DEMO.OBJ} procedure ImageData; external; procedure ImageData_Width; external; procedure ImageData_Depth; external; procedure ImageData_Length; external; type ScreenType = array [0..3999] of Byte; var Screen : ScreenType absolute $B800:0000; X,Offset : Integer; ImageDataPtr : ^ScreenType; ImageDataWidthPtr : ^Integer; ImageDataDepthPtr : ^Integer; ImageDataLengthPtr : ^Integer; begin Offset := ???; {Replace ??? with position to display block} ImageDataPtr := @ImageData; ImageDataWidthPtr := @ImageData_Width; ImageDataDepthPtr := @ImageData_Depth; ImageDataLengthPtr := @ImageData_Length; for X := 0 to ImageDataDepthPtr^-1 do Move (ImageDataPtr^[1+X*ImageDataWidthPtr^*2], Screen[X*160+Offset],ImageDataWidthPtr^*2); end. The above is for a generalized block of any dimension. A pointer to the IMAGEDATA_LENGTH is initialized but not used. It is there for example usage only. The above program can be simplified somewhat for an entire screen. ie: {$L DEMO.OBJ} procedure ImageData; external; {All of these are needed,} procedure ImageData_Width; external; {otherwise Turbo v4.0-v5.5} procedure ImageData_Depth; external; {get upset.} procedure ImageData_Length; external; begin Move (pointer(@ImageData)^,ptr($B800,0)^,4000); end. Note the usage of typecasting to eliminate the pointer to ImageData. This cleans up the program appearance somewhat. In addition, the value of 4000 could be replaced with a pointer to IMAGEDATA_LENGTH. However, since this is an entire screen why bother initializing a pointer. A full 80 by 25 screen is always 4000 bytes in length. TheDraw v4.00 Appendix B 84 TURBO PASCAL VERSION 6.0 ------------------------ Everything shown thus far for Turbo Pascal v4.0 to v5.5 works perfectly well in TP 6.0. However, the newest release allows a more relaxed preinitialized constant definitions. The previous examples can be shorten to: {$L DEMO.OBJ} procedure ImageData; external; procedure ImageData_Width; external; procedure ImageData_Depth; external; procedure ImageData_Length; external; type ScreenType = array [0..3999] of Byte; var Screen : ScreenType absolute $B800:0000; X,Offset : Integer; const ImageDataPtr : ^ScreenType = @ImageData; ImageDataWidthPtr : ^Integer = @ImageData_Width; ImageDataDepthPtr : ^Integer = @ImageData_Depth; ImageDataLengthPtr : ^Integer = @ImageData_Length; begin Offset := ???; {Replace ??? with position to display block} for X := 0 to ImageDataDepthPtr^-1 do Move (ImageDataPtr^[1+X*ImageDataWidthPtr^*2], Screen[X*160+Offset],ImageDataWidthPtr^*2); end. In addition, all the external definitions for public identifiers are no longer mandatory. Thus the full screen example reduces to: {$L DEMO.OBJ} procedure ImageData; external; begin Move (pointer(@ImageData)^,ptr($B800,0)^,4000); end. People casually reviewing the literature for v6.0 may note initialized data is permitted within object files now. Although a definite vast improvement, the data is still private to the object file. Assuming the designers of Turbo Pascal eventually add external variable declarations (similar to C), presumably the Large object file data model TheDraw currently supports should be compatible. Until then we must bear with the current approach for accessing image data. TheDraw v4.00 Appendix B 85 PROGRAMMING IN C ---------------- C programmers have support similar to that for pascal. TheDraw creates the Normal, Ascii, and Crunched file formats using modern C code definitions. The ImageData arrays are used similar to the pascal case. Please note, in the following examples it will be assumed the programs are compiled in a state supporting 32-bit data pointers. A C NORMAL save is the easiest to display. For instance: #include #include #include "image.h" main () { /* Kludge a pointer at video memory (segment 0xB800, offset 0) */ void far *screen = (void far *) 0xB8000000; memcpy (screen,IMAGEDATA,4000); /* Move image to screen */ } The file reference contains the definition of the memcpy routine. Users of Microsoft C should reference the file. IMAGE.H is assumed to contain the array IMAGEDATA created by TheDraw (the name may be changed to anything else naturally). The void data type used is a modern C convention. If your compiler does not support it, use type char instead (or whatever type your compiler wants for parameters to memcpy). Reminder: Be absolutely sure you are using the proper code/data model. It is very easy to write the above program, only to have the compiler complain about incompatible pointer sizes and other nastiness. The function memcpy MUST accept full 32 bit data pointers. In TurboC for instance, you must use memory models Compact, Large, or Huge. The above is for a full screen image. To display a block involves a little more work, as in the pascal example. #include #include #include "image.h" main () { void far *screen; int offset = ???; {Replace ??? with position to display block} int x; for (x=0; x #include "image.h" main () { printf ("%s",IMAGEDATA); } An alternate technique for displaying ASCII format files is similar to the second pascal example (for doing the same thing). ie: #include #include #include "image.h" main () { void far *screen; int x; for (x=0; x<4000; x++) { (long) screen = 0xB8000000 + x*2; memcpy (screen,&IMAGEDATA[x],1); } } Characters are copied one at a time from the IMAGEDATA array to the video memory. This is significantly faster than the printf example, since the overhead of going through the operating system is removed. To use C images CRUNCHED by TheDraw, you must use the code in either UNCRUN_N.OBJ or UNCRUN_F.OBJ (depending if you are using a Small/Near or Large/Far code model). The file UNCRUNCH.H contains examples on their usage. USING OBJECT FILES WITH C ------------------------- C is normally implemented to smoothly interface with object files. There are two steps to using TheDraw object files with C. 1) Specify external variables referencing the screen image. 2) Tell the compiler make/project utility to link the wanted file with your program. The following example will help show this. TheDraw v4.00 Appendix B 88 Notice in the following program that no include is made. The file containing the image is not C source code. It is a prepared object file merely needing to be linked. Therefore, we tell the compiler what to expect via EXTERN definitions. #include #include main () { extern int IMAGEDATA_WIDTH; extern int IMAGEDATA_DEPTH; extern int IMAGEDATA_LENGTH; extern unsigned char IMAGEDATA []; void far *screen; int offset = ???; {Replace ??? with position to display block} int x; for (x=0; x etc... The is any library filename you want. Do -not- put a file extension on this! (see example below) The batch adds the extensions .QLB and .LIB automatically for you. The parameters are the names of object files you created with TheDraw. -------------------- Example run -------------------- THEDRAW ....assume users creates the QB object files IMAGE1.OBJ and IMAGE2.OBJ MAKEQLB IMAGES IMAGE1.OBJ IMAGE2.OBJ ....creates the files IMAGES.QLB & IMAGES.LIB containing the two above object files plus the required display routines. QB /L IMAGES.QLB ---------------------------------------------------- Once the Quick Library is created, using the screen images is a simple matter of calling a display routine. The display routines must be declare within QuickBasic before they can be called. The file QB4UTIL.BI lists those declaratations for convenience. Simply include it with the following meta command: REM $INCLUDE: 'QB4UTIL.BI' TheDraw v4.00 Appendix B 92 Example program using images screens. Assume two screens are available with the identifiers IMAGE1 and IMAGE2. IMAGE1 was crunched and IMAGE2 saved as Ascii. ------------------ REM $INCLUDE: 'QB4UTIL.BI' ' Get display routine declarations DECLARE FUNCTION Image1! ' Important! Do not neglect DECLARE FUNCTION Image1Width% ' either the "!" or "%" symbols DECLARE FUNCTION Image1Depth% ' on the function declarations. DECLARE FUNCTION Image1Length% DECLARE FUNCTION Image2! DECLARE FUNCTION Image2Width% DECLARE FUNCTION Image2Depth% DECLARE FUNCTION Image2Length% COLOR 15,0 CLS ' Clear screen to black CALL UNCRUNCH (IMAGE1!,0) ' Go uncrunch first image. WHILE INKEY$="" : WEND ' Pause until user hits a key CLS ' Clear screen again CALL ASCIIDISPLAY (IMAGE2!, 5*160 + 40*2) ' Ascii display second ' image. WHILE INKEY$="" : WEND END ------------------ The second parameter of each display call is the video location the image will appear. The upper left screen corner is offset 0 with each line taking 160 bytes (each screen character uses two bytes). ie: line 1 = offset 0 line 2 = offset 160 line 3 = offset 320 line 4 = offset 480 etc... Thus the first call (to Uncrunch) displays IMAGE1 in the upper left corner. The second call (to AsciiDisplay) displays IMAGE2 on the sixth line down, in the center of the screen (40 characters over). The file QB4UTIL.BI contains a complete description of all the display routines for you. Note in the above example, everything available in a TheDraw object file was declared (the Image, the width, depth, and data length) for example purposes. In normal use you need only declare what you wish to take advantage of (naturally). TheDraw v4.00 Appendix B 93 PROGRAMMING IN CLIPPER (courtesy of Larry Stewart) -------------------------------------------------- The Clipper(tm) compiler uses the same format as TheDraw's BINARY save for it's "SAVE SCREEN to memvar" and SAVESCREEN() functions. The code example that follows shows how to retrieve a .BIN file and display it in your compiled EXE program. FUNCTION SHOW_BIN * SYNTAX: SHOWBIN( [, , , , ] ) * PURPOSE: Display a full or partial screen from a .BIN file * ARGUMENTS: contains the name of the .BIN file from TheDraw * If through are not present, the routine * assumes a full screen display will be restored. * is the top row for a partial screen * is the left column for the partial screen * is the bottom row for the partial screen * is the right column for the partial screen PARAMETER binfile,t,l,b,r PRIVATE m_buffer,m_handle,m_bytes,m_size IF ! ("." $ binfile) && Does file have an extension? binfile = binfile+".BIN" && No, default to .BIN ENDIF IF ! FILE(binfile) && Does file exist on disk? RETURN .F. && No, return FAIL value. ENDIF IF PCOUNT() = 1 && Any border dimensions passed? m_buffer = SPACE(4000) && If not, assume full screen. m_handle = FOPEN(binfile,0) m_bytes = FREAD(m_handle,@m_buffer,4000) FCLOSE(m_handle) IF m_bytes = 4000 RESTORE SCREEN FROM m_buffer RETURN .T. ELSE RETURN .F. && Error if .BIN file did not ENDIF && contain 4000 bytes. ENDIF IF PCOUNT() != 5 && Check for correct number of RETURN .F. && parameters. ENDIF m_size = 2*((r-l+1)*(b-t+1)) && Compute number of bytes in m_buffer = SPACE(m_size) && box. Allocate space for it. m_handle = FOPEN(binfile,0) TheDraw v4.00 Appendix B 94 m_bytes = FREAD(m_handle,@m_buffer,m_size) FCLOSE (m_handle) IF m_bytes = m_size RESTSCREEN (t,l,b,r,m_buffer) RETURN .T. ELSE RETURN .F. && Error if file not big enough. ENDIF Please note: When you save a box (binary block save) with TheDraw, the screen position and dimensions are not recorded in the .BIN file. The box may be restored to your screen at any position you choose; however, the dimensions of the box -cannot- be changed. If you try, the box will appear distorted or the above routine will generate an error. Examples: SHOWBIN ("EXAMPLE1") Displays the full screen image in the file EXAMPLE1. SHOWBIN ("EXAMPLE2",10,20,20,60) Displays the 40 by 10 block in EXAMPLE2 at screen position (20,10). ------------------------ If you have additional ideas for this section, please send them in! TheDraw v4.00 Appendix B 95 APPENDIX C __________ EXTENDED/SPECIAL CHARACTER SET The following lists everything available in the IBM extended character set. These are all found in the 15 special character function key sets supported by TheDraw. Code Symbol Code Symbol Code Symbol Code Symbol 128 160 192 224 129 161 193 225 130 162 194 226 131 163 195 227 132 164 196 228 133 165 197 229 134 166 198 230 135 167 199 231 136 168 200 232 137 169 201 233 138 170 202 234 139 171 203 235 140 172 204 236 141 173 205 237 142 174 206 238 143 175 207 239 144 176 208 240 145 177 209 241 146 178 210 242 147 179 211 243 148 180 212 244 149 181 213 245 150 182 214 246 151 183 215 247 152 184 216 248 153 185 217 249 154 186 218 250 155 187 219 251 156 188 220 252 157 189 221 253 158 190 222 254 159 191 223 255 solid spc TheDraw v4.00 Appendix C 96 APPENDIX D __________ COMMON QUESTIONS & ANSWERS In an attempt to help users with commonplace difficulties, this section answers some of the more frequent questions. Q: Why does TheDraw display garbage when I load captures graphics screens? A: TheDraw is not designed to handle high resolution graphics per say. TheDraw handles only text images. It is similar to a word processor in that regard. ---- Q: How can TheDraw support imbedded Ansi BBS control sequences? A: Previously users had to resort to Animation Include files, however with TheDraw v4.00, user control sequences are directly supported. Refer to command ALT-J,User-Seq for more information. ---- Q: How can I control the location of the cursor after an Ansi file is displayed? A: The easiest way is to convert your Ansi screen to Animation. Select the ALT-J, and the "Top" scanner. The top scanner will make your Ansi file display as before. You could choose some other if you like. Next, move the cursor where you would like to appear after the display is finished, and press the [SPACE] bar. The space will become the last character displayed and the position where TheDraw leaves the cursor. ---- Q: How do I upload Ansi files to another computer (a bulletin board system)? A: Ansi files are sent identically to regular text messages, using your communication programs Ascii upload option. Before doing so, be aware some BBS's explicitly do not support Ansi. If you pass the first hurdle, note some BBS's feature automatic text wrap-around for lines which are too long. Other's simply refuse to accept more than a maximum line length. Either of the latter cases will disrupt the appearance of your Ansi files. To avoid difficulties, find the maximum line length enterable before the above problems occur (generally 70 characters is about average). Next, when saving your Ansi files using TheDraw, specify the number determined (70 here) for the maximum output line length. TheDraw will limit lines to that length, and there should be no problems uploading the image. TheDraw v4.00 Appendix C 97 Q: Can I use images created with this software in my own programs for public use (or sale)? A: Yes. There are absolutely no restrictions on work you create. You might add a mention "Screens produced by TheDraw", but certainly do not ask for or require it. ---- Q: How do I draw circles/ovals/etc? A: Smooth circles & ovals are not possible using text graphics. Approximations are possible by careful selection of characters and symbols. For instance: The above was produced using symbols from function key set #6. ---- Q: I get disk full error messages when I try saving an Ansi file to an empty diskette. The file is large, very close to the 16000 animation limit. Is this a bug? A: Seems unlikely a bug exists. The Ansi produced is probably larger than your diskette. Try splitting it into two smaller chunks. Although dependant primarily on the application, the largest Ansi file we know of TheDraw producing was about 7.9 million bytes (a test of 16000 random entries, 32 char/line, ansi pause of 50). Even larger files might be possible. ---- Q: How can I combine two Ansi files together? A: There are three ways. Either load them both into TheDraw under animation mode (you will be prompted if to append the second file), or use the Dos COPY command. ie: COPY FILE1.ANS+FILE2.ANS FILE3.ANS The above will create a new file "FILE3.ANS" containing the complete contents of FILE1.ANS and FILE2.ANS. The last method involves using a 50 line buffer mode, loading each target Ansi file into appropriate portions (an ideal use of Block Load), then saving as one file. TheDraw v4.00 Appendix C 98 Q: Why can't I change the video size from 25 lines to 43 or 50 lines as the manual suggests? A: You must have an EGA or VGA video card adapter installed in order to use these video modes. If you have a EGA/VGA card and TheDraw is not recognizing your hardware, then please contact TheSoft describing the situation. ---- Q: My mouse will not go below line 25 when using the 43/50 line video mode. I can use the cursor keys fine, but the mouse gets stuck. What is wrong? A: TheDraw requires a mouse driver (ie: MOUSE.SYS, MOUSE.COM, or similar variation) be installed which is compatible with the EGA/VGA video card. Please contact your mouse manufacturer or check local computer bulletin board systems for an update. TheDraw v4.00 Appendix C 99 R E V I S I O N H I S T O R Y 05/01/86 - Version 1.00 - Program completed. ______________________________________________________________________ 05/05/86 - Version 1.01 Carl Ehmann noticed a glitch in text creation that caused highlighting and blinking attributes changes to go unnoticed. This has been corrected. ______________________________________________________________________ 06/05/86 - Version 1.02 Steven Mills discovered a bug in the file loading routine that caused TheDraw to flag valid filenames as invalid. It has been squashed. Changed the program to not allow the user to enter a code #26 or code #27 into a text screen. A code #26 is the Dos end of file marker, and entering it means loss of all following text upon displaying the file or reloading it back into TheDraw. A code #27 is the ANSI driver signal character. Supposedly ANSI ignores invalid sequences, but allowing the code created "false" ANSI codes which caused loading problems. ______________________________________________________________________ 07/31/86 - Version 1.03 Upon prompting from Carl Ehmann, output line length limiting has been added. This will facilitate other programs which cannot load lines conceivably going over 1300 characters (such as RBBS). Color changes can now be accomplished using the Ctrl-Left and Right arrow keys to increment the fore and background colors respectively. ______________________________________________________________________ 08/15/86 - Version 1.10 (later changed to v2.00) Changes in a big way. New features include: ANSI Animation, Line Drawing, Ruler, movement of blocks UNDER other text and much more!! Quick color change keys have been expanded to use the Ctrl-Up, Down, Left, and Right keys in a more logical manner. ______________________________________________________________________ 09/13/86 - Version 2.01 A few more enhancements. Pop-Up help, and macros have been added to the new registered version of the program. Also a few aspects of the animation editor have been sped up. TheDraw v4.00 History 100 R E V I S I O N H I S T O R Y (cont): 09/19/86 - Version 2.02 Fixed a slight bug which was causing TheDraw to display the wrong Help Screen (in registered version). Also, the registered version wasn't keeping track of where its overlay was. ______________________________________________________________________ 09/27/86 - Version 2.03 Carl Ehmann noticed yet another glitch (what would I do without him?). The Ascii save routine was using ANSI codes to advance the cursor to the next line. ______________________________________________________________________ 11/28/86 - Version 2.04 Ray Buti discovered an oddity with the Pascal screen save. If you used a single quote "'" TheDraw didn't compensate for it. Therefore when Turbo Pascal compiled that screen it complained. Ray also noticed that characters under #32 were missing the "#" required by Turbo. These have both been cured. In addition, the animation load routine has been made more reliable. Occasionally movement just involving the cursor (no text) would be lost. Other improvements were made to make animation screen files smaller and display faster. ______________________________________________________________________ 03/06/87 - Version 2.10 Support for monochrome monitors has finally been added. Don't ask why I never did it before... The glitches Paul Pacter (and many other people) found with IBM PC Ctrl-Up/Down keys has been eliminated. I would have never noticed that glitch, so many thanks! Kent Godding made an excellent suggestion for a ansi-file slow down routine. This has been added. Lastly, a few changes were made to the command structure to clarify things and many prompts were cleaned up. TheDraw v4.00 History 101 R E V I S I O N H I S T O R Y (cont): 06/20/87 - Version 2.20 BSave saves fixed to operate properly for monochrome monitors. Ansi files now output [40m color sequences to clear screen to black color before doing anything else. Thanks to Barry Simon for bringing this oversight to my attention and also suggesting command line filespecs. Some new items were added, most notably full screen editing. Thank Ray Buti for finally bugging me enough to add it. Also extended options for Asm, Pascal, and new C storage modes to crunch and store only Ascii in addition to the original normal (4000 byte) mode. Thanks to Douglas A. Nicklow for suggesting the C storage capacity. ______________________________________________________________________ 08/22/87 - Version 2.21 Fixed a minor glitch with window sizes being slightly off. Also I missed a problem in the registered version. TheDraw was not using the overlay path entered by the Setup utility when initializing. So much for learning from mistakes (ie: it happened before). In addition, using a command line filespec sometimes loaded a Ansi or Ascii image with a random background color. Needless to say, everything has been fixed. ______________________________________________________________________ 04/28/88 - Version 3.00 Many, MANY changes. TheDraw totally rewritten to take advantage of Turbo Pascal v4.0. A new title screen, dynamic allocation of screen layers and animation space (up to 16000 animation entries and 8 page layers can now be used), multi-layer Sprite editing, dos shelling (suggestion from Billy Noto), and a new high-speed TheDraw format data file have all been added. TheDraw now incorporates its own Ansi driver so Ansi/Ascii file loading is much faster. The animation system has been greatly expanded. Five new animation scanners have been added (ANGLE, GATE, PYRAMID, SQUARES, and WIGGLE). Animation markers(R), "include files", animation pausing, support of animation on multiple page layers (no longer restricted to just one page), global animation screen copies, and more have all been added. Animation sequences can now be appended together. The registered version supports easy animation editing. A couple of bugs were fixed. The pascal saver was leaving spurious single entries on the end of lines (yet another discovery of Ray Buti ). The Ascii Save no longer outputs spaces on the end of every line. TheDraw v4.00 History 102 R E V I S I O N H I S T O R Y (cont): (cont) The Setup utility has been vastly overhauled and now allows configuring of the TheDraw edit screen colors, TheDraw keyboard commands(R), and many other parameters. ______________________________________________________________________ 09/09/88 - Version 3.10 Support for the Microsoft Mouse has been added, making cursor movement and the marking of blocks easier. Five additional character sets have been added. These are accessed via CTRL-F(1-5). With this revision goes a new function key screen (ALT-F). Finally, a few bugs were eradicated. Many people reported CTRL-Up/Down keys were not working. They did work, however the status display was not always updated (thus causing the following confusion). TheDraw now allows filespecs without extensions to be used again. In addition, the default filespec extensions can be changed using the Setup utility (Ray Buti can now change .PAS to anything he likes ). The Setup utility Defaults option now works as advertised. Finally, the keyboard driver for Ctrl-Up/Down has been changed yet again. With the last revision, a few computers were gained but the PCjr was lost. ______________________________________________________________________ 04/04/89 - Version 3.20 Pull down menu system has been added to TheDraw. The program can now be totally controlled by use of a mouse. Various small details that escaped detection regarding the mouse were corrected. TheDraw has a new storage format -- COM files. Separate programs useful for batch files and the like. They work with blocks and (naturally) the entire screen. A few bugs floating around the program have been cured. When attempting a block save, TheDraw would sometimes display and save the wrong screen portion. The ALT-U command was not processing blinking colors properly -- thanks to Darin May for pointing this out. The ALT-L file directory had a minor problem when there were exactly 124 items displayed. You could go down to the next page even though there was nothing on it. Animation screen copies might possibly fail if they run out of room. What the user saw didn't necessarily match what TheDraw thought was there until everything got redrawn. The problem with CTRL-UP/DOWN simply won't go away. The driver will work for 99% of machines, but certain computers with non-compatible keyboard hardware will lockup (notably the Tandy 1000A and HX). The SETUP utility now has a provision for deactivating the driver completely. TheDraw v4.00 History 103 R E V I S I O N H I S T O R Y (cont): 11/01/89 - Version 3.30 TheDraw format files now support block load/save. A color attributes drawing mode has been added, access via Alt--. Thanks to James Carroll for this suggestion. You can now specify a default directory/wildcard when using sticky directory listings. Thanks to Sylvest Adam for this suggestion. TheDraw supports a ten file pick list now. This maintains a listing of the last ten files accessed. Simply press the TAB whenever TheDraw prompts for a filespec. TheDraw now generates Intel format compatible object code files. Useful for linking with Turbo Pascal v4.0 and above, C plus many other high-level languages. The ruler can now be made "sticky". When active, the ruler stays on the screen appearing under the current page layer. A few bugs were fixed. The problem with ansi animation files getting confused when saved without screen preparation has been solved. Thanks to Terry Blake for reporting it. Alt-O now properly allows you to change drives. A minor glitch with animation include files dropping characters has been solved. Finally, the directory listing handles the mouse in a more predictable/controllable manner. 03/01/91 - Version 4.00 A great number of changes, additions, and improvements. First the bug fixes: The uncrunch algorithm was not quite in sync with how TheDraw handled flashing characters. Thanks to Garry Kraemer for pointing it out. Michael Harris discovered it was possible to select a page 0 in version 3.30; an unhealthy action that allowed critical areas to be overwritten. Paul Furman noted the BSAVE file format was not quite compatible with Basic, lacking a termination code sequence. TheDraw now includes them for completeness. Carter Downer of Late Night BBS (315)592-7300 noted that when trying to save Ansi files with 80 column Ansi files produced by TheDraw were not fully compatible with bulletin board systems. A file size optimization causing the problem was removed. Other problems included command line filespecs not being added to the pick list, animation include files not working in shareware version, and the screen changing to the default color when changing page layers with sprite mode off were fixed. New features added or improved are: EGA/VGA screen editing support (43 or 50 lines respectfully). Also a virtual screen edit buffer was added, allowing screens up to 160 characters by 50 lines to be edited. Mouse aided line drawing; pressing the middle mouse button down and moving will draw a line or box for you. All cursor movement keys now function throughout the program. Line drawing mode was improved to tolerate bumping into the screen border; no longer do unwanted T and plus symbols appear. TheDraw v4.00 History 104 R E V I S I O N H I S T O R Y (cont): (cont) Several new animation scanners have been added including Doors*, Diamond*, Circle*, Clock*, Checkerboard, and Wiggleout. Thanks to Guy StarBuck for suggestion the first four new scanners. The ability to reverse the operation of any animation scan (making the scan go backwards) was also added. Thanks to Dorothy Hade for this excellent suggestion. Another new animation feature is User Control Sequences (R) permitting BBS operators and such to add escape codes specific for special features of their software. The last animation improvement was the ability to append -ANY- file format (except .TD) to an animation sequence. For non-ansi/ascii files, TheDraw requests you to select an animation scanner for reading the screen. Block and global character/attribute replace has been added. Position the cursor on the character (or character contain color) to replace, then activate global or block mode. The default load filename extension can now be changed to something other than ANS. If most of your work entails binary or TheDraw format files, this will be a welcome addition. An online setup menu was added to TheDraw, making configuration of the environment much easier. Go to the Options under the pull-down menu system and select Setup. Two additional COM file formats were added, with TheDraw transparently selecting the best of the three for a given application. One of the new flavors crunches the screen. If smaller than either of the other two formats it is used. Otherwise, a version explicitly for full-width screens was added. An 80x25 image will use under 4096 bytes; perfect for floppy disks where wasted cluster space is critical. Ascii files can now be forced to have carriage returns placed on the end of each line. If a line was 80 characters, TheDraw would previously not include the CR/LF sequence. This would make the file display properly if typed from the Dos prompt, but fouled other software such as text editors. A few last things were added. These were an ALT-key pop-up help screen; pressing and holding ALT for about 3 seconds displays a brief quick reference display. TheDraw can now save backup files. If a file already exists on disk, it will be renamed filename.BAK before saving. The ALT-Left/Right key sequence delete/insert columns. Avoids have to mark a block or use global screen move, etc... Automatic screen blanking was added. If you leave the machine unattended for a period of time, TheDraw will erase the display for you (preventing possible burn damage to your monitor). It is variable from 1 minute to 255 minutes or can be shut off. Dos Shell will attempt to swap out information to EMS memory or a disk swap file to increase available memory during the shell. Lastly (whew!), TheDraw can be made to prompt to save changes before exit. Either just for the current page, or for all page layers. Enjoy! (R) = Feature in Registered Version of TheDraw Only TheDraw v4.00 History 105 T H E F U T U R E Look for these features in the next version of TheDraw: Improved Undo facility, allowing recovery from such disasters as the unwanted delete line, or seconds thoughts about a block copy... Send in your ideas, suggestions, criticisms and bug reports. Report something first and be immortalized in the docs of TheDraw! If you ever find a copy of TheDraw with a version number other than one listed above, please take the time to write us a quick note describing it. Thank you! TheDraw v4.00 106 C O M M E N T S Please consider registering for the amount of $22. Quality software at good prices is very difficult to find. We at TheSoft Programming Services firmly believe in and support the concept of shareware products, and hopefully you do also. Please make any checks out to TheSoft Programming Services. If you have any requests, comments or suggestions for TheDraw, please send them to: TheSoft Programming Services c/o Ian Davis - TheDraw 1929 Whitecliff Court Walnut Creek, Ca, 94596. Thanks for your support! TheDraw v4.00 107