Dec 212017
THEDRAW SCREEN EDITOR VERSION 4.63 - A text-oriented screen design tool. Similar in some regards to a graphics paint program. Offers multiple page SPRITE editing, powerful Ansi ANIMATION support, etc.

Full Description of File

A text-oriented screen design tool. Similar
is some regards to a graphics paint program.
Offers multiple page SPRITE editing, powerful
Ansi ANIMATION support, Ansi/Ascii FONTS,
pulldown menus, full mouse support & online
help. Saves files for ANSI, ASCII, AVATAR,
(C/Pascal/QuickBasic), and source code in Asm
Pascal and C formats. Registr: $22-$25

File TDRAW463.ZIP from The Programmer’s Corner in
Category Word Processors
THEDRAW SCREEN EDITOR VERSION 4.63 – A text-oriented screen design tool. Similar in some regards to a graphics paint program. Offers multiple page SPRITE editing, powerful Ansi ANIMATION support, etc.
File Name File Size Zip Size Zip Type
DEMO.TD 1938 909 deflated
EFFECTS.BIN 4000 782 deflated
FILE.LST 2563 1197 deflated
FILE_ID.DIZ 452 341 deflated
MAILER 3234 917 deflated
MAKEQLB.BAT 3101 1080 deflated
PRINTDOC.EXE 5824 3913 deflated
QB4UTIL.BI 9827 2953 deflated
QB4UTIL.LIB 1551 656 deflated
SETUP.EXE 44384 24360 deflated
SHADING.TD 3016 662 deflated
SHUTTLE2.ANS 14673 3226 deflated
TDFONTS.EXE 29120 17291 deflated
TDFONTS.TDF 34049 9287 deflated
THEDRAW.DOC 356837 106812 deflated
THEDRAW.EXE 145040 83576 deflated
THEGRAB.EXE 9280 6075 deflated
UNCRUNCH.ASM 8072 2555 deflated
UNCRUNCH.H 5862 1992 deflated
UNCRUNCH.PAS 8385 2711 deflated
UNCRUN_F.OBJ 194 194 stored
UNCRUN_N.OBJ 186 186 stored
WHATSNEW.DOC 10320 4260 deflated

Download File TDRAW463.ZIP Here

Contents of the THEDRAW.DOC file

TheDraw Version 4.63
Color and Monochrome Screen Image Generator/Editor
Operation Manual

COPYRIGHT (C) 1986-1993 by
TheSoft Programming Services and Ian E. Davis
All Rights are Reserved

TheSoft Programming Services
P.O. Box 7657
Fremont, CA. 94537-7657

Written using Turbo Pascal v6.0


This document is Copyright (C) 1988-1993 by TheSoft Programming
Services. All rights are reserved. This document is 163 pages long.

The computer software programs TheDraw (TM) and TheDrawR (TM) are
Copyright (C) 1986-1993 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.

NOTICE: Irresponsible individuals have seen fit to modify and then
distribute changed copies of TheDraw. These typically have the
altered version numbers of 4.30, 5.00, 6.00, or 6.50. Users are
should delete any copies of the archives (ie: TDRAW500.ZIP) they find.
Steps have been taken to avoid this type of hacking in the future.

The latest release of TheDraw is always on the following BBS's:

The Great American Dream Machine (sysop Dave Gentry)
Phone: 510-581-3019
Fidonet file requests: Node 1:215/215, Magic name "THEDRAW"

Downloading the TDRAW463.ZIP archive:
To enter "<*> TheDraw Support Area" Type [*]
"ownload TheDraw Latest Version" Type [D]

Leaving a message inquiry:
To enter "<*> TheDraw Support Area" Type [*]

ost Messages to Other Users" Type [P]
Address message to "Ian Davis"

Sysops on the Fidonet Node List may also obtain TheDraw from:
The Late Night BBS (sysop Carter Downer)
Phone: 315-564-5700
Fidonet file requests: Node: 1:2608/15, Magic name "THEDRAW"

Although mentioned elsewhere, you are urged to write if you ever find
a suspicious copy of TheDraw. The sooner we find out about "hacks",
the sooner corrective action can take place.

TheDraw v4.63 Preface i

PREFACE (continued)


A new Fidonet echo dedicated to TheDraw is being established. Ask
your local bulletin board system operator to request hookup from
Carter Downer (the moderator) via netmail on node 1:2608/15. Carter
will respond with specific information on linking up with the
distribution Hub.


Lastly, with TheDraw v4.50 our address for placing orders changed.
Please send all new orders and inquiries to TheSoft Programming
Services, P.O. Box 7657, Fremont, CA. 94537-7657. The old address at
1929 Whitecliff Court, Walnut Creek, CA, 94596 will still accept
orders however for quite some time (such is the shareware business).

TheDraw v4.63 Preface ii


TheDraw is not a Public Domain program and is not free. TheDraw is
copyright (C) 1986-1993 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 the 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 archive (TDRAW451.ARJ) distributed by
TheSoft or an equivalent 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.

An alternate means of obtains the latest shareware archive is calling
The Great American Dream Machine at (510) 581-3019. See preface for
download instructions and how to leave comments.

TheDraw v4.63 License iii

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.63 License iv


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 receive in the mail a registered
version of TheDraw with configurable editor commands, enhanced editing
facilities, context sensitive pop-up help, built in color shading
screen, and macro keys. You are also notified via mail when
significant enhancements have been made. Once registered, all
upgrades are available for a $5 upgrade fee plus the original TheDraw
diskette (see below).

To register, just send $20 plus $2 shipping/handling. You receive the
latest shareware and registered versions of TheDraw on disk along with
documentation (on 5.25" diskette) and utilities. If you want to
receive TheDraw on a 3.5 inch diskette, add an additional $3 for each
diskette ordered.

If unsure, you can receive the latest shareware version of TheDraw for
evaluation by sending $5 along with a note indicating what you would
like (TheDraw in this case).

Please use the following form or print the included file "MAILER" when
placing an order.

NON U.S. residents, draw all checks on U.S. funds in U.S. dollars.
Also add $5 for overseas handling. Canadians can obtain postal money
orders in U.S. denomination easily.


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 plus $2 (shipping/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.63 Ordering v

Please Remit To: TheSoft Programming Services
P.O. Box 7657
Fremont, CA. 94537-7657

Qty. Description Each Total

____ TheDraw Upgrade to version 4.63 $5.00 ________
(You must return your original diskette
containing your copy of 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 ________

(CA residents add appropriate sales tax) Tax ________

(U.S. disk orders add $2 shipping & handling) Shipping ________
(Foreign disk orders add $5 shipping)

TOTAL $________

Name: ________________________________________________________

Company: ________________________________________________________

Address: ________________________________________________________



Checks/money orders must be drawn on U.S. accounts in U.S. dollars.
Foreign currency is not accepted. Sorry, no C.O.D. orders taken.

TheDraw v4.63 Ordering vi


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.63 Ordering vii


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.

The site license (corporate and governmental) is for use of the
software within your company or government agency, and is not
transferable. This allows internal use and copying of the software
for as many sites / computers as contracted for. An unlimited Site
License allows unlimited copying of the software for internal use by
your company or government agency. Distributing, repackaging, or
reselling of the software to third parties is not allowed. All
licenses are prepaid.

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. Additional master copies may
be purchased from TheSoft Programming for $5.00 per diskette.

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 $20.00
5 - 10 10% $18.00
11 - 20 20% $16.00
21 - 30 30% $14.00
31 - 50 40% $12.00
51 - 100 50% $10.00
101+ 60% $8.00

An unlimited site license may be purchased for $2500.00

NOTE: All discounts and prices are subject to change without notice.
Also note that discounts are not cumulative and apply to separate
orders only.

Please write if you wish to obtain a site license. A printed copy of
the license will be mailed for you to fill out, sign, and return.
Once the order has been approved, a copy if the license signed by an
authorized TheSoft Programming Services representative will be shipped
along with the master diskette.

TheDraw v4.63 Site Licensing viii


TheDraw and accompanying files are provided AS IS without any
warranty, expressed or implied. This includes without limitation the
fitfulness for a particular purpose or application and any warranties
of merchantability.

While we tried to be as thorough as possible in preparing TheDraw,
TheSoft Programming Services shall not be liable for any damages,
whether direct, indirect, special, incidental 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. Individuals using
the software bear all risk as to its quality and performance.


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.63 Warranty ix


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

Single User License ....................................... iii
Giving out Copies ......................................... iii
System Operators (Sysops) Info ............................ iii
Software Distributors - Read this ......................... iv
Registered Version License Agreement ...................... iv

Ordering Information
Registration .............................................. v
Upgrading to Latest Version of TheDraw ................. v
Registration ........................................... v
Getting a Trial Copy ................................... v
Getting a 3.5 inch diskette ............................ v
Invoice Order Form ........................................ vi
Purchase Order Terms and Requirements ..................... vii
Tax Exceptions ......................................... vii
Site Licensing ............................................ viii

Warranty ..................................................... ix

Introduction ................................................. 1

Definitions .................................................. 3

System Requirements .......................................... 4
Multitasking Environments ................................. 4
Windows 3.1 ............................................... 4

Getting Started .............................................. 5
File Listing .............................................. 5
Installing TheDraw ........................................ 6
Customizing TheDraw ....................................... 6
Starting TheDraw .......................................... 7
Leaving/Exiting TheDraw ................................... 7
Creating your First Screen ................................ 7
Saving your First Screen ............................... 8
Exiting TheDraw and Viewing your First Screen .......... 9
Egads! What Happened? ................................. 9
Editing your First Screen ................................. 9
Changing Colors ........................................ 10
Painting the Screen .................................... 10
Making your Second TheDraw Screen ......................... 11
Drawing Lines .......................................... 11
Marking a Block ........................................ 12
Using Sprite mode ...................................... 13

TheDraw v4.63 x

Animating your Second TheDraw Screen ...................... 15
Selecting a Scan Pattern ............................... 15
Viewing the Animation Sequence ......................... 16
Saving Animation ....................................... 16
The Example Files ......................................... 17

Operating TheDraw ............................................ 19
Command Line Filespecs .................................... 19
The Status Line ........................................... 19
HELP! ..................................................... 20
Cursor Control ............................................ 20
Mouse Control ............................................. 21
Command Summary ........................................... 22

The Animation System ......................................... 23
What is Animation? ........................................ 23
Animation Basics .......................................... 24
A Simple Example .......................................... 24
Making a Block Move ....................................... 25
Easy Animation ............................................ 27
Animation Scan Patterns ................................ 27
Recording Cursor Movements ............................. 28
Editing and Deleting Animation Entries .................... 28
Changing your Animation Scan Pattern ................... 29
Advanced Animation Editing ................................ 29
Editing Partial Animation Sequences .................... 29
Animation Limiting .................................. 29
Animation Markers ................................... 30
Include Files .......................................... 30
Making Custom User Control Sequences ................... 30
Tricks and Techniques ..................................... 31
Use of Colors .......................................... 31
Shading ................................................ 31
Shadowing .............................................. 32
Pausing ................................................ 33
Pitfalls and Limitations .................................. 33

Tips and Examples for Programmers ............................ 34
Programming in Assembler .................................. 34
Programming in Pascal ..................................... 36
Turbo Pascal v4.0 through v5.5 ......................... 38
Turbo Pascal v6.0 and v7.0 ............................. 40
Programming in C .......................................... 41
Using Object Files with C .............................. 43
Programming in Standard Basic ............................. 44
Programming in Microsoft QuickBasic v4.0 and v4.5 ......... 45
Making and Using Quick Libraries ....................... 46
The Display Routines ................................... 47
Command Line Compilation ............................... 50
Programming in Clipper(tm) ................................ 51

TheDraw v4.63 xi

Pull-Down Menu System ........................................ 55
The FILES Menu ............................................ 55
The GLOBAL Menu ........................................... 57
The OPTIONS Menu .......................................... 58
Setup Default Options .................................. 59
The SCREEN Menu ........................................... 62
The FONTS Menu ............................................ 64
Standard Font .......................................... 64
Choosing a Font Outline ................................ 64
Font Selection ......................................... 65
The ANIMATION Menu ........................................ 66
The COLOR Menu ............................................ 68
The TOGGLES Menu .......................................... 69
The HELP Option ........................................... 71
The QUICK PALETTE Window .................................. 71

TheDraw Keyboard Commands .................................... 72
Alt-A Change Text Color Attributes ....................... 72
Color Shading Screen ............................. 73
Alt-B Block Action Commands .............................. 73
Copy a Block ..................................... 74
Move a Block ..................................... 75
Fill a Block ..................................... 75
Block Text Operations ............................ 76
Delete a Block ................................... 77
Erase a Block .................................... 77
Block Replace Operations ......................... 77
Load a Block (normal mode only) .................. 78
Save a Block (normal mode only) .................. 78
Fadeout a Block (animation mode only) ............ 78
Rescan a Block (animation mode only) ............. 78
Alt-C Clear Current Screen ............................... 78
Alt-D Set Default Clear Screen Color ..................... 79
Alt-E Change Page Layer Edit Screen ...................... 79
Sprite Editing ................................... 80
Alt-F View Function Key Sets ............................. 81
Alt-G Global Commands .................................... 82
Copy Screen ...................................... 82
Move/Rotate Screen ............................... 82
Fill Screen ...................................... 82
Fadeout Screen ................................... 83
Text Operations .................................. 83
Replace Operations ............................... 84
Alt-H Display Help Information ........................... 85
Alt-I Insert a Line ...................................... 85
ALT-J Animation Options .................................. 85
From Normal Edit Mode ............................ 85
From Animator Mode ............................... 88
Include - Specify Animation Include Files ...... 88
Ansi Music ................................... 89
User_Seq - Specify User Control Sequences ...... 89
Limit - Specify Animation Limiting ............. 90

TheDraw v4.63 xii

Marker - Specify Animation Markers ............. 91
Movement - Toggle Storage of Cursor Movement ... 92
Normal - Convert to Normal Edit Mode ........... 92
Rescan - Rescan All Screens for New Sequence ... 92
Pause - Animation Pausing ...................... 92
Alt-K Delete a File ...................................... 93
Alt-L Load Screen from Disk .............................. 93
Avatar/PCBoard/Wildcat ........................... 94
Binary/BSave/COM/Object/TheDraw .................. 95
TheDraw Library Files ............................ 95
Alt-M Select Draw Mode (toggle) .......................... 95
Alt-N Ruler .............................................. 96
Alt-O Change Drive/Sub Directory ......................... 96
Alt-P Paint/Fill Commands ................................ 96
Alt-Q AT-Code Quick Reference (normal mode only) ......... 97
Alt-Q Redraw Screen (animator mode only) ................. 97
Alt-R Restore/Undo Changes ............................... 98
Alt-S Save Screen to Disk ................................ 98
Ansi Text (.ANS) ................................. 98
Ascii Text (.ASC) ................................ 99
Avatar (.AVT) .................................... 99
AtCodes (PCBoard/Wildcat) (.PCB/.BBS) ............ 100
Binary Screen Dump (.BIN) ........................ 100
Basic BSave Screen Dump (.BSV) ................... 100
Dos COM Files (.COM) ............................. 101
Assembly Language (.ASM) ......................... 101
Turbo Pascal (.PAS) .............................. 102
C Language (.H) .................................. 102
Intel Compatible Object Code (.OBJ) .............. 102
Object File Data Formats ...................... 103
TheDraw Setup Save (.TD) ......................... 104
TheDraw Library Save (.TDL) ...................... 104
Typing in the Filename ........................... 105
Alt-T Tab Setup .......................................... 105
Alt-U Use Color under Cursor ............................. 106
Alt-V View a Screen (not load) ........................... 106
Alt-W Edit Character (animator mode only) ................ 106
Alt-X Exit TheDraw ....................................... 106
Alt-Y Delete Current Line ................................ 107
Alt-Z Erase Cursor Character (animator mode only) ........ 107
Alt-/ Pick Character for Manual Painting ................. 107

ALT-[LEFT] Delete Current Column ......................... 108
ALT-[RIGHT] Insert a Column ............................... 108
Alt-- Toggle Color Draw Mode ............................. 108
Alt-= Toggle Macro Learning Mode ......................... 108

Manual Painting (SHIFT-UP/DOWN/LEFT/RIGHT) ................ 109
Alternate Color Change Options (CTRL-UP/DOWN/LEFT/RIGHT) .. 109
Solid Spaces (SHIFT-SPACE) ................................ 110
Full Screen Editing (CTRL-PRTSC) .......................... 110

TheDraw v4.63 xiii

The Font Editor (TDFONTS) .................................... 111
Running TDFonts ........................................... 111
Viewing a Font ............................................ 112
Changing a Font ........................................... 112
Editing Symbols ........................................ 113
Edit Modes .......................................... 113
Editing Outline Type Fonts .......................... 114
Reserved Characters ................................. 115
Delete Symbol .......................................... 115
Copy Symbol ............................................ 115
Change Font Spacing .................................... 116
Making New Fonts .......................................... 116
Moving a Font ............................................. 116
Renaming Fonts ............................................ 117
Deleting a Font ........................................... 117
Font Importing ............................................ 117
Font Exporting ............................................ 117

The Screen Capture/Grabber Utility (THEGRAB) ................. 118

The Presentation Program (THEPP) ............................. 120

The Setup Utility ............................................ 124
Why Setup? ................................................ 124
Display Windows and Selecting Options ..................... 125
Saving and Aborting Changes ............................... 125
Running Setup ............................................. 125
Main Menu .............................................. 125
Editor Configuration ................................ 126
Changing a key entry ............................. 126
Allowed Keystrokes ............................... 126
Keyboard Customize .................................. 127
Screen Mode ......................................... 127
Colors .............................................. 129
Files Directory ..................................... 129
Memory Usage ........................................ 130
Defaults ............................................ 130
Quit/Save ........................................... 131

Appendix A: Setting up CONFIG.SYS ........................... 132

Appendix B: Extended/Special Character Set .................. 133

Appendix C: Common Questions & Answers ...................... 134

Revision History ............................................. 138

The Future ................................................... 147

Comments ..................................................... 148

TheDraw v4.63 xiv


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 put together a computer
presentation for the boss.

The biggest problem most people face is not knowing what looks good
until we see it. Manual editing can literally take hours, but with
TheDraw you free form until everything is perfect. Given the picture
in mind, it's a snap to develop whatever is necessary or instruct
TheDraw to create an appropriate file. Instead of hours, making a
screen takes minutes.

For the curious, TheDraw can transform your masterpiece into data
files with the following formats:

ANSI color text (useful in batch files, BBS's, etc...)
AVATAR color text (for BBS's needing better modem transfer)
PCBOARD BBS color text format
WILDCAT BBS color text format
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 (source code for the die-hard)
TURBO PASCAL (directly compilable source code)
C (directly compilable source code)
OBJECT (Intel format compatible, suitable for linking. Four
varieties available for generic LARGE/SMALL data models,
THEDRAW (custom format for fast loading and saving)
LIBRARY (custom format for storing many screens together)

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.63 Introduction 1

TheDraw is now vastly improved over the abilities of AnsiDraw, and
most other screen editors. It is compatible with systems that have
270k 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 on 43 or 50 line screens (respectfully).

Normal color and multi-color ASCII FONTS are fully supported. These
are large scale letters and symbols which span multiple lines. The
are perfect for making welcome messages or notes of importance.

Another feature TheDraw fully supports is ANIMATION. You can develop
simple presentations quickly, or make generic screens appear with
pizzazz. TheDraw can animate a static image, or animation sequences
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 to ANSI Animation, AVATAR Animation, TheDraw
data files, or TheDraw library files. Please refer to section
entitled "The Animation System" for more information.

To use TheDraw right away, refer to "Getting Started with TheDraw".
This section describes installation, and introduces using the program.


TheDraw v4.63 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]oad, [L], or [L]eft
all mean press the letter 'L' key.

Alt- - Alt- is always followed by another character.
or Together, this symbol means to first press and
[ALT-] hold down the ALT key on the keyboard then
type the letter key following it. ie: [ALT-A]
means hold ALT then press 'A'.

Ctrl- - This is executed the same as the ALT key.
[CTRL-] Press and hold down the CTRL then hit the
or 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]
[TAB] etc... example shown above. ie: [UP] means to press
the up arrow key.

TheDraw v4.63 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, 270 kilobytes of free memory are required.
The maximum memory usage is 450k 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. When
Desqview is detected, TheDraw disables its normal video checks (to
prevent undesirable video mode switching).

Windows 3.1 users running TheDraw may wish edit any TheDraw PIF file
or the _DEFAULT.PIF file. Under the "advanced" PIF options, make
certain that the "Retain Video Memory" option is selected. Otherwise
unexpected display behavior may occur.

Note: It is easy to cause problems with some window environments if
the user wishes. Working in another window while TheDraw
attempts to refresh its screen may result in information
being overwritten.

TheDraw v4.63 System Requirements 4


Setting up TheDraw to operate on your computer is fairly easy. If you
received TheDraw on diskette, we suggest you backup the disk before
proceeding. It never hurts to play things safe.

On registered diskettes obtained from TheSoft a batch file called
INSTALL.BAT is included to simplify installation. The INSTALL batch
file is not bundled with the shareware version of TheDraw.


The following lists those files included with the shareware version:


WHATSNEW.DOC Brief listing of new additions for this release.

MAILER A registration form which when printed can be easily
folded and mailed. No envelope is needed.

FILE_ID.DIZ A short description file for BBS sysops.
FILE.LST Text file also documenting this file listing

TDFONTS.EXE TheDraw font editor utility.
TDFONTS.TDF TheDraw font database file.
THEGRAB.EXE TheGrab screen capture utility.

SETUP.EXETheDraw setup utility.
THEDRAW.EXE Shareware version of TheDraw
THEDRAW.DOC TheDraw User's Manual
PRINTDOC.EXE Program to simplify printing out User's Manual
Type "PRINTDOC [enter]" from the dos prompt.

SHUTTLE2.ANS \ Example files showing off some of the capabilities
DEMO.TD \ of TheDraw, plus demonstrations of what is possible.
SHADING.TD / See section "THE EXAMPLE FILES" for descriptions.

UNCRUNCH.ASM \ Implementations of the algorithm needed to display
UNCRUNCH.PAS \ screen images compressed (crunched) by TheDraw.
UNCRUNCH.H > The first is for assembly language, the second for
UNCRUN_N.OBJ / Turbo Pascal, the third has external C declarations
UNCRUN_F.OBJ / linking to routines in the UNCRUN_N & UNCRUN_F files.

QB4UTIL.BI QuickBasic 4.x display routine declarations.
QB4UTIL.LIB QuickBasic 4.x display routines in library form.
MAKEQLB.BAT Batch file to simplify making Quick Libraries
(.QLB and .LIB) for use with QuickBasic.

TheDraw v4.63 Getting Started 5

The registered version of TheDraw adds the files:

THEDRAWR.EXE Registered version of TheDraw
THEDRAWR.HLP Context sensitive help file for registered version.
TDREG.EXE Registered version installation utility.
BAUDSIM.EXE Simulates the display of Ansi/Avatar/PCBoard/Wildcat
text files over a modem.
THEPP.EXE The Presentation Program utility.


You will want all files frequently used placed onto either a "work"
diskette or your hard drive. To reduce space requirements, most files
are compacted. You should use INSTALL to obtain them.

First, insert the distribution diskette into drive A. For floppy disk
installation, type the command:


For hard disk installation, type the command:


After either command press [ENTER]. Simply follow the online
instructions presented. Once done, you are all set to go. INSTALL
will explain about the README file and PRINTDOC utility. The README
file contains last-minute details about this release of TheDraw. The
PRINTDOC utility handles sending this documentation to your printer.

If you have never used TheDraw before, you may wish to read the
section "Making your First TheDraw Screen" below. More experienced
users might want to configure items and are referred to "The Setup
Utility" section.


Many facets of TheDraw can be customized (colors, options, default
preferences, etc...) using the external setup utility. Refer to the
section called "The Setup Utility" for information on configuration.

Some parameters are often changed when using TheDraw. The more common
of these can be updated within TheDraw. See "Setup Default Options"
under the section "Pull-Down Menu System".

TheDraw v4.63 Getting Started 6


By this point you must be eager to start playing with TheDraw; by all
means do so. If you're using a floppy disk drive, place your work
diskette into Drive A and type the following command:

THEDRAW (for shareware version)
THEDRAWR (for registered version)

Press [ENTER] to run the program and display the title screen. Tap a
key, and then the edit screen appears.

If you are using a hard disk, get into the TheDraw subdirectory
created by the INSTALL batch file (the default is C:\THEDRAW). Run
TheDraw by typing:

THEDRAW (for shareware version)
THEDRAWR (for registered version)

at the prompt. Now everything is ready to make your first screen.


Just a quick note regarding getting out of TheDraw. Should you need
to leave the program at any time, press [ALT-X] from the edit screen.
TheDraw prompts to verify. Type [Y]es or press [ENTER] to return to
the dos prompt.


After starting TheDraw, and pressing a key to get past the title, what
appears is the edit screen. The screen is blank except for the
status line. The cursor is in the upper left corner.

At this point, type in your name and address as you might on an
envelope. Press [ENTER] after each line. ie:

John Smith
123 ABC Street
Somewhere, CA 12345

Use the [BACKSPACE] key to make deletions, and the arrow keys to move
around in the edit area.

TheDraw contains a wide variety of commands designed to make editing
easier. To use some of these, try performing an elementary task;
centering your address on the screen.

TheDraw v4.63 Getting Started 7

There are a number of ways to accomplish centering. You could insert
spaces onto each line (as if using a word processor), or insert entire
blank columns. The easiest way though is using the provided text
centering command. ie:

o First press [ESC] to see the pull-down menu bar. Select the
Global menu using the left/right arrow keys then type [T] for
the "Text" command (a simpler way is the shortcut; type [ALT-G]
from the edit screen for global screen functions, then [T]ext).

o A prompt appears above the status line. Select the [C]enter
option. Since global operations affect the entire screen,
TheDraw centers -all- lines of your address horizontally.

o Move the cursor to the top line using [UP] arrow key. Center
the address vertically using the insert line command. The
shortcut key is [ALT-I]. The command is also found in the
Screen pulldown menu. Repeat four or five times to fully center
the image.

The last thing we want to do in this first screen is surround the
address with a border outline. TheDraw has an easy global function
for doing this also:

o Select "Text" from the Global pulldown menu (once again).

o Choose the [O]utline option. TheDraw responds by drawing a box
around the edges of your address.

There we have it, your first screen via TheDraw is complete!


After all this work it makes sense to save your screen to disk. Press
[ESC] to see the pull-down menu bar. Select the Files menu using the
left/right arrow keys then type [S] for the "Save" command (shortcut
would be typing [ALT-S]).

TheDraw knows of fourteen different ways to save a screen. These vary
from Ansi to a custom high speed library format. For now choose Ansi
(with defaults) by pressing [ENTER] four times. At the filename
prompt appearing next type in:


Press [ENTER] to save. Note how TheDraw reports the number of output
lines used. Ansi files are compressed as much as possible, sometimes
down to a single line. Do not be surprised if this happens.

TheDraw v4.63 Getting Started 8


To see the results of the above, leave TheDraw by typing [ALT-X].
Answer [Y]es to the verify prompt. From the dos prompt, enter:


Press [ENTER] to see the screen as it appeared within TheDraw.


It is possible that instead of your address appearing, instead you
were faced with a large amount of gibberish. Something like:

^[[40m^[[2J^[[2;1H^[[3;1H^[[4;1H etc...

This means the Ansi device driver is missing. The Ansi driver
translates special color and cursor control commands for the screen.

TheDraw creates Ansi compatible files, but they only appear as
intended when the device driver is present. To install the Ansi
driver, please refer to Appendix A ("Setting Up CONFIG.SYS").

If you already installed the driver per Appendix A, something may be
preventing it working or you need to reinitialize/reboot your
computer. Device drivers are only installed when the computer "boots"
up. Press [CTRL-ALT-DELETE] to reboot your system.


Time to try some more interesting things. Restart TheDraw and select
"Load" from the Files pulldown menu. A listing of all available files
is displayed. Type in:

ADDRESS (TheDraw assumes the .ANS extension)

Press [ENTER] to load your screen. Everything should now appear
exactly as it did before leaving TheDraw previously. To spruce up
your address, let's try adding some color.

TheDraw v4.63 Getting Started 9


There are many ways to choose colors with TheDraw. For now select
"Fore/Back" from the Colors pulldown menu (shortcut [ALT-A]). A
screen showing two color groups appears. One for foreground colors
and the bottom smaller group for background colors.

You choose new colors either by using the arrow keys or typing the
number associated with a color. Press [ENTER] once you decide.

For example, to select a Yellow foreground (color 14) and a Blue
background (color 1):

Please Select Foreground Color (0-31): 14 [ENTER]
Please Select Background Color (0-7): 1 [ENTER]

After pressing [ENTER] for the background color, you return to the
edit screen. Note the color example in the status line was updated.


To see the new color, put the cursor inside the outline box made
earlier. Now select "Paint/Fill" from the Options pulldown menu.

Painting in TheDraw refers to the effect of pouring "paint" onto the
screen. The pouring starts where the cursor is located. You can
paint just color attributes, just character symbols, or any
combination. We want only the address colors to change. Thus:

o Choose [A] for Attributes. Notice how painting is blocked by
the lines of the address outline.

o Use the color change command again, this time selecting Light
Green on Black (foreground = 11, background = 0).

o Once back at the edit screen, move the cursor out away from the
outline box.

o Select "Paint/Fill" once more, choosing the [B]oth option.

o When TheDraw prompts for a fill character; type in a forward
slash "/" symbol.

Your address is now an island in the middle of a green field. Save
these changes as described previously this time using the filename:


Press [ENTER] to save the screen to disk.

TheDraw v4.63 Getting Started 10


Now for a little more pizazz. For this screen lets experiment
duplicating the special effects found in the DEMO.TD example file
(more or less). To see the sample file beforehand, use the "Load"
option from the Files pulldown. Type in:


Press [ENTER] to load it. Follow the on screen instructions for a
quick introduction to the block and sprite features. These will be
explained below as your own version of this example gets put together.

To get rid of the DEMO.TD example, choose the "Clear Page" option from
the Screen pulldown (shortcut [ALT-C]). Answer [A]ll to the first
verify prompt, and [Y]es to the second verify. This completely clears
away everything.


Position the cursor at column 10, line 5. Use the arrow keys until
the status line coordinates read (10, 5). In the first screen we used
the Global Outline command to draw a box around your address. TheDraw
has another way of drawing lines too.

From the Toggles pulldown, choose "Draw Mode" to turn on line drawing
mode (shortcut [ALT-M]). Moving the cursor now draws a line. Also
note the word "Draw" in the status line.

Lets make a small box. The arrows below indicate the cursor movements
required to produce the box. Note the special attention given to
finishing off the last corner (step 5):

v ^
v ^

Step 1 Step 2 Step 3 Step 4 Step 5

Turn off line drawing using the Toggles pulldown or press [ALT-M]
again. Following the above guide, we moved horizontally six spaces
and vertically three lines to create the box. The end result however
is seven characters wide, and four lines deep.

TheDraw v4.63 Getting Started 11

Move the cursor to coordinates ( 6, 3) and repeat the box procedure.
This time move horizontally 14 spaces instead of 6, and vertically 7
lines instead of just 3. You end up with:

These are the exact dimensions of the blue box in the DEMO.TD example
screen. To colorize the double box, we'll use a block command.

Note: Please refer to the section "SELECT DRAW MODE" for more
discussion on line drawing.


One of TheDraw's most useful features is its block editing facility.
You can carry out a wide variety of operations on specific parts of
the screen. Areas can be copied, moved, erased, deleted, filled, have
text operations performed, saved, etc... Several block commands are
mirrors of the global screen functions you have already seen.

To color the double box, let's first choose some new attributes.
Press [ALT-A] and pick a Yellow foreground (color 14) on a Blue
background (color 1).

Marking means highlighting the area you want block operations
performed on. Begin marking a block by pressing [ALT-B]. Position
the cursor on the upper-left corner of the large box and press the
[SPACE] bar. Now move the cursor to the lower-right corner of the
large box and press [SPACE] again. Notice how the existing colors are
emphasized to clearly show the block mark.

Mouse Users: Move the cursor to the upper-left corner. Press
and hold down the LEFT mouse button. Now drag the
cursor to the lower-right corner and release the
left button.

All block options are now displayed. Select [F]ill, and the suboption
[A]ttributes to colorize the double box to yellow on blue. Other fill
suboptions affect just foreground colors, just backgrounds, just
characters (without affecting color), or both colors and characters.

TheDraw v4.63 Getting Started 12

There is one more step before the double box is finished. The inside
region of the small box must be erased. Let's use another block to
accomplish this:

o Position the cursor to coordinates (11, 6). This is the upper-
left corner of the inside region.

o Mark a block covering all the inside region.

o Lastly, select the block option [E]rase.

There you have it; a replica of the blue box in DEMO.TD! Blocks are
invaluable for making alterations of any sort.


While following the DEMO.TD example, you saw the red box on page 2.
Until now all our editing was done on page 1, but TheDraw can handle
up to eight pages. One possible use is block copying regions from one
screen to another. Normally you see only single pages, totally
separate from one another.

Sometimes however, it is useful to see all the pages at once. TheDraw
calls this Sprite mode. Pages are treated as glass sheets stacked
atop one another. You are positioned over the topmost "glass sheet"
(page 1) looking down. ie:

. .
. . Bottommost Page

3 .
Topmost Page 2

The DEMO.TD example uses Sprite Editing. The blue box is on page 1,
but the red box is on page 2. The blue box appears over the red one
because of the glass sheet effect. The red box would appear over
anything on page 3, and so on...

Now to try out Sprites in our screen. We need a visible object on the
second page. The following draws a box for this purpose:

o Change to page 2. Do this by choosing "Select Page" from the
Screen pulldown, or typing [ALT-E] (the shortcut). Press the
"2" key for the second page layer.

TheDraw v4.63 Getting Started 13

o Pick "Fore/Back" from the Colors pulldown (shortcut is [ALT-A])
and select the colors of Light Red on Red (foreground=12,

o Position the cursor in the upper-left corner of the screen-
coordinates ( 1, 1).

o Press [ALT-B], and hit the [SPACE] bar. Move to coordinates
(12, 6) then hit [SPACE] the second time.

o Choose the [T]ext option, and then the [B]ox suboption.
TheDraw draws a red box on the screen.

o Move the cursor inside the box, and select "Paint" from the
Options pulldown menu. Select the [B]oth option, and press the
minus key "-" for a fill character.

Page 2 now contains an object which will soon act as a sprite. Switch
back to page 1 by typing [ALT-E] and then the "1" key.

If you loaded the DEMO.TD example earlier, TheDraw is already in
sprite mode. You can tell by how the page number appears. ie:

"Page:1" Sprite mode is off
"PAGE:1" Sprite mode is on (word is capitalized)

If sprite mode is off, type [ALT-E] and choose the [T]oggle option.
Once sprite mode is enabled the red box appears underneath the double
blue box.

Sprite mode editing is no different than normal editing. Nothing you
do on page 1 can affect any other page. Try inserting a few blank
lines at the top of the screen by typing [ALT-I]. Notice how the red
box stays put while the blue box moves down.

Assume you were drawing an elaborate screen. Various parts could be
put on different page layers. Each part is thus protecting them from
accidental change (since each page is independent).

In animation mode sprites make certain special effects very easy to
produce. Such as having one object "slide" under another. See
SHUTTLE2.ANS for an example. Animation mode is introduced below.
Please refer to "THE ANIMATION SYSTEM" for more information.

You might wish to save this screen now. Type [ALT-S], and select
TheDraw's custom file format by typing [T]. This will save both pages
edited. Enter the filename:

BOXES (TheDraw assumes a .TD extension)

Press [ENTER] to save to disk.

TheDraw v4.63 Getting Started 14


Possibly the most intriguing and confusing facet of TheDraw is its
Animation mode. The animation system allows creating screens with
movement, adding excitement to your presentations.

In animation mode, TheDraw remembers the exact pattern in which
something is entered. To contrast, the static screens used until now
only store what was typed and where - like a word processor.

When saving a static screen, there is nothing about how it was drawn.
The normal presumption is such screens are saved top to bottom (how
else would you want to?) The ADDRESS.ANS file was saved in this
manner. Recall how it appeared when typed from the dos prompt.

Animation mode goes one step further by also remembering -when- you
typed something. This extension permits you to control the exact
sequence keystrokes appear.

Instead of merely top-to-bottom, any display order is possible. You
can make screens display sideways or bottom-to-top if the urge hits.


To ease the pain of making animated screens, TheDraw contains fourteen
preprogrammed display patterns. There are also two variation toggles
which boost the actual number of patterns to over 50. See the section
under "HOW TO ANIMATE SOMETHING" for a complete description.

To convert your second screen into an animation sequence, do the

o Select "Animation Mode" from the Toggles pulldown or use the
shortcut key [ALT-J]. A list of the preprogrammed display
patterns appears.

o Choose the [A]ngle pattern. TheDraw scans the static screens
on pages 1 and 2 into the animation sequence.

That's it! The word "PAGE" in the status line has changed to "ANIM".
Also, above the status line is an indicator similar to:

Used:00317 Free:15683

The first number lists the number of keystroke entries currently in
the animation sequence. The second is how many additional keystrokes
TheDraw can store. The maximum free space is 16000 entries, however
that could vary depending on how much free memory is available.

TheDraw v4.63 Getting Started 15


Let's see what the animation looks like in slow motion. Select the
"Screen Redraw" from the Animation pulldown (shortcut [ALT-Q]).

TheDraw prompts for a redraw speed, to control how fast the animation
sequence appears. A speed of 0 is maximum speed. A speed of 255 is
very slow, about 5-10 keystrokes per second.

Type in the number 50 and press [ENTER]. You can now see exactly how
the animation will appear once saved to disk. Once it completes, use
the redraw command with some other speeds to get a better feel for it.

Try changing the animation scan pattern. Select "Rescan Animation"
from the Animation pulldown (shortcut is [ALT-J], [R]escan). Pick
some other animation pattern, then view them using Screen Redraw.


Saving animation screens to disk is almost identical to saving normal
static screens. The only difference is in the available file formats.
Only Ansi, Avatar, and TheDraw (TD) custom formats are possible. Only
these can save how the animation sequence was created. Note that TD
formats also store page data.

Ansi files can be typed from Dos. These are very popular for bulletin
board systems, sign on introductions, presentations, etc... The only
problem is they cannot store data about individual pages and sprite
mode. Ansi files only save exactly what is "seen" on the video. Any
keystrokes which are hidden underneath other objects are lost.

Avatar files are used primarily wit bulletin boards systems, and
provide faster data transmission than Ansi. Like Ansi, the problem in
dealing with sprite mode is shared; all page information is lost.

TD files are designed for maximum speed. It is usually best to keep
one copy of an animation sequence in this format. The TD format
stores everything - including the sprite mode. Most users save both
TD and Ansi formats, since Ansi can be typed from the Dos prompt. For
now, lets save an Ansi file.

Press [ALT-S], and choose [A]nsi. Press [ENTER] past the options.
For a filename enter:


Press [ENTER] to save to disk. Try exiting to Dos and viewing the
file from there. Just imagine how easy it would be to create a fancy
signon screen for your computer.

TheDraw v4.63 Getting Started 16

The animation system was only briefly touched upon here. The are a
large number of other features available. Almost all commands
available for static screens will work with animation mode. Various
commands respond differently to the animation sequence though. For
complete coverage, please see refer to "THE ANIMATION SYSTEM".

We have now run through the most important of TheDraw's many features.
You are encouraged to explore in detail the variety of commands
available. It is recommended to save your work periodically to create
a log of your efforts. In this way, as you develop new skills you can
document them to avoid forgetting that one crucial step or neat idea.

Covered was keystroke entry, editing, changing colors, painting areas,
drawing lines/boxes/outlines, using blocks, sprite mode, animation
mode, animation scan patterns, and viewing animation sequences. You
should eventually read the "OPERATING THEDRAW" section. It explains
the status line, obtaining help, cursor control, using the mouse, and
gives a summary of commands.

Refer to "PULL-DOWN MENU SYSTEM" for brief explanations of all
commands. Detailed descriptions are found in "THEDRAW COMMANDS".
Those who program should see "TIPS AND EXAMPLES FOR PROGRAMMERS" for
insight into using TheDraw saved files in your own work.


TheDraw comes with four demonstration files to help show some of its

SHUTTLE2.ANS is a simple animation example which you can view from
the dos prompt by entering:


Press [ENTER] to see the example run through. 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, the THEPP utility provided with registration
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.63 Getting Started 17

The third file, SHADING.TD, is an example of all color shade
variations possible within TheDraw. Load as the previous example was
(ie: ALT-L, then type SHADING.TD [ENTER]). Three pages are occupied
by the example. Select pages by pressing [ALT-E] followed by a number
1, 2 or 3. Each page uses a different fill character. Those
frustrated by a seemingly limited color palette may be surprised at
the wide variation actually possible.

To duplicate a shading example, press [ALT-F6] to select function key
set 6. Set the colors as specified on the example by using [ALT-A].
Foreground colors are vertical and background colors horizontal. Now
type [F1], [F2], or [F3] keys to see the shading result. Registered
users have a built in command to accomplish this - just press [ALT-A]

The last demo file, EFFECTS.TD, shows two easy special effects you
may like to use. The first is the illusion of a rotating color
banner. This is done with flashing foreground colors (16 to 31 in the
color select screen). Alternating characters have alternating
foreground/background attributes. ie:

Character #1 Character #2

Foreground: Flashing Red Flashing Gray
Background: Gray Red

Combine the above color scheme with the a block symbol from function
key set #6. Press key [F4] with attributes in #1 above. Change
attributes to #2 and press [F4] again. The blocks will appear to be

The restriction to this technique is the flashing foreground color
must match an available background color. Since there are eight
background colors, the flashing foreground colors 16 to 23 are the
possible options.

TheDraw v4.63 Getting Started 18



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.

"c" Appears when a symbol has been picked up for manual
painting (where 'c' is the character picked).

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.63 Operating TheDraw 19


The shareware version of TheDraw contains four outline help screens
available from command mode (no sub-functions being used) by pressing
ALT-H. These outline screens display brief notes about most
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.63 Operating TheDraw 20


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 system configuration. Once the driver is
installed, TheDraw auto-detects the mouse presence.

TheDraw v4.63 Operating TheDraw 21


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/Undo Changes
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-/ Pickup character under cursor
Alt-- Select Color Draw Mode (toggle)
Alt-= Toggle Macro Learning Mode (reg. version)
Ctrl-PrtSc Toggle Full Screen Editing mode
Alt-Left/Right Delete/Insert column

Ctrl-Up/Down Increment/Decrement Foreground Color
Ctrl-Left/Right Increment/Decrement Background Color

Shift-Arrow Keys Move in direction specified painting with
currently picked character.

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.63 Operating TheDraw 22



The animation system can be the most intriguing but confusing portion
of TheDraw to grasp. The animation system allows creating screens
with movement, adding excitement to presentations.

In animation mode, TheDraw remembers the exact way in which a screen
is created. In contrast, the static screens used until now only store
where something is typed. When saving a static screen, there is
nothing about how it was drawn - they appear top-to-bottom when typed.

Animation mode goes one step further by also remembering -when- you
typed something. This extension permits you to control the exact
sequence keystrokes appear. Instead of merely top-to-bottom, any
display order is possible. You can easily make screens display
sideways or bottom-to-top as required.

With the animation sequence you put characters in anywhere and in any
order you want. The sequence is 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 can be saved in three different formats: ANSI (.ANS), AVATAR
(.AVT) 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. Avatar is similarly used on
bulletin boards. TheDraw is not needed to display Ansi/Avatar files
once created.

TheDraw's custom file format (TD) is used for quickly saving and
loading animation sequences to disk. The Presentation Program (THEPP)
can 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.63 The Animation System 23


TheDraw never physically "moves" an object when animating something.
This is an illusion; created by careful placement of characters (which
as you remember can be put anywhere we want). The "animation" of a
display is done manually; moving objects step by step.

The illusion of movement is simple to describe:

o Draw an object.
o Erase it.
o Redraw object shifted over slightly.
o Repeat (over and over)

If done properly, the object appears to move. Nothing is really
"moving" per say, but we are 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 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 who grows each time he is moved. In effect, Slither's tail never
shifts because he grows so rapidly. To create this particular life
form, enter animation mode by pressing [ALT-J], then [T]op. Next,
turn on line drawing with [ALT-M] ("Draw" appears on the status line).

TheDraw v4.63 The Animation System 24

To give arise to Slither, move the cursor with 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?)

(example run of Slither)


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.

Notice just how little effort it takes to produce simple animation.
Even this uncomplicated approach will add that extra pizzazz to a
presentation. Possibilities include drawing charts, graphs, outline
figures, backdrops, etc... Your imagination is the only limiting

The next section describes how to move objects (such as the asterisk
example shown previously) with TheDraw.


The asterisk example showed the classic method for moving small
objects. ie: draw, erase, draw, repeat... However, the medium 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. First draw
the object, and decide what direction things will move.

The trick follows: Mark a block over the object, ADDING an extra
blank line/column on the side -opposite- to the direction of movement.

block outline -->
OBJECT --> movement to be in this direction

^ note extra blank line

TheDraw v4.63 The Animation System 25

The complicated bit of actually "animating" is:

o From the block options menu, choose block copy.

o Move the block once in the direction of movement and [S]tamp it.

o Move it again, and [S]tamp. Repeat as many times as desired.

o For the last shift, press [ENTER] instead of stamping.

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
note we do not explicitly erase the entire 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.
Afterwards they use most of the same space as before. Thus, why you
may ask, bother erasing if an area is immediately overwritten again?
We can avoid wasting time and things will go faster.


^ ^ ^
old portion of object,
"erased" by blank line

The extra blank line erases what needs erasing, and the redrawn
object overwrites the rest. By using more than one blank column/line
(and stepping more than once 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.

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.

TheDraw v4.63 The Animation System 26


Rather than start an entire animation screen from scratch, many people
find it easier to take an existing static screen then -add- animation
to it. TheDraw provides several different patterns for converting
static screens into animation sequences. The patterns specify how a
screen is converted, one keystroke at a time.


TheDraw comes with fourteen built in scan patterns. In addition, the
way the scan patterns work can be adjusted via two pattern toggles.
Use of the toggles yields over 50 possible combinations! The starting
scan patterns are:

TOP Starts at upper-left corner and goes across screen.
LEFT Starts at upper-left corner and goes down screen.
CLOCK Clockwise arm rotates around center of screen.
CIRCLES Growing circles starting from center of screen.
CHECKERBOARD Alternating "checkerboard" squares from top of screen.
ANGLE Diagonal from upper-left corner scans across screen.
GATE Opposite lines from each side of screen left/right.
PYRAMID Pyramid shape from bottom center growing upwards.
SQUARES Squares starting from screen border growing inward.
SCRAMBLE Randomly scans entire screen
DOOR Scans top/bottom, on both sides of screen at once.
DIAMOND Growing diamond starting from center of screen.
WIGGLE Starts at upper-left alternating left and right.
WIGGLEOUT Starts in center of screen with wiggle operation going
both up and down at once.

The two toggles which alter the above are:

REVERSE Completely reverses a given pattern. First keystroke
scanned becomes the last, the second becomes next to
last, and so on.

FLIP Exchanges the vertical coordinates in a scan. Assume a
25 line edit buffer. Any scan location on line 1 is
changed to line 25 and visa versa.

You select the toggles before a scan pattern. When a toggle is
active, its corresponding indicator appears on the screen.

As mentioned above, many people want to take a static screen, display
it normally, then add animation. The option to use in that case is
the Top scanner. Scanning from the Top yields a sequence which cannot
told apart from a static display; but animation can now be added.

TheDraw v4.63 The Animation System 27


Occasionally the ability to record actual cursor movements is useful.
They could be used as short pauses, or a distraction to the user.
Instead of putting keystrokes everywhere, just having the cursor jump
about could be enough. TheDraw can record such cursor movements.

Toggle on/off cursor movement recording by picking "Movement Storage"
from the Animation pulldown. The shortcut command is typing [ALT-J],
then [M]ovement. Moving the cursor in any way adds new entries to the
animation sequence.

Using cursor movements, you could have the cursor go around in circles
giving the user time to reading something. The only definitive reason
to use this feature is personal taste.


Editing an animation sequence is a bit more complicated than fixing up
a static screen. If you make a mistake, you must be -VERY- careful
about using the [DELETE] and [BACKSPACE] keys. The problem is both of
the above keys remove all animation entries from the cursor position.

Take the case where you type 'A', 'B' and 'V' all in the same location
(say the upper-left corner). Meaning the 'V' to be a 'C', you press
[BACKSPACE]. Unfortunately, this command removes all three letters,
not just the 'V'. The delete/backspace keys can be especially
disruptive to large animation sequences.

TheDraw offers a special command to avoid this problem. Choose the
"Erase Character" command from the Animation menu (shortcut [ALT-Z]).
This shaves off just the animation entry which is visible. The 'V'
in this case. You then proceed by typing the 'C' as intended.

An alternative technique is the animation "Change Character" command.
Choose it from the Animation pulldown (shortcut [ALT-W]), and the
existing keystroke under the cursor beings to flicker. Meanwhile,
TheDraw prompts for the new character. Now you just enter the new
symbol (a 'C') and are done.

For more complicated situations, you could place some items on lower
pages and use sprite mode. This physically separates animated objects
and protects them from accidental damage. However, it only works for
moving objects under those on the current page. The registered
version offers a better solution called animation edit limiting.

TheDraw v4.63 The Animation System 28


If you decide to change the scan pattern you selected earlier, choose
"Rescan Animation" from the Animation pulldown, or [ALT-J], [R]escan.

Warning: All animation on the current page will be replaced.

TheDraw deletes all animation from the current page, scans with the
new pattern, appending the new results onto the end of the animation
sequence. Any customized changes you might have added are lost. Only
the current page is affected. All other page layers stay intact.


There are several more complex functions which enhance your ability to
create unique special effects. These include the animation limiting
offered in the registered version, include files, and making custom
control code sequences. The latter especially useful with certain
bulletin board systems.


The shareware version of TheDraw only allows you to work on the end of
an animation sequence. You can add or remove things easily. To
update something at the beginning of a sequence is more awkward.

The registered version helps significantly by adding a feature called
animation limiting. Now you can change the point where editing occurs
on the animation sequence. Instead of just the end, edit anywhere
from the first to last keystroke entry. A powerful improvement.


Animation limiting changes the focal point of TheDraw. You can
insert/delete any keystroke anywhere in the animation sequence.

Choose "Limiting" from the Animation pulldown to activate it. Now
use the arrow keys, [PGUP], [PGDN], [HOME] or [END] to position
yourself inside the sequence. Once you find the correct place,
press [ENTER].

Picking a edit focal point is that easy. When in the middle of a
sequence, everything after the focal point is temporarily hidden.
Now you can make any updates with no extra fuss.

Once done, you should probably return to the end of the animation
sequence. Choose "Limiting" again. Press [END] to reset the focal
point, then [ENTER].

TheDraw v4.63 The Animation System 29


Markers provide a convenient way of jump around within an animation
sequence. Assume you constantly switch between the point where an
object is drawn and the sequence end. By setting a marker after
the object appears you can switch quickly, instead of manually
positioning the focal point every time.

To set a marker, first position the focal point. Next, choose
"Marker" from the Animation pulldown. TheDraw displays a window
listing all current markers. If none are defined, the list is
empty. Type [S]et and enter a description of the marker. ie:

1: Object has been drawn

Press [ENTER] to save the new marker. From now on, to position to
this marker, select "Limiting" from the Animation pulldown, then
[K] for markers. Pick marker [1] and you are done!


TheDraw permits "including" the contents of other files in the current
animation sequence. Typically this will be an "Ansi Music" sequence,
a frequently used image, complex BBS control codes, merging several
Ansi/Avatar screens together, etc...

The include files are only used when TheDraw actually saves the
current animation sequence. At that point, the include file is copied
into the new output file TheDraw is making.

Include files are ignored by the animation screen redraw command. If
you want to see what everything might look like, a view option is
available in the animation include window. Refer to the "ANIMATION
OPTIONS" section for more information.


You can insert your own short control code sequences directly into any
Ansi/Avatar file TheDraw generates. This is very useful for special
BBS control codes (ie: for user names and such), or inserting extra
Ansi codes into the animation. You might force the screen to clear,
or cause the display to scroll - functions not supported by TheDraw.
User Sequences are only referred to when TheDraw saves a file, and
are not used when redrawing (see ALT-Q). Refer to the "ANIMATION
OPTIONS" section for a complete description of user sequences.

TheDraw v4.63 The Animation System 30


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 depth or a three
dimensional feel can perform wonders. Animation is also improved on
occasion by pausing the display slightly.

Ideally you will find 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.


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. Look for combinations which are easy to read and do not
strain the eyes. Observing other peoples work is a good teacher.

Background colors should be used to your advantage, not detriment.
For example, look closely at the TheDraw title screen and note how the
layering was achieved. Half block characters (such as "" and "")
are used extensively with the solid portion one color and the blank
region another.

Lastly, flashing colors in combination with good background selection
is an excellent visual device. For example, select flashing red
(color 20) on a gray background (color 7). Put a block character
(""). Now select flashing gray (color 23) on a red background (color
4). Put another block character next to the first. What you see is
the block colors alternating between red and gray, each block opposite
of one another. Repeating this pattern produces a moving effect. See
the demo file EFFECTS.TD for a working example.


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. Carefully examine a round pen sitting on a table. The
color is not uniform, but rather bright in the middle then apparently
darker towards the edges. The same holds true for any curve.

TheDraw v4.63 The Animation System 31

Example of how color changes on a curved object:

brightest here

darker darker

darkest here darkest here

The above character shading example shows one way of matching the
curvature example. You can obtain more gradations by using high and
low intensity color in combination. For a case in point, coloring the
following symbols as indicated yields eight shades of blue:


light blue

The file EFFECTS.TD demonstrates the above example. Every possible
shading combination is shown in SHADING.TD, using three pages. The
registered version has a built in screen modeled after the SHADING.TD


This effect gives an object the illusion of a third dimension by
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.63 The Animation System 32


TheDraw directly supports two types of animation pause: timed and
keyboard. Unfortunately, there is no way to wait for a keystroke
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. For instance, the SHUTTLE2.ANS example uses two delays.


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

TheDraw v4.63 The Animation System 33


This section is for individuals writing programs who are interested in
using TheDraw. Effort was put forth to make TheDraw a convenient
programmers utility. The various sections which follow describe
example code for each of the various languages TheDraw is compatible
with. The routines are tested and can be quite useful for those just
getting started. If you have additional ideas for this section, we
highly encourage you to send them in!


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.

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.

TheDraw v4.63 Pull Down Menu System 34


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.63 Pull Down Menu System 35


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 offset 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.63 Pull Down Menu System 36

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.63 Pull Down Menu System 37

--- 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.63 Pull Down Menu System 38

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.63 Pull Down Menu System 39


Everything shown thus far for Turbo Pascal v4.0 to v5.5 works
perfectly well in TP 6.0 and above. However, the newer releases
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/7.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), 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.63 Pull Down Menu System 40


C programmers have support similar to that for pascal. TheDraw
creates the Normal, Ascii, and Crunched file formats using typical 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 "image.h"
main () {
/* Kludge a pointer at video memory (segment 0xB800, offset 0) */
void far *screen = (void far *) 0xB8000000;
memcpy (screen,IMAGEDATA,4000); /* Move image to screen */

The file reference contains the definition of the memcpy
routine. Users of Microsoft C should reference the file.
IMAGE.H is assumed to contain the array IMAGEDATA created by TheDraw
(the name may be changed to anything else naturally). The void data
type used is a modern C convention. If your compiler does not support
it, use type char instead (or whatever type your compiler wants for
parameters to memcpy).

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, etc... 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 "image.h"
main () {
void far *screen;
int offset = ???; /* Replace ??? with offset to display block */
int x;

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

TheDraw v4.63 Pull Down Menu System 41

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 and width the
characters across. 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.63 Pull Down Menu System 42

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 "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 "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.
Follow these steps when 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.

Notice in the following program that no include is made. The file
containing the image is not C source code; rather, a binary object
file merely needing to be linked. Therefore, we tell the compiler
what to expect via EXTERN declarations.

TheDraw v4.63 Pull Down Menu System 43

main () {
extern unsigned char IMAGEDATA [];

void far *screen;
int offset = ???; /* Replace ??? with offset to display block */
int x;

for (x=0; 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 in the
example, but shown to demonstrate it.

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.


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"

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.63 Pull Down Menu System 44


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 as used within QuickBasic, assuming the default
identifier of "IMAGEDATA":


Saving the object file with a different identifier, such as "TEST",
alters the above accordingly. ie:


The functions are used in conjunction with the QB4UTIL.LIB library,
which contains the display subroutines. The first function, IMAGEDATA
(or whatever identifier name), returns 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 typical screen would return 80
and 25 respectfully (using EGA/VGA displays might cause 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.63 Pull Down Menu System 45


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 separate library files (.LIB).

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 the TheDraw object files. The parameters are:

MAKEQLB etc...

The is any library filename you want. Do -not- put a file
extension on this! (see example below) The batch adds the extensions
.QLB and .LIB automatically for you. The parameters are
the TheDraw made object files.

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.

....runs QuickBasic using new Quick Library.

Once the Quick Library is constructed, 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.

TheDraw v4.63 Pull Down Menu System 46


The file QB4UTIL.BI lists the display routine declarations for
convenience. At the top of your program, simply include it with the
following meta command:


Four routines are declared within this file:

UNCRUNCH Contains algorithm needed to display crunched
screen images.
ASCIIDISPLAY Display ascii-only object files.
NORMALDISPLAY Display normal binary object files.
INITSCREENARRAY Initialize a dynamic array for directly
accessing the video screen. Can be used
instead of DEF SEG, PEEK, and POKE.

The actual declarations are:


The first parameter to the display routines is the identifier saved
within a given object file (ie: IMAGEDATA&).

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

To compute an arbitrary video location, for any text mode including
the 43/50 line EGA/VGA modes, use the formula:

Video Offset = (X-1)*2 + (Y-1)*160

X is the horizontal column number, and Y is the vertical line number.

TheDraw v4.63 Pull Down Menu System 47

Example program using image screens. Assume three screens are
available with the identifiers Q1, Q2, and Q3. Q1 is crunched, Q2
saved as Ascii-Only, and Q3 saved with normal binary.

REM $INCLUDE: 'QB4UTIL.BI' ' Get display routine declarations

DECLARE FUNCTION Q1& ' Important! Do not neglect either
DECLARE FUNCTION Q1Width% ' the "&" or "%" symbols on function
DECLARE FUNCTION Q1Depth% ' declarations shown here.

CLS ' Clear screen
PRINT "Screen #1 (Crunched)" ' Print data of this image then
PRINT " Width: "; Q1Width% ' pause for user.
PRINT " Depth: "; Q1Depth%
PRINT " Length:"; Q1Length%
CLS ' Clear screen
CALL UNCRUNCH(Q1&, 0) ' Go uncrunch first image
WHILE INKEY$ = "": WEND ' Pause

PRINT "Screen #2 (Ascii Only)" ' Print data on second image
PRINT " Width: "; Q2Width% ' and pause for user.
PRINT " Depth: "; Q2Depth%
PRINT " Length:"; Q2Length%
CALL ASCIIDISPLAY(Q2&, 0) ' Display ascii-only image data.
WHILE INKEY$ = "": WEND ' Pause

PRINT "Screen #3 (Normal Binary)" ' Print data on third image
PRINT " Width: "; Q3Width% ' and pause for user.
PRINT " Depth: "; Q3Depth%
PRINT " Length:"; Q3Length%
CALL NORMALDISPLAY(Q3&, 0) ' Display normal binary image.
WHILE INKEY$ = "": WEND ' Pause

TheDraw v4.63 Pull Down Menu System 48

REM $DYNAMIC ' Setup dynamic integer array
DIM SCREEN%() ' mapped over video display.

FOR Y% = 1 TO 25 ' Make screen scroll downward.
FOR X% = 1999 TO 160 STEP -1
SCREEN%(X%) = SCREEN%(X%-160)

FOR X% = 0 TO 159 : SCREEN%(X%) = 0 : NEXT ' Clear top line.
FOR X% = 0 TO 1000 : NEXT ' Slow things down.

The first call (to UNCRUNCH) displays Q1 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 and used (the Image, the width, depth, and data
length) for example purposes. In normal use you need only declare
what you need. If you always used 80x25 screens, there would be no
need to access the image width and depth for instance.

The INITSCREENARRAY sets up a dynamic array mapped over the video
display. To directly manipulate the screen, you can perform various
useful operations with this array. For instance, the above example
scrolls the screen downward thus clearing the screen. You may find
this more convenient than setting up DEF SEG, and using PEEK/POKE
operations. Initializing the array requires the following (the name
used here is "screen" but can be changed to anything):


After initializing the array, individual screen elements are
available. To put a yellow letter "A" on the screen:

SCREEN%(0) = ASC('A') + 256*14

Compare against the equivalent PEEK/POKE approach (assume DEF SEG has
been initialized to &HB800 for color, or &HB000 for monochrome video):

POKE 1,14

Pick whichever approach you feel most comfortable with.

TheDraw v4.63 Pull Down Menu System 49


The above examples all assume using the QuickBasic integrated
environment. For most users this is adequate. However, the more
sophisticated user might prefer their own text editor and use dos

Using TheDraw object files is done exactly as described previously.
Create the .OBJ files, and use MAKEQLB to produce the Quick Library
(.QLB) and stand alone (.LIB) library files. ie:


Compile your source code normally using the BC program. ie:


When linking your program, simply add the stand alone library from
MAKEQLB to your command line when making your .EXE file:


It is possible to bypass the MAKEQLB step, but then all screen image
objects plus TheDraw's display routines must be added to your link


The MAKEQLB approach eliminates some of the extra typing in the final
command line. Since MAKEQLB is normally run when updating screens,
using it saves time and cuts down on typing errors.

TheDraw v4.63 Pull Down Menu System 50

PROGRAMMING IN CLIPPER(TM) (courtesy of Ian Thurston):

A full TheDraw screen saved as a BINARY file (.BIN) has the same
format as the Clipper compiler uses to "SAVE SCREEN TO ". For
both Clipper and TheDraw, a full text screen save consists of 2000
"words" (or 4000 bytes). Each word represents the character and
attribute of a single screen location.

Importing Full-Screen BINARY files:

We can easily read any file less than 64k bytes into a Clipper memory
variable with the "MEMOREAD" function. Combining the MEMOREAD and
RESTORE SCREEN command as follows yields:


Importing Partial-Screen BINARY files:

Once again, a partial/block TheDraw screen saved to a BINARY file
(using the ALT-B,Save command) has the same format as Clipper's
corresponding command:


For example, assume TheDraw was used to prepare a screen. It was then
blocked using ALT-B, with the upper left corner at row 10, column 10,
while the lower right corner was at row 20, column 70. The Save
option was selecting using the Binary option, and saved to the file

Again, the TheDraw Binary file is read into a Clipper memory variable
using the "MEMOREAD" function, which itself is used as the argument
for the partial screen restore function RESTSCREEN (t,l,b,r,):


Note: As is usual with this sort of function, a block can be restored
at a different screen location ... but the width and height must
remain the same, else the display will look very ugly indeed. Also
correct programming practice would have us check for file existence
and length before trying these techniques. You may choose to wrap the
functions inside a parameter checking shell.

TheDraw v4.63 Pull Down Menu System 51

Combining Multiple BINARY (.BIN) Files:

If quite a few Binary files will be stored on disk and incorporated
into an application, why not combine them into one Clipper database to
simplify things? The process for accomplishing this is described

a. Create a database for .BIN files using the following structure:

Structure for database: BIN.DBF

Field Field_Name Type Width Dec
1 BIN_NAME Character 8
2 BIN_TOP Numeric 2
3 BIN_LEFT Numeric 2
4 BIN_BOTTOM Numeric 2
5 BIN_RIGHT Numeric 2
6 BIN_SCREEN Memo 10

b. Using the MEMOREAD function, import the BIN files as character
variables, then store them in memo field BIN_SCREEN using the REPLACE
command. Next, save the screen display coordinates into BIN_TOP,
BIN_LEFT, BIN_BOTTOM, and BIN_RIGHT (for a full screen, those
coordinates are 0,0,24, and 79). Finally, store a meaningful name for
the screen in BIN_NAME (ie: "MAINMENU" for a main menu display).

c. Index the file on BIN_NAME.

Now to use this file, we need the following function:

FUNCTION showbins
PARAMETERS screename
PRIVATE tempselect
tempselect=SELECT() && Keep track of where we were working
IF SELECT("BIN") = 0 && Check to see if BIN has been opened
SELECT 0 && If not, find a blank work area,
USE bin INDEX bin_name && and then open up BIN for use
SELECT bin && Go to the BIN area
SEEK screename && Look for the specified screen
IF FOUND() && and show it if it exists
RESTSCREEN (bin_top,bin_left,bin_bottom,bin_right,bin_screen)
SELECT (tempselect) && return to the original work area

Example Usage:

TheDraw v4.63 Pull Down Menu System 52

PROGRAMMING IN CLIPPER (courtesy of Larry Stewart):

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

PARAMETER binfile,t,l,b,r
PRIVATE m_buffer,m_handle,m_bytes,m_size

IF ! ("." $ binfile) && Does file have an extension?
binfile = binfile+".BIN" && No, default to .BIN

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
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)
m_bytes = FREAD(m_handle,@m_buffer,m_size)

TheDraw v4.63 Pull Down Menu System 53

FCLOSE (m_handle)
IF m_bytes = m_size
RESTSCREEN (t,l,b,r,m_buffer)
RETURN .F. && Error if file not big

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

TheDraw v4.63 Pull Down Menu System 54


TheDraw can be fully controlled via the use of pull down menus. The
menus greatly simplify learning TheDraw by conveniently showing all
related commands. Each menu also displays the corresponding shortcut
keystrokes (such as ALT-L for files loading).

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 foNts Animation Color Toggles Help

Each heading is briefly described 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.

FILES Global Options Screen foNts Animation Color Toggles Help

Delete Alt-K
Change Dir Alt-O

TheDraw v4.63 Pull Down Menu System 55

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.

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.

TheDraw v4.63 Pull Down Menu System 56


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.

Files GLOBAL Options Screen foNts Animation Color Toggles Help

Copy Alt-G,C
Move Alt-G,M
Fill Alt-G,F
Text Alt-G,T
rePlace Alt-G,P

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 suboptions
are: Draw Box, Outline contents of screen, Center Justify screen
contents, Left Justify, and Right Justify.

REPLACE - Global Screen Replace (ALT-G,rePlace)

Replaces all occurrences of the current character (under the
cursor) with any combination of current attributes and a new

TheDraw v4.63 Pull Down Menu System 57


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.

Files Global OPTIONS Screen foNts Animation Color Toggles Help

Character Set Alt-F
At-Codes Chart Alt-Q
Tab Setup Alt-T
Ruler Alt-N
Paint/Fill Alt-P

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.

AT-CODES CHART - Quick Reference of PCBoard/Wildcat AT-CODES (ALT-Q)

Shows a window containing the AT-Code commands used by the PCBoard
and Wildcat bulletin board systems. Use arrows keys or mouse to
scroll, and press [ENTER] to place your choice into the edit
screen. Note the codes are drawn simply as normal text, using the
current color attributes. TheDraw has no awareness of these codes
beyond the quick reference chart. Partly altering the colors used
in a command code affects screen saving.

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.

TheDraw v4.63 Pull Down Menu System 58

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 23, 25, 43,
50, or 100 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 may only be 43 or 50 lines.

An exception is the 23 line buffer, available only with the
standard 80x25 video mode. Using the 23 line buffer disables
full screen editing and [CTRL-PRTSC] is ignored.

Choose one of the following video edit modes: Standard 80
character by 25 lines (80x25), 80x43 (if using an EGA card) or
80x50 (if using a 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.63 Pull Down Menu System 59

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 make things easier.

Similar to the above, but used during loading. If you are
working with a given file type regularly, changing the default
load format will saves typing the file extension. ie: if set
to Binary, "DEMO" becomes "DEMO.BIN" instead of "DEMO.ANS".

Instructs TheDraw to generate backup files when saving. If a
file already exists, TheDraw renames the existing file's
extension to .BAK before continuing.

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.

The quick palette is normally available when the pull-down menus
are displayed. If you prefer not using the Quick Palette, it
can be disabled with 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 (value of 0).

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.

TheDraw v4.63 Pull Down Menu System 60

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

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 problems with other programs. This filter
will convert all solid spaces to normal spaces in the data
written to disk (for Ansi, Avatar, Ascii, PCBoard, Wildcat, 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.

Many times a screen does not use the entire video. To avoid
TheDraw outputing the extra blank lines present on the bottom of
such screens, this option can be used. It will generate files
equivalent to using a block save command.

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

TheDraw v4.63 Pull Down Menu System 61

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.


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.

Files Global Options SCREEN foNts Animation Color Toggles Help

Clear Page Alt-C
Select Page Alt-E
Insert Line Alt-I
Delete Line Alt-Y
Insert Column
Delete Column
Restore/Undo Alt-R

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 new page layer to display or work on (ALT-E)

Prompts for a new page layer you wish to edit. Enter a number
between one (1) and the number of available pages. The mouse can
be used for selection by pressing the RIGHT button.

INSERT LINE - Place blank line on screen (ALT-I)

Inserts a blank horizontal screen line at the position of the edit
cursor. This command can be reversed by utilizing the Restore/Undo
command (ALT-R).

TheDraw v4.63 Pull Down Menu System 62

DELETE LINE - Delete current line from screen (ALT-Y)

Deletes a horizontal screen line at the position of the edit
cursor. This command can be reversed by utilizing the Restore/Undo
command (ALT-R).

INSERT COLUMN - Place blank column on screen (ALT-)

Inserts a blank vertical screen column at the position of the edit
cursor. This command can be reversed by utilizing the Restore/Undo
command (ALT-R).

DELETE COLUMN - Delete current line from screen (ALT-)

Deletes a vertical screen column at the position of the edit
cursor. This command can be reversed by utilizing the Restore/Undo
command (ALT-R).

RESTORE/UNDO - Recover from unwanted changes on the screen (ALT-R)

Undoes the most recent changes done to the screen. The restore
can "undo" block operations, line insertion or deletions, animation
mode toggles, global screen functions, font entry, and any changes
to the current horizontal line being worked on. Notes with the
latter item, once you leave the current horizontal line any changes
are permanent.

TheDraw v4.63 Pull Down Menu System 63

The FONTS Menu

The Fonts pulldown menu supports choosing various styles and outline
types. The menu shown below is only an example. The actual fonts
available can vary depending on your configuration. Additional fonts
may be present, or the ones shown changed. Ascii fonts can be
extremely useful in sprucing up a display. They are excellent for
title bars, or whatever you desire. Upon choosing an Ascii font, the
word "FONT" will appear in the status line.

Files Global Options Screen FONTS Animation Color Toggles Help

Standard Font
outline Type

A: Outline *
B: BigOutline *
C: ThickOutline
D: Medium
E: Rounded
F: Raster


The standard font is the normal text lettering associated with each
key. This is the default setting upon loading TheDraw. The standard
font is used for lettering seen in the help screens, the pulldown menu
bar, status line, etc...

OUTLINE TYPE - Choose a Font Outline:

The outline type option is only available when an outline formatted
font is selected. These are indicated with an asterisk ("*")
appearing after the font description. Outline formatted fonts are
special in that they can appear in different styles. There are 17
various styles to choose from. Some examples are:

TheDraw v4.63 Pull Down Menu System 64


Remaining options in the fonts submenu select specific fonts. TheDraw
supports the entire visible Ascii character set (#33 to #126). ie:


Extended function key symbols are not currently supported. To enter a
given symbol to the edit screen, simply press the corresponding key.
ie: for a letter "A", type the "A" key. The symbol will appear fully
in the current color attributes.

Not all symbols are necessarily available in all fonts. Some fonts
may only provide the alphabet and numbers. TheDraw beeps if a wanted
symbol is not available. The original fonts distributed with TheDraw
do not contain any omissions.

Once a font has been selected, the word "FONT" replaces the "Text"
indicator on the status line as a reminder. In addition, once you
start typing symbols the cursor becomes a full block. So long as the
full block cursor is shown, you can use the BackSpace key to correct
mistakes on the fly. Press ALT-R (Restore/Undo) to remove any
undesired key sequences completely.

There are three main types of fonts: Normal block, Outline, and
Multi-Color fonts. Normal fonts are just simple block images. They
are drawn using the current color attributes. Outline fonts are
special in that the way they are drawn can be changed on the fly using
the OUTLINE TYPE command (described above). Multi-color fonts are a
special breed that define fixed colors in addition to characters. The
current color attributes are ignored.

Outline fonts are indicated by an asterisk "*" appearing after the
description. Multi-color fonts a letter "C".

TheDraw v4.63 Pull Down Menu System 65


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). Note this menu is only available
when TheDraw is actually in animation mode - otherwise it is disabled.

Files Global Options Screen foNts ANIMATION Color Toggles Help

Screen Redraw Alt-Q
Auto Repeat ALT-Q,A
Change Character Alt-W
Erase Character Alt-Z

Include Files Alt-G,I
Limiting Alt-G,L
marKer Alt-G,K
Movement Storage Alt-G,M
Rescan Animation Alt-G,R
Pause Animation Alt-G,P

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

AUTO REPEAT REDRAW - Display Animation Sequence Repeatedly (ALT-Q,A)

Identical to screen redraw, except the animation sequence is drawn
over and over continuously. You must press a key to end the

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 can changes entries without adding unwanted new ones.

TheDraw v4.63 Pull Down Menu System 66

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.

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

TheDraw v4.63 Pull Down Menu System 67

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.

The COLOR Menu

Use this menu to select edit colors. Available options set the normal
edit foreground and background color, the default background color
used for erasing areas, and "picking up" colors currently used under
the cursor.

Files Global Options Screen foNts Animation COLOR Toggles Help

Fore/Back Alt-A
Default Alt-D
Under Cursor Alt-U
Shading Alt-A,A

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

TheDraw v4.63 Pull Down Menu System 68

SHADING - Select Color Shading Combination (ALT-A,A)

Present only in the registered version of TheDraw. It is derived
from the SHADING.TD example file distributed with the shareware
version of TheDraw. Incorporated in the registered version, it
provides a powerful and easy to use tool.

A screen is shown containing all available color combinations, when
used in conjunction with the block symbols from function key set 6:

Pressing the [SPACE] bar toggles the color highlight on any off.
Use the arrow keys to select a color. The current colors are
spelled out along the bottom of the selection window.

Press [ENTER] to choose a color. The block symbol selected
becomes the current "picked" character, and can be used with the
manual painting keystrokes (shift arrow-keys).


The Toggles menu contains settings for controlling how TheDraw works.
The settings affect things like line draw or sprite mode, animation
mode toggling, character insert mode, and full screen editing.

Files Global Options Screen foNts Animation Color TOGGLES Help

Draw Mode Alt-M
Color Draw Alt--
Sprite Mode Alt-E,T
Animation Mode Alt-J
Pick Character Alt-/
Insert Mode Ins
Full Screen Ctrl-PrtSc

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.

TheDraw v4.63 Pull Down Menu System 69

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.

PICK CHARACTER - Select Current Character for Manual Painting (ALT-/)

Toggles manual painting, using the character currently under
cursor. It is indicated by a "x" structure in the status line
(where 'x' is the symbol chosen). You manually paint with the
Shift Arrow-Key combinations (ie: Shift-Up-Arrow, Shift-Right-

Arrow, etc...).

Other ways to pick characters include using the Quick Palette, or
the color Shading screen available in the registered version.
Manual painting is turned off by picking up the same symbol as
currently selected.

INSERT MODE - Character Insert Mode Toggle (INS)

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 entire video screen available for editing.

TheDraw v4.63 Pull Down Menu System 70

The HELP Option

This is not really a pulldown menu at all. Rather, it is a entry into
the outline help screens of TheDraw. The four screens provide a
general overview of most functions in the program.


The Quick Palette is perhaps one of the easiest ways of choosing
colors and extended characters; especially if using a mouse. This
window appears at the same time as the pull down menu bar. From the
keyboard type either [ALT-Q] or the [TAB] key to select. Mouse users
simply need move the pointer over the window.

Quick Palette
Fore [] Blink Back []

...... ..

There are four fields. The top three are for choosing a foreground
color, toggling the blink attribute, and choosing a background color.
Mouse users need only click on the desired color to select. Keyboard
users must use the CTRL-Up/Down/Left/Right arrow key combinations to
change colors using the Quick Palette.

The bottom field contains most extended character attributes.
Choosing an extended character from the Quick Palette does three
things for you:

o Places the character onto the edit screen at the cursor.
o It makes that character the "picked" symbol for manual painting.
o It changes the current function key set to the one containing
the specified symbol.

Keyboard users move around in the bottom field with the arrow keys.
Press [ENTER] to choose a symbol.

This can be very helpful for quickly using odd symbols, which are
spread across multiple function key sets. Instead of typing ALT-F,
finding the symbol, selecting a set, then hitting the proper function
key, you now simply point and click. What could be easier?

The Quick Palette does not contain all of the line drawing symbols.
Typically there is no point in using the manual paint mode for these
symbols, as the line drawing toggle (ALT-M) is available. The act of
choosing the function key set can be useful though, and is provided.

TheDraw v4.63 Pull Down Menu System 71



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- commands for more details
(ie: Ctrl-, Ctrl-, etc...)

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.63 TheDraw Command Functions 72


The registered version of TheDraw includes a built-in version of the
SHADING.TD example file (distributed with the shareware release). As
incorporated into the registered version, it provides a powerful and
easy to use aid in color mixing and selection.

To reach this screen, type ALT-A from the change attributes screen.
From the edit screen type ALT-A twice, or pick the Shading option from
the COLORS pulldown menu.

A screen will appear showing all available color combinations using
along with the block symbols from function key set 6:

Pressing the [SPACE] bar toggles the color highlight on any off. Use
the arrow keys to select a color. The current colors are spelled out
along the bottom of the selection window.

Press [ENTER] to choose a color. The block symbol selected becomes
the current "picked" character, and can be used with the manual
painting keystrokes (shift arrow-keys).


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.

TheDraw v4.63 TheDraw Command Functions 73

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. Mouse users may mark a
block by pressing and holding the LEFT mouse button, moving the mouse
to wanted block size, and releasing.

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.

TheDraw v4.63 TheDraw Command Functions 74

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 default background color (see ALT-D command). All sub-commands
are identical to the block copy described above. Under animation,
the exact pattern of a the shifted animation sequence is relocated.

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 status line values.

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). The Character and Both options in
Animator mode ADD to the animation sequence.

TheDraw v4.63 TheDraw Command Functions 75

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

Going the other way, if you block marked just the
center letter of a long word (with no spaces) the
block edges would expand to accommodate the entire
word. Note: the expansion is only done for words
INITIALLY part of the block. Any words the block
expansion happens to go over are ignored, and are
not considered by Text Outline.

Center - Text contained or partially contained by the block
is centered. The way this is done is similar to
the text Outline described above. Each line of
characters considered is expanded to just enclose
all words. The string of words is then centered on
the position of the block.

Left - Text contained or partially contained is moved to
the left edge of the block. Block expansion is
used so words are not split apart.

Right - Identical to Left except contained or partially
contained text is moved to the right edge of the

These commands are useful making menu displays, short memos,
letters, etc...

TheDraw v4.63 TheDraw Command Functions 76

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.63 TheDraw Command Functions 77

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 are available only in animation edit mode:

FADEOUT - Animation Fadeout Fill

Identical to the block fill command; however, in addition you are
prompted for an animation scanner. This option gives you the
ability to easily have a screen appear using one animation effect,
then be erasing using another.

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

TheDraw v4.63 TheDraw Command Functions 78

command. Selecting [A]ll will clear ALL page layers. You are
prompted to verify this request before continuing. Useful if you want
a completely clean slate.

The clearing of a given page layer is done by using spaces and the
default background color (see ALT-D). The clear screen can be
reversed using the Restore/Undo command (see ALT-R).


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

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 change page layer 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]?

TheDraw v4.63 TheDraw Command Functions 79

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

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

3 .
Top-Most Layer 2

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.

TheDraw v4.63 TheDraw Command Functions 80

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.


This command presents a display of the 150 special extended 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 within this display is done using the
Up/Down arrow keys or using the mouse. Press [ENTER] or click the
mouse button when satisfied.

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


An alternate means for selecting function key sets is available from
the normal edit screen. 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

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.

TheDraw v4.63 TheDraw Command Functions 81


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.

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.

TheDraw v4.63 TheDraw Command Functions 82

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.

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.

FADEOUT - Animation Fadeout Fill (animation mode only)

Identical to the global fill command; however, in addition you are
prompted for an animation scanner. This option gives you the
ability to easily have a screen appear using one animation effect,
then be erasing using another.

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.

TheDraw v4.63 TheDraw Command Functions 83

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.

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.

TheDraw v4.63 TheDraw Command Functions 84


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!


Inserts a blank horizontal line at the current position. The current
line and all those below it are shifted down. The bottom line is
lost. The blank line is filled with spaces colored using the default
background color. This command can be reversed using the Restore/Undo
command (ALT-R).


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" or pattern must be specified. The
particular pattern used tells TheDraw how to read your static images
for display. Scan patterns can be altered using two adjustment
toggles. These are:

REVERSE Reverse entire scan pattern. Last character scanned
becomes the first displayed in the animation sequence.

FLIP Vertically exchanges scanning of the screen scan top to
bottom. For example the TOP scanner below scan across
the screen (left to right) starting on the bottom line,
moving upwards.

There are fourteen different generic scan methods/patterns are
available. By combining these with the above adjust toggles, over 50
patterns are possible.

TheDraw v4.63 TheDraw Command Functions 85

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 outward.
ie: small circle, then slightly larger encompassing circle, then
slightly larger again, etc...

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

TheDraw v4.63 TheDraw Command Functions 86

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.

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

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

TheDraw v4.63 TheDraw Command Functions 87


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

The registered version of TheDraw also supports:

o Animation Position Editing (Sequence Limiting)
o Specify Animation Markers

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. These are
useful for the so called "Ansi Music" sequences, frequently used
images, complex BBS control code sequences (for systems such as
WildCat), etc... The animation USER-SEQ function following might
be more suitable for the latter task however.

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

TheDraw v4.63 TheDraw Command Functions 88

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.


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:


ascii 27 ascii 14

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

USER_SEQ - Specify Animation User Control Sequence

Allows you to insert your own short control code sequences directly
into the Ansi/Avatar 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.

TheDraw v4.63 TheDraw Command Functions 89

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

You are prompted for the user sequence to modify. Next
the sequence must be typed in. For Ansi escape sequence
press the escape key (appears as "^["), an open square
bracket, followed by the necessary command codes. ie:

[2J (will clear the screen)

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.

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

TheDraw v4.63 TheDraw Command Functions 90

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

TheDraw v4.63 TheDraw Command Functions 91

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

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

TheDraw v4.63 TheDraw Command Functions 92

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.


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, AVATAR text, PCBOARD text, WILDCAT text, BINARY dump, Basic
BSAVE, TheDraw Object, TheDraw COM, TheDraw TD format file, or TheDraw
Library 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.

TheDraw v4.63 TheDraw Command Functions 93

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:

Avatar .AVT
PCBoard .PCB
Wildcat .BBS
Binary Dump .BIN
TheDraw COM File .COM
TheDraw OBJ File .OBJ
TheDraw Format .TD
TheDraw Library File .TDL

(Note: The above filename extensions can be changed in Setup Options
menu with TheDraw, or via the Setup Utility Defaults option).

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.

When loading Ansi, Ascii, Avatar, PCBoard, or Wildcat files only the
first screen is stored. Any extra lines 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.


These formats are pseudo-text files. They load similar to Ansi files,
but because the control patterns differ TheDraw selects the
appropriate routines based on the extension.

TheDraw v4.63 TheDraw Command Functions 94


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


These are an extension to TheDraw TD files, permitting many to be
stored together. Comments may be added to provide a quick and
efficient reference. System administrators or BBS operators could
place all screens into a library for convenient reference when updates
are necessary.

Since multiple images are stored per library file, attempting to load
one presents the user with a directory. Choose an entry from the
directory with the up/down arrows and press [ENTER] to load a file.
Typing [ESC] will abort the load.


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.

TheDraw v4.63 TheDraw Command Functions 95


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.

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.

TheDraw v4.63 TheDraw Command Functions 96

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.

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.


Shows a window containing the AT-Code commands used by the PCBoard
and Wildcat bulletin board systems. Some examples of AT-codes are:


Use arrows keys or mouse to scroll, and press [ENTER] to place your
choice in the edit screen. The current color attributes are used when
drawing. This effect when used in the BBS will be to display the
appropriate item in the displayed color.

Note: The codes are put down simply as normal text. TheDraw has no
awareness of these codes beyond the quick reference chart. Mixing
colors within a code will not affect TheDraw, but will adversely
affect your bulletin boards ability to interpret the codes properly.

ALT-Q (animation mode): REDRAW SCREEN

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.


Typing "A" will turn on autorepeat redraw. The animation sequences
will be repeated over and over until a key is pressed.

TheDraw v4.63 TheDraw Command Functions 97


Restores from unwanted or unintended screen changes. This function
can undo block or global changes, clear or load screens, line or
column insert or deletes, animation mode toggles, font entry, mistakes
made to the current line, etc...

In regards to current line changes, such modifications are permanent
once you move to a new line.


The Save Screen command offers many formats for saving the entire
current screen. If you do not require the full screen, use a block
save (see ALT-B). These can be more effective at times. Another
option is turning off excess blank lines using the defaults setup
(refer to pull down OPTIONS menu).

The available formats are: Ansi, Ascii, Avatar, PCBoard, Wildcat,
Binary, BSave, Com, Asm, C, Pascal, Object, TheDraw Data, and TheDraw
Library. Please note that all color attributes are lost in an Ascii
file. All other formats store the complete screen with color (unless

You are first prompted for which storage format to use. In animation
mode, only ANSI, AVATAR, and THEDRAW formats are available. The items
on the menu are discussed below.

ANSI - Ansi text file

You are first asked what initial screen preparation you want before
the image is displayed. Options are:

CLEAR - Clear the screen
HOME - Move cursor to the upper-left corner of screen
NONE - Leave the screen and cursor position as is.

The next prompt is for the maximum length of each line in the saved
file. TheDraw can generate over 1300 characters per video line
(if every character had a differing color combination). Some
applications (such as some bulletin boards and text editors)
cannot handle so many characters per line. Limiting the output
line length sacrifices display time for compatibility with these
applications. If length is no problem, specify [N]ONE for the most
efficient file.

TheDraw v4.63 TheDraw Command Functions 98

Lastly, you are prompted for the Ansi display speed (a number from
0 to 100). The operation is similar to the ALT-Q animator redraw
screen function. Things are slowed down by adding redundant codes
after displayed characters.

NOTE: No exact equation relates the slowdown speed to animation
redraw speed. Display is intimately tied to the computer speed,
and how the file ultimately is displayed. A program included
with the registered version (BAUDSIM) simulates the effect of
displaying a file over a modem. BBS operators can find this
valuable in gauging screens beforehand. Experimenting will
find the best speed for your needs.

ASCII - Ascii Text (no colors)

Selecting ASCII, you are prompted to continue with a non-color
image. The Ascii file produced is similar to any file produced by
a normal text editor (ie: Dos EDIT, Brief, Turbo Pascal/C IDE or
Sidekick editors).

There is one difference in the approach used by TheDraw however.
Lines of Ascii fully 80 characters wide, are normally NOT ended
with carriage return sequences (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 Default Options
configuration (see pulldown OPTIONS menu). Set this toggle if you
are having difficulties.

AVATAR - Avatar Type 0 Text

TheDraw produces an AVT/0 type file. These are compliant with all
needs for reproducing animation. There are two prompts presented
after selecting this format, similar to those used by Ansi files.

The first is identical to Ansi; initial screen preparation. This
controls what happens before the images is displayed. Choices are:

CLEAR - Clear the screen
HOME - Move cursor to the upper-left corner of screen
NONE - Leave the screen and cursor position as is.

The second prompt is for display speed slowdown (ironic in that
Avatar was devised as a technique to draw color text faster than
Ansi). This is a number from 0 to 100 enabling you to slow how
fast the Avatar file is drawn. Things are slowed down by adding
redundant control codes into the display.

TheDraw v4.63 TheDraw Command Functions 99

AT-Codes / PCBoard / Wildcat BBS

The main save prompt lists "@-codes" as a file type, then prompts
for the PCBoard or Wildcat variation. These are so close to each
other both are covered together.

Like the Avatar format above, there are two parameter options for
video preparation and display speed. The first prompt only offers
Clear Screen or None. TheDraw AT-Code files do not provide for
cursor control, and thus the cursor Home option is not provided.

The AT-Code format was devised to simplify the system operators job
in create screens. Only one need be created, and the BBS filters
out color codes for users not wanting Ansi graphics. It is
unfortunate the authors did not consider the ease at which a simple
Ansi filter could have been created.

TheDraw contains a convenient quick reference of most PCBoard and
WildCat BBS macro codes (such as @CLS@, @USER@, @LASTCALL@). These
can be also typed manually onto the screen. No special processing
is done with these codes beyond the reference screen. The actual
field lengths of some macros might affect your screen display, and
should be compensated for.

The color combinations of Black-on-Black (code $00), and Blinking
White-on-Lightgray (code $FF) are not permitted by PCBoard and/or
Wildcat. These are translated into Lightgray-on-Black (code $0F)
and White-on-Lightgray (code $7F) accordingly by TheDraw as

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"

If you have a monochrome monitor, replace the B800 with B000 in the
above line. BSAVE files are always saved to the full screen width.
Block saves are limited by this restriction also.

TheDraw v4.63 TheDraw Command Functions 100

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 selects the
most appropriate to minimize file size.

ASM - Assembly Language

ASM produces a list of DB data statements for use by assembly
language programmers. Additional suboptions 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.

Note: To display a crunched file you must use the uncruncher
routine included (file 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 only characters on the screen. No color
attribute information is stored. The Normal format is a pure
binary dump of the screen, converted to an assembler compatible

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 and the dreaded so called
"magic numbers".

TheDraw v4.63 TheDraw Command Functions 101

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 Language - C Formatted Compatible Screen Dump

Again, this operates the same as the ASM option. The format is
standard predefined C array of type char. Crunched screens are
handled 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.
In short, depending on the code model use select (near or far), the
corresponding object must be linked with your program.

OBJECT - Intel Compatible Object Code File

This is a file 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)
QuickBasic v4.0 (and above)
Small Data
Large Data

The TP40 format is compatible with Turbo Pascal v4.0 through v7.0,
and Borland Pascal v7.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/7.0"
in the Programmers Programming Tips section for examples.

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 create the Quick Library
and separate library files easily. To use, the first parameter
should be the name of the quick library to create.

TheDraw v4.63 TheDraw Command Functions 102

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
v4.0 AND v4.5" in the Programmers Programming Tips section for
examples on usage.


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.

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

THEDRAW Data File - 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.

THEDRAW Library File - Group Management of TheDraw Setup Saves

Very similar to TheDraw Data files, this extension permits saving
many screens in one file. A description can be added for each
entry, and information on the screen size and type (normal, block,
or animated) is also stored. After entering a filename as shown
below, the screen switches to a directory of the specified library.

Once in the directory, selecting the last entry adds onto the
library. Choosing an existing entry replaces it. Press [ENTER]
and the entry is updated. Press [ESC] to abort.

Note: For maximum file security, a temporary copy of the
library is kept while updates are made. You therefore should
have enough disk space available for an entire copy of the
library before attempting to save.

An example of the library entry selection window is shown below:

#: Description Last Updated Size Info

1: Main Menu for System 02/01/93 4:06pm 80x25 Anim
2: New User Information Screen 01/17/93 2:17pm 80x100

TheDraw v4.63 TheDraw Command Functions 104


Following the above prompts, TheDraw asks 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
.AVT Avatar Type 0 compatible
.BBS Wildcat BBS
.BIN Binary dumps
.BSV Bsave files
.COM Dos COM executable files
.ASM Assembler source code files
.PAS Pascal source code files
.H C source code files
.OBJ Object files
.TD TheDraw Data files.
.TDL TheDraw Library files.

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 in your programs, see section 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.

TheDraw v4.63 TheDraw Command Functions 105


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. See also Pick Character (ALT-/).


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 it reappears to remind you about view
mode (in case you leave the computer unattended).

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

TheDraw v4.63 TheDraw Command Functions 106


Deletes the current horizontal 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 reversible
using the Restore/Undo command (ALT-R).

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


TheDraw offers easy manual painting support. Similar to line drawing,
you draw or paint using a specific "picked" character. This command
toggles manual painting, using the character currently under cursor.

Manual paint mode is indicated by a "x" structure in the status line
(where 'x' is the symbol chosen). You draw with the symbol by via the
Shift Arrow-Key combinations. ie:

Shift Up-Arrow
Shift Right-Arrow

To turn off manual paint mode, you must pick the same character again.
If painting with an "*", you must type ALT-/ when the cursor is
resting on a "*" symbol.

There are other ways of picking characters. These are via the Quick
Palette and the color shading screen (in the registered version).
Using the Quick Palette is very easy with a mouse. Simply click on
the wanted character is it immediately becomes the picked character.
The color shading screen sets the picked character to "", "", or ""
depending on the shading selected.

TheDraw v4.63 TheDraw Command Functions 107


Deletes the current column on the screen. Everything to the right of
the current column is shifted over one position. The right-most
column is cleared using the default background color. This command is
equivalent to a Block Delete (ALT-B,D) on the current column. The
action is reversible using Restore/Undo (ALT-R).


Inserts a blank vertical column at the current position, filled using
the default background color. The current column and all those to its
right are shifted over. The right-most column is lost. This command
is reversible using the Restore/Undo command (ALT-R).


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.

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

TheDraw v4.63 TheDraw Command Functions 108

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.


TheDraw would repeat the macro contents until ESC was pressed.


The manual painting is done using the shift-arrow key combinations.
For instance:
Shift Up-Arrow
Shift Right-Arrow

Selecting a character to paint with is done with the Pick Character
command (ALT-/), then choosing a symbol from the Quick Palette (see
pulldown menus), or the color shading screen found in the registered
version (ALT-A,A).

To turn off manual paint mode, simply pick the same character again.


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.63 TheDraw Command Functions 109


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 normal and full
screen. In full-screen mode the status line disappears so you can
fully use the screen. Also, TheDraw makes heavy use of pop up
windows for prompts and messages. 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 way.

TheDraw will automatically scroll the video as necessary, even with
the status line on. Full screen mode is generally used to take a
complete look at your work.

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.63 TheDraw Command Functions 110


TheDraw has complete support for Ascii class fonts. These fonts are
letters and symbols drawn using the IBM extended character set. ie:


TDFonts is the management utility for adding and updating the font
database. The utility was designed to be straightforward to learn.

There are two types of fonts supported by TDFonts and TheDraw: Block
and Outline formatted. Block fonts are very simple and nothing more
than recorded shapes you enter. Outline fonts are special in that
they can appear using one of 17 different styles (see "The FONTS
Menu"). Included with TheDraw, the fonts "Outline" and "BigOutline"
are examples of this type. Some examples of the styles are:

The choice of formatting types is made when creating a font. The Font
Editor (described later) is used to prepare and update the symbols.


To start TDFonts, type from the dos prompt:


Press [ENTER] to run the program. By default the program looks for
the database file TDFONTS.TDF in the current directory. To edit other
files, list the filename as show:

TDFONTS MYFONTS.TDF (loads MYFONTS.TDF instead of default)

Keep in mind only TDFONTS.TDF is actually used by TheDraw. You must
either import your fonts into the file TDFONTS.TDF, or rename your
file to TDFONTS.TDF.

TheDraw v4.63 The Font Editor 111

The database is loaded and the font names listed on the screen. ie:

A: Outline
B: BigOutline
C: Raster
D: Rounded

Naturally the actual list will vary depending on how the data file has
been manipulated. Along the bottom of the screen are all the edit
commands. These are for viewing, changing, creating new fonts,
importing and exporting fonts, etc...


This command is for seeing exactly how a given font symbol appears
when used in TheDraw. Any special formatting information is hidden.

Select [V]iew from the main menu. Next, pick a font to display using
either the up/down arrows keys or by typing the letter associated with
the wanted font. Press [ENTER] to continue, or [ESC] to return to the
main menu.

Pressing [ENTER] brings up the font symbol selector bar. ie:


The first character "!" is highlighted, and the corresponding font
symbol appears below the selector bar. Choose different symbols to
view with the arrow keys. For undefined symbols, the following
message "Symbol not defined" is shown.

Just above the command bar is a note about the font spacing. This
number tells how many spaces are inserted between font symbols as they
are typed onto TheDraw's edit screen. In most cases this number will
either be zero or one.

When done viewing font symbols, press [ESC] for the main menu.


The change command allows modifying or adding symbols to an existing
font. To create a font, use the [N]ew command.

Select [C]hange from the main menu, and pick a font using either the
up/down arrows keys or by typing the letter associated with the
wanted font. Press [ENTER] to continue. Pressing [ESC] returns to
the main menu.

TheDraw v4.63 The Font Editor 112

Once a font has been selected, a screen similar to the View command
appears. Additional options are available however:

[ENTER] Select symbol for editing (or creating if undefined).
[DEL] Delete current symbol
[INS] Copy current symbol
[TAB] Change font spacing

These four commands in combination with the font editor (described
below) give good flexibility in maintaining the symbol database.


Transfers symbol definition to the font editor. The font editor is
similar to TheDraw in many respects, supporting a useful subset of
functions. Some familiarity with TheDraw is assumed. Available
editor commands are:

[ALT-A] Change Colors (Color-Block fonts only)
[ALT-C] Clear Screen
[ALT-F] Function key symbol table
[ALT-H] Help Screen
[ALT-I] Insert a blank line
[ALT-M] Toggle line drawing mode
[ALT-X] Leave font editor, saving changes.
[ALT-Y] Delete current line
[INS] Toggle insert mode
[DEL] Delete character under cursor.
[ESC] Leave font editor, discarding changes.
[SHIFT-SPACE] Enter a solid space (a "" symbol)

All function key sets are identical to TheDraw and are selected
using the same keystrokes: ALT-F1 to F10, and CTRL-F1 to F5.


There are two main differences between editing in TheDraw and
TDFonts. These refer to the special edit modes and reserved
characters. The edit modes are for the three font format types
(Outline, Block, and Color Block).

Outline formatted fonts place restrictions on the characters
composing each symbol. You can only use certain line drawing
characters from function key sets 1 to 4. In addition, some
symbols must used in specific places for the variable outlines to
work properly.

Block fonts are simple text graphics. No extra processing is done
either by TDFonts or TheDraw. The current color attribute in use
by TheDraw is used to color these type of fonts.

TheDraw v4.63 The Font Editor 113

Color Block type fonts are complete mini-text graphics containing
both character and color. The colors used when creating color
block fonts are the ones which will appear on TheDraw's edit
screen. Color Block fonts override the current colors of TheDraw.


All outline symbols are made from vertical columns and horizontal
beams. The "T" below is a classic example. The double lines which
give the 3D effect tell TDFonts about the left/right column sides
and top/bottom of beams.

Horizontal Beam

< Vertical Beam

Pay special attention to how the top/right of the outside border,
and the bottom/left of the inside border were done. Of particular
importance are the corners. The following characters must be used
in the described locations.

For outside borders:
Upper-left outer corner
Upper-right outer corner
Lower-left outer corner
Lower-right outer corner
Up-to-Right inner corner
Right-to-Down inner corner

For inside borders:
Upper-left inner corner
Upper-right inner corner
Lower-left inner corner
Lower-right inner corner
Up-to-Right outer corner
Right-to-Down outer corner

In general the drawing rules are:

Double lines are always the rightmost side of a column.
Double lines are always the topmost side of a beam.

You must follow the guidelines exactly in order to create a
functional outline formatted font. Failing to do so produces
undesirable side effects when changing the outlines in TheDraw.

TheDraw v4.63 The Font Editor 114


The reserved characters are for solid spaces and descender line
markers. Typically solid spaces are used to fill the inside of
columns and beams. These are drawn with "" characters. ie:

Note that solid
spaces are always
visible in TDFonts
editor verses the
TheDraw editor).


TheDraw specially tracks descenders so to align symbols and handle
carriage returns properly. A carriage return should move the same
number of lines for either A's or Q's for instance. If decenders
were not marked, following kind of alignment error occurs:

Symbols demanding descenders should be marked as shown in the above
"Q" symbol. Lines marked with ampersands are not counted when
TheDraw aligns the symbols. Font symbols typically needing the
descender marks are:

$ , ; _ Q g j p q y

Others symbols may require them also, depending on how your font is
designed or implemented.


Removes the database definition for the specified symbol. You are
asked to verify this command before continuing. Once deleted, a
font symbol cannot be restored.


Copies current symbol over to another undefined symbol. You are
asked to specify what the target symbol is. Note: The target
symbol cannot be defined. The prevents overwriting definitions by
accident. This option is of particular use in duplicating the
letters symbols (ie: "A" to "a", "B" to "b", etc...), assuming you
intend uppercase and lowercase to appear the same. This command
permits quickly filling out all the definitions.

TheDraw v4.63 The Font Editor 115


This command changes the number of spaces TheDraw puts between
typed symbols. Typically values are zero or one, but is entirely
dependent on the font being managed. Legal values are 0 to 40.


Creating a new font is a simple two part process. First make a font
slot with the [N]ew command. Next, use the [C]hange command to fill
in all the font symbol definitions.

After choosing [N]ew, TDFonts asks for three items of information.
The first is a descriptive name for the font. This will appear in the
font listing, and in TheDraw. Names can be up to 12 characters.

Once a name is picked (which can be changed later), you select the
font formatting type. Choices are [B]lock, [O]utline, or [C]olor
Block. Refer to "EDIT MODES" above for a description of the
difference. Briefly, fonts of type Block can be drawn using anything
but remain fixed. As you drawn, they will appear in TheDraw. Outline
fonts can be altered on the fly using the "Outline Type" pulldown
command. Color Block fonts are similar to the normal Block variety
but also save color attributes.

You have now generated a new font slot. Proceed to use the [C]hange
command to define the individual font symbols. One approach to
simplify the procedure is making a generic symbol such as "O" first.
Copy it to other similar symbols (such as "0", "Q", "G", "C", etc...).
Only minor edits are needed to finish the first symbols. Use parts of
these to make other symbols, such as "(", ")", and carry onwards.

Keep in mind nothing requires you to place letters into a font. You
could create a font holding several often used patterns or pictures.

If you create a font you are particularly proud of, please consider
sending in to TheSoft for inclusion in the next release of TheDraw.
All authors of such donated fonts will be duly noted.


This command reorders the list of font names. Use it to place your
fonts in alphabetical or any order which you prefer.

Press [M], then choose a font (see View command). Next, TDFonts asks
the destination to put it. The font is placed in front of whichever
destination font you pick.

TheDraw v4.63 The Font Editor 116


Changes font descriptions which appear in the main menu list. Select
[R]ename and choose a font. You are then prompted for the new font
name. Press [ENTER] when done or [ESC] to abort.


Permanently removes a font from the database file. Press [D] then
choose the target font. TDFonts asks you to verify this operation.
Be careful since deleting a font cannot be undone. Type [Y] to
proceed with erasing the font or [N] to abort.


Appends a separate database file onto the current database file.
Press [I], and TDFonts prompts for a filename. Type in the pathname
to the import file. Press [ENTER] to continue or [ESC] to abort the

Upon pressing [ENTER] all fonts contained in the specified import file
are loaded and added to the current database list. An error message
appears if the file was invalid.


Copies fonts in the current database to another file. Press [E], and
choose the font to export/copy. TDFonts prompts for the output
filename. Enter your filename and press [ENTER] to continue or [ESC]
to abort.

After hitting [ENTER], TDFonts checks to see if the file specified
already exists. If so, type [Y] to overwrite the existing file or [N]
to abort this command.

The new font file is generated and you return to the main menu.

TheDraw v4.63 The Font Editor 117


The screen grabber utility (THEGRAB) is a small and very flexible,
providing many features not found in similar programs. The following
features are available:

o Flexible "hot" keys.
o A hands-off screen snap shot mode.
o A hands-off interval screen capture mode.
o Choice of four file formats: Ansi, Ascii, COM, or THEDRAW
o Up to 10000 screens can be captured at any given time.

THEGRAB is driven from the command line, and is a memory resident
utility (a so called TSR by technical types). Once loaded, it uses
only 11k of memory. Any parameter you set can be changed on the fly
at any time. THEGRAB can also be removed from memory easily.

Please note: THEGRAB is designed to only handle text screens - just
like TheDraw. Attempts to capture high resolution
graphics are ignored by THEGRAB.

General users will love being able to capture any screen, from any
bulletin board or online services, edit them with TheDraw then upload
back. The single and interval modes can capture screens even under
programs locking out normal keyboard functions. Documentation writers
can capture application screens as Ascii, and load them into any word
processor or output to any printer.

The command line options are:

/UNLOAD Unload/Remove THEGRAB from memory (when possible)
/RESET Change file count back to zero.
/KEY [choices] Capture key when the specified key sequence is
pressed. Keystroke sequences can be any
combination of: LSHIFT, RSHIFT, ALT, CTRL
/SINGLE [time] Make a single snap shot capture after the specified
time period has elapsed. Time entered can be of
the formats:
mm:ss Minutes and seconds
hh:mm:ss Hours, minutes, and seconds.
/INTERVAL [time] Similar to SINGLE, but repeatedly captures every
time interval as specified.
/DIR [path] Specify where captures screens are saved. Saving
to a ram disk for instance for maximum speed.
/ANSI Create standard Ansi files.
/ASCII Create Ascii text files.
/COM Create Dos executable COM files.
/THEDRAW Create TheDraw format .TD data files.

TheDraw v4.63 The Font Editor 118


First load THEGRAB into memory, along with any command line shown
above. The default configuration is the hot key [CTRL RIGHT-SHIFT]
saving to THEDRAW format data files. If you prefer some other key
combination, use the /KEY parameter (once THEGRAB is loaded, the hot
keys can be changed anytime).

THEGRAB uses certain sound effects to indicate success or failure to
save a screen. Success is indicated by a short single beep. Failure
to save (disk not ready or disk full usually) by three beeps. On
occasion the operating system will be busy, and not permit THEGRAB to
save screens. During these times several short bleeps of increasing
frequency will occur.

If you need to capture a screen from a program which takes over the
keyboard (thus disabling the hot keys), try single or interval
captures. Most applications which take over the keyboard rarely
affect the timer clock. Start THEGRAB with a suitable delay, run your
application up to the proper point then wait for the beep.

Capture as many screens as you want, then quit the target application
back to Dos. Remove THEGRAB with the /UNLOAD parameter. This will
free up the memory being consumed.


By default screens are saved to the directory THEGRAB was started
from, unless the /DIR parameter was used. The filenames are of the
format GRAB0000.ext, where is .ANS .ASC .COM or .TD

THEGRAB will not overwrite any file with the same name. The file
number is incremented until an unused filename is found. The default
can easily be renamed later at your convenience.

Ansi files saved from THEGRAB can be viewed from the Dos prompt with
the TYPE command. They can be loaded into TheDraw for editing as
required, or just to resave them for more compact files. Ascii files
are compatible with any text editor or word processor. COM files can
be directly used from the Dos prompt, and are fully compatible with
TheDraw. Just type in the filename and the screen will appear.

TD files are uncompressed TheDraw format data files. Since TheDraw
has the necessary routines to significantly reduce the size of such
screens, it is highly recommended you resave them for that purpose.

Example usage:

-- Saves a Dos COM file whenever Left Shift, Right Shift and
CTRL keys are pressed simultaneously.

TheDraw v4.63 The Font Editor 119


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, Avatar, Binary,
BSave, PCBoard, Wildcat, 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):

Ansi .ANS
Avatar .AVT
PCBoard .PCB
Wildcat .BBS
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.

TheDraw v4.63 The Presentation Program 120

Character Action (continued)

t Pauses for number of seconds. Valid numbers
for are 1 to 255 seconds. ie:

/t10 (pause for ten seconds)

s Animation display speed. This is a slowdown factor
identical to the value you enter when using ALT-Q.
It is used whenever THEPP displays a Ansi, Ascii,
or TheDraw format file. ie: s10 slows down the
file display equivalent to an ALT-Q value of 10.

b Produces a beep on the computer speaker.

c Clears the screen. THEPP by default does nothing
before displaying a file. If you wish to clear the
screen beforehand use this option.

m, Moves the cursor to horizontal position and
vertical position . Useful if you want to
control where an Ansi or Ascii file will start to
appear on the screen, or wish to display a message
using the command below. ie:

/m40,12 (move cursor to center of screen)

a, Changes text output color to the specified
foreground and background colors. Colors are the
same as listed under ALT-A, but are repeated below:

Black DGray (Dark Gray)
Blue LBlue (Light Blue)
Green LGreen (Light Green)
Cyan LCyan (Light Cyan)
Red LRed (Light Red)
Magenta LMagenta (Light Magenta)
Brown Yellow
LGray (Light Gray) White

Foreground colors may be any of the above.
Background colors are restricted to the first eight
however (Black to LGray). ie:

/aYellow,Cyan (Yellow on Cyan background)

TheDraw v4.63 The Presentation Program 121

Character Action (continued)

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

v Specify video size to use. Either 25, 43, or 50
vertical lines. Note the 43 & 50 parameters
operate identically (43 lines always selected for
EGA adapter, 50 for VGA). ie:

/v50 (select VGA 50 line display)

f Directs THEPP to obtain more commands from the
specified file. This command file simply contains
a list of the above commands. In addition, the
command file may call upon another command file.
Once that nested command file is finished,
execution returns to the following instruction in
the first file. Up to ten levels of nesting may
be active at once. ie:


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.

TheDraw v4.63 The Presentation Program 122

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

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."
/"All done!"

Filename #2: COMMAND2.FIL
/"Command file 2 running"

In this example, command files are nest two levels deep. In other
words, COMMAND1.FIL calls COMMAND2.FIL which then exits 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
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.63 The Presentation Program 123


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 customize various other defaults. It
directly modifies various parameter values within your copy of

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 "GETTING STARTED", TheDraw is usable.

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.63 The Setup Utility 124


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


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, from the Dos prompt type:


Press [ENTER] to start the utility. Once running, you are prompted
for the program filename to configure. You can 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 prepare various editor command-keys, menu colors, etc...
if you are so inclined. The registered program version is called

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.


The main setup menu displays all the primary areas which are
configurable. Options available are Editor configuration*, Keyboard
customize, Screen mode, Colors, Help and overlay file path*, Memory
usage, Defaults, or Quit/Save. These are described below.

* Available while editing the registered version only.

TheDraw v4.63 The Setup Utility 125


The editor in TheDraw provides many features, including cursor
control, color changing, various text operations, etc... These
editing commands are assigned to certain keystrokes, as described
earlier throughout this documentation. This setup option permits
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] [DOWN] Selects the editor command you wish to change.

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

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], etc...) and
any keystroke involving a function key ([F1], [CTRL-F4], etc...).

TheDraw v4.63 The Setup Utility 126

Press [ESC] to save any changes to keystrokes. You will be
prompted to verify the save. 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] keystrokes
from working properly. TheDraw gets around this by using a custom
keyboard driver. The factory defaults from TheSoft will work for
the great majority of computers. However, if you have difficulties
try this setup configuration option.

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] and [ALT-RIGHT] in that
order. The scan codes returned by your keyboard are displayed.

Next you can experiment to see that everything is indeed working
properly. Press [CTRL-UP/DOWN] and [ALT-LEFT/RIGHT] until
satisfied the keys were programmed correctly. Press [ENTER] to
return to the main menu.

A few computers react badly to this driver. If your computer
does not operate as expected when running TheDraw, start the
setup utility by typing (from the dos prompt):


Press [ENTER] to start Setup. The current settings of the
keyboard driver will be displayed. Respond [Y]es or [N]o if the
setting is correct. If after deactivating the driver your
computer still malfunctions, please contact TheSoft.


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.

TheDraw v4.63 The Setup Utility 127

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 or LCD 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 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 v4.63 The Setup Utility 128


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.63 The Setup Utility 129


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.

Note: Many of the defaults may be changed using TheDraw's internal
Setup screen also.

TheDraw v4.63 The Setup Utility 130


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

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, type [R] under the editor configuration.

TheDraw v4.63 The Setup Utility 131



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 ( <-- press CTRL and Z )

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

^Z ( <-- 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.63 Appendix A 132



The following lists every symbol 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.63 Appendix B 133



In an attempt to help users with commonplace difficulties, this
section answers some of the more frequent questions.

Q: When saving a full screen Ansi file, TheDraw reports it used
only 3 or 4 lines. Did something go wrong?

A: No. The number TheDraw reports is the number of output lines.
This is the number of lines, for instance, used when uploading
such an Ansi screen to a BBS system. TheDraw normally puts as
much information onto a given output text line as possible. A
number of the Ansi screen lines might be placed onto one output
line; however, the file will display as expected.
Q: Why does TheDraw display garbage when I load captured 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 starting with TheDraw v4.0, user control sequences are
directly supported. Refer to command ALT-J,User-Seq for more
information. PCBoard and Wildcat BBS users will find a
convenient quick reference chart handy in normal editing mode.
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: 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
TheSoft does not require it.

TheDraw v4.63 Appendix C 134

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.
Q: How do I draw circles/ovals/etc?

A: Smooth circles & ovals are not possible using text graphics.
Approximations are done with 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: 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.

TheDraw v4.63 Appendix C 135

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 or 100 line buffer mode,
loading each target Ansi file into appropriate portions (an ideal
use of Block Load), then saving as one file.
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.
Q: Every so often I get a funny space character on my screen.
Moving the cursor onto it causes the cursor to "flicker" with
colors. Why does that happen?

A: You have come across what is termed a "Solid-Space". These are
special characters normally used with TheDraw's sprite mode.
Solid spaces are entered by pressing the SHIFT-SPACE key
combination. They are not normal spaces (character 32), but a
blank special IBM extended space (character 255). A setup option
exists for filtering them from your Ansi/Ascii screen files.
Q: When I type saved ASCII files, sometimes extra blank lines
appear. What is wrong?

A: Your screen contains lines which are the full screen width. The
cursor is "wrapping" down to the next line thus causing the extra
blank line to appear. Such Ascii files are compatible with
standard text editors. To make Ascii files which display
properly using the Dos TYPE command, toggle the "Force CR/LF"
option in the Setup options screen to "NO".
Q: When I save animated Ansi files, I cannot get a character to
display in the lower-right corner. How can I correct this?

A: You can't. The screen scrolls whenever a character is displayed
in the lower-right corner. This is extremely disruptive to
animated Ansi files. TheDraw thus does not output characters,
but will however paint the corner with the desired colors.

TheDraw v4.63 Appendix C 136

Q: I am a BBS system operator and puzzled by the Ansi maximum line
length parameter. What exactly is this used for, and does it
mean I can't have full screen Ansi images?

A: The Ansi maximum line length is completely separate of what
appears on the screen. The parameter affects the output
formatting of Ansi files, but not the way they appear onscreen.
We must make the distinction between displayed Ansi lines (as
they appear) and output lines (as in the .ANS files).

Output lines contains large amounts of cursor positioning and
color control codes. A given displayed Ansi line might actually
translate to an output line over 1000 characters long.

In situations where Ansi files are loaded into other software, or
uploaded to BBS systems as messages, physical limits on the
output line lengths might be imposed. Say, for instance, 70
characters. This limits the maximum amount of Ansi information
TheDraw can pack onto a given output line. However, the Ansi
screen display will not change at all! TheDraw will compensate
for the short output lines by moving the cursor and adjusting
color codes as required. The more TheDraw is forced to do this,
the longer and slower your Ansi file becomes.

For maximum speed and the smallest files, use an Unlimited line
length. BBS system operators should use unlimited length for
menu screens and the like -- unless all Ansi files are being
stored as messages. Your message base might have a line length
limit. If all your BBS does is display text files however, then
use the unlimited line length.

TheDraw v4.63 Appendix C 137


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.63 History 138


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.63 History 139


06/20/87 - Version 2.20

BSave saves fixed to operate properly for monochrome monitors. Ansi
files now output [40m color sequences to clear screen to black
color before doing anything else. Thanks to Barry Simon for bringing
this oversight to my attention and also suggesting command line
filespecs. Some new items were added, most notably full screen
editing. Thank Ray Buti for finally bugging me enough to add it.
Also extended options for Asm, Pascal, and new C storage modes to
crunch and store only Ascii in addition to the original normal (4000
byte) mode. Thanks to Douglas A. Nicklow for suggesting the C storage

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 save left spurious single
entries on the end of lines (yet another discovery of Ray Buti 🙂 ).
The Ascii Save no longer outputs spaces on the end of every line.

TheDraw v4.63 History 140


(v3.00 cont)

The Setup utility has been vastly overhauled and now allows
configuring of the TheDraw edit screen colors, TheDraw keyboard
commands(R), and many other parameters.

09/09/88 - Version 3.10

Support for the Microsoft Mouse has been added, making cursor movement
and the marking of blocks easier. Five additional character sets have
been added. These are accessed via CTRL-F(1-5). With this revision
goes a new function key screen (ALT-F). Finally, a few bugs were
eradicated. Many people reported CTRL-Up/Down keys were not working.
They did work, however the status display was not always updated (thus
causing the following confusion). TheDraw now allows filespecs
without extensions to be used again. In addition, the default
filespec extensions can be changed using the Setup utility (Ray Buti
can now change .PAS to anything he likes ). The Setup utility
Defaults option now works as advertised. Finally, the keyboard driver
for Ctrl-Up/Down has been changed yet again. With the last revision,
a few computers were gained but the PCjr was lost.

04/04/89 - Version 3.20

Pull down menu system has been added to TheDraw. The program can now
be totally controlled by use of a mouse. Various small details that
escaped detection regarding the mouse were corrected. TheDraw has a
new storage format -- COM files. Separate programs useful for batch
files and the like. They work with blocks and (naturally) the entire
screen. A few bugs floating around the program have been cured. When
attempting a block save, TheDraw would sometimes display and save the
wrong screen portion. The ALT-U command was not processing blinking
colors properly -- thanks to Darin May for pointing this out. The
ALT-L file directory had a minor problem when there were exactly 124
items displayed. You could go down to the next page even though there
was nothing on it. Animation screen copies might possibly fail if
they run out of room. What the user saw didn't necessarily match what
TheDraw thought was there until everything got redrawn. The problem
with CTRL-UP/DOWN simply won't go away. The driver will work for 99%
of machines, but certain computers with non-compatible keyboard
hardware will lockup (notably the Tandy 1000A and HX). The SETUP
utility now has a provision for deactivating the driver completely.

TheDraw v4.63 History 141


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: Garry Kraemer found the uncruncher was not in sync with how
TheDraw handled flashing characters. Michael Harris discovered it
was possible to select a page 0 in version 3.30. Paul Furman noted
BSAVE files were not quite compatible with Basic, lacking a ending
sequence. Carter Downer noted that 80 column Ansi files produced by
TheDraw were not fully compatible with bulletin board systems.

New features are: EGA/VGA screen editing (43/50 lines for EGA/VGA).
A virtual screen edit buffer was added, allowing screens up to 160
characters by 50 lines can be edited. Mouse aided line drawing;
pressing the middle mouse button down and moving will draws a line or
box. All cursor keys now function throughout TheDraw. Line drawing
now tolerates bumping into the screen border. New animation scanners:
Doors*, Diamond*, Circle*, Clock*, Checkerboard, and Wiggleout.
Thanks to Guy StarBuck for suggesting the first four. The ability to
reverse any animation scan (making the scan go backwards) was also
added. Thanks to Dorothy Hade for this excellent suggestion. User
Ctrl sequences permitting BBS operators to install custom Ansi codes.
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 an animation scanner to reading the screen.

TheDraw v4.63 History 142


(v4.00 cont)

Block and global character/attribute replace has been added. The
default load filename extension can now be changed to something other
than ANS. An online setup menu was added to TheDraw, making
configuration of the environment much easier. Two additional COM file
formats were added, with TheDraw transparently selecting the best of
the three for a given application.

Ascii files can now be forced to have carriage returns placed on the
end of each line. ALT-Key pop-up help screen added. TheDraw can now
save backup files. The ALT-Left/Right key sequence delete/insert
columns. Automatic screen blanking was added. Dos Shell now attempts
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.

03/18/91 - Version 4.01

A minor correction to the .OBJ file format loader, the Last Block
option works properly now, plus a couple other minor fixes to bugs
somehow squirming through testing. The presentation program (THEPP)
now properly displays TheDraw format files saved with sprite mode
turned on.

Version numbers 4.10 through 4.40 skipped because unauthorized
(illegal) modification of TheDraw v4.00 by an individual.

03/16/92 - Version 4.50

Over 50 improvements and corrections. Bug fixes include corrected
Ansi file generation, improved QuickBasic support, cleaned up various
screen display quirks associated with the virtual edit buffer,
problems with column insert/delete, better handling of switches
between 25 and 43/50 line buffers, difficulty with read-only marked
files, quirks with screen blanking, better handling of bell codes in
Ansi files, problems with the Sticky ruler not being saved to TheDraw
format files, glitches with display refresh in animation mode, plus
several other minor improvements.

TheDraw v4.63 History 143


(v4.50 cont)

Thanks to:
Steven Fischkoff for finding bugs with animation scramble scanner.
J. T. Merrill for finding problems with THEPP when displaying
animated files.
Warren Leadbeatter for pointing out circumstances where unwanted
blank lines could get inserted into Ansi files.
Jeff Lawson for finding bugs when loading read-only files, saving
small (less than 512 bytes) object files, and suggesting
improvements for the QuickBasic MAKEQLB batch file.
Ian Thurston for supplying a example for the Clipper compiler.
Joe Fischer (and others) for helping identify a glitch with Ansi
saves relative to spurious linefeeds in the top video line.

Improvements include encrypted screen data to thwart hack attempts,
internal Ansi/Ascii font support, true restore/undo facility which can
reverse any screen operation, a 23 line edit buffer (very useful for
BBS screen generation), improved cursor viability when foreground and
background colors are the same, pull down menus now display shortcut
keystrokes, file listing used with the load/view/delete function now
show directories, more efficient Ansi file generation, and mouse users
can now click on items in the status line (when pulldown menus
displayed) as shortcuts for common commands. Enjoy!


04/15/92 - Version 4.51

Alas... the best laid plans. Another bug in the creation of
QuickBasic object files was found by Gary Deal. This has been taken
care of. An obscure problem with background colors in Ansi files
reported by Chris Wirth (and others) has been cured. Lastly, a minor
hiccup with the sticky ruler only working in sprite mode has been


02/15/93 - Version 4.60

Many overall improvements. New title screen, Added are the Quick
Palette (for choosing color & symbols), picking up symbols and
manually paint with it, a 100 line static edit buffer, multi-color
fonts, larger font capacity, animation fade-out, animation auto-repeat
displaying, Library format files which permit saving many TD files
together along with descriptions, ability to view TD files,
compression in TD files, C source code file format now more
compatible with more compilers, new file formats for BBS operators
(Avatar, PCBoard, and Wildcat BBS), quick reference for PCBoard and

TheDraw v4.63 History 144


(4.60 cont)

Wildcat @-code keywords, optional removal of unused lines when saving
screens (very useful for BBS operators), and for registered users a
built in version of the SHADING.TD screen (R).

Bug fixes to animation text centering, viewing object files, column
insert/delete (when used with numeric keypad arrows), Ansi include
files, Ansi loader less likely to spuriously turn on animation mode,
improved handling for "color-bleeding" with scrolling Ansi files,
fixes to TDFonts, QuickBasic functions adjusted to avoid leaving extra
data on stack, saving COM files safer when large edit buffer in use,
global screen move works with large edit buffers, cursor not forced to
left-most column at end of animation files anymore, can no longer
"click" on status line items with mouse if the status line is not
displayed, and the SETUP utility now ignores shift-key codes when
programming the keyboard driver.

Thanks to:
Toby Vander Steen for finding animation text centering bug.
Gary Yuen for object file viewing and column insert/delete glitches.
Michael Arnett for pointing out the animation include files were
less than perfect.
Brad Crouch for finding a circumstance in which COM files would not
be saved properly.
B.J. Freeman for indicating the Setup utility keyboard config bug.
Dafyd V. Smith for the 23 line buffer loading problem, and
suggesting animation auto-repeating!
David P. Hummel & Dafyd V. Smith for suggesting animation fadeout!
Abram Miller for suggesting the modified dos prompt in shells.
Carter Downer for suggesting the Quick Palette feature, screen
autocompress, and new BBS file formats!
The many users who all requested the screen capture utility!

03/22/93 - Version 4.61

Maintenance release. TheDraw had a problem handling color setup in
Ansi files with a space in the upper-left corner of the screen. Other
minor bugs in the Setup utility, PRINTDOC, and TheGrab were fixed.

Thanks to:
Anthony Haxton for pointing out the Setup utility might not
recognize the registered version of TheDraw.
Paul Hirsch for finding one of the items in the Setup utility
default section worked backwards (ie: typing "Yes", got "No").

(R) = Feature in Registered Version of TheDraw Only

TheDraw v4.63 History 145


09/07/93 - Version 4.62

Maintenance release. Problem with saving PCBoard/Wildcat files
related to background colors and scrolling (ie: color wrap-around)
fixed. Also repaired minor glitch in ALT-A screen when Numlock was
turned on - the arrow keys would only increment colors. Ansi files
now include a special sequence which turns on line wrap-around on
terminal programs. This should cure a number of problems related to
display of characters in the 80th column.

Thanks to Luke Rice for reporting how typing an 'A' in the color setup
(ALT-A) screen might cause a crash.


10/19/93 - Version 4.63

Maintenance release. A glitch which came and went... came back.
Blinking colors in Ansi files would not be properly output if 1) they
were the first colors used and 2) not on the first line. Special
thanks to William Zakreski for reporting this. TDFonts would exit
with the cursor turned off in some situations; this should be fixed
now. Thanks to Brian Morin for writing in.

Avatar, PCBoard, and Wildcat formats can now optionally reset the
display color to light gray on the end of files. The reset is enabled
by default, and corresponds to how Ansi files are handled. To turn
off the color reset, choose Setup from the Options pulldown menu, go
to page 2, and change the "Reset colors..." toggle. Direct thanks to
Alan Shoemaker for recommending this one.

TheDraw now handles @CLS@ Wildcat/PCBoard commands properly. In
attempting to filter the @CLS@ command TheDraw adds itself, all were
removed. Lastly, Wildcat/PCBoard slowdown codes are fixed.

TheDraw v4.63 History 146


Look for these features in the next release of TheDraw:

New painting routine options to make coloring areas easier.
User definable "favorite" color combination keystrokes.
Multi-speed animation sequences.

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


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
P.O. Box 7657
Fremont, CA, 94537-7657

Thanks for your support!

TheDraw v4.63 148

 December 21, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>