home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-10-15 | 102.6 KB | 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.
-