You are on page 1of 238

TheDraw Version 4.

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

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

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

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

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

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.


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

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:

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 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

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

Preface ...................................................... i

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

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

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
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 v4.00 Introduction 2

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

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

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.


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

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

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).


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:


Simply follow the online instructions presented. Once done, proceed
to the section "The Setup Utility".


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

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 <enter>

This will do all of the above for you automatically.
TheDraw v4.00 Get Running 5

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:


People with the registered version type:


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!


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:


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

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!

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.
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

This section describes how to customize TheDraw and install your
customizations in the THEDRAW.EXE or THEDRAWR.EXE (registered version)


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

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

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

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.


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.


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

The main menu presents several options. Each item on the menu is
described below:


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).


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.

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

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:


TheDraw will operate in the mode active when first run.


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.


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.


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

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.


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

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

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.


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

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.


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

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

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


For convenience, TheDraw allows you to specify a filespec from Dos
when first running the program. ie:


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 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

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

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.


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

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].
RIGHT BUTTON: Displays a small window with all current menu

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

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

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

TheDraw can be fully controlled via pull down menus. The menus
greatly simplify learning TheDraw by conveniently showing all related

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

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 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 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:

Choose how wide the edit buffer should be. Either 80 or 160

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.

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).

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 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.

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

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.

Controls the saving of the filename pick list to disk on exit.
When off, any accumulated filenames will be lost upon exit.

TheDraw can be made to prompt before allowing exit to Dos, if
changes were made to the current page or any page.

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.

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.

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.

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
Controls if TheDraw defaults to Normal, Ascii, or Crunching of
screen data. See ALT-S for more information.

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).

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.

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).

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.

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).

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
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.


Inserts a blank horizontal screen line at the position of the edit
cursor. This command is not reversible so use it carefully.


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
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

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

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

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

� 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

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


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

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

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

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

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

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.


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

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

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.


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

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.


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

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.


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

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.


The Animator Options command operates differently depending on which
mode you are currently in (normal or animator).


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.


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.

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!


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

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:

<esc>[MF<music control codes><ctrl-N>
� �
ascii 27 ascii 14

The <music control codes> 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
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

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

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.


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
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.


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.


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

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].


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).


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.

(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.


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


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

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:

... 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:


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.


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:


For QuickBasic users the following identifiers are used, called as
subroutine functions to obtain the wanted value:


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).


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.


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.


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
(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.


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.


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
TheDraw v4.00 TheDraw Command Functions 63
(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.


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.


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.


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
(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.
<macro contents>Alt-0

TheDraw would repeat the macro contents until ESC was pressed.


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

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).


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

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 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

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.


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).


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

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.


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

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 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
cyan ۲������


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

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.


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 (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
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<num> Pauses for <num> number of seconds. Valid numbers
for <num> are 1 to 255 seconds. ie:

/t10 (pause for ten seconds)

s<num> 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<x>,<y> Moves the cursor to horizontal position <x> and
vertical position <y>. 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<f>,<b> 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<size> 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<filename> 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:


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.


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
/"Command file 1 running - Running command file 2"
/"Command file 1 resumed."

Filename #2: COMMAND2.FIL
/"Command file 2 running - Running command file 3"
/"Command file 2 resumed."

Filename #3: COMMAND3.FIL
/"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
TheDraw v4.00 The Presentation Program 77


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:

^Z<enter> ( <-- press CTRL and Z )

If you have a CONFIG.SYS file, append the sequence with:

^Z<enter> ( <-- press CTRL and Z )

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:


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


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.


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 SI,offset ImageData
MOV CX,2000
CLD ;Make MOVSW go forward.

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.


MOV AX,0B800h
MOV SI,offset ImageData
MOV CX,2000

MOV DX,03DAh ;Save i/o address of CGA status register

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.

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.

IN AL,DX ;Read the status register
TEST AL,AH ;Wait until in either vertical or
JZ LOOPC ;horizontal retrace.

MOV AX,BX ;Retrieve the character we loaded before.
STOSW ;Save it.


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

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;

Move (ImageData,Screen,4000);

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;
Offset := ???; {Replace ??? with position to display block}

for X := 0 to IMAGEDATA_DEPTH-1 do
Move (ImageData[1+X*IMAGEDATA_WIDTH*2],

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 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

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;
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);

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;
for X := 1 to IMAGEDATA_LENGTH do Write (ImageData[X]);
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;
for X := 1 to IMAGEDATA_LENGTH do
Screen[X*2-2] := ImageData[X];

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:

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
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;

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],

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:

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;

Move (pointer(@ImageData)^,ptr($B800,0)^,4000);

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

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:

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 = @ImageData;
ImageDataWidthPtr : ^Integer = @ImageData_Width;
ImageDataDepthPtr : ^Integer = @ImageData_Depth;
ImageDataLengthPtr : ^Integer = @ImageData_Length;

Offset := ???; {Replace ??? with position to display block}

for X := 0 to ImageDataDepthPtr^-1 do
Move (ImageDataPtr^[1+X*ImageDataWidthPtr^*2],

In addition, all the external definitions for public identifiers are
no longer mandatory. Thus the full screen example reduces to:

procedure ImageData; external;

Move (pointer(@ImageData)^,ptr($B800,0)^,4000);

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

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 <stdio.h>
#include <mem.h>
#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 <mem.h> file reference contains the definition of the memcpy
routine. Users of Microsoft C should reference the <memory.h> 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).

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 <stdio.h>
#include <mem.h>
#include "image.h"
main () {
void far *screen;
int offset = ???; {Replace ??? with position to display block}
int x;

for (x=0; x<IMAGEDATA_DEPTH; x++) {
(long) screen = 0xB8000000+x*160+offset;
TheDraw v4.00 Appendix B 86
As before, the variables IMAGEDATA_DEPTH and IMAGEDATA_WIDTH specify
the block size saved in IMAGEDATA, and are generated by TheDraw. The
depth is the number of vertical lines in the block. Width is the
number of characters across the block. OFFSET contains the video
address the block is to appear at. It is computed with:


Column varies 1..80
Row varies 1..25

A loop is used in this example to move one line at a time. Lines
from IMAGEDATA are placed on the video at OFFSET. The address into
IMAGEDATA is advanced to the location of the next line in each loop.
The video address advances 160 characters for each line (the byte
width of the video display).

Programmers with TurboC can also use the function puttext. This
handles everything the previous example did and is called with the
following parameters:

XUL = X coordinate of upper-left corner.
YUL = Y coordinate of upper-left corner.
XLR = X coordinate of lower-right corner.
YLR = Y coordinate of lower-right corner.
source = address pointer to data

Examples of usage are:

puttext (1,1,80,25,IMAGEDATA);
/* full screen display */

/* display block in upper-left corner of screen */

/* display block in lower-right corner of screen */

In addition to simplifying the code, this function can be used from
ANY memory model. You are not restricted to the larger memory models.
However, remember this function will only work for NORMAL screen saves
(not Ascii or Crunched).
TheDraw v4.00 Appendix B 87
The ASCII format is a bit easier to use in C than Pascal. By taking
advantage of the 0 terminated strings of C, we can display an ASCII
image by simply doing the following:

#include <stdio.h>
#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 <stdio.h>
#include <mem.h>
#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.


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 <stdio.h>
#include <mem.h>
main () {
extern unsigned char IMAGEDATA [];

void far *screen;
int offset = ???; {Replace ??? with position to display block}
int x;

for (x=0; x<IMAGEDATA_DEPTH; x++) {
(long) screen = 0xB8000000+x*160+offset;

Notice the image dimensions (width,depth,length) are stored as
variables for easy reference. The length parameter is not used here,
but included to show its availability.

The second step is largely dependent on the compiler setup. You must
create or update a make file to link the necessary TheDraw object
(.OBJ) file with your program. If you use Turbo C, simply list the
file in the project listing.
TheDraw v4.00 Appendix B 89

Basic programmers are a little more limited, not because they lack
commands, but lack speed. Therefore TheDraw creates the BSave files
with all addressing information already programmed. All you have to
do is type 'BLOAD "filename.BSV"'. The screen segment is
automatically set, so you don't have to bother with DEF SEG=etc...
However, if you wish to override the display segment default, try the

DEF SEG=&HB800 : BLOAD"filename.BSV",0

For monochrome video users, replace the B800 with B000.

TheDraw allows partial block saves for basic files. These files will
always be 80 characters wide. This is a limitation of BLOAD which we
all must live with. They can start and end on any vertical line
however, so you could load a full screen then just load small block
images to update those parts of the screen needing it. Make sure you
build the partial-block images in TheDraw in the exact screen location
you want them to finally appear. If you save a block starting on line
5, and ending on line 8 that is where Basic will display it.
TheDraw v4.00 Appendix B 90

All the techniques mentioned for Standard Basic above are valid for
Microsoft's QuickBasic compiler. However, in QuickBasic v4.0 and v4.5
additional means are at our disposal.

TheDraw produces QuickBasic compatible object files (.OBJ) which are
directly linkable. Each TheDraw QuickBasic object file contains the
screen image data plus four functions for referencing that data.
These are shown below as used from within QuickBasic (assuming the
default identifier of IMAGEDATA):


Changing the identifier when saving the object file alters the above
accordingly. ie: an identifier of TEST would be:


The functions are used in conjunction with the QB4UTIL.LIB file
containing subroutines for displaying the screen image data. The
first function, IMAGEDATA (or whatever identifier chosen), returns
information regarding the location of the data. It is used as a
parameter to one of the display subroutines. ie:

CALL UNCRUNCH (IMAGEDATA!, 0) Use whichever is
CALL ASCIIDISPLAY (IMAGEDATA!, 0) <- appropriate to the
CALL NORMALDISPLAY (IMAGEDATA!, 0) file created by TheDraw

The next two functions return the width and depth dimensions of the
screen image block. For instance, a full screen would typically
return 80 and 25 respectfully (unless a EGA/VGA display was in use
causing the depth to increase). These parameters are useful for
determining window and viewport sizes, computing area, etc...

The last function returns the length of the data as stored in your
program. A crunched image or a small data block could be quite small.
A 80x25 normal binary screen image would be 4000 bytes.

To use TheDraw object files within the QuickBasic integrated
environment requires the making of a Microsoft Quick Library. If
linking together your program externally, the QB4UTIL.LIB file must be
included as it contains the required Uncrunch, AsciiDisplay, and
NormalDisplay routines.
TheDraw v4.00 Appendix B 91
To ease the use of TheDraw object files, a batch file called
MAKEQLB.BAT is included. The batch file creates both the Quick
Library files (.QLB extension) and the separate library files (.LIB
extension). The idea being to put everything in one place.

Once MAKEQLB has run successfully, you can use the Quick Library
within the environment. ie:

QB /L testfile.QLB

In addition, linking at the Dos prompt is simplified since all you
need include is the one file. ie:

LINK program.OBJ+testfile.LIB

(program.OBJ is assumed created by the BC.EXE compiler)

MAKEQLB.BAT must be in the same directory as LINK.EXE, LIB.EXE and
BRUN40.LIB or BRUN45.LIB (depending on your version of QuickBasic),
plus naturally the TheDraw object files. The parameters to the batch
file are:

MAKEQLB <targetlib> <objectfile1> <objectfile2> etc...

The <targetlib> 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 <objectfile> parameters are
the names of object files you created with TheDraw.

-------------------- Example run --------------------

....assume users creates the QB object files

....creates the files IMAGES.QLB & IMAGES.LIB
containing the two above object files plus
the required display routines.



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:

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.


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.


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

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.


* SYNTAX: SHOWBIN( <name> [, <expN1>, <expN2>, <expN3>, <expN4> ] )
* PURPOSE: Display a full or partial screen from a .BIN file
* ARGUMENTS: <name> contains the name of the .BIN file from TheDraw
* If <expN1> through <expN4> are not present, the routine
* assumes a full screen display will be restored.
* <expN1> is the top row for a partial screen
* <expN2> is the left column for the partial screen
* <expN3> is the bottom row for the partial screen
* <expN4> 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

IF ! FILE(binfile) && Does file exist on disk?
RETURN .F. && No, return FAIL value.

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)
IF m_bytes = 4000
RETURN .F. && Error if .BIN file did not
ENDIF && contain 4000 bytes.

IF PCOUNT() != 5 && Check for correct number of
RETURN .F. && parameters.

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 .F. && Error if file not big enough.

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


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

If you have additional ideas for this section, please send them in!
TheDraw v4.00 Appendix B 95


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


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

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

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:


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

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

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

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 <esc>[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

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

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
<grin>). The Ascii Save no longer outputs spaces on the end of every
TheDraw v4.00 History 102
R E V I S I O N H I S T O R Y (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 <grin>). 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):


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

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

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