home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 31
/
CDASC_31_1996_juillet_aout.iso
/
vrac
/
cddk9605.zip
/
DOCS.ARJ
/
SYSOP.DOC
< prev
next >
Wrap
Text File
|
1996-05-17
|
53KB
|
1,534 lines
┌───────────────────────────────────────┐
│ │
│ · ∙ · │
│ . . : . │
│ · : │
│ . | │
│ │ │
│ ·· ─ ── ──┼── ── ─ ··│
│ . │ │
│ | │
│ . : . │
│ · ∙ │
│ · . · │
│ · │
│ · . │
│ /\ . · │
│ . /^ ^\ │ A Guide to Concerto Scripts
│ █▄█▄█▄█/^\ ^\ /\ │ Revision 960517
│ ▄ ▄ ▄ ^\ ^\ /^ ^\ │ Copyright 1995-1996 Altair
│ /▄▄ ▄▄ /^ │
│ /^ ▄ ▄ ▄ \ /^ │
│ ^\ /^ ▄▄ ▄▄ ^\ /^ /\ │
│ ^\/^ ▄ ▄ ▄ /^ /^ ^\ │
│ ^\ ▄▄ ▄▄ /^ ^ │
│ ▄ ▄ ▄ \ /^ │
│ /^\ ▄▄ ▄▄ ^\ /^ │
│ /^ ^\ ▄ ▄ │
│ /^ ^\ ▄ /\ /\ │
│ /^ ^\ /^ ^\ /^ ^\ │
│ ^ ^\ ^\ │
│ /\ │
│ /^ ^\ /\ │
│ /^ \ /^ ^\ │
│ /^ /^ │
│ /^ │
│ │
│ │
│ │
└───────────────────────────────────────┘
Using This Manual
Generalizations
This document is a reference guide to features found in many products
designed with the Concerto Door Development Kit. At this time please
refer to the alternate documentation supplied with your software.
Technicality
We assume that you are familiar with MS-DOS paths, enviroment
variables and command-line parameters. You may wish to review
these concepts before using this manual.
Icons
o~ The Wizard This icon is next to sections containing somewhat
*/\\> technical information of interest to experienced
< \ sysops.
, ,
\o/ The Neophyte This icon appears next to sections intended
// for novices.
<<
() The Spectre Always heed the warnings of the Spectre.
/\/\
` || ;
|'
'
'
Altair: Behold the Future (tm)
This document is copyrighted (c) 1995-1996 Altair. All rights are
reserved worldwide. Send your comments to Altair, P.O. Box 175,
Stillwater, MN 55082-0175. Copyright and trademark acknowledments
appear near the end of this document.
r e q u i r e m e n t s
──────────────────────────────────────────────────────────────────────────
80x86 IBM PC This software will run on any IBM-compatible
computer using an Intel 80x86 CPU. Some
features, however, are disabled if a 286 or
higher is not detected. Some mathematical
operations will utilize the 386/486 CPU, if
detected.
256K Conventional Memory A typical session requires at least 256K RAM.
Some programs may use EMS and XMS memory
if detected.
MS-DOS 3.3 or Equivalent The software will automatically detect and
release time slices to DesqView, Windows/286,
Windows 3.x, Windows NT, Windows 95 and OS/2.
FOSSIL Driver A FOSSIL driver allows the program to access
your communications hardware in a device-
independent manner. You must install a
FOSSIL driver specific to your hardware or
operating system. Drivers are available for
DOS, Windows 95 and OS/2.
SHARE.EXE A file-sharing driver is required if you are
using a multi-tasking or networked enviroment.
SHARE.EXE manages conflicts when two or more
instances of the program try to access the
same file. Type HELP SHARE at your MS-DOS
prompt for more information.
EGA/VGA Video Card Several aesthetic effects are enabled if
an EGA or VGA graphics card is detected.
Most of these effects are purely for the
enjoyment of the sysop and do not affect the
functionality of the software.
o v e r v i e w
──────────────────────────────────────────────────────────────────────────
o Scripts are totally free-form. You may use any style of
indentation and capitalization. More than one command may
exist on a single line, and parameters can extend across
multiple lines.
o A semicolon forces the software to ignore the rest of the
text on the current line. This is a good way of placing
comments in a script.
o Assigning a value to a variable is easy:
Let VARIABLE = VALUE
│ │ │ └────── The value to store in the variable
│ │ └───────── Optional assignment operator
│ └───────────────── The name of the variable
└───────────────────── Optional keyword
BOOLEAN VARIABLES (aka TRUE/FALSE)
┌───────────────┐
│ True False │ Examples:
├───────┬───────┤
│ + │ - │ Variable = +
│ 1 │ 0 │ Variable = 0
│ T │ F │ Variable = True
│ Y │ N │ Variable = No
└───────┴───────┘
CHARACTER VALUES
There are several ways specifying a single character:
a. Normal Variable = a
b. Literal Variable = " "
c. Decimal Variable = #99
d. Hexadecimal Variable = $FF
e. Control Variable = ^C
NUMERIC VALUES
a. Decimal Variable = 255
b. Hexadecimal Variable = $FF
STRING VARIABLES
You must enclose the string in double quotation marks (").
m a c r o s
──────────────────────────────────────────────────────────────────────────
Variables can be imbedded in any text file or string. Such a variable
is called a macro. The simplest type of macro looks like this:
{Variable}
│ │ │
│ │ └─ Right delimiter
│ └─────── The name of a variable
└────────── Left delimiter
The software automatically replaces the macro with the value of the
variable. In some cases it may be desirable to format the result
to a certain length of characters (i.e. to align columns). This is
done by using the optional size parameter:
{Variable:Size}
│ │
│ └─ The size of the result.
└──── Colon
The value of the variable will be clipped or padded to ensure the
desired length. By default the result is left-justified. You
can right-justify the string by using a negative sign:
{Variable:-Size}
│
└─ Negative sign between the colon and the size
The next section describes the functions and variables accessible to you.
s c r i p t s
──────────────────────────────────────────────────────────────────────────
Application = STRING
The name of the door.
Author = STRING
The author of the door.
AVATARClrScrColor = 3 or 7
According to the AVATAR specification (FSC-0025), a control-l (^L)
clears the screen and resets the current color to 3 (cyan).
Some systems, however, change the color to 7 (lightgray). This
variable contains your preference. It should be 3 or 7; any other
color will confuse your callers.
Baud = CONNECTION RATE
The current baud rate of the connection, or 0 for local sessions.
BBSName = STRING
The name of your BBS. This information is loaded from some drop files.
Build = STRING
This is the version number of the development kit used to build
the door. The string is in the following format:
YYMMDD
│ │ └─ Day of release
│ └─── Month of release
└───── Year of release
This number is also listed at the start of this documentation.
Bye
Exits the door after some cleanup. This is the same as calling
the Exit function with an errorlevel of zero.
Chat
Activates a line-by-line chat mode with a number of extended
features, including slash commands and a fully configurable
color system.
A special command interpreter can be activated by pressing
the forward slash key (/) while the cursor is on the left
column of the screen. Any command or variable described
in this section can be accessed. For obvious security
reasons, this feature cannot be activated or seen by the
remote caller.
ChatExecPrompt = STRING
The string shown to the sysop after he/she presses the slash
key to enter a script command. The string is not displayed to
the remote caller.
ChatGoodbye = STRING
The string sent to the caller after you exit chat mode (either
through a chat command or by pressing escape). A CR/LF sequence
is not appended to the string.
ChatGreeting = STRING
The initial string sent to the remote caller when you break into
chat mode. A carriage-return/line-feed sequence is not appended
to the string.
ChatSysopDigit = COLOR ChatUserDigit = COLOR
ChatSysopHiBit = COLOR ChatUserHiBit = COLOR
ChatSysopLower = COLOR ChatUserLower = COLOR
ChatSysopPunct = COLOR ChatUserPunct = COLOR
ChatSysopUpper = COLOR ChatUserUpper = COLOR
These settings allow you to change the color scheme used
in the chat you. You may wish to refer to the IceChatColors command.
...Digit = Numbers
...HiBit = IBM extended ASCII characters
...Lower = Lower-case letters
...Punct = Punctuation and misc. characters
...Upper = Upper-case letters
ChDir DIRSPEC
Changes to the specified directory.
CheckSnow = BOOLEAN
Set this value to TRUE if you see any flickering during a screen
update. This will force the software to slow down all video output.
Most computers can safely set this value to FALSE.
ClrEOL
Erases the text from the cursor position to the end of the current
line. ANSI or AVATAR graphics is required.
ClrEOLWith COLOR
Much like ClrEOL, except that you may change the color at the
same time.
ClrScr
Clears the screen. The status line, if visible, is not affected.
The screen will be cleared using the current text color.
ClrScrWith COLOR
Changes the current color and clears the screen at the same time.
The status line is not affected by this command.
CLS, CLSWith
These commands are identical to ClrScr and ClrScrWith.
Color COLOR
This function changes the current text color.
Columns = NUMBER
* Menu scripts only
The number of columns of the internal menu display.
CommandLine = STRING
The exact command-line passed to the door game.
ComPort = 1, 2, 3 or 4
The communications port. Do not use this variable unless you
are unable to use a drop file or a command-line parameter. Never
modify this setting after you have initialized the FOSSIL driver.
Doing so may cause a device contention error and lock up your BBS.
Copyright = STRING
This variable contains the copyright notice for the software.
CRLF
Outputs a carriage-return/line-feed sequence.
DBS = BOOLEAN
Destructive Backspaces. You must set this value to TRUE if any
remote terminals erase the character to the left of the cursor
when the backspace key is received. Certain features are disabled
when DBS is TRUE, since the software does not have full control
of the caller's screen.
DecTimeLeft MINUTES
Decreases the number of minutes remaining in this session.
Delay MILLISECONDS
Pauses for the specified time. The delay perceived by the remove
caller may not match this time -- characters may be in transit during
the delay period.
DeleteID IDENTIFIER
Deletes the internal record of an identifier. An identifier is
a label, function or variable. This command is for debugging
only.
() This command is reserved for debugging and technical
/\/\ support. Deleting an identifier may change the behavior
` || ; of the door.
|'
'
'
DetectANSI MESSAGE
The door attempts to detect ANSI capabilities on the remote system.
You may wish to send a message to the caller, since this process
causes a short delay. This command is ignored in local sessions.
o~ The software sends the ANSI sequence ESC[6n. ANSI-
*/\\> capable terminals will return the current position of
< \ cursor.
DirectVideo = BOOLEAN
If TRUE, the software will write directory to video memory when
updating the screen. Both monochrome and color monitors are supported.
If you are using a multi-tasker and notice text "bleeding", try
changing this value to FALSE.
Display FILESPEC
Displays the specified file. The file must exist in the directory
specified with the TextDir variable, or the EXE directory if
a text files directory has not been specified.
Since the software automatically converts and optimizes color codes
at run-time (including accurate Color->ASCII conversion), there is
no need for the multi-extension system used by some BBS packages.
For convienence, the default extension is ANS -- even though the
file can contain color codes of any type.
Draw = STRING
* Menu scripts only
The command(s) to execute when drawing the menu. May wish to
clear the screen or display a text file.
DropFile = <PATH><NAME>
The full path and name of the drop file created by your BBS.
Currently DOOR.SYS and DORINFOx.DEF are supported.
Exit ERRORLEVEL
Exits with the given errorlevel.
ExitChat
Terminates the chat-mode.
FadeOut
FadeIn
These commands invoke text fading. FadeOut fades the screen from
the current colors to pure black. All subsequent output is invisible.
FadeIn restores the color palette. These commands do not affect the
remote screen. An EGA or VGA card is required.
FileName = PATH [READ ONLY]
* Menu scripts only
The DOS filename of the menu. This variable is intended for use
as a macro only.
Format = STRING
* Menu scripts only
The format of each item in the internal menu display.
You may use these additional macros:
{Bar} The text shown in the lightbar.
{Exec} The optional command(s) to execute when the item is selected.
{Key} The hotkey to select the item.
{Text} Help text.
FOSSILPort = 0, 1, 2 or 3
This is the actual communications port used by the FOSSIL driver.
It may differ from the value stored in the ComPort variable. You
should never modify this value.
GetParam CHAR, VARIABLE
Copies a command-line parameter into a variable. The variable
is not changed if the parameter was not used. The standard
initialization script (INIT.SCR) uses the following:
GetParam B, Baud Baud rate
GetParam C, ComPort Communications port
GetParam N, Node Node number
GetParam O, Locked Locked baud rate
GetParam P, DropFile Full name and path to the drop file
Command-line parameters are in the format <SWITCH><FLAG>[DATA]:
Switch Either a slash (/) or a dash (-).
Flag The flag character (see above).
Data Optional data.
Spaces can exist between the flag character and the data.
GotoXY COLUMN, ROW
Moves the cursor to the specified column and row. The remote caller
must have ANSI or AVATAR graphics for this command to work.
Halt ERRORLEVEL
Immediately terminates the door with no clean up (restoring the
original video mode, removing the status line, etc). Refer to
the Exit command for a cleaner method of terminating the door.
HangUp
Drops carrier. The program is not terminated.
o~ The program will first lower the DTR line.
*/\\> If this fails, "+++ATH0" is sent to the modem.
< \
HideStatus
Hides the status line.
Home
Moves the cursor to the upper-left corner of the screen without
affecting the existing screen. This is often used in animations.
The remote caller must have ANSI or AVATAR graphics for this command
to work.
IceChatColors
Replaces the current chat color scheme with the same colors used by
IceChat (a product of Jeremey Landvoigt).
IncTimeLeft MINUTES
Increases the number of minutes remaining in this session.
InitFOSSIL
Activates the door using the communications information collected
from the command-line parameters and the drop file (if used). If
successfull, all subsequence I/O operations affect both the remote
and the local terminal.
() Never change any communications variables after this
/\/\ command. You may cause a device contention error, a
` || ; system crash, or, at best, highly unpredictable results.
|'
' Re: Baud, ComPort, Locked, Node
Item ID
* Menu scripts only
This command begins a new menu definition. The script interpreter
then expects to find the following assignments:
Bar = STRING Lightbar text for this item.
Exec = STRING Optional commands to execute if this item is selected.
Key = STRING Hotkey for this item.
Text = STRING Help text for this item.
Example:
Item 0 Key = "?"
Bar = " Help "
Exec = "Display Help"
Text = "More information..."
The ID is a software-dependent number. If the ID for the selected
item is 0, the software will execute the optional commands (as
specified by Exec, then rerun the menu. If the ID is not zero,
the program will execute the commands then *return* the the program.
The program can then take appropriate action based on the ID.
This system allows you to change the order of the items, add new
items, or the modify the items without affecting the functionality
of the door.
Internal = BOOLEAN
* Menu scripts only
Should the menu be displayed using the Format variable? Or would
you rather just execute the command(s) in the Draw variable?
Let VARIABLE = VALUE
Assigns a value to a variable. The "Let" keyword is optional.
The equal sign can also be dropped.
LightBar = BOOLEAN
* Menu scripts only
If TRUE, the caller will be able to select an item by pressing
the space and backspace keys. If FALSE, the caller must press
one of the hotkeys of the menu.
LineNoise
Generates fake line noise. The sole purpose of this function
is to annoy the caller.
LoadDropFile
Loads the drop file specified by the DropFile variable (see above).
Currently DOOR.SYS and DORINFOx.DEF is supported.
Locked = BAUDRATE
The computer <-> modem locked baud rate, if applicable. A locked
baud rate will increase through-put on many systems. Do not change
this setting after you have initialized the FOSSIL driver.
MacroFiller = CHARACTER
The default character used to fill-out expanded macros. The
designer of an external screen may over-ride the default
character with the ~M control code.
Menu NAME, PATHNAME
* Internal use only at this time.
Loads a menu script. NAME is used to identify this particular
menu in the future. Be sure to use a unique name (i.e. do not
use a name already used by a function or variable). PATHNAME
is the DOS path to the menu script. Use the RunMenu command to
execute the menu at any time.
MenuName = STRING [READ ONLY]
* Menu scripts only
The name of the menu, as defined by the Menu command (see above).
This variable is intended for use as a macro only.
MkDir DIRSPEC
Creates the specified directory.
Node = NUMBER
The current node number. This information is required for certain
inter-program communications. You may also use the -N command-line
parameter. The default node is 1.
Pause
Stops any output and waits for a keystroke. This is equivilant
to the ~p control code.
Prompt = STRING
* Menu scripts only
The prompt shown on the bottom of the menu.
Randomize <SEED>
Initializes the random-number generator, where <SEED> can
be a number greater than zero, TIMER, or ASK.
Timer Uses the system clock to initialize the random-number
generator. This results in a different sequence each
time the program is executed.
Ask Prompts the caller for a seed.
Reboot Cold
Reboot Warm
Reboot Reset
These three commands allow you to remotely reboot the computer.
A warm reboot skips the initial memory test on most computers. A
cold reboot includes the memory test.
Warm and Cold reboots are incompatible with many operating systems.
If a Cold or Warm reboot causes a General Protection Fault (GPF) on
your system, try using the Reset parameter.
The Reset method uses the 8042 keyboard controller chip to invoke
a hardware reset of the CPU. This method bypasses the operating system
and will not cause a General Protection Fault. HOWEVER, all tasks
on the system will be lost.
A hardware reset requires a 286 with an enhanced keyboard.
Ring
Simulates the sound of a telephone ring on the local computer.
RmDir DIRSPEC
Removes the specified directory.
RunMenu MENUNAME
* Internal use only at this time.
Executes a menu previously loaded with the Menu command.
ScriptDir = DIRECTORY
The location of any scripts. All scripts (with the exception of
INIT.SCR) must exist in this directory. INIT.SCR must exist in the
same directory containing the EXE of the door.
Security = LEVEL
The security level of the caller. Modifying this value will
have not affect the caller's security level after he or she
exits the door.
ShowStatus LABEL
Activates the specified status line, where LABEL is an identifier
declared earlier in the initialization script:
Status <LABEL> = <TEXT>
Status <LABEL> = <TEXT>
:
:
Status <LABEL> = <TEXT>
Depending on the position of the cursor, the local screen may be
scrolled up to accomodate the status line. The remote caller is
not affected by this scrolling.
Siren RESOLUTION, AMPLITUDE, MIDLINE, DELAY, COUNT
This command generates a cosine siren on the local computer.
1 ∙ . . ∙
│ ∙ ∙
│ ∙ ∙
│ ∙ ∙
0 ──┼───────────────────────────────────────
│ ∙ ∙
│ ∙ ∙
│ ∙ ∙
-1 │ ∙ . ∙
0 π/2 π 3π/2 2π
Notice that the cosine graph repeats one full cycle every
2π (6.28) units. This is the basis for many different sirens.
The sound at any given point is calculated from this curve.
RESOLUTION The cosine curve is divided into a large number of
steps. The siren cycles through each step and creates
a sound based on the curve at that step. The number of
steps is the resolution of the siren.
AMPLITUDE Each step is multiplied by the amplitude. Since the
peaks of the curve have a maximum value of +1 and a
minimum value of -1, this generates an effective
range of -AMPLITUDE to +AMPLITUDE.
MIDLINE The middle frequency (i.e. the line through the
middle of the curve). The final range of the siren
is MIDLINE-AMPLITUDE to MIDLINE+AMPLITUDE.
DELAY This parameter allows you to tweak the speed of
the siren, which is dependent of the clock speed of
the CPU. Adjust this factor if the siren sounds bad.
COUNT The number of times to repeat the siren.
StartAt NUMBER
* Menu scripts only
The initial location of the lightbar, if lightbars are activated.
Status NAME, SIZE, STRING
Creates a status line with the specified name and size.
, ,
\o/ When you execute a ShowStatus command, the software disables
// all of the IO drivers except for the one handling the local
<< screen. After drawing the status line, the program restores
the suspended drivers and continues as normal.
The program does not clear the bottom of the screen before displaying
the status text. This reduces flicker. Just remember to include
a ~CE control-code after each line of text. This erases any extra
characters that have not been erased by the new status line.
SysKey SCANCODE, COMMAND
Associates a keystroke (such as ALT-H) with a command (such as
HangUp). A list of commonly-used keystrokes can be found in
the appendix.
o Avoid using hotkeys that are intercepted by your operating system.
o SysKeys cannot be used remotely.
SysopFirst = STRING
SysopLast = STRING
The name of the sysop.
TextDir = DIRECTORY
The location of any ASCII, ANSI and AVATAR files. The default
directory is the program directory. Never use the root directory
of your hard drive, the system directory of your BBS package, or
any directory containing secret or sensitive files.
Threshold = NUMBER
Use this variable to tweak the performance of the door under a
multitasker. Low numbers force the door to give up time to
the operating system. Higher values increase the performance
of the door, but may decrease the performance of any other
concurrent applications. You must find a value that balances
the needs of the door and the rest of your system. The default
value is 500.
TimeLeft = MINUTES
The number of minutes remaining in this session.
TimeOut = SECONDS
The number of seconds of inactivity (no keystrokes) before the door
automatically aborts. The default value is 180 seconds (3 minutes).
TimeOutCode = NUMBER
The errorlevel if a timeout occurs.
Tone HERTZ, MILLISECONDS
Makes a sound of the specified hertz for any number of milliseconds.
The remote caller is not affected by this command.
UserFirst = STRING
UserLast = STRING
The name of the caller.
Version = STRING
This is the version of the door. The format of this number is
MAJOR.MINOR.STATUS:
Major Major version
Minor Minor version (bug fix, etc)
Status α (Alpha) Private distribution only
ß (Beta) Public beta
Γ (Gamma) Public gamma
C (Custom) Custom; restricted distribution
+ (Reg'd) Registered
You may wish to refer to the Build variable.
Write STRING
WriteLn STRING
Writes the specified text on the screen. Any macros and control
codes are processed. WriteLn sends an additional CR/LF sequence.
f o r m a t t i n g · c o d e s
──────────────────────────────────────────────────────────────────────────
A formatting code (also called a control-code) performs an action, such
as clearing the screen or positioning the cursor. A formatting code
begins with a tilde character (~), followed by one or more parameters.
NOTE: Formatting codes are CaSe SeNseTiVe!
~~ Displays a single tilde character (~).
~| Expands into a carriage return/line feed (CR/LF) sequence.
~#xx Repeats the last printed character XX times. XX is in
decimal notation and must be two digits.
~cf Generate a "fake" cursor.
~ch Positions the cursor in the upper-left corner (ANS/AVT).
~cr Restores a saved cursor position.
~cs Saves the current cursor position.
~CH Positions the cursor in the upper-left corner (ANS/AVT).
~CS Clears the screen.
~CE Clears to the end of the current line.
~C- Fades the screen to black.
~C+ Restores a faded screen.
~f<file>| Displays the specified file. The filename can be terminated
with any invalid filename character. Most BBS packages use
the pipe character.
~kp Purges the keyboard buffer.
~p Pauses
~x! Halts with no cleanup.
~xh Hangs up on the caller.
~xx Exits the door in a normal fashion.
h e x · c o l o r s
──────────────────────────────────────────────────────────────────────────
Hexadecimal color systems have gained popularity in last few years.
These color systems allow the sysop to specify a color using
the hexadecimal representation of the color.
o The hex value must always be two digits.
o The first digit contains the background color.
o The second digit contains the foreground color.
o To make the a foreground blink, add eight to the first digit.
Table A: Color Code Formats
Color System Format Notes
─────────────────────────────────────────────────────────────────────────
HexPipe |** Not the same as Renegade's system.
PCBoard BBS @X**
RemoteAccess BBS ^K[** ^K = ASCII #11
WildCat! BBS @**@
Table B: Hexadecimal Chart
Bits Hex Dec Description Bits Hex Dec Description
──────────────────────────────────────────────────────────────────────────
0000 · 0 · 0 · Black 1000 · 8 · 8 · Dark Gray
0001 · 1 · 1 · Blue 1001 · 9 · 9 · Light Blue
0010 · 2 · 2 · Green 1010 · A · 10 · Light Green
0011 · 3 · 3 · Cyan 1011 · B · 11 · Light Cyan
0100 · 4 · 4 · Red 1100 · C · 12 · Light Red
0101 · 5 · 5 · Magenta 1101 · D · 13 · Light Magenta
0110 · 6 · 6 · Brown 1110 · E · 14 · Yellow
0111 · 7 · 7 · Light-Gray 1111 · F · 15 · Bright White
Table C: Bitmap Chart
msb lsb
0 0 0 0 0 0 0 0
│ │ │ │ │ └─┴─┴─ Foreground color
│ │ │ │ └─────── High-intensity bit
│ └─┴─┴───────── Background color
└─────────────── Blinking bit
a n s i
──────────────────────────────────────────────────────────────────────────
ESC[xA Cursor Up
ESC[xB Cursor Down
ESC[xC Cursor Right
ESC[xD Cursor Left
These four sequences provide simple cursor positioning. The one
parameter specifies the number of columns or rows to change -- it is
not an absolute coordinate. The cursor will not move outside of the
boundries of the video screen. If you do not use a parameter, it
defaults to 1.
See: ESC[xf
ESC[y;xf Position Cursor
ESC[y;xH Position Cursor (alternate sequence)
Moves the cursor to the specified position, where Y is the vertical
row and X is the horizontal column. The upper-left corner of the
screen is (0,0). If you do not specify a position, it defaults to
(0,0) (home position).
See: ESC[xA, ESC[xB, ESC[xC, ESC[xD
ESC[xJ Clear Screen
If x is 2, the entire video screen is cleared.
See: ESC[K
ESC[K Clear to End of Line
Erases all characters located between the cursor position and the
right-most column of the screen.
ESC[x;y;...m Change Color Attribute
# Mask * Description
─────────────────────────────────────────────────────────────────
0 00000111 Turns off all attributes and resets the color to 7.
1 ----1--- Turns on Bold (the high-intensity bit).
5 1------- Turns on Blinking (the blinking bit).
30 -----000 Foreground Black (IBM Color 0)
31 -----100 Foreground Red (IBM Color 4)
32 -----010 Foreground Green (IBM Color 2)
33 -----110 Foreground Yellow (IBM Color 6)
34 -----001 Foreground Blue (IBM Color 1)
35 -----101 Foreground Magenta (IBM Color 5)
36 -----011 Foreground Cyan (IBM Color 3)
37 -----111 Foreground White (IBM Color 7)
40 -000---- Background Black (IBM Color 0)
41 -100---- Background Red (IBM Color 4)
42 -010---- Background Green (IBM Color 2)
43 -110---- Background Yellow (IBM Color 6)
44 -001---- Background Blue (IBM Color 1)
45 -101---- Background Magenta (IBM Color 5)
46 -011---- Background Cyan (IBM Color 3)
47 -111---- Background White (IBM Color 7)
* Mask: These are the bits affected in the TextAttr byte.
A dash (-) indicates an unaffected bit.
ESC[s Save Cursor Position
ESC[u Restore Cursor Position
Saves the current position of the cursor. You can later restore the
cursor position with the ESC[u sequence.
a v a t a r
──────────────────────────────────────────────────────────────────────────
The following information is based on FSC-0025.TXT (23 Aug 1988).
AVATAR was developed by Wynn Wagner II and George A. Stansilav.
There are two forms of AVATAR:
Full Session o Exchange of caller and system information
o Text windows with scrolling
o Line-noise elimination
o Cursor manipulation
o Color
Basic Session o Cursor manipulation
o Color
Only basic AVATAR commands are supported. The control caret (^)
indicates a control character (i.e. ^V indicates CONTROL-V, or ASCII #22).
^L Clears the screen.
^V^Aa Changes to the specified attribute. Note: The
hi-bit (blinking bit) of the attribute is stripped.
If you want blinking text, you must use the
^V^B code.
^V^B Activates blinking text.
^V^C Moves the cursor up.
^V^D Moves the cursor down.
^V^E Moves the cursor left.
^V^F Moves the cursor right.
^V^G Clears any text from the cursor to the rightmost
column of the screen.
^V^Hxy Moves the cursor to the specified position.
^Ycx Writes the specifed character X number of times.
a s c i i · c h a r a c t e r s
──────────────────────────────────────────────────────────────────────────
Dec Hx Abr Dec Hx Abr Dec Hx Abr Dec Hx Abr
------------------------------------------------------------
00 00 nul 08 08 bs 16 10 dle 24 18 can
01 01 soh 09 09 tab 17 11 dc1 25 19 em
02 02 stx 10 0A lf 18 12 dc2 26 1A eof
03 03 etx 11 0B vt 19 13 dc3 27 1B esc
04 04 eot 12 0C np 20 14 dc4 28 1C fs
05 05 enq 13 0D cr 21 15 nak 29 1D gs
06 06 ack 14 0E so 22 16 syn 30 1E rs
07 07 bel 15 0F si 23 17 etb 31 1F us
Dec Hx C Dec Hx C Dec Hx C Dec Hx Abr
------------------------------------------------------------
32 20 sp 56 38 8 80 50 P 104 68 h
33 21 ! 57 39 9 81 51 Q 105 69 i
34 22 " 58 3A : 82 52 R 106 6A j
35 23 # 59 3B ; 83 53 S 107 6B k
36 24 $ 60 3C < 84 54 T 108 6C l
37 25 % 61 3D = 85 55 U 109 6D m
38 26 & 62 3E > 86 56 V 110 6E n
39 27 ' 63 3F ? 87 57 W 111 6F o
40 28 ( 64 40 @ 88 58 X 112 70 p
41 29 ) 65 41 A 89 59 Y 113 71 q
42 2A * 66 42 B 90 5A Z 114 72 r
43 2B + 67 43 C 91 5B [ 115 73 s
44 2C , 68 44 D 92 5C \ 116 74 t
45 2D - 69 45 E 93 5D ] 117 75 u
46 2E . 70 46 F 94 5E ^ 118 76 v
47 2F / 71 47 G 95 5F _ 119 77 w
48 30 0 72 48 H 96 60 ` 120 78 x
49 31 1 73 49 I 97 61 a 121 79 y
50 32 2 74 4A J 98 62 b 122 7A z
51 33 3 75 4B K 99 63 c 123 7B {
52 34 4 76 4C L 100 64 d 124 7C |
53 35 5 77 4D M 101 65 e 125 7D }
54 36 6 78 4E N 102 66 f 126 7E ~
55 37 7 79 4F O 103 67 g 127 7F
IBM Extended Characters
Non-IBM/DOS terminals may not correctly display the following
characters. You may wish to instruct your users to switch to
a font supporting the IBM Extended Character Set. This is
required in Microsoft Terminal for Windows 3.1x and many other
terminals using a graphical enviroment.
Dec Hx C Dec Hx C Dec Hx C Dec Hx Abr
------------------------------------------------------------
128 80 Ç 160 A0 á 192 C0 └ 224 E0 α
129 81 ü 161 A1 í 193 C1 ┴ 225 E1 ß
130 82 é 162 A2 ó 194 C2 ┬ 226 E2 Γ
131 83 â 163 A3 ú 195 C3 ├ 227 E3 π
132 84 ä 164 A4 ñ 196 C4 ─ 228 E4 Σ
133 85 à 165 A5 Ñ 197 C5 ┼ 229 E5 σ
134 86 å 166 A6 ª 198 C6 ╞ 230 E6 µ
135 87 ç 167 A7 º 199 C7 ╟ 231 E7 τ
136 88 ê 168 A8 ¿ 200 C8 ╚ 232 E8 Φ
137 89 ë 169 A9 ⌐ 201 C9 ╔ 233 E9 Θ
138 8A è 170 AA ¬ 202 CA ╩ 234 EA Ω
139 8B ï 171 AB ½ 203 CB ╦ 235 EB δ
140 8C î 172 AC ¼ 204 CC ╠ 236 EC ∞
141 8D ì 173 AD ¡ 205 CD ═ 237 ED φ
142 8E Ä 174 AE « 206 CE ╬ 238 EE ε
143 8F Å 175 AF » 207 CF ╧ 239 EF ∩
144 90 É 176 B0 ░ 208 D0 ╨ 240 F0 ≡
145 91 æ 177 B1 ▒ 209 D1 ╤ 241 F1 ±
146 92 Æ 178 B2 ▓ 210 D2 ╥ 242 F2 ≥
147 93 ô 179 B3 │ 211 D3 ╙ 243 F3 ≤
148 94 ö 180 B4 ┤ 212 D4 ╘ 244 F4 ⌠
149 95 ò 181 B5 ╡ 213 D5 ╒ 245 F5 ⌡
150 96 û 182 B6 ╢ 214 D6 ╓ 246 F6 ÷
151 97 ù 183 B7 ╖ 215 D7 ╫ 247 F7 ≈
152 98 ÿ 184 B8 ╕ 216 D8 ╪ 248 F8 °
153 99 Ö 185 B9 ╣ 217 D9 ┘ 249 F9 ∙
154 9A Ü 186 BA ║ 218 DA ┌ 250 FA ·
155 9B ¢ 187 BB ╗ 219 DB █ 251 FB √
156 9C £ 188 BC ╝ 220 DC ▄ 252 FC ⁿ
157 9D ¥ 189 BD ╜ 221 DD ▌ 253 FD ²
158 9E ₧ 190 BE ╛ 222 DE ▐ 254 FE ■
159 9F ƒ 191 BF ┐ 223 DF ▀ 255 FF
s c a n · c o d e s
──────────────────────────────────────────────────────────────────────────
Letters and Numbers (hexadecimal)
Alt-A = 1E00 Alt-B = 3000 Alt-C = 2E00 Alt-D = 2000
Ctl-A = 1E01 Ctl-B = 3002 Ctl-C = 2E03 Ctl-D = 2004
Alt-E = 1200 Alt-F = 2100 Alt-G = 2200 Alt-H = 2300
Ctl-E = 1205 Ctl-F = 2106 Ctl-G = 2207 Ctl-H = 2308
Alt-I = 1700 Alt-J = 2400 Alt-K = 2500 Alt-L = 2600
Ctl-I = 1709 Ctl-J = 240A Ctl-K = 250B Ctl-L = 260C
Alt-M = 3200 Alt-N = 3100 Alt-O = 1800 Alt-P = 1900
Ctl-M = 320D Ctl-N = 310E Ctl-O = 180F Ctl-P = 1910
Alt-Q = 1000 Alt-R = 1300 Alt-S = 1F00 Alt-T = 1400
Ctl-Q = 1011 Ctl-R = 1312 Ctl-S = 1F13 Ctl-T = 1414
Alt-U = 1600 Alt-V = 2F00 Alt-W = 1100 Alt-X = 2D00
Ctl-U = 1615 Ctl-V = 2F16 Ctl-W = 1117 Ctl-X = 2D18
Alt-Y = 1500 Alt-Z = 2C00 Pad-1 = 4F31 Pad-2 = 5032
Ctl-Y = 1519 Ctl-Z = 2C1A Alt-1 = 7800 Alt-2 = 7900
Pad-3 = 5133 Pad-4 = 4B34 Pad-5 = 4C35 Pad-6 = 4D36
Alt-3 = 7A00 Alt-4 = 7B00 Alt-5 = 7C00 Alt-6 = 7D00
Pad-7 = 4737 Pad-8 = 4838 Pad-9 = 4939 Pad-0 = 5230
Alt-7 = 7E00 Alt-8 = 7F00 Alt-9 = 8000 Alt-0 = 8100
Function Keys (hexadecimal)
F1 = 3B00 F2 = 3C00 F3 = 3D00
Alt-F1 = 6800 Alt-F2 = 6900 Alt-F3 = 6A00
Ctl-F1 = 5E00 Ctl-F2 = 5F00 Ctl-F3 = 6000
Shf-F1 = 5400 Shf-F2 = 5500 Shf-F3 = 5600
F4 = 3E00 F5 = 3F00 F6 = 4000
Alt-F4 = 6B00 Alt-F5 = 6C00 Alt-F6 = 6D00
Ctl-F4 = 6100 Ctl-F5 = 6200 Ctl-F6 = 6300
Shf-F4 = 5700 Shf-F5 = 5800 Shf-F6 = 5900
F7 = 4100 F8 = 4200 F9 = 4300
Alt-F7 = 6E00 Alt-F8 = 6F00 Alt-F9 = 7000
Ctl-F7 = 6400 Ctl-F8 = 6500 Ctl-F9 = 6600
Shf-F7 = 5A00 Shf-F8 = 5B00 Shf-F9 = 5C00
F0 = 4400
Alt-F0 = 7100
Ctl-F0 = 6700
Shf-F0 = 5D00
Cursor Keys (hexadecimal)
Arrow Up = 4800 Arrow Down = 5000
Arrow Left = 4B00 Arrow Right = 4D00
End = 4F00 Home = 4700
Page Up = 4900 Page Down = 5100
e r r o r s
──────────────────────────────────────────────────────────────────────────
You will see a message if the software cannot recover from an error.
The specific error code will be identified. Please write it down
for future reference, then check your setup.
╔══════════╤════════════╤══════════════════════════════════════════╗
║ Catagory │ Num. Range │ Recovery Method (if possible) ║
╟──────────┼────────────┼──────────────────────────────────────────╢
║ DOS │ 001 .. 099 │ Generally handled by the software ║
║ I/O │ 100 .. 149 │ Generally handled by the software ║
║ Critical │ 150 .. 199 │ You may be required to correct the error ║
║ Fatal │ 200 .. 255 │ Always crashes the program ║
╚══════════╧════════════╧══════════════════════════════════════════╝
2 : File not found
3 : Path not found
You are specifying a non-existent file or directory. Make sure
that ScriptDir and TextDir contain valid directory names.
4 : Too many open files
Try increasing the FILES=xx setting in your CONFIG.SYS file.
5 : File access denied
o Is the directory full?
o Did you specify a directory name rather than a file name?
o Are you trying to rename a file to an existing name?
o Are you trying to delete a read-only file?
o Are you trying to remove a directory that is not empty?
o Are you trying to remove the root directory?
o Did you specify a device driver?
AUX Auxiliary Device
CLOCK$ System Clock
COM1 Communications Port 1
COM2 Communications Port 2
COM3 Communications Port 3
COM4 Communications Port 4
CON Console
EMMXXXX0 Expanded Memory Manager
LPT1 Parallel Port 1
LPT2 Parallel Port 2
LPT3 Parallel Port 3
NUL Nul Output Device
PRN Printer
XMSXXXX0 Extended Memory Manager
8 : Insufficient memory
■ Use the memory-swapping feature of your BBS software
■ Remove TSRs from memory
■ Remove unnecessary drivers from CONFIG.SYS
■ Reduce your FILES and BUFFERS settings in CONFIG.SYS, if possible
162 : Hardware failure
■ DOS encountered a hardware failure, or
■ A file sharing violation has occurred, or
■ The network reported an error.
200 : Division by zero
The program attempted to divide a number by zero, which is
mathematically undefined. This is either an internal error
or you have assigned a bad value to some variable.
203 : Heap overflow error
The program has run out of memory. Refer to run-time error #8.
216 : General protection fault
The program tried to access memory outside of its legal range.
This is most likely a programming error, unless you are performing
a warm or cold reboot under a multitasker (execute a Hardware Reset
instead).
c r e d i t s
──────────────────────────────────────────────────────────────────────────
DESQview is a registered trademark of Quarterdeck Office Systems.
Fido and FidoNet are registered trademarks of Tom Jennings.
IBM is a registered trademark of the International Business Machines
Corporation.
IceChat is (c) 1993-1995 Jeremy Landvoigt.
Legend of the Red Dragon is copyright 1992-1995 Robinson Technologies.
Microsoft, MS, and MS-DOS are registered trademarks of Micrsoft Corp.
OS/2 is a registered trademark of International Business Machines Corp.
RemoteAccess is (c) 1989-1994 Wantree Development & Andrew Milner
Ripscript & Ripterm are registered trademarks of TeleGrafix Communications.
TheDraw is (c) 1986-1993 by TheSoft Programming Services and Ian E. Davis
TurboPascal is a registered trademark of Borland International, Inc.
WildCat! is copyright 1987-1995 Mustang Software, Inc.
Win, Windows and Windows NT are registered trademarks of Microsoft Corp.
WordStar is a registered trademark of MicroPro International Corporation.
q u o t e s
──────────────────────────────────────────────────────────────────────────
"The most beautiful thing we can experience is the mysterious. It is the
source of all true art and science. He to whom this emotion is a stranger,
who can no longer wonder and stand rapt in awe, is a good as dead; his
eyes are closed. ... To know that what is impenetrable to us really exists,
manifesting itself as the highest wisdom and the most radiant beauty which
our dull facilities can comprehend only in the most primitive forms -- this
knowledge, this feeling, is at the center of true religiousness. In this
sense, and in this sense only, I belong to the ranks of the devoutly
religious men."
- Albert Einstein
"A human being is part of the whole, called by us 'Universe.'... He
experiences himself, his thoughts and feelings as something separated from
the rest -- a kind of optical delusion of his consciousness. This
delusion is a kind of prison for us, restricting us to our personal
desires and to affection for a few persons nearest to us. Our task must
be to free ourselves from this prison by widening our circle of compassion
to embrace all living creatures and the whole of nature in its beauty."
- Albert Einstein
"Love the animals. God has given them the rudiments of thought and joy
untroubled. Don't trouble it, don't harass them, don't deprive them of
their happiness, don't work against God's intent."
- Dostoevsky, The Brothers Karamazov
The only way of discovering the limits of the possible is to
venture a little way past them into the impossible.
- Second law of Clarke's Laws of Prophecy
Arthur C. Clarke, Profiles of the Future
"On his dreadful journey, after the shaman has wandered through dark
forests and over great ranges of mountains, ... he reaches an opening
in the ground. The most difficult stage of the adventure now begins.
The depths of the underworld open before him."
- Uno Harva, quoted by Joseph Campbell in
The Hero with a Thousand Faces