home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of Graphics
/
WOGRAPH.BIN
/
508.GUIDE.DOC
< prev
next >
Wrap
Text File
|
1992-10-15
|
105KB
|
2,387 lines
REFERENCE GUIDE FOR:
VERSION 7.32 (Oct. 15th, 1992)
OF
P11
A GRAPHICS PROGRAM WRITTEN BY:
RUSSELL D. HOFFMAN
P.O. Box 188006
CARLSBAD, CA 92009
(800) 551-2726
(619) 720-7261
America Online:RUSSELL DH
CompuServe:70743,1226
THE AUTHOR ASSUMES NO RESPONSIBILITIES AS TO THE
APPLICABILITY OF THIS PROGRAM TO YOUR NEEDS OR THE
ACCURACY OF ITS FUNCTIONS. PLEASE NOTIFY THE AUTHOR OF
ANY INACCURACIES FOUND AND OF ANY DESIRED NEW FEATURES.
CONCEIVED, DESIGNED, WRITTEN AND PRODUCED
BY RUSSELL D. HOFFMAN IN THE UNITED STATES OF AMERICA.
PROGRAM COPYRIGHT (c) 1984 to 1992,
DOCUMENTATION COPYRIGHT (c) 1985 to 1992 by RUSSELL D.
HOFFMAN.
ALL WORLDWIDE RIGHTS RESERVED.
This release of this product is SHAREWARE. The
shareware concept entitles you to use the product freely for
a limited time (in this case, the exact amount of use that
is appropriate is decided by you.) After deciding you like
it, you should register your copy, because that is how the
developer makes a living and has the resources to create
newer and better versions. It is beneficial to you to
register for many reasons. First, you will receive
notification of what the current version contains and places
to get it. Second, by supporting the project you increase
the quality of those future releases. Third, sometimes we
offer discounts and special prices on other products so you
save in the end. Fourth, you will then be able to use the
product entirely guilt-free!
Schools may register ONE entire classroom for the
single-user registration fee.
Registration fee: ONLY $25.00!
>>>>>Think of it as joining the P11 Fan Club if it
makes you feel better!<<<<<
Please send just a few of your hard-earned dollars to:
THE ANIMATED SOFTWARE COMPANY
P.O. Box 188006
Carlsbad, CA 92009
SUPPORT THE SHAREWARE CONCEPT--KEEP QUALITY SOFTWARE
INEXPENSIVE!
TABLE OF CONTENTS:
1) Introduction
2) Overview
3) Application Development
4) Starting the Program
5) Stopping the Program
6) Setting Your System Configuration
7) Picture and Font Files
8) Text and Macro Files
9) Print Files
10) Auxiliary Files
11) Hue Files
12) Data Files
13) Variables
14) A Parachute
15) Animating Images
16) Branching Within Text Files
17) DOS Functions
18) A Special Note about Drive Specifications
19) BACK UP YOUR FILES REGULARLY!
20) Misc. Stuff You Should know
21) Initial Variable Values
22) Drawing Images (Including Fonts)
23) Fonts
24) Bitplane Mode Fonts
25) Drawing Editor Key Usage
26) Vector Drawing
27) Vector Frame Editor Key Usage
28) Editing Text Files
29) Text Editor Key Usage
30) Quick Reference Guide--Command Syntax
>>>>>Be sure to also use our other electronic
documents, including the ERRORS list and the TECHNICAL
REFERENCE, as well as our educational lessons.<<<<<
INTRODUCTION
This program is a multi-faceted environment for
creating and running computer graphics applications on an
IBM-PC hardware configuration with DOS 2.0 or higher.
Supported input devices in addition to the keyboard are a
Microsoft or compatible mouse, Summagraphics 1201-A or
compatible digitizer, or a joystick. The minimum memory
requirement is roughly 256K for the runtime and 512K for the
editor. EMM (LIM version 3.2 or higher) can be used. For
VGA resolutions using EMM is highly recommended. The
program requires a color graphics board and color monitor.
It uses most CGA, EGA, and VGA PC-compatible screen modes.
A runtime version is included which you should use to
distribute your creations. Several utility programs
(SHOWER.EXE, SCRNSAVE.EXE, HPRASTER.EXE and SHOW_PCX.EXE)
are also included. The utility programs are self
documented--simply type the utility program's name and then
at least one space and a question mark, and press return.
OVERVIEW
There are eight (8) types of files that this program
handles. They are distinguished by their extensions:
picture files (extension PIC), font files (FON), text files
(TXT), macro files (MAC), print files (PRN), "auxiliary"
files (AUX), data files (DAT), and hue files (HUE).
There are several utility programs included in the
package. Their use is explained separately.
Picture and font files are collections of drawings.
Text and Macro files are command sequences. Print files are
output-only files. Auxiliary files can be read in or
written out and contain alphanumeric information in
"numbered storage locations" ("boxes") which we refer to
throughout this manual as "auxboxes". Data files are comma-
delimited ASCII files for input (records within data files
are separated by line-feed and carriage-return characters.)
Hue files contain information used to control display
colors.
The graphics editor needs certain files, for example
the graphics interface icons, that should be in the path
\P11 on the current drive. If you install properly with our
batch files these directories will be set up automatically.
APPLICATION DEVELOPMENT
When creating graphics programs, you will be using the
drawing capabilities of the program, or the text editing
capabilities, or going between the two, or running a text
file (testing your creation). Text files may be started and
stopped at will and "single-stepped" if desired during
creation and debugging. Picture files can be animated for
viewing while working on them. Many commands can be
executed in "instant" mode (by pressing Function Key 10)
when working on either graphics or text. Function keys
display helpful information about the current files, and F1
(HELP) will give you information on what keys are currently
valid and what they do.
STARTING THE PROGRAM
The program MUST start by reading a file. The default
file name is "MAINMENU.TXT" which it will read from the
current drive and current path (directory). It will read any
other text file, if you specify the file name (with optional
drive and directories) on the command line.
If the program cannot find the file specified (or
MAINMENU.TXT when no file was specified) it will display a
message asking you to specify a different drive, path and/or
file name. If it finds the text file it will read it and
begin executing it.
The editor version can begin by reading TXT, PIC or FON
files. The runtime version must start by reading a TXT
file.
STOPPING THE PROGRAM
Any error will stop processing and display an error
code unless an \ON ERROR trap has been executed. The user
should press <F1>, but pressing <ESCAPE> three times will
exit the error routine too. When running a text file errors
will put you in the editor, usually at the spot where
processing could not continue.
The user can exit the tutorial at any time by pressing
ESCAPE and then responding correctly to the prompt that
follows. The screen mode will reset to whatever it was when
the program was loaded, and the cursor type will be reset to
the standard defaults. If password protection has been set
up, password checking will occur before the option to exit
is given.
When the program ends the DOS return code is set to 0
if ending was normal and intentional, 1 if an error occurred
and 2 if a critical (probably disk) error occurred. An
error code of 3 is theoretically possible if both critical
error and a program error occurred. We've never seen it
happen, though.
Execution can be stopped at any time by pressing the
ESCAPE key. When ESCAPE is pressed you are given the option
of ending the execution of the text file. This will either
put you in the editor, or return you to DOS if you are using
the runtime version. The escape key message is non-
destructive, it will restore the screen if processing is
resumed.
SETTING YOUR SYSTEM CONFIGURATION
NOTE: Unless you are getting errors telling you that
you have insufficient memory to run the program, you should
ignore this section until you are ready to fine-tune your
own creations for distribution.
You can set various "startup" parameters for the
program to use in the environment string P11FLAGS=. (For
the SHOWER utility, use the string name P11SHOW= instead.)
This is done at the DOS prompt or from a batch file with the
SET command (see your DOS documentation.)
Alternately, you can set these parameters on the
command line as the FIRST THING on the command line after
the program name and at least one space, in brackets ([,]).
Do not name the string in this case, simply list the desired
variables within the brackets. Follow the brackets with the
filename you wish to start with. The total length of the
information following the program name cannot exceed about
125 characters. If environment parameters AND command line
parameters are both used, the environment parameters are
evaluated first, then the command line parameters, which
will overlay the equivalent environment parameters.
The primary purpose of all these parameters is to allow
your programs to run in the minimal base (RAM) memory
possible.
The other side of the coin is that these startup
parameters effect what can be done with the program as you
use it. For example if you make the maximum picture size
very small, you will use less RAM, but on the other hand you
will not be able to read large picture images. When you
write an application for general distribution, you should
try to figure out the minimal memory configuration your
program needs, then set these variables accordingly in a DOS
batch file and have the user run that batch file to run your
application. That way, you ensure that the largest number
of machines will be able to handle your application.
Here are the possible startup parameters and their
meanings:
B:# 0 or 1. Background screen memory area is NOT
reserved if set to 0. Default is 1. The background
screen is used with masking, and screen save, and by
the editor. When the program goes into a new screen
mode (and at startup) the background screen area is
reserved. This area can hold a complete copy of the
screen. The size of the area depends on the screen
mode. \SAVE SCREEN will save the screen to disk in the
directory \P11\TEMP if this parameter is set to zero,
otherwise the screen will be saved in the background
screen area RAM.
Saving in RAM, though very fast, can take a lot of
base RAM, so saving the screens to disk can be useful
even though it is a lot slower. To do masking (a type
of animation technique), you need to save at least
part of the screen in RAM--whatever parts will have
masked images moving within them. To use masking you
must specify the lines which should be saved in RAM.
Do this with the \SCREEN command. If LINES= is are not
specified and B: is zero, the entire screen will be
saved to disk. If the LINES= option of screen is used,
then only that portion of the screen will be saved with
\SAVE SCREEN, but it will be saved in RAM and will be
used by masking operations.
This option in NOT recommended in most situations:
It is slow and if you do masking, it can complicate
tutorial writing somewhat. Only if you will NEVER use
the background frame for any purpose is this option
likely to be useful, or if you have no other way to
reduce RAM usage to an acceptable level.
C:#. 16 to 64. Maximum picture size in K. (A "K"
is 1024 bytes.) Default is 64K.
EMM:#. Zero means do not use EMM, any other number
is the number of pages to use. Default is -1, use all
available.
FONT:# The size of the font area in K (1024 bytes).
The default is 20K, the minimum is 8K, the maximum is
63K, but must be equal to or less than whatever C:# is
set to.
FRAME:# The maximum number of frames. The default
is 1000, but it can be set between 10 and 8000.
SCREEN:#,#,# This is the same as the \SCREEN
command, except you cannot use the MODE=# option. This
option will cause the program to immediately begin in
the mode you want rather than the default, CGA mode.
PICTURE AND FONT FILES
There are two types of drawings available, raster and
vector. Raster drawings are images created on the screen
and saved as a block of memory containing the horizontal
line-by-line color values. This roughly corresponds to a
sheet of paper with an electronic eraser, airbrush, zoom,
etc. Raster drawings are always rectangular. They do not
change size no matter what you change in them, just as a
sheet of paper does not change size no matter what you draw
on it. In this program raster drawings can be larger than
the screen; the screen acts as an edit and display window.
Vector drawings can be thought of as the dots in a
connect-the-dot drawing. Vector images are composed of dots
which you draw. Vector images change size with each dot you
add or remove, but not when you change an existing dot's
position or color. The order of the dots is important and
affects many functions. A vector drawing can be larger than
the screen. Perhaps most importantly, a vector drawing can
be used as a path for other raster or vector drawings to
follow. It can also be used as a time base for variable-
speed animation.
Both raster and vector frames can have base offset
values and base timing values. Base offsets are the
standard location for that frame on the screen. The frame
will be edited and displayed there unless you specify a
different location. This is especially helpful if animating
just a small portion of a picture, perhaps a blinking eye or
a mouth movement. When displaying the picture the base
offset will be added to whatever position you specify to
display the image.
The base timing value is a timing unit that can be used
as a delay amount to wait between placing the frame on the
screen and displaying the next frame. Using the base timing
value is just one option for timing control.
Picture files store raster or vector pictures, or both.
Individual raster frames can be any size from one (1) dot
across and one (1) down to over 4000 dots across and 4000
down. (Maximum frame size is about 64K.) Fonts are raster
drawings and can also be any size, but you have a maximum of
about 63K for an entire font.
The smaller you make your drawings the faster they can
move and the less room they take up. Size for raster
drawings is a product of the X- and Y- lengths plus a small
constant. For vector drawings it is dependent on the number
of dots in the drawing plus a constant. The maximum number
of dots in a vector frame is about 4,000.
Bitplane fonts are a little more complicated: refer to
the special instructions later in this document for creating
bitplane fonts.
TEXT AND MACRO FILES
Text files and macro files contain commands which
control picture display, user input, text to be shown, etc..
Text and macro files contain combinations of text to be
shown on the screen and commands to be executed. The
difference between a text line and a command is that command
lines have a backslash (\) in column one (1). Multiple
commands can be placed on one line by simply coding another
backslash.
The \ (backslash) commands are a programming language
with many special graphics commands which allow easy,
flexible control of the screen. Other commands provide for
input from the viewer, speed control, storage and retrieval
of data and so on. The program includes an editor that you
can use to create text files.
Any text editor or word processor can be used to create
text files PROVIDING you create an ASCII file with no
imbedded non-printable ASCII characters (the tab character,
for example, should not be used.) Those characters whose
ASCII code is less than 32 or greater than 127 are not
permitted except the carriage return/line feed at the end of
each line (13,10). Lines can be up to 256 characters
including the cr/lf.
A sample text file might look like this:
\READ SOMEFONT.FON
\LOCATE 0,0
\WIDTH 40
\HEIGHT 99
\SCROLL 12
These are lines of text that will be
scrolled up the screen in a window
located in the upper left corner (0,0)
of the screen and 99 dots high (about
half the screen in CGA mode), at
"speed" 12. The lower the number, the
FASTER the scroll, with 0 as fast as
possible.
\END
Each text file can be up to about 10K in size and can
call other text and macro files so there is really no limit
to how "big" an application program can be. The main
difference between text and macro files is that when you
read in a new text file it overlays the one that was in RAM.
Macros get stacked "on top of" one another until you either
\CLEAR them (with the MACROS option) or exhaust the 10K
macro area (which is an error).
Macros are created as text files, saved to disk, and
then the extension is renamed from .TXT to .MAC.
PRINT FILES
Print files are output-only files that can be created
with the \PRINT statement. They are written to disk with
the name you specify. They might be used, for example, to
create a record of what the user did when running a program
you have written. Print data can go directly to the printer
(LPT1, LPT2, LPT3) if it has been opened first (see the
\OPEN command.)
AUXILIARY FILES
Auxiliary files are data storage files which will hold
up to about 4K of information in NUMBERED locations which we
call "auxboxes". Auxbox numbers must be from 1 to 32767 but
since each auxbox needs a 4-byte "header" and contains at
least one byte of actual data, not all numbers can be used
at the same time. The auxiliary file is created or read
into RAM making access very fast. Locations are referred to
either by a number preceded by a pound sign (#23, #4543, #1)
or by a symbolic name which you assign.
Auxiliary locations can contain either numbers or
alphanumerics (strings). Numeric types can have math done
on them or be part of mathematical equations. Alphanumeric
types can be strung together (using \BUILD) or cut into
pieces. The maximum length of a non-numeric auxbox is 80
bytes. Both types can be copied, printed, converted to the
other type, displayed on the screen and used as places to
store user input. The entire auxiliary file can be stored
on disk.
Numeric values are displayed using the standard DOS
font and the \CURSOR command for position. Alphanumerics
use the current font you have read into memory and are
positioned with the \LOCATE command. To display numeric
auxboxes with the current font rather than the DOS font,
simply use the \CONVERT command to change them from numeric
to alphanumeric values first.
Location #32767, the last, is reserved for the current
time and date. This location can only be read--it cannot be
written to or deleted. It can be referred to as TIME&DATE
(with no spaces) or by its number, #32767, and contains a
twenty-byte formatted alphanumeric value obtained from DOS.
The format is MM/DD/YY HH:MM:SS.hh (hh is hundredths of a
second.) In the year 2000 YY will be 00, in 2001 it will be
01, etc.
HUE FILES
Hue files contain the definitions for the displayable
colors for each mode. The color components are Red, Green,
and Blue. Each of these values can be from 0 to 63, giving
262,144 color choices. (except in EGA which limits the
values to 0 through 15.) How many of these colors can be
displayed at one time is determined by the current screen
mode and is either 2, 4, 16 or 256.
Your machine must be equipped with advanced (MCGA or
VGA) video hardware to be able to change the hues, but if
you have the right hardware you will also be able to change
the hues for CGA and monochrome modes.
DATA FILES
Data files are input-only files containing comma
delimited fields in records that are delimited by carriage
return/line feed characters (13,10).
Data files must be opened before they can be read and
should be closed afterwards. Each \DATA command reads one
record and transfers the data to auxboxes. See the \DATA
command for more information.
VARIABLES
In addition to the auxiliary locations, there are
twenty-six (26) internal variables labeled "A" through "Z",
which are solely for numerics. They are somewhat faster
than auxboxes and remain in RAM when a new AUX file is read.
Some variables have special uses and they MUST NOT be
used in any way that would conflict with these uses.
Specifically, variable "A" is used to store answers to
questions you ask the program about current settings (see
below). Variable "B" holds the decimal value that DOS
returns from the last user keypress. After \MARQUE, \MOUSE,
\RUN and \SHOW, variable "C" contains the number of complete
cycles that occurred. Variables "D" and "E" hold digitizer,
mouse, or joystick position values if these are activated.
Variable "F" holds the last input device button(s) pressed.
\EXECUTE will also change variables "A" and "C". Except
when you need these features do not use variables "A"
through "F".
At the start of the program most variables contain
information about such things as the number of drives in the
machine, the current drive being used, the DOS version
number, etc. (see Initial Variable Values, below.)
A PARACHUTE
The program will not let you execute any command that
reads in a hue, text or picture file if it will overlay any
changes. This protects you from accidentally having your
changes destroyed. You can manually read in new files with
an option to overwrite current changes, or you can save your
changes and then run your text files normally.
The inability to accidentally overlay changes is a
crucial part of the program's "philosophy". For example,
the current frame you are drawing can be restored to it's
previous image by pressing ESCAPE and then responding to the
screen prompts. The current line in the editor can also be
restored by pressing ESCAPE. While editing hues, pictures
and text ESCAPE lets you undo changes that you just made.
ANIMATING IMAGES
This program's command language lets you animate
pictures and place them on the screen. Commands are
"instant" or may be stored in text or macro files.
The simplest way to animate frames is with the \SHOW
command. \SHOW describes the location on the screen and the
frames to be displayed. Frames are selected from the
current file. For example:
\SHOW LOCATE=35,45 FRAMES=1,4
would cycle through frames 1, 2, 3 and 4 at location 35
(X-axis), 45 (Y-axis). The upper left corner of the screen
is location 0,0. Several other parameters may be included
in this command. See the command description in the
technical reference for more information about \SHOW.
Pictures can also be displayed using the \SPRITE,
\SPRINT and \RUN commands. \SPRITE sets up motion
parameters;. \SPRINT indicates which frames should follow
those parameters. Then \RUN executes the motion-control
sequence. Over 120 separate elements can be controlled at
once from a choice of over eight thousand (the maximum
number of frames in RAM or EMM at one time).
Paths for artwork can be mathematically described
(increments and decrements to the current position) or they
can be the sequential dots of a vector drawing--any vector
drawing can be used as a path for either raster or vector
drawings. \SPRITE, \SPRINT, and \RUN can also be used to
open or move windows, make images appear at different times,
and much more. It is a powerful animation tool and worth
exploring!
BRANCHING WITHIN TEXT FILES
Branching within text files may be conditional,
unconditional or based on user input. A \X (paragraph)
command indicates a place in a text file which can be used
as a destination. Branching commands include \JUMP, \CALL,
\CALLM, \ON KEY and \ON ERROR. A \RETURN ends a "called"
section of the program and branches back to the command
after the one where the call occurred.
The following text file would display the decimal value
for any key pressed in the upper left corner of the screen:
\X STARTING_LINE
\CURSOR 0,0
\DISPLAY B
\JUMP STARTING_LINE
STARTING_LINE is the name of the place that \JUMP will
go to. You could use any name. Branching can occur forward
or back to anywhere in the text or macro file. The
following commands accomplish almost the same thing but
don't reset the cursor location:
\X A \DIS B \JU A.
Here the paragraph name is "A" and abbreviated forms of
the commands have been used (but see the important note on
using (and not using) abbreviations in the section on
command syntax).
DOS FUNCTIONS
The following DOS functions are available by pressing
F10 twice: Copy, Directory, Rename, Change default drive
and/or path, Erase file, a check of available space on disk
drives, and Execute a second copy of DOS (temporary DOS
exit). By exiting to DOS you can do just about anything,
including formatting disks, or anything else if you have the
memory available. (You should not format disks unless
absolutely necessary.)
A SPECIAL NOTE ABOUT DRIVE SPECIFICATIONS
Because the 26 variables use single letters, drives
must always be specified with numbers, variables or
auxboxes. Thus the command \READ C:GALLOP.TXT would not
read from drive "C" unless variable "C" held the value 3.
One way to code this in P11 is \READ 3:GALLOP.TXT.
Drive (and path) do not need to be specified; the
previous specification will remain valid.
The exception to numeric drive specifications is for
the file included on the command line during initial program
load. You can use letters at this point. This is so that a
"user" does not have to work with the numeric
specifications. For consistency numeric literals (1, 2, 3,
etc.) can also be used on the command line.
BACK UP YOUR FILES!!!
Be sure to BACK UP YOUR FILES REGULARLY. We suggest,
for this and all applications where you create new data, a
"staggered rotation" policy: Rotate 5 or 6 diskettes more
or less hourly. Whenever you do something important or
difficult to reproduce pluck that diskette from the rotation
and set it aside. Next, rotate 5 or so diskettes on a daily
basis. Again, pluck and replace with fresh ones as needed.
Do this on a weekly basis also. And lastly, do it monthly,
but keep those forever. Save to different disks. Don't
just overlay the saved version again and again and again.
Disks are cheap. Data (time and effort) is expensive and
sometimes irreplaceable.
With a reliable hard disk, save to diskette at least
daily, and still pluck whenever you'd hate to redo
something. You may want to save files to slightly
different names, such as incrementing the last two digits
(HORSE01.PIC, HORSE02.PIC, etc.) so you have several
versions available in case you want to go back a few steps.
Print text files regularly.
An important aspect of the program is that, by and
large, you can press any key and nothing very disastrous
will happen. To overwrite changes requires a confirmation
to be sure no major damage will occur. However, nothing can
save you from power spikes, glitches, spilled coffee, etc.
so save your files regularly!
This program creates ".BAK" files. You should still
save to slightly different names or different disks to
maintain old and current data files. You can tell the
program NOT to rename the current file to .BAK and to simply
overwrite instead. Note that all file types--font, hue,
picture, and text--are renamed simply to .BAK, replacing any
.BAK file of the same name. So to maintain backup versions
of different types of files be sure to use different names.
MISC. STUFF YOU SHOULD KNOW
When saving picture or font files the program will ask
which frames ("from" and "to") are to be saved. The program
will then calculate whether or not file compression is
feasible and if so, will ask if you want the file
compressed. Compressed files take less space on disk, and
reading and decompressing a file is often faster than simply
reading a non-compressed file. This is especially true for
256-color mode.
Raster pictures are stored as "words" (two bytes)
horizontally. This means that if you specify a width that
is not on a word boundary the program will actually create a
frame the size of the next word boundary, which in CGA mode
is every eight (8) dots (there are four (4) dots per byte in
CGA mode). This has one important effect: if you use an
even number of words (widths of 8,16,24,32, etc.) the \SHOW
command treats this as a special "simple" case and can
display the frame much more rapidly than if it has to show
odd dots. The fastest display possible with this program is
with this method. The FAST option of \SPRITE also uses this
speedy feature.
If you choose to have a mask for your raster frame, it
is automatically generated while editing. The mask is a
very useful feature, because it allows you to "bring
forward" a background image with the foreground image you
are displaying.
The \SHOW command and the FAST option of \SPRITE will
automatically use the background screen area as the original
background image. To use masking, first use \SAVE SCREEN to
save the screen image into the background screen area, then
display the foreground frames you want with \SHOW or \RUN.
If they have masks, the masked area will come from the
background screen. If the foreground image is moving, the
frames should be large enough to include the movement. This
will clear the old image when the new foreground frame is
shown.
The mask that the program generates will be the inverse
of the blank (zero) dots. Zero color dots will become
"high-value" dots and all other dots will become zero in the
mask. The mask can be touched up manually using "E" (edit
mask) in the picture editor. However, if you edit the
picture again a new mask will automatically be created. You
would then have to manually touch up the mask again. If you
do manually edit a mask, the only useful color to draw in is
zero (0). It has the effect of overlaying a zero-color
portion of an image onto a background.
It is important to remember that all numbers MUST be
whole numbers between -32768 and +32767 inclusive. Numbers
are stored as signed "word" (2-byte) values, which cannot
handle a greater capacity. It is your responsibility to
ensure that you code your text files with the understanding
that 32767+1 will wrap around and produce -32768, and so on.
If using the IBM operating system OS/2, you need to SET
HARDWARE TIMER ON.
INITIAL VARIABLE VALUES
Some of the 26 variables contain initial values at the
start of the program. Others contain mouse-related and
keyboard-related values and change whenever necessary. You
should not try to store values in the variables that the
program changes! Currently variables A through F have
special uses. "B" is the last keypress, "D" and "E" hold
the current mouse position, and "F" is the current mouse
buttons pressed. Variable "A" is used by the program to
store it's responses to questions you ask of it. Variable
"C" contains the number of cycles completed during cycle-
based activities such as \RUN, \SHOW, \MOUSE, \MARQUE and
\WAIT. \EXECUTE will change variables "A" and "C".
Many parameters can be looked at rather than set by
using a question mark (?) instead of a value. When a
question mark is used where a value is expected the current
value of the parameter is put in variable "A". For example,
the command \FRAME ? would put the total number of frames
currently in memory in variable "A".
The variables are assigned the following values at the
start of the program:
A..Size of available RAM memory. Actually this is the
size of the largest available chunk, normally after
initial program load this will be all available
memory.
B..Zero (0). Immediately accepts keypresses, though.
C..Zero (0).
D..Set by input device. X-axis location.
E..Set by input device. Y-axis location.
F..Set by buttons on input device.
G..Major version number of this program.
H..Minor version number of this program.
I..Major version number of the DOS being used.
J..Minor version number of the DOS being used.
K..Current drive (1=A, 2=B, etc.)
L..Maximum number of drives. This number is derived
from several values that DOS supplies and may not be
correct above the # of diskettes and 1 hard drive.
You cannot access a drive with a value greater than
this number (1=A, 2=B, etc.). If it is incorrect try
reloading the program using the highest value drive
as the default drive.
M..Machine ID. This number is also provided by DOS and
for some "clones" and "compatibles" it may not be
correct. For some common machines it's meaning is as
follows:
255 - PC
254 - PC/XT
253 - PCjr.
252 - PC/AT (also COMPAQ portable).
249 - PC Convertible.
154 - COMPAQ-Plus (XT type).
45 - COMPAQ (PC type).
N..EMM status. 0 if no EMM (in which case variable "O"
should be zero (0) too.) If EMM is available a bit-
mapped field indicating the status information
returned from the EMM driver software is placed here.
If this is NOT 0, the EMM is unusable. If it is 0,
EMM is usable only if "O", # of EMM pages, is
nonzero.
O..EMM pages available for pictures. EMM pages are each
16384 bytes.
P..Maximum number of frames allowed. (set by an
environmental variable, or defaults to 1000.
Q..Maximum picture size (set by an environmental
variable.)
R..Maximum size of a font file in K, after decompression
(set by an environmental variable.)
S..Screen mode on entry to the program.
T..Video type (not used by program, yet.)
0 - Probably CGA (or monochrome) or
unknown.
1 - Monochrome EGA.
2 - Color EGA.
4 - Color EGA.
5 - Monochrome EGA.
7 - Monochrome VGA.
8 - Color VGA.
DRAWING IMAGES (INCLUDING FONTS)
The drawing editor lets you edit individual frames in
an animation sequence. It uses icons which can be "clicked"
on and off with the mouse button, or all icon options have
keyboard equivalents.
To move the cursor in any of eight directions press the
keys that surround the "5" key on the numeric keypad. Be
sure "Num Lock" is OFF on your keyboard. Home, Pg Up, Pg Dn
and End move diagonally. Arrow keys are used for horizontal
and vertical motion. You can change the distance moved with
each directional keypress by entering a new number using the
numeric keys above the QWERTY part of the keyboard. On XT-
style keyboards, toggle between fast movement and single-dot
movement with the "5" key on most numeric keypads (or with
another key you specify with \KEYS). This allows very fast
keyboard-controlled movement around the screen.
If you have a digitizer, joystick or mouse, it will
draw in the current color when button #1 is pressed. Use
<CTRL>+RETURN to reverse to button #1 off means draw, on
means don't draw.
When drawing diagonals be aware of the SCALING FACTOR
of the screen. In CGA mode this is approximately 10:12,
assuming a typical screen ASPECT RATIO of 4:3. When drawing
a diagonal line the diagonal movement is not a 45-degree
angle; it simply moves over-and-up (or whatever direction)
instead.
The cursor's numeric X-Y location can be displayed by
pressing the space bar. To toggle off the position display
press the space bar again. The size of the cursor crosshair
is also varied with the space bar.
FONTS
Fonts are created as picture files and then written out
as pictures, fonts, or proportional fonts. To be written as
a font you must create the frames as all raster and all the
same height. Non-proportional fonts must be on word-
boundary widths (multiples of 8 dots wide in CGA mode) and
all frames must be the same width.
When you read a font it is automatically put in the
font area--NOT the picture area. If the file is read
manually (with F6, not with a text file \READ command) you
are then prompted as to whether or not you want it
transferred into the picture area. You can have a different
font in the font area but you can't edit that one.
You could also rename the font as a .PIC file and read
it in that way. When transferring a font from the font area
to the picture area the program will automatically enlarge
the font's frame headers to the size that pictures use.
BITPLANE MODE FONTS
Bitplane fonts are created as monochrome bitmapped
fonts and then the mode byte must be changed using a binary
editor such as Norton Utilities. Do NOT try to edit
bitplane fonts: you must edit the original bitmapped
monochrome font or change the mode back to monochrome, edit
it then, and then change it back.
DRAWING EDITOR KEY USAGE
A Airbrush or cycled colors instead of a solid cursor.
For cycling, each dot drawn will increment through the
chosen cycle colors. For airbrush, area (size) and
intensity of spray are adjusted with the cursor size
keys, + and -. When called from the keyboard you can
set up to 10 different colors to be airbrushed or
cycled.
B Buttons. Sets the meaning of the buttons available on
the input device. Also useful if your input device
does not return correct button values. For the
keyboard, buttons are imitated by using quote marks--
the left quote mark (`) simulates the left button, the
right quote (') the right button, and the double quote
("), both buttons.
C Color. Sets the current color. Enter a valid color
number for the screen mode you are in, or press return
to capture the color from the cursor position on the
screen.
D Dot color of the cursor crosshair. Enter a valid color
number for the cursor. For 256-color mode the highest
color values are not available. Press return for the
program to try to pick a high-contrast color.
E Edit the mask. The mask for a raster frame can be
manually edited, but this should ONLY be done when all
other changes to the frame have been completed. If
additional changes are made to the frame, the mask
will automatically be recreated.
F Flip a drawing on the horizontal or vertical axis or
both. Flip on the Y-axis will flip excess dots to the
next word boundary if you have not set the X-axis to
an word boundary. However this area is not stored.
Only the screen image is affected. If a box is set
only the area in the box is flipped.
G Grid. When two points are set, a lowercase "g" is a
grid of dots, an uppercase "G" is a grid of horizontal
and vertical lines.
H Hue. Lets you change the hue for the current color.
This option will not function if your hardware will
not support hues.
J Joystick reset to zero. If your joystick starts to
wander to one side or another, press this key when you
have centered the joystick and appropriate software
values will be recalculated.
L Line. Makes the current shape a line when F2 has set
a second point. Use input button or keyboard left
quote mark (`) to draw the line.
M MAsk, mErge (vector) or Mirror. Three separate options
are available from the M key. After pressing M press
either A (mAsk), E (mErge), or I (mIrror).
MAsk. This is not the same as the mask for the frame.
This simply masks the screen colors for drawing
purposes. Specify a color not to mask, and you will
only be able to draw over that color. All other colors
on the screen cannot be changed until you toggle off
this option by pressing M, then A, then RETURN.
MErge. (Available for vector only. See vector key
usage.)
MIrror. Create mirror images as you draw. Mirror
horizontally, vertically, both, or in four sectors.
The current locked point, or the screen center
(vector) or displayed image center (raster) can be
used as the mirror-line.
O Oval. When F2 has set a second point this makes the
current shape an oval. A lowercase "o" is an empty
oval, an uppercase "O" is a filled circle.
P Pattern. Any raster frame may be used as a pattern.
The frame will be "tiled" from the current locked
location when the option is called. (Locations are
"locked" by pressing both input device buttons.)
Q Rotate. Vector frames may be rotated between 0 and 90
degrees, in 1-degree increments. Raster frames may be
rotated 90 or 180 degrees only. Rotation may occur
around the current locked point or the screen center
(vector) or displayed image center (raster). The
cursor may also be rotated if it is a star (rosette
pattern, from 0 to 359 degrees.
R Rectangle. When F2 has set a second point this makes
the current shape a rectangle. A lowercase "r" is an
empty rectangle, an uppercase "R" is a filled
rectangle.
S Scale an image, Star shaped cursor.
Scale Lets your expand or compress a drawing. You
will be prompted for a multiplicand, which cannot be
zero and must be less than 255. Next you will be
asked for a divisor. This also cannot be zero and
must be less than 255. The next question asks if you
want the X-axis or the Y-axis values changed, or both.
If you are scaling a vector frame the first and last
dots will not be changed, and you can also set an
offset to be added to all positions. This must be a
value between -4094 and +4095 inclusive and is added
AFTER the multiplication and division operations have
taken place. The command will be canceled if you press
ESCAPE or if any value is invalid (which may produce
an error message). The frame size is not changed
during this operation.
Star lets you set up a very complex star-shaped cursor
that can have from 2 to 360 points. There are
numerous options to the star shape (also referred to
in this document as a rosette.) You can have
concentric shapes, a spiral, and many star and box
shapes, and all are rotatable and scalable. The best
way to understand the star shape is to play with it
for a while.
T Tilt allows you to slant, bend or compress drawings
along an axis. If entered in "box" mode (see F2
below, and "R" above) it will affect only the boxed
area including the dots along the box border lines.
This option lets you shrink or slant drawings along
lines or curves. Following prompts, you must choose a
side, set the line or curve (or use the previous one),
and state whether you want to slant or compress the
drawing along the defined line or curve. For large
frames on slow machines this command can take as much
as several minutes. The tilt line is stored in the
"temporary line area" and can be reused if nothing
else that uses that area is done (PAINT ALL and
\APPEND use that area for their own purposes).
U Rosette. If two points are active this makes the
current shape a star pattern, or rosette. The number
of points and many other things can be adjusted with
the Star option of the "S" key. A lowercase "u" is an
empty pattern and a capital "U" is a filled pattern.
X Xor mode. Xor (pronounced "ecks-or") is a
mathematical function, the mathematics of which are
neither complicated nor important. Xor will cause all
dots that are written to be "xor'ed" onto the screen.
The color that appears will be a function of the color
you are drawing and the color that is already there.
A background color, having a mathematical value of
zero (0), will xor to NO CHANGE. This is the way the
math works, so color zero (0) is like clear when in
xor mode. A special feature of xor is that if you xor
an image twice in the same position the second image
erases the first. The net result is that it leaves
the old image (whatever was on the screen before)
unchanged. One important option of \SPRITE lets you
do this automatically. Press "X" and don't answer the
prompt with "Y" to toggle off this function.
Z Zoom. Edit an enlargement of a local dot area.
Multiple zoom ratios are available; set the first time
you access zoom, and reset when needed with <ALT>-Z.
Z pressed during zoom resets the current zoom
location. Press the RETURN key to end zoom.
<CTRL>+d Digitizer. You will be prompted for the port to
use (COM1 is the default but you can use COM2
also), and for the width and height and offset
values for the digitizer. Press return for the
default values. (in CGA mode, 328, 318 units.)
<CTRL>+f Forward. Advance one frame. When advancing past
the top frame it will cycle around to the first
frame. If image changes exist it will require a
confirm.
<CTRL>+j Joystick. The joystick provides relative
positions. When initiated it will ask you to
move the joystick to the upper-left and
lower-right corners, and to press a key. When
initializing the joystick this way, Resolution,
and Sample values are asked for (just pressing
return uses low, default values). You can also
set the joystick to move away from a centerpoint,
within the values given for resolution. If you
do this, change the current centerpoint with the
asterisk (*) key. You will probably find using
the joystick to move around a centerpoint the
most effective way to draw with a joystick. The
joystick can also be used WITH the mouse to
rotate and scale the cursor if the cursor is a
rosette. This can do some really beautiful
patterns very quickly!
<CTRL>+m Mouse. Can only be initialized if there are no
changes to the current picture, hue, and text
files in RAM, unless it had been previously
initialized and then turned off. If the mouse
software has been loaded prior to loading this
program the mouse will automatically be
initialized.
<CTRL>+r Rewind. Goes back one frame (or around to the
top if on the first frame). If image changes
exist it will require a confirm.
<CTRL>+t Text mode. Lets you enter text characters from
the current font. These characters will be
AND'ed, OR'ed, or XOR'ed if in those modes. Press
ESCAPE to turn off text mode.
<CTRL>+<BACKSPACE> Will shift the image back to the home
position (0,0).
<CTRL>+<END> Will shift the position of the graphics face
around among four different options and "none".
The graphics face is used for picking options
with a mouse or other input device. In "no
graphics face" mode, use the keyboard to pick
drawing options.
<CTRL>+<HOME> When you press the control key and the Home
key (on the numeric keypad) the area of the
screen not used by the raster picture is cleared.
<CTRL>+<RETURN> Toggles the drawing mode for the input
device buttons or for the keyboard. Normally
button #1 is depressed to draw, but that can be
reversed so that it draws when not pressed. When
not using any input device, this toggles drawing
on and off.
<CTRL>+<Pg Up> Will shift the image up so that the bottom
portion may be edited.
<CTRL>+<Pg Dn> Will shift the image down so that the top
portion may be edited.
<CTRL>+<Right Arrow> Will shift the image right so that the
left portion may be edited.
<CTRL>+<Left Arrow> Will shift the image left so that the
right portion may be edited.
<TAB>, <SHIFT+TAB> Tab will move the cursor into the
picture frame, shift-tab will transfer it from
the zoomed area to the picture frame or vice-
versa.
<SPACE BAR> Toggles the size of the cursor crosshairs and
the numeric display of the cursor position.
<ESC> Reset image to original state or previous state,
and reset draw mode options. If you just entered
an "instant" command, paint-all, flip, or other
"powerful" option or if you have drawn "autosave"
number of dots (see F8), you can undo the last
change with ESCAPE. You can also undo all the
way back to the way the frame was when it was
originally put on the screen. You can undo the
undo if you undo it right away (with ESCAPE). If
painting with the 'ALL' option pressing ESCAPE
will stop the process, though not necessarily
right away.
<ALT>+# # is a numeric key above the QWERTY portion of
the keyboard. Jumps to the frame specified with
<ALT>+j.
<ALT>+j Sets up to 10 frames to instantly jump to with
<ALT>+# key combinations.
<ALT>+k Keystroke recorder and playback mechanism, active
only in the drawing editor.
<ALT>+o Turn onion skin editing off, or change the number
of layers.
( and ) The parenthesis turns the parabolic cursor shape
on and off. The parabolic shape can be rotated
with the joystick or with "Q" (rotate) option.
+ and - The plus (+) and minus (-) keys change the cursor
size (like changing the size of the pen tip). In
airbrush mode, they change the intensity of the
spray.
',`, and " Tick marks (quotes) emulate the input device
buttons, button #1, #2, and both, respectively.
Button #1 (normally the left button) toggles the
cursor--touches the pen to the paper, so to
speak. Button #2 lets you move an object that
has two points away from the second point. Both
buttons #1 and #2 together normally are used to
lock the second point.
| Vertical dash lets you set the number of dots to
skip when drawing straight lines.
* Resets the joystick center to the current
location if using the centered mode of the
joystick.
Function keys have the following meanings in draw mode:
<F1> Help key. It displays brief descriptions for all the
valid keys.
<F2> Sets a second point for drawing lines, circles, and
rectangles. The "r/R", "o/O", "u/U", "(/)" and "l/L"
keys are active only after the second point is set.
These stand for Rectangle, Oval, rosette (u/U),
parabola ((/)), and Line, respectively. See
descriptions of these keys. When set on, pressing
<F2> a second time turns off the second point. At
this time if the current shape is "R" you will be
given an option to save the rectangle for redisplay
later with <F5>. This area is very temporary, though.
It is destroyed when new picture files are read in and
when text files are run.
<F3> Lets you jump to a new frame, copy a frame to the
current frame, delete the current frame, insert a new
frame, or change the base location and timing of a
frame. When copying a frame the original frame at the
"to" location is completely overlaid. Copy, Delete
and Insert require confirmation.
<F4> Lets you enter an "instant" \DRAW command without
having to type the "\DRAW" portion of the command.
<F5> Will get a box that you saved with F2. You will be
prompted for several things including which corner the
cursor is on and whether or not to xor the rectangle
onto the screen. Also, if changes had been made you
will be required to overwrite the frame in RAM before
this command will execute. It ends by asking if it
should restore the image back from RAM. This function
gives you a temporary storage area for a rectangular
area of the screen.
<F6> (Also discussed in the Getting Started section.) The
option to Animate ("A") can be taken here. You will
be prompted for the starting and ending frame numbers
and those frames will be shown. Animating here will
clear current \SHOW options. This "movie" can be
ended by pressing ESCAPE.
Another option with <F6> is Save ("S"). You can save
picture, font, hue, or text files. When saving
pictures and fonts you are asked which frames (from
and to) you want to save and whether or not you want
the file compressed.
<F6> also lets you Read ("R") a new Font, Text, Hue or
Picture file. If changes exist that would be overlaid
you will be warned of this and given a chance to
cancel the read operation.
You can eXit ("X") back to DOS with <F6>. If no
changes exist to any files exit will be immediate and
without prompts.
<F6> twice will quick-transfer from the picture editor
to the text editor or vice-versa.
<F7> Sets paint mode. Paint mode can be directional and
does not need to fill an area. Paint will go in any
specified direction until it hits a specified border
color. Prompts guide your selections. The possible
directions are up, down, left, right, horizontal,
vertical, "both" (horizontal and vertical), "small
square" ("all" but only within a small box around the
current cursor position), and "all". If XOR mode is
on, painting is done with XOR. If mask is on,
painting is done with mask. Invalid selections or no
selections turn off paint mode. To successfully use
"ALL" you should be sure that the area you wish to
paint is completely surrounded by either the border
color or the color you plan to paint with. After
setting paint mode to "all" the very next dot you draw
is the "seed" and painting proceeds out in all
directions from that point. The option is then
toggled off. If the screen mask option is activated,
it will be used during the paint operation. PAINT ALL
uses the "temporary line area" to accomplish it's task
so don't use this option when saving a line for tilt
purposes.
<F8> Adjust cursor crosshair size, use frame as cursor or
set the "autosave" value (autosave is for raster
images only). You can temporarily use any frame as a
cursor. You can also adjust the size of the cursor
crosshair to a new value. The bigger the cursor, the
slower it moves. Autosave saves the screen for UNDO
purposes after a specified number of dots or line
segments have been drawn. (Line segments count as 3,
dots count as one.) Other operations such as
"instant" commands and paint-all also save the screen
and reset this counter. The saved screen is restored
with ESCAPE.
<F9> Displays a message describing the size, base, frame
type, etc. for the current frame.
<F10> Lets you enter instant commands and is described more
fully in the Technical Reference.
VECTOR DRAWING
The creation of vector (or "connect-the-dots") frames
differs from that of raster images in several ways. When
creating a vector frame you specify the number of dots in
the image. To increase this size later you will have to
copy the image to a larger frame. To truncate a lot of dots
(due perhaps to an overestimate of the number needed for a
specific image) you may want to copy the frame to a smaller
vector image. To delete a dot use the <DEL> key. It will
beep as each dot is removed. If you have deleted dots, they
may be added again until the image is the same size as it
was prior to editing.
In a vector drawing, the order of the dots is
important. The first and last dots of vector images are not
actually part of the image. They are only shown while
editing and do not appear while running sprites or when
using \SHOW. Their purpose is to define the upper-left and
lower-right corners of the drawing, respectively. It is a
good idea to put these points as close to the corners of the
rectangle that would hold a vector image as possible. This
will allow images which are off the screen or outside the
viewed window during sprite operations not be searched dot
by dot for dots that should be displayed. This may increase
display speed significantly. 0,0 is a common location for
the first dot, and the screen lower right (or 0,0) for the
last. However, interesting and useful effects can be
achieved by positioning these endpoints elsewhere. These
two dots have NO function when \SHOW is used--they are only
important when the image is shown with the \SPRITE method.
The dot color of the first and last dots is irrelevant but
must be used to enter the dot anyway.
When you choose a color, dots of that color are drawn.
This replaces the old dot unless you are in "insert dot"
mode (toggled with the "Ins" key). Insert mode pushes all
dots above the current dot in the image up one in the
sequence and the top dot falls out.
On the right side of the bottom line are characters
indicating the current status of various modes, including
information display mode, insert mode and image display
mode.
Dot location coordinate values must be less than 4096.
If they become larger they will be "clipped". Clipping
involves "masking out" the high-order binary bits, which has
the effect of subtracting 4096 repeatedly until the value
becomes less than 4096.
For vector images, a crosshair appears for the existing
current dot as well as for the cursor. This is the dot that
would be replaced if you write a new dot, or that a new dot
would be written in front of if you are in insert dot mode.
VECTOR FRAME EDITOR KEY USAGE
E Eliminate dots. You can eliminate duplicate adjacent
dots, all duplicate dots, all dots of a specified
color, or all off-screen dots. The first and last
dots are not effected by this option. Duplicate
adjacent dots are dots of the same color and location
which are sequentially next to each other in the
image.
I Invert frame. Switches the second dot with the
penultimate dot, the third with the third from the end
and so on. Will not invert the first and last dots of
the image. This reverses the order of the dots.
K Keep dot position. Toggles "Color Only" mode. In
this mode only the color of the vector dot is changed,
not the position. If in Xor mode ("X"), the new color
will be the mathematical Xor product of whatever
colors are involved in the operation (see "X"). When
on, the current cursor position is irrelevant.
However you will have to move the cursor anyway
because the editor waits for the position to change to
enter a new dot.
M Merge, Mask, Mirror. Merge another vector image with
the current frame above the current dot. This
overlays the dot after the current dot and as many
subsequent dots as needed to copy the frame. It will
stop when either frame reaches the second-to-last dot.
It will NOT merge the other frame's first or last dots
nor overlay this frame's first or last dots. Current
cursor location determines placement of the merged
image.
V Toggles the display itself and is a three-way toggle.
It also puts a code in the lower right corner of the
screen: it will show "P" if it is toggled to only show
the image up to the current dot (a partial image), it
will show "A" (for "all") if it is toggled to show all
of the vector image. An "N" means do not display the
drawing at all. <CTRL>+<HOME> will clear the screen
and restore the image according to the setting of the
display mode.
, or < & . or > The comma (,) or less than sign (<) and
period (.) or greater than sign (>) advance and rewind
through individual vector dots. Editing begins at the
current dot.
# The current vector dot is normally displayed on the
bottom line whenever it is changed, but this can be
toggled off with the "#" key.
<INS> Insert Dot mode. When a dot is drawn and this mode is
on, a new dot is inserted at the current location.
All dots above the current dot are upped one dot in
the sequence and the top one falls out. "Ins" toggles
off options "X" and F7.
<DEL> Delete the current dot with a "Y" confirmation.
Pressing "Y" repeatedly deletes additional dots (the
frame must be at least one dot). Pressing the "Del"
key toggles off options F7, "X", and "Ins".
<F4> Finds the next dot at the current location (F) or lets
you jump to a different dot within an image (J). If
finding a dot at the current cursor location the last
dot in the image will become the current dot if no dot
is found.
EDITING TEXT FILES
Text files are created with the text editor, or any
word processor. Within text files all commands MUST BE
CAPITALIZED and have a backslash ("\") in column one. This
indicates the line is a command line. Occasionally you may
not want all parts of a command line capitalized.
Specifically, items inside of quote marks, called
alphanumeric literals, need not be capitalized.
Lines are scrolled up within the text window. When
you start, the window is about a third of the screen high
(the bottom third.) An option of F2 lets you move this
window. The top line in the window is used for certain
editing messages.
Only ASCII character values from 32 to 127 are valid
within a line. Invalid keys will beep (unless you have
turned off sound).
To test-run your text file, press the Home key three
times to go to the beginning of the file, then press F6,
then "R" to Run the file. You may want to save it to disk
first. When you exit a running text file you will be on the
last line executed.
TEXT EDITOR KEY USAGE
<F1> Help using the text editor.
<F2> Editor options. Press a second key to invoke the
option. Options are listed below.
<F3> First space after the last character in the line.
<F4> Gets the last deleted line from the delete buffer.
The next time you press F4 you'll get the line before
that, etc. for about 400 bytes. Each time you repeat
F4, the next deleted line is placed in the current
line at the current location. Pressing any other key
accepts the deleted line into the current line.
<F5> Beginning of the line.
<F6> Lets you save a file or name a new file. Also you can
run the text file from the current line or from the
beginning of the file. You can exit to DOS either by
naming a file with the first four characters "EXIT" or
by taking the "X" option of <F6>. Use <F6> to
transfer to the picture editor. F6 twice will
immediately transfer to the picture editor.
<F7> End of the line.
<F8> Gets the last line entered from the buffer. It works
just like <F4> but from the "accepted line" buffer.
<F9> Will either put you at the last cursor position of the
previous edited line or, if an error occurred, it will
put you at the error spot (or try to). This will ONLY
happen if you enter the line immediately after
returning to the editor due to an error.
<F10> Lets you enter an "instant" command. Pressed twice
gives you DOS options as described in the Technical
Reference.
<HOME> Once goes to the beginning of the line. Twice in a
row goes to the top of the text area on the screen.
Three times in a row goes to the start of the file.
<END> Once goes to the end of the line. Twice in a row goes
to the bottom of the text area on the screen. Three
times in a row goes to the end of the file.
<Left arrow>, <Right arrow> move the cursor one space left
or right.
<Up arrow>, <Down arrow> move the cursor up or down one
line.
<END> Puts you at the first space after the last character
in the line.
<LEFT SHIFT>+<Tab>, <RIGHT SHIFT>+<Tab> Moves the cursor 8
places to the right, or 8 places to the left.
<INS> Insert mode. Characters beyond the current cursor
location are shifted right one character. The program
beeps if the end character would be shifted out of the
line. Cursor position is incremented.
<DEL> Deletes the character that the cursor is on and moves
all characters that are to the right of the deleted
character left one position.
<PG UP> Scrolls the text area up one page. The number of
lines this is depends on the size of the text window.
<PG DN> Scrolls the text area down one page.
<BACKSPACE> (Signified by a left-pointing arrow on most
keyboards.) Will delete the character to the left and
move the cursor left one position. It will not move
any other characters.
<CTRL>+<LEFT ARROW> (on the four) will move the cursor left
one word.
<CTRL>+<RIGHT ARROW> (on the six) will move the cursor right
one word.
<CTRL>+r searches in the current direction for the next
occurrence of a string. If found it replaces that
string and places the cursor at the start of the
string.
<CTRL>+s searches in the current direction for the next
occurrence of a string. If found it will put you at
the start of the string.
<CTRL>+<RETURN> will divide the line into two lines at the
cursor position.
<CTRL>+<HOME> once clears the text area, twice clears the
whole screen. Pressing <CTRL>-Home a third time will
restore the non-text area of the screen.
<ALT>+Function key combinations and <CTRL>+Function key
combinations can be used to save and retrieve strings:
<CTRL>+Function Key gets a string of that length (<F1> = 1,
<F2> = 2, <F10> = 10, etc.) beginning at the current
cursor position and saves it in a special buffer. The
cursor is moved forward to the end of the string. To
retrieve saved strings press <ALT>+function key.
<ALT>+Function Key will get a string saved with
<CTRL>+function key and put it at the current
position. If you are in Insert Character mode it will
insert the string. These strings are initially spaces
until you reset them with the <CTRL>+function key
combination.
When entering numeric data, including when you have the
user enter a number, the program will not allow you to enter
non-numerics except a minus (-) sign in the leading
position. However with the arrow and function keys it is
possible to create an invalid value (for example, 23 45
could be entered.) This program will ignore the part after
the space in such a number. You cannot enter a decimal
point, since all numbers in this program are whole numbers.
<F2> Has the following options (this list appears on the
top line of the text window when F2 is pressed):
<F1>,<F2>,B,C,D,J,M,P,R,S,T
Your response is capitalized and has the following
meanings:
<F1> Help. Lists the meanings of all the keys that can be
used with <F2>.
<F2> Information. Pressing F2 twice in succession will
display information which may be useful in debugging
text files. Variables "A" through "Z" are displayed.
The sizes of the text file, the macro area, the
auxiliary file, and the symbolic names storage area
are displayed. The last two error codes are
displayed. All auxboxes and their names will be
displayed. Press any key (except ESCAPE) to advance
to the next screen of information. The last auxbox
holds the time and date. This box will be constantly
changing to reflect the current time and date.
Although hundredths of a second are kept, they are not
entirely accurate because DOS does not update the time
that frequently. (DOS updates the time about 18 times
per second.) Press ESCAPE to return to the editor.
B Block edge mark. This option is used in conjunction
with C, D and M to accomplish block copies, deletes
and moves. First the starting and ending lines of the
block are delineated, then the block is either copied,
deleted, or moved. To mark the block put yourself at
the line you want to start the block on. Press <F2>
and then B. A message indicating a block endpoint has
been marked will appear. Next move the cursor up or
down to the other end of the block and press F2 and
then B again. The lines between the two marks,
including the lines the marks are on, are now ready
for moving or copying. To copy or move a single line,
place both marks on that line. Move the cursor to the
line you wish to move or copy the block to, then press
<F2> and then M or C, or just press <F2> and D to
delete a line. You cannot make editing changes
between the time when you start setting a block and
when you move/copy/delete it.
C Copy a block. Used with the B option explained above.
D Delete line mode. Deletes the current line and puts
it in the delete-line buffer. Deleted lines can be
retrieved with F4. You can delete additional lines
with "y". A message indicating this will appear
within the line after the first line is deleted. This
message overlays the line and appears to the left of
the line number. The message is non-destructive.
J Jump to a line number.
M Move block. Used with the B option explained above.
P Print. Lets you print out the text file or a marked
block of text. You will be prompted for one or two
options. The defaults will print line numbers, the
name and size of the file, and the time and date.
While printing you cannot do anything else. Pressing
any key will give you the opportunity to cancel the
print request.
R Replace. You will be prompted for a string to search
for and a replacement string. You will be given an
opportunity to replace all occurrences in the text
file or just the first one found. <CTRL>+r will let
you replace the next occurrence. The search ignores
case. If you choose global replacement it will be from
the current cursor location forward (or back) to the
end (beginning) of the file. An asterisk (*) is a
wild-card character in the search portion of the
search/replace.
S Search. You will be prompted for a search string.
Ignores case. To search for the next matching item
press <CTRL>+s. To start the search over again from
the beginning of the file press the Home key and then
<CTRL>+s. A failure to find a match will leave you on
the last line of the file. A find will put the cursor
in the line at the beginning of the string. An
asterisk (*) is a wild-card character.
T Text window size. This allows you to set the size and
location of the text editor window. \SCREEN will
reset this to the default area.
COMMAND SYNTAX
See the section on commands and syntax and the
beginning of the alphabetical listing of all commands for a
complete description of syntax requirements and the meaning
of the symbols that appear below. This guide should be used
in conjunction with the main technical reference which has
more complete descriptions of each command.
Briefly, anywhere a pound sign appears, you can code a
variable, a number, or a numeric auxbox if the syntax
requires a number, or it could also be an alphanumeric
auxbox, a mathematical expression such as (X+Y), or a
literal inside single or double quotes if the syntax allows
it. Things in braces are optional, though sometimes you
must choose from a set. Brackets when listed should
immediately follow the auxbox name or number they accompany
with no intervening spaces. They denote strings within
alphanumeric auxboxes. All command words and keyword
parameters are separated by at least one space; values are
generally separated by commas and no spaces.
ACTIVATE \ACTIVATE {SCREEN #}
Activates the background screen for creating
complex images. The background screen is also
used for MASK operations during \SHOW and \RUN.
Any error, even if trapped, will activate
screen 0.
ADD \ADD # TO #
Adds the first value to the second value. Will
"wrap around" if the result is greater than
32767 or less than -32768.
APPEND \APPEND NNNNNNNN.PIC #,#
Appends frames from the named picture file to
the current picture file in RAM or EMM. The
#'s are the "from" and "to" frames to append
from within the picture. Use 1,-1 to append
all the frames. The total number appended will
be in variable "A".
AUTHORITY \AUTHORITY {HIGH}
Allows the \OUT command to work.
BEEP \BEEP {#,#}
Beeps the speaker for duration # at tone #.
BLANK \BLANK #,#,#,#
Blanks the screen from X-low, Y-low to X-high,
Y-high. X-low <= X-high and Y-low <= Y-high.
BREAK \BREAK {ON} or OFF
Puts program in single-step mode for debugging.
BUILD \BUILD #=#{,#,# etc.}
Builds alphanumeric auxboxes from other
auxboxes and literals. Maximum 80 bytes
altogether.
BUTTON \BUTTON 1=# 2=# 3=# ... 7=# or 0
Assigns key values to input device button
presses or if zero, asks the user to press
buttons for assignment.
CALL \CALL NNNNNN
Sends processing to the named paragraph (up to
30 characters long). A \RETURN will then cause
processing to go to the command immediately
after the \CALL.
CALLM \CALLM NNNNNN
Sends processing to the named paragraph in the
macro area. Similar to \CALL but specifically
calls paragraphs in the macro area.
CIRCLE \CIRCLE ANGLE=#,# COLOR=# LOCATION=#,# RADIUS=#,#
Draws a circle. Angle draws a partial circle.
The angle is "true" only for radii that match
the dot scaling factor, which in CGA is 1 to
1.20 assuming a standard monitor's aspect ratio
(usually 4:3).
CLEAR \CLEAR {KEYBOARD, MACROS, MOUSE, NAMES, ON ERROR,
ON KEYS, PICTURES, SCREEN, SHOW, SPRITES or SPRITE
#}
Resets to the default values for that option.
Use only one option at a time.
CLOCK \CLOCK SPEED=# CURSOR=#,#
FORMAT={HH:MM:SS,MM:SS,HH:MM,SS}
Sets the clock speed for the asynchronous
internal clock, or sets the cursor location and
format for an on-screen current time display.
CLOSE \CLOSE NNNNNNNN.EXT or LPT#:
Closes a print file (extension PRN) or the
system printer (LPT1, 2 or 3), or a data file
(DAT), or a disk-based animation file (PIC).
CONNECT \CONNECT {YES or ON} or {NO or OFF}
Turns the connected-dot mode of vector drawing
on and off. If no parameters are entered it
turns option on. Effects draw mode and \SHOW.
Use \SPRITE CONNECT=ON to have connected line
segments in \RUN.
CONVERT \CONVERT #
Changes an auxbox from numeric to alphanumeric
or from alphanumeric to numeric.
CRAWL \CRAWL #{,{AOX},#}
Sets text display mode to CRAWL from right to
left.
CURSOR \CURSOR #,#{,#,#}
Sets the cursor for user input and for numeric
display. First value is the column (X-axis)
and second value is the row (Y-axis). If four
values are specified this forms a window for
user input. The upper left corner is 0,0.
DATA \DATA #{,#,#...}
Reads data (input fields) from an \OPENed
.DAT file into named auxboxes. Reads one
record delimited by a carriage-return/line
feed (13,10).
DELETE \DELETE {FRAME # or MACRO NNNNNNNN}
Deletes the frame number or macro name (NOT
the macro itself).
DISPLAY \DISPLAY #{,#,#,# etc.}
Displays auxboxes, variables, literals in
single or double quotes, or numbers on the
screen. Numeric data is displayed at the
\CURSOR location, alphanumeric data is
displayed at the \LOCATE location.
DIGITIZER \DIGITIZER {INITIALIZE #,#{,#{,#,#}}}, {OFF}, {?}
Turns digitizer on or off or places current
state in variable "A". If turning it on, the
first two numbers are the active widths, the
third number if included is the COM port to use
(1 or 2), and the fourth and fifth numbers, if
included, are the offsets to add to all
digitizer values.
DIVIDE \DIVIDE # BY # {REMAINDER #}
Divides the first number by the second number
and puts the result in the first location. If
the REMAINDER option is used the remainder is
put in the third location.
DOT \DOT #,#,#{,{AOX}}
Display a dot at the location specified in the
first two values. The color is specified in
the third value. Sets AND, OR, and XOR mode
for subsequent \DRAW and \LINE commands. A
question mark (?) in the third position will
put the color of the dot at the location
specified in variable "A".
DRAW \DRAW {UDLREFGH}#, C#, J#,#, M{+,-}#,{+,-}#, P
#,{UDLRHVA}, S{X,Y or A}
Draws line segments as specified in the
parameters.
ELIMINATE \ELIMINATE #{,# TO #,#,#,# TO # etc.}
Removes unneeded auxboxes. (NOT their names.)
ELSE \ELSE
Starts the "false" processing section of an \IF
statement.
END \END
Causes processing to return to the editor, or
to DOS in the run-time version.
ENDIF \ENDIF
Ends all \IF statements that are coded in-line
before it. Stops nesting. When the \THEN side
of an \IF statement is finished, processing
goes to the first command or text line after
this one.
ERROR \ERROR ?
Puts the most recent error code that occurred
in variable "A".
EXCHANGE \EXCHANGE {SCREEN}
If you stored a screen image with \SAVE SCREEN
this exchanges the current screen with the
stored screen.
EXECUTE \EXECUTE DOS>{NNNNNNN} or \EXECUTE >NNNNNNN
Executes a second copy of DOS or executes a
program. This is a very powerful command and
should be fully reviewed before being used.
FRAME \FRAME #,#,#,#{,M and/or O} or \FRAME # or \FRAME
?
Adds a frame to the end of the picture file. If
four values are specified a raster frame is
saved from the screen location (rounded to the
nearest byte on the horizontal axis) specified
in the first two numbers, and is the size
specified in the second two numbers. M will
create a masked frame, while O will create an
onion skin frame. If only one number is
present a vector frame of that many dots is
created. If a question-mark (?) is the only
parameter the total number of frames in RAM or
EMM will be placed in variable "A".
HEIGHT \HEIGHT #
Specifies the height of a text window for
\SCROLL and \OVERLAY to use.
HUE \HUE {COLOR=#,#} {INCREMENT=#,#,#} {SET=#,#,#}
{HOLD=YES or NO} {CYCLE=YES} GRAY={Y or N}
Sets colors to new hue values. The hold option
means do not actually set the hardware, just
set up the internal hue table.
IF \IF # {<>=} # {{AND or OR} # {<>=} #}
Begins an "if" statement. The values, which
can be alphanumeric, are evaluated according to
the operator (<, > or =) and processing then
goes to either the \ELSE clause if false or to
the \THEN clause if true.
IN \IN # {BYTE, WORD}
The # is the appropriate port that you wish to
read. Reads either a byte or a word and puts
it variable "A". Generally # is 0 to 255.
JOY \JOY or \JOYSTICK {INITIALIZE {CENTER=#,#}
{RESOLUTION=#,#} {SAMPLES=#}} {OFF} {ZERO}
{ACCURACY=#,#}
Adjusts the current cursor location X and Y
values and puts them in variables "D" and "E"
respectively, or displays messages for the user
to initialize the joystick for future use.
Turns digitizer off.
JRCOLOR \JRCOLOR #,#,#,#,#
Sets the background, three foreground, and
border colors, respectively, for many TANDY and
all PCjr machines in CGA mode.
JUMP \JUMP NNNNNN
Names a paragraph (\X command) for text to
continue processing at.
KEY \KEY CYCLE=# DECREASE=# END=# FORWARD=# INCREASE=#
MINUS=# NEXT=# PLUS=# REVERSE=# SINGLES=#
Defines user control keys, mainly for \SHOW and
\RUN.
LENGTH \LENGTH #
Puts length in bytes of an auxbox in
variable "A". Numeric auxboxes are always
two (2) bytes long. If the auxbox does not
exist, the length will be zero.
LINE \LINE #,#,#,#,#{,B or ,BF} or \LINE ,#,#,#
First two numbers are the X, Y values of one
end of a line, second two are the X, Y values
of the other end. The fifth value is the
color. In the second option only the second
endpoint and the color are specified, and the
current location is used as the start point. ,B
draws a box while ,BF draws a filled-in box.
LOAD \LOAD NNNNNNNN.PIC
Works like a combination of \OPEN and \READ.
You can \READ and \LOAD at the same time. You
cannot \OPEN and \LOAD at the same time.
Places a picture file in RAM (NOT EMM) but does
not decompress it before showing the frames.
Only decompresses the frame being shown.
LOCATE \LOCATE #,#
Sets a cursor where text lines will display.
Also sets location for alphanumerics shown with
\DISPLAY.
MARQUE \MARQUE #,#,#,#{,#{,#}}
Sets up a "Broadway" ("Hollywood" for those
West of the Mississippi) style animation. The
first four numbers give the X and Y locations
for the rectangle. The fifth value is the
number of colors to use (plus one). If a sixth
number is included the fifth and sixth numbers
are the "from" and "to" numbers. Speed and
running time is set with \ROUNDS.
MEMORY \MEMORY {?} {EMM}
Puts amount of memory left for pictures,
executing subprograms, etc. in variable "A".
Value is in K (1024 bytes). The question mark
(?) is optional. If EMM, puts the number of
NEVER-USED 16K pages in variable "A".
MOUSE \MOUSE {INITIALIZE, OFF or ?} or ACCURACY=#,#
END=#,#,#,# FRAME=#,# KEEP={Y or anything else}
LOCATION=#,# AND={YES or NO} OR={YES or NO}
ROUNDS=# SPEED=# WINDOW=#,#,#,# XOR={N or anything
for yes} RESOLUTION=#,#
Allows the user to use the current input
device. They may use the cursor keys and the
numeric keys above the QWERTY part of the
keyboard instead.
MOVE \MOVE #{[#,#]} TO #
Moves the first value to the location following
the word TO. The destination may be an auxbox
or a variable.
MULTIPLY \MULTIPLY # BY #
Multiplies the first value by the second value
and puts the result in the first value.
Numbers greater than 32767 will "wrap around".
NAME \NAME #=NNNNNNNNN
Symbolically names an auxbox. Name is 3 to 30
characters long and can subsequently be used to
reference an auxbox instead of using it's #.
ON ERROR \ON ERROR JUMP or CALL NNNNNNNN.
Sets a place for the program to go if ANY error
occurs (except certain severe errors.) To be
used with caution.
ON KEY \ON KEY then many options. See \ON KEY.
Sets a paragraph for various keystrokes to
cause a jump or call to in the text file. See
the command for important considerations.
OPEN \OPEN NNNNNNNN.EXT or LPT#:
EXT must be PRN, PIC, or DAT. PRN opens a
print file or the system printer (LPT1, LPT2,
LPT3, or LPT?) for subsequent \PRINT commands
to use. PRN can be followed by ADD to open an
existing file. DAT opens a data file for
input, and PIC opens a disk-based picture file
for disk-based animation.
OUT \OUT #,# {BYTE, WORD}
Places the value in the second variable out the
port specified in the first variable. Can only
be used if \AUTHORITY is HIGH.
OVERLAY \OVERLAY #{, {AOX}}
Sets text display mode to overlay at speed #.
If the ,A, ,O, or ,X option is used text is
ANDed, ORed, or XORed onto the screen.
PAINT \PAINT #,{UDLRVHBA}
Puts program in paint mode for subsequent
\LINE, \DRAW and other commands. Paints up to
color # in direction Up, Down, Left, Right,
Vertical, Horizontal, or vertical and
horizontal (Both). No value or options turns
paint mode off. "A" will PAINT in all
directions when the next dot is drawn.
PASSWORD \PASSWORD EXIT=# {or "NNNNNN" or 'NNNNNN'} TIME=#
Sets up password protection for exits to DOS.
PEN \PEN AIRBRUSH=NO or #{,#,#...} COLOR=# CYCLE={NO
or #{,#,#...}} WIDTH=# XOR={AND, OR, XOR, YES
(XOR), ON (XOR), NO, OFF}
Sets up pen options for subsequent \DOT, \DRAW,
\LINE and \CIRCLE commands. XOR will not
affect \DOT.
PRINT \PRINT #,{#,# etc., with or without a trailing
comma.}
Sends data to a previously opened print file
(which is on disk) or to LPT1, LPT2, or LPT3.
Format for the values are similar to \DISPLAY.
QUESTION \QUESTION #,#{,#{,L}}
Gets a text line from the user. If the
second value is zero this gets a numeric
value at the current \CURSOR location,
otherwise this gets an alphanumeric string
of the length given. The result is placed
in the first value, which can be a variable
if the second value is 0, or it can be an
auxbox. The third value if present is the
starting cursor position within the string.
The third value must be included to specify
the fourth parameter, L or LOWER. This will
allow the user to type lowercase letters.
READ \READ {drive:}{/path/}NNNNNNNN.EXT
Used to read new text, hue, macro, picture,
font, and auxiliary files into RAM. In most
cases this does not reread files that are
already in RAM. Use 1, 2 etc. for drive
specifications.
RESTORE \RESTORE {SCREEN}
Restores a full screen previously saved with
\SAVE.
RETURN \RETURN
Will return processing to the command after the
last \CALL or \ON...CALL.
ROTATE \ROTATE ANGLE=# FRAME=# LOCATION=#,#
Lets you rotate a vector frame around a point,
from 0 to 90 degrees in a clockwise direction.
ROUNDS \ROUNDS # {SPEED # or [#, {REPEAT}]} {FIXED}
{REVERSIBLE} {WAVING} (RANGE=#,#} {RETRACE}
Sets the number of cycles and the timing for
\SHOW, \RUN and \MARQUE.
RUN \RUN {FROM #} {TEXT} {MOUSE} {HUES} {NUMBERS {#}
or FACTS {#}}
Displays animation set up by \SPRITE and
\SPRINT. FROM starts animation on the cycle
specified. TEXT displays subsequent text lines
concurrently. MOUSE uses previous \MOUSE
options to use a mouse concurrently. The other
options are debugging tools and not available
in the runtime version.
SAVE \SAVE {SCREEN}
Saves the screen in a storage area. Restore
later using \RESTORE, or swap using \EXCHANGE.
SCREEN \SCREEN #,#{,#} or {MODE=#} {LINE=#,#}
Sets the screen mode (third parameter), and for
CGA, the background and palette for the screen,
or use the keyword format for other screen
modes and to use the LINE= option.
SCROLL \SCROLL #{, {AOX},#}
Set text mode to scroll at the speed set by the
first value. Text can be ANDed, ORed, or XORed
with the color given in the third parameter.
SET \SET {COLOR=# DOT={# or ?} FRAME=# LOCATION=#,#}
{MODE={GET or SET}}
Changes or gets information about individual
dots in a vector frame. SET is the default
MODE. If DOTS=? is used the total number of
dots in the FRAME is placed in variable "A".
SHOW \SHOW #,#,#,#{,A ,O ,X or ,S} or:
\SHOW AND={YES, NO} FRAME=#,# LOCATE=#,#
MOTION=#,# OR={YES, NO} PATH=#{,#} SAVE={YES, NO}
WINDOW=#,#,#,# XOR={YES, NO}
In the first format the first two numbers are
the location on the screen. The second two are
the "from" and "to" frames to show. If the
fourth value is missing a single frame is
shown. To AND, OR, XOR or SAVE a frame the
third and fourth numbers must be equal. Only
raster frames can be saved this way.
In the second format the options are listed as
keyword parameters. See \SHOW for complete
documentation.
SOUND \SOUND ON or OFF
Toggles the \BEEP command's ability to be heard
as well as any beeping the program does.
SPRINT \SPRINT #{,# TO #,#,# etc.}
Sets frames to be shown with \RUN according to
parameters previously set with \SPRITE.
SPRITE \SPRITE AND={YES or NO} ANIMATE={# or NO}
CONNECT={YES or NO} INCREMENT=#,# END=#,#,#,#
FAST={Y or anything} MOTION=#,# OPEN=#,#,#,#
TYPE={R or anything} OR={YES or NO} PATH={#,# or
NO} ROUNDS=#,# STRING=#,# WINDOW=#,#,#,#
WPATH={#,# or NO} XOR={N, AUTO or Y} ZING=#,#,#
{or NO}
See \SPRITE. Sets up parameters for animating
frames with subsequent \SPRINT commands. See
\SPRITE in the technical reference for complete
information on this powerful and important
animation command.
SUBTRACT \SUBTRACT # FROM #
Subtracts the first number from the second
number and puts the result in the second
location. Numbers will "wrap" if out of range.
TEXT \TEXT PLANE=NNNN
Indicates which planes to write text to in
bitplane modes. Is a binary number (1's and
0's.) To write to all four planes 16 color
bitplane modes, NNNN=1111.
THEN \THEN
Identifies the commands to be processed when an
\IF statement evaluates to TRUE. You never
need to actually code this statement because it
is implied as the next statement after \IF.
WAIT \WAIT {LIMIT # or NOW # or RETURN # {"NNNNNN"}
Waits now, waits for the return key, or sets
future time limits for \QUESTION responses.
WIDTH \WIDTH # {DOTS} {RIGHT, LEFT, BOTH or CENTERED}
{PROPORTIONAL}
Sets the width in characters or DOTS for text
display. If specified in characters the actual
width in dots will depend on the size of the
current font. Also sets text justification and
indicates if the font is proportional, which
changes the way some aspects of justification
work.
WRITE \WRITE {drive:}{/path/}NNNNNNNN.EXT
The only valid file that can be written out
with this command in release 7.24 is the
auxiliary file. Print files do not use this
command, and text, font, and picture files must
be written out manually.
X \X NNNNN
Names a paragraph for \JUMP's, \CALL's and
\CALLM's to branch to. \ON KEY and \ON ERROR
use it too. Name may be up to 30 characters
long.
ZING \ZING AXIS={X, Y or B} CORNERS=#,#,#,# FRAME=#
LOCATION=#,# MODE={A, O, X, B or F}
Gets dots from a raster frame. Axis specifies
an axis to flip the image on, if any. Corners
are the X-low, Y-low, X-high, Y-high corners
within the frame. Location specifies the upper
left corner to place the image. Mode
determines use of XOR, background or foreground
mode. Only one of the modes (or none) is valid
at a time.
* \*
A comment line and is ignored. Must be the
last or only command on a line. Should be used
in place of an empty line (CR/LF only).
" \"
Used to allow the first character of a text
line to be printed on the screen to be a
backslash (\) or to allow the displaying of a
blank line on the screen. Anything that
follows the \" will be printed as if it were
text. No commands can follow this one on a
line (up to a carriage return and line feed
(13,10)).
+ \+
Used to inhibit \ON KEY keypress checking
between command lines. Useful for setting up a
series of \ON KEY specifications. Must be the
last command on a line.