home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TopWare 18: Liquid
/
Image.iso
/
liquid
/
top1117
/
condor.doc
< prev
next >
Wrap
Text File
|
1994-03-04
|
64KB
|
1,648 lines
CONDOR
Copyright 1994 by Larry Mears
All Rights Reserved
version 6.0
More POWER for menuing and games!
---------------------------------
Version 6.0 adds JOYSTICK support
for user GUIs and Door Games,
plus BITBLIT for moving
rectangular portions of the screen
with ease.
The number of ZONEs (Icons/Buttons)
has been doubled to allow 128 for
board games like online chess, etc.
Syntax has been tightend and some
script filtering is performed to help
with cranky bbs software and line noise.
"Requires a 80286 or later, CGA, EGA or VGA."
"Limited performance with anything less than VGA."
---------------------------------------------------------
ANY program that supports "EXTERNAL" ANSI (ANSI.SYS)
already has __INSTANT__ Condor support built it!
---------------------------------------------------------
CONDOR is DONATION-WARE there are no limits whatsoever.
If you use Condor please send $15 donation or if you can't
afford that much send what you can to encourage updates to
CONDOR. You can't count on the other guy to do it.
Send a small check or money order to:
Larry Mears
11027 Crestfield Dr.
Huntsville, AL 35803
Disclaimer: There is no gaurantee as to the performance of
CONDOR. The user assumes ALL risks involved
from the use of CONDOR.
TERMINAL, BBS, OFFLINE READER, DIGI Publisher authors it's REAL
easy for you to have CONDOR graphics in your program!
Please see How_to.txt
Index
Installation ............................................. 1
Description ............................................. 1
Syntax ............................................. 2
Constants ............................................. 3
Variables ............................................. 3
Aborting ............................................. 4
Condor in Text modes ..................................... 4
Alternate Attention Sequences ............................ 4
CONDOR COMMANDS
R Resolution ............................................. 5
b Sound Effects .......................................... 6
C Color Set ............................................. 6
D Drawto ............................................. 7
E Text Fonts ............................................. 7
F Flood Fill ............................................. 10
G BitBlit Animation ..................................... 11
H Hollow Set ............................................ 11
L Lines ............................................ 12
M Drawing Mode .......................................... 12
n Notes Play Pitches .................................... 13
O Circle ............................................ 13
P Plot a Polymarker ..................................... 13
p Position Cursor ....................................... 14
S Setcolor Register ..................................... 14
s Screen Clear and Control .............................. 15
T Type of POLYMARKER .................................... 15
t Timed Pause ........................................... 15
w Write Text ............................................ 16
X0 Error REACTION Level .................................. 17
X1 Joystick Calibration .................................. 18
X2 Redefine ZONE Area only ............................... 18
X3 Redefine ZONE Command String only ..................... 18
X4 DEFINE ZONE(icons & buttons) .......................... 19
X5 Input Command LOCKout (BBS local side) ................ 20
X6 Step Rate For < INPUT Pointer ......................... 21
Z Rectangle ............................................. 21
z Text Rectangle ......................................... 21
/ Comment, REMark ........................................ 21
& LOOPing ............................................. 22
< INPUT Command (keyboard & joystick) .................... 24
?0 ASK CONDOR (auto-detection) ............................ 26
?1 ASK CONDOR (joystick report) ........................... 27
ANSI Support .............................................. 28
-1-
CONDOR
Copyright 1994 by Larry Mears
All Rights Reserved
version 6.0
INSTALLATION
------------
Condor is a console device driver. To use it you add a line
in your CONFIG.SYS file like: DEVICE=CONDOR.SYS If you have
a line in your CONFIG.SYS file like: device=ANSI.SYS remove it.
You can load CONDOR.SYS HIGH. Condor will slow text output at the
DOS command line but in applications that use DIRECT text output,
most of them, there will be no slow down at all CONDOR.SYS doesn't
eat CPU time by just being in memory. USERS should also read and EDIT
the ACCESS.BAT file to set their ACCESS CODE right NOW. SYSOPs must
LOCK out the < INPUT on the BBS local side refer to page -20- Also
see LOCK & UNLOCK.BAT
DESCRIPTION
CONDOR is a ANSI.SYS replacment of sorts. CONDOR enables your
CGA/EGA/VGA computer to do bitmap style graphics ANY time from DOS or
from any program that uses DOS CON: for text output. With ANSI style
graphics you get low resolution blocky looking 80x25 graphics, with
CONDOR you get from 320x200 to 640x480 pixel graphics and ANSI too if
you want because CONDOR recognizes most ANSI commands and can execute
ANSI commands even while in a graphics mode. CONDOR will enhance
online communications with it's abilities. Terminal and BBS authors
will be able to access CONDOR by simply going through DOS for text
output, the faster DIRECT method only works in TEXT modes and will
not access CONDOR.SYS In TURBO C a bdos(2,character,0); command is
all it takes to give a terminal CONDOR graphics and sound POWER!
With CONDOR 4.0+ it is NOW possible to DRAW a ICON and use CONDOR's
X4/X5/X6 T and < commands to achieve POINT and CLICK operation of
BBSs or the DOS command line.
After you install CONDOR and reboot your system try the included
demo files by simply typing them from DOS.
Like: C:\TYPE wabbit.r16 (.r16)=resolution mode 16, or if you like
you can just type DEMO and the batch file will execute all the demos
by just using DOS's "TYPE" command, Condor is at DOS level!
The DEMO uses EGA and VGA screen modes.
-2-
SYNTAX ...
As most know ANSI uses a esc[pram;pramCommand sequence it might
look like esc[31;42m CONDOR is very different it is buffered.
You load Condor's buffer and then execute it. Condor has a
8003 byte buffer. To load Condor's buffer you use a sequence
like esc{command,data:command,data: ... esc} the 'esc' part
is really the escape character asci character 27. Condor
code will look like this:
esc{R6:C1,1:L0,0,639,199:t90:R3:esc} that only loads the buffer
Use esc# to execute the buffer.
The execute command actually wants a 3rd character from
A-z ( ascii values 65 to 122 including the weird characters
in between upper and lower case)
but if it encounters a SPACE or LF or any ascii character out of
the A-z range it executes as if it received a A. This is
so Condor's buffer can be divided up into sub-blocks and the
esc# command can execute a specific block. Sub-blocks are not
required, they are a feature for repetive things like music.
Sub-blocks within Condor's buffer begin with the { character and end
with the } character. They don't have the esc character like the
beginning and ending block markers for the whole buffer, although
BLOCK A is actually the esc{ mark at the beginning of the Condor
buffer. A Sub-block must have a { start marker but doesn't require
a ending marker, in this case the { sub-block marker acts as a entry
point in the buffer and will execute till it hits a } character so
several { markers can share one } marker. The position of the
{ sub-block marker dictates it's name. By the way carriage returns
and line feeds are striped from the buffer at load time but SPACES
remain. MOST of the commands require that the computer be in a
graphics mode too, so you set that with the R command.
( REPLACE esc with the escape character )
esc{R6:b1:}
{L10,10,140,190:
{b12:}
{t48:R3:esc}
To execute this in sequence you would go
esc#A esc#B esc#C esc#D (spaces for clarity only)
Block C would get excuted twice but with this setup
you could enter at block C and skip B.
If you wanted though you could execute in any order but
for this to work right you need to execute that R6: command
first. The R3: command brings you back to a text mode.
You could go esc#A esc#B esc#D
IMPORTANT!! MOST ALL DOS programs run in text mode so you should
ALWAYS switch back when done with your graphic. You can
use the 't' command to pause for a short display time then
do a R3: back to text mode.
This might be a little confusing but sub-blocks aren't required
you could just go esc{R6:b1:L10,10,140,190:b12:R3:esc}esc#A and
do it all in one block. Sub-blocks are just for added utility.
Condor's buffer remains intact until another esc{ ... esc} is
encountered, so you can execute it several times with the esc#A and
only load it once. You might do some repetive things so Condor's
buffer and sub-blocks can be really useful.
-3-
CONSTANTS range from 0 to 9999. Condor will only grab 4 digits,
trying to pass it more will mess things up. If you did something
like this L25555100,90,10,10: the 25555100 part would be interpreted
as L2555,100,90,10,10: and that 2555 would be off screen anyway.
As of Condor version 6.0+ syntax is tightened....
Constants MUST be seperated with a , or a : or a ; the only
exception to this is within the & LOOP command after the
"6th parameter" the syntax had to be lax here to allow for the
x,y,+,-,! options within the LOOP. Constants are parsed for numerals
so these execute the the same within the Condor buffer,
L100,200,300,200: L1eat00,at2Joe's00,3all0night0,pub200:
The L1 in the above example is the critical point ie Le1at00, wouldn't
work, the Line wouldn't be drawn. ANSI is skipped over if within the
CONDOR buffer. STRINGs MUST ALWAYS end with the @ symbol, if not
commands will be eaten! Also see the X0 eXtended command.
VARIABLES only exist in the '&' LOOP they are x,y,+,-,! refer
to the section on the '&' LOOP command for details.
-4-
ABORTing... The USER can press the CTRL key to abort a
't' pause command OR to abort a '&' LOOP. A more
drastic abort is the ALT key, it will abort a 't' pause
and the '&' LOOP plus abort the buffer BLOCK being executed
and reset the screen to the mode it was in at bootup, plus
set the text color in graphics and text mode to value 7 white.
With version 6.0+ pressing BOTH fire buttons on the JOYSTICK
will abort a 't' pause command and break out of a < INPUT command
like hitting escape does.
CONDOR COMMANDS in TEXT MODES:
A few commands can be executed in a text mode like the sound effect
command 'b', BUT as soon as a command that's illegal in text mode is
encountered in the Condor buffer, execution will cease and all commands
in the buffer after the illegal command will not be excuted.
However if you set the mode to a graphics all commands will execute.
This feature that was put in to keep someone from executing a graphics
command while in a text mode (causes lockups) BUT I wanted to allow
access to certain commands from text modes because text output
is much faster and you might just want a beep or blurp.
Commands that can be executed in text modes are the '&' LOOP command,
the 'R' resolution switch command, the 'n' musical NOTES command,
't' timed pause, the 'w' command WRITE text at column / row, the
'p' position text cursor at column / row, the 'C' color command,
'b' sound effects, the 'z' command write a rectangle of characters,
's' Text Area, 'E' FONT Effects, and '?' ASK CONDOR system
information (auto-detection and JOYSTICK report).
ALTERNATE ATTENTION SEQUENCE:
Condor 4.1+ has a command that allows a additional escape sequence.
Command is #!(character) example : #!~ would make the ~ tilde
work as well as the ESCAPE ASCII 27 character. This is for services
that FILTER out the escape character. Note that the addtional escape
character becomes undisplayable. Look for MORPH.EXE, a utility that
will convert the CONDOR graphics files with esc's to POWER or TILDE.
Also use a 's1:' after the 'R' command in the file like
^{R18:s1:b4:C1,12:L0,0,100,100:^}^# and keep the Condor BUFFER short
so you can keep the BBS pause screen prompt out of the buffer ie the
^{ .... ^} part. CPAINT's XSAVE will attempt to save a graphic out
with one line buffering, by attempt I mean "some" things just can't be
jammed into one line, but LOT's can!
-5-
CONDOR COMMANDS
R set Resolution syntax example R6:
----------------
Switchs screen resolutions. This is the Most important
command since most Condor commands need to be in a
GRAPHIC mode to work. The R command
automatically adjusts characters for the screen mode.
Sets the HOLLOWS to TRUE (circles and rectangles will
not be filled). Sets the point,line, and fill colors
to 1. Sets the character attribute to 7, that's
white characters with black background, sets the
DRAW Mode to REPLACE, sets polymarkers to POINT and
polymarker size to 1, also sets the number of text
lines to 25. The R command serves as a reset
command of sorts as well as a resolution switching
command. This command is supposed to have no effect
if a value is passed greater than the video hardware
can support, however I am unable to test this since
I have only VGA.
Command identifier = R
Parameter = Graphics mode to set
Parameter Screen Colors Type Video
values Resolution Adapter
0 40x25 16 TEXT ONLY
1 40x25 16 TEXT ONLY
2 80x25 16 TEXT ONLY
3 80x25 16 TEXT ONLY
4 320x200 4 GRAPHICS+TEXT CGA
5 320x200 4 GRAPHICS+TEXT CGA
6 640x200 2 GRAPHICS+TEXT CGA
7 80x25 2 TEXT ONLY
8 N/A N/A N/A
9 N/A N/A N/A
10 N/A N/A N/A
11 N/A N/A N/A
12 N/A N/A N/A
13 320x200 16 GRAPHICS+TEXT EGA
14 640x200 16 GRAPHICS+TEXT *# EGA
15 640x350 2 GRAPHICS+TEXT # EGA
16 640x350 16 GRAPHICS+TEXT *# EGA
17 640x480 2 GRAPHICS+TEXT *# VGA
18 640x480 16 GRAPHICS+TEXT *# VGA
19 320x200 256 GRAPHICS+TEXT VGA
20 360x480 256 GRAPHICS-ONLY * VGA
*Custom Assembler Routines for SPEED
#Modes that work with 'G' BITBLIT
Example esc{R6:L319,10,219,110:D419,110:D319,10:t48:b15:R3:esc}esc#A
Another way: esc{L319,10,219,110:D419,110:D319,10:t48:b15:R3:}{R6:esc}
esc#B esc#A
If you went esc#A esc#B nothing would happen except sub-block
B execution because the A block tries to draw lines and
that can only be done if a GRAPHICS mode is set, which
block B sets with the R6: command.
-6-
b sound effects syntax example b19:
---------------
Plays sound effects using the computer's
speaker. It's bells and whistle time!
Command identifier = b
Parameter = effect number
Effect # Name:
-------- -----
0 pute
1 yonk
2 Wood Pecker
3 British siren
4 buzz
5 Laughing Alien
6 woops
7 click-pop
8 meep
9 barber shears
10 zip-whistle
11 hey
12 insect
13 boing
14 broken chime
15 pebble in puddle
16 beep
17 long oh
18 harmonics
19 pinball
20 buzz-zapper
EXAMPLE: esc{b19:esc} esc#A
esc{R6:b1:b14:b20:b7:t48:R3:esc}esc#A
esc{R6:&0,20,1,0,b,1,x:R3:esc}esc#A
.......................................................................
C color set syntax example C1,2:
-----------
C = command identifier
Selects the register number to perform the screen
operation with.
1st parameter selects screen operation color to change.
0 = Polmarker color, used for the (P Plot command),
and the < INPUT command.
1 = line color, used for the (L Line Command)
2 = fill color, used for the (F Fill commands and
Z rectangle, and C circle )
3 = text color, used with the ( w command ).
2nd parameter selects the register number 0 to 255
depending on the graphic mode.
EXAMPLE esc{R19:C1,2:L0,0,100,199:R3:esc}esc#A
-7-
D line DRAWTO syntax example D149,99:
-------------
D = command identifier
Draws a line from the place the last place
a line or point was drawn.
Use the C command to change line color.
1st parameter = X coordinate
2nd parameter = Y coordinate
EXAMPLE esc{R6:P10,10:D100,20:D50,50:D10,10:R3:esc}
esc#A
.......................................................................
E text FONTS syntax example E4: more below...
------------
E = command identifier
Changes the way TEXT looks, works in text
or graphics modes. Will set FONTs from
ROM or Condor's internal default FONTs,
also manipulate FONTs in whole or part
to create new FONTs. Note that this command
is meant for VGA cards but some of the things
it does will work on EGA cards, experiment!
Note: The EGA TEXT mode screen is 350 pixels high
and the VGA TEXT mode screen is _400_ pixels high,
while the VGA Graphics mode screen is 480 pixels high.
Switch/INIT -> IF
1st parameter = 0 to 6 then no other parameters
are required. Description of 1st paremeter actions
are as follows:
( continued on next page)
-8-
0 = SET Default ROM-FONT for current
active video mode. This is like
CONDOR has always done, ie
choses the correct ROM-FONT for
the active video mode to maintain
25 lines of text. ALWAYS issue a E0:
when going from E4: thru E7 back to
E0: thru E3:
EXAMPLE esc{E0:w1,1,TEST@E4:w1,2,TEST1@
E0:E1:w1,20,TEST3@esc}esc#
1 = SET 8x8 ROM-FONT yields 50 text rows in
VGA text modes, 43 rows in EGA, in graphics
modes it varies. Use the 's' command to set
the number of text rows.
Max text rows are Y coordinate/8
EXAMPLE esc{E1:esc}esc#
2 = SET 8x14 ROM-FONT yeilds 28 rows of text in
VGA text modes, 25 rows in EGA text modes,
in graphics mode the number of text rows vary.
Use the 's' command to set the number of
rows. Max rows are Y coordinate/14
EXAMPLE esc{E2:esc}esc#
3 = SET 8x16 ROM-FONT yields 25 rows of text in
VGA text modes, 21 lines in EGA text mode, in
graphics mode the number of text rows will
vary. Use the 's' command to set the number of
rows. Max rows are Y coordinate/16
EXAMPLE esc{E3:esc}esc#
4 = INITIALIZE and make ALTERABLE FONT Active as a
8x8 Font using CONDOR's DEFAULT 8x8 Font.
See ascii characters 146, 168 and 173
EXAMPLE esc{E4:esc}esc#
5 = INITIALIZE and make ALTERABLE FONT Active as a
8x14 Font using CONDOR's DEFAULT 8x14 Font.
See ascii characters 146, 168 and 173
EXAMPLE esc{E5:esc}esc#
6 = INITIALIZE and make ALTERABLE FONT Active as a
8x16 Font using CONDOR's DEFAULT 8x16 Font.
This is actually just the 8x14 font padded on
the bottom with zeros, this will make more
space between lines.
See ascii characters 146, 168 and 173
EXAMPLE esc{E6:esc}esc#
Load / ALTER :
In DECIMAL -> IF
1st parameter = 7 AND
2nd parameter = 0 THEN Load FONT Definition in DECIMAL
3rd parameter = character height (in pixels max 16)
4th parameter = number of characters to define(max 255)
5th parameter = ASCII value of character to begin at
Remaining parameters are DATA for the FONT represented
in whole numbers base 10, where the character is a
matrix of bits ie 0 = 00000000 255=11111111 The
base ten form is more efficient than the binary form.
(continued on next page)
-9-
EXAMPLE make ascii 65 "A" a solid BLOCK and ASCII 66 "B" a line
A FONT has to be all the same height, first INITIALIZE
the FONT with E4: to E6: depending on the FONT height
you want, then alter only the characters you want to
customize, then issue a ACTIVATE command "E7,2,x:" You
can build a whole custom FONT but I wouldn't recommend
it for ONLINE graphics since it would be 10K or so just
for the FONT, a graphics presentation from disk would
be better suited for that.
esc{E4:E7,0,8,1,65,255,255,255,255,255,255,255,255:0,0,
0,0,0,0,0,255:E7,2,8:esc}esc#
In BINARY -> IF
1st parameter = 7 AND
2nd parameter = 1 THEN Load FONT Definitions in BINARY
3rd parameter = character height (in pixels max 16)
4th parameter = number of characters to define(max 255)
5th parameter = ASCII value of character to begin at
remaining parameters are DATA for the FONT,
* = bit ON, ANY other character = bit OFF
EACH character definition _MUST_ end with a @
EXAMPLE make ascii 65 "A" ascii 66 "B" a new look
First use a E4: to set the alterable FONT to 8x8.
esc{E4:
E7,1,8,2,65,
---**---
--*--*--
-******-
-******-
-******-
-******-
***--***
--------@
******--
**--***-
******--
*****---
**--***-
******--
***-----
--------@
E7,2,8:esc}esc#
Same EXAMPLE but without all the CR/LF's
esc{E4:E7,1,8,2,65,---**-----*--*---******--******-
-******--******-***--***--------@******--**--***-
******--*****---**--***-******--***-------------@
E7,2,8:esc}esc#
Important
ACTIVATE -> IF
1st parameter = 7 AND
2nd parameter = 2 THEN MAKE Loaded FONT Definitions
ACTIVE on SCREEN.
3rd parameter = character height (in pixels max 16)
Makes the FONT you created the FONT used on the screen.
It's possible to load the FONT up and wait till you
want to make it visible. You could load the character
definitions while someone was looking at some graphics
and reading text.
EXAMPLE esc{E7,2,8:esc}esc#
-10-
F flood FILLs syntax example F600,10,1: or f600,10:
-------------
F or f = command identifier
'F' Fills a area by replacing ALL colors starting
at specified X,Y coordinates till it hits
a border of a specified OPERATION COLOR.
If the command used is the 'f' fill the
color at X,Y is gotten and replaced with the
fill color set by the 'C'olor command. The
3rd parameter is dropped for the 'f' command.
1st parameter = X coordinate
2nd parameter = Y coordinate
3rd parameter = (0 to 3) specified OPERATION COLOR:
0 for current point color
1 for current line color
2 for current fill color
3 for current text color
EXAMPLE esc{R16:C1,12:C2,2:P100,10:D200,100:
D0,100:D100,10:F150,90,1:t48:b15:R3:esc}
esc#A
-11-
G BitBlit Animation G0,10,10,80,85: or G1,234,99:
-------------------
G = command identifier
Grabs a rectangular portion of the screen
and stores it in the FONT buffer or
takes the rectangular image in the FONT buffer
and places it on the screen. A previously loaded
custom FONT will be wiped out, so you might
want to use the ROM FONTs when Blitting or
reload the FONT afterward. Sorry but memory
restraints placed on DEVICE drivers forced this
upon Condor. The maximum size rectangle area
you can move is 90x91, although this is not a
actual dimension size limit but a square pixel
area limitation of 8192 pixels. 90x91=8190 so
it just fits, you could do a 45x182 because that
would be 8190 pixels also and within the limit.
If the limit is exceeded Condor will print a
response on the screen saying so and the screen
area will not be stored. As of Condor version 6.0
ONLY 16 color graphic modes are supported by the
'G' BitBlit command, these are set with
R13: R14: R16: R18: Also you can XOR the image
with the 'G ' command XORing twice in the same
location restores the background. To set XOR mode
see the 'M'ode drawing Mode command.
1st Parameter = operation to perform:
GET -> If 1st parameter = 0 then GET the screen AREA and
store it in memory (FONT buffer).
2nd parameter = upper left corner X coordinate
3rd parameter = upper left corner Y coordinate
4th parameter = lower right corner X coordinate
5th parameter = lower right corner Y coordinate
PUT -> If 1st parameter = 1 then PUT the screen AREA in
memory on the screen.
2nd parameter = upper left corner X coordinate
3rd parameter = upper left corner Y coordinate
example esc{R18:C1,14:C2,12:H0:Z10,10,80,80:
G0,10,10,80,80:b0:G1,0,100:b1:G1,120,150:
b1:G1,220,200:b0:t98:b0:b1:R3:esc}esc#A
.......................................................................
H hollow set syntax example H0:
------------
H = command identifier
When on non solids are drawn, a circle will be
drawn instead of a disk.
Parameter 1=on 0=off
EXAMPLE esc{R6:H0:Z10,10,100,50:H1:Z110,10,200,50:
t90:b7:R3:esc}esc#A
-12-
L draw LINE syntax example L0,0,300,150:
-----------
L = command identifier
Draws a line between specified points.
Use the C command to change line color.
1st parameter = beginning X coordinate
2nd parameter = beginning Y coordinate
3rd parameter = ending X coordiante
4th parameter = ending Y coordinate
EXAMPLE esc{R6:L0,0,639,0:L639,0,639,199:
L639,199,0,199:L0,199,0,0:
L0,199,639,0:L0,0,639,199:
t90:b19:R3:esc}esc#A
.......................................................................
M drawing MODE syntax example M2:
--------------
M = command identifier
Parameter sets drawing mode.
1 = replace 2 = XOR
Will not work in graphics mode 19.
Effects anything drawn after setting but only
after a C command in screen resolutions other than
R20: R18: R17: R16: R15: R14: So you set M then do
a C (color set) and anything drawn with that color
will be drawn in XOR mode. XOR mode is good
for drawing things on top of things because
if you draw it twice the XORed drawing disappears
leaving the background untouched! Because
XOR makes the 'F' fill command go koo-koo
you should only cut XOR on when you need it then
cut it back off! Some commands will disable XOR
mode and make you use M2: again and a 'C' command to
get XOR back.
EXAMPLE esc{R6:M2:H1:C1,1:Z100,20,200,198:
Z50,50,250,160:t90:b7:Z50,50,250,160:
t48:b20:R3:esc}esc#A
-13-
n notes play syntax example:
------------- n0,4000,1000,1: or n1,0,9999,100,10,500,1:
n = command identifier
Uses your computer's 1 bit sound and speaker to
play pitches from 0 to 9999 timed sustains with
sound shut off flag. Or can play a PITCH FROM TO
with STEP and delays between steps with trailing
SUSTAIN and sound shut on off FLAG.
IF 1st parameter is 0 then
2nd parameter = pitch, range(0-9999)
3rd parameter = sustain in 18.2ths of a sec range(0-9999)
4th parameter = OFF FLAG 0=leave playing, 1=shut off
IF 1st parameter is 1 then
2nd parameter = FROM pitch, value range(0-9999)
3rd parameter = TO pitch, value range(0-9999)
4th parameter = STEP value, range(1-9999)
5th parameter = DELAY between STEPs 18.2ths sec(0-9999)
6th parameter = SUSTAIN when TO value reached 18.2ths sec
7th parameter = OFF FLAG 0=leave playing 1=shut off
EXAMPLE: esc{R6:n0,1100,4,0:n0,1200,4,0:n0,1300,4,0:
n0,1400,4,0:n0,1500,4,0:n0,1600,4,0:
n0,1700,4,0:n0,1800,4,0:n0,1900,4,0:
n0,2000,4,0:n0,2100,4,0:n0,2200,4,0:
n0,2300,4,0:n0,2400,4,0:n0,2500,4,1:
R3:esc}esc#A
.......................................................................
O CIRCLE syntax example O159,100,75:
----------
O = command identifier
Draws a disc or circle depending if the
H command is active or not. This command
does not do a aspect ratio, so the best
circles will be in the 320x200 and 640x480
graphics modes.
1st parameter = X coordinate of circle center
2nd parameter = Y coordinate of circle center
3rd parameter = radius of circle
EXAMPLE esc{R6:O319,99,40:t48:R3:esc}esc#A
.......................................................................
P PLOT a polymarker syntax example P149,99:
--------------------
P = command identifier
Plot a POLYMARKER on the screen.
Use the C command to alter the color.
The 'T' command will change what's plotted.
1st parameter = X coordinate
2nd parameter = Y coordinate
EXAMPLE esc{R6:T3,1:P100,100:P0,0:P40,188:t48:R3:esc}esc#A
-14-
p position cursor syntax example p78,24:
-----------------
p = Command identifier
Positions the text cursor at column, row.
The max row is limited by the 's' command.
1st parameter = column (1 to 80 )
2nd parameter = row (1 to 25 )
EXAMPLE esc{R6:p10,21:esc}esc#A
......................................................................
S setcolor register
-------------------
S = command identifier
Sets one COLOR register for CGA/EGA/VGA
the syntax is different depending on the
adapter and current graphics mode set by
the R command. This command also can change
the BORDER color and switch BLINKing on/off.
Supports (R19:) 320x200 256 colors too.
IF in a CGA graphics mode R6: R5: or R4:
--- syntax is like: S1,1:
1st parameter selects which to alter
a Color Palette or
a BORDER and BACKGROUND change.
0=Set border & background
1=Set color palette
2nd parameter is color value for background & border
(0-15) or color palette(0-1) to change to.
IF in a EGA/VGA graphics mode R13: TO R18:
------- syntax is like: S0,2,63: to set a register
syntax is like: S1,63: to set border color
syntax is like: S2,1: to set blink flag
1st parameter selects which to alter
color register, border color or blink
To set a COLOR REGISTER:
1st prammeter = 0
2nd parameter = REGISTER number ( 0 to 15 )
3rd parameter = Color Val(0-63) (0-15)R13:,R14:
To set the BORDER COLOR:
1st parameter = 1
2nd parameter = color Val(0-63) (0-15)R13:,R14:
To turn BLINK on/off
1st parameter = 2
2nd parameter = 0 blink OFF or
1 blink ON
IF in VGA/MCGA graphics mode R19: or R20: VGA(360x480 256 colors)
-------- syntax is like: S227,24,255,0:
1st parameter = color register number 0-255
2nd parameter = RED value ( 0 - 63 )
3rd parameter = GREEN value ( 0 - 63 )
4th parameter = BLUE value ( 0 - 63 )
-15-
s Screen Clear & Control syntax example s0: or s60:
------------------------
s = Command identifier
Clears the screen by resetting the graphics mode to
whatever mode is currently selected or adjusts
the number of text lines the screen has. This command
will CLEAR the WHOLE screen, use a ANSI esc[2J to
only clear the TEXT area set by 's'. This command
is meant for graphics modes, it has some minor effects
in text modes.
Parameter = 0 to 80
IF this parameter = 0 then just CLEAR whole screen.
IF this parameter greater than zero then set TEXT
lines screen has:
80 lines max(using 8x6 font with 480 tall modes)
1 line minimum
EXAMPLE esc{R18:L10,10,639,180:t32:b12:s30:t48:b17:esc}esc#A
.......................................................................
T polymarker TYPES T3,4:
---------------------
T = command identifier
Sets the polymarker(shape) to use.
EFFECTS the pointer for the < INPUT comand
and the output of the P "plot" command.
Use the C command to alter the Color.
1st parameter picks type of polymarker
0 = pixel
1 = up arrow 2 = cross hair
3 = 5 point star 4 = rectangle
5 = diagonal cross 6 = diamond
7 = rectangle + 8 = circle +
9 = trivit
2nd parameter = size of polymarker, range 1 thru 255
EXAMPLE esc{R18:C0,12:T3,10:P100,100:t48:R3:esc}esc#A
.......................................................................
t Timed Pause syntax example t52:
--------------
t = Command identifier
Wait for specified 18.2ths of a second.
You can pause up to 1092 units, which
is one full minute. If the graphic is a on-line
graphic put this near the end of it to avoid
serial buffer overflow or keep the pause short.
To ABORT a Pause the User can press the Ctrl key
or BOTH fire buttons on either JOYSTICK.
Parameter = 1 to 1092 18.2ths of a second
EXAMPLE: esc{R6:Z20,20,150,140:t52:b19:R3:esc}esc#A
-16-
w Write text syntax example w10,20,LOOK AT US NOW - by Joe Walsh@
-------------
w = Command identifier
Writes a string of characters ending with a
@ symbol at the column, row specified.
It's VERY VERY important to end the string with @,
If you don't this command will eat the the code
after it! Pressing the ALT key may recover.
The @ symbol can be printed only if it is
the only character in the string to print,
ie w10,10,@ would print the @ symbol
at location 10,10. Also note that the
: need not be used after the @ symbol.
This command has full access to the screen even
if the screen has been shrunk with the 's' command.
Use the C command to change the text color.
Note: This command will not work in R20: you must
draw all text in that mode, for now...
1st parameter = column ( 1 to 80 )
2nd parameter = row ( 1 to Max needed)
3rd parameter = string of characters ending with a @
EXAMPLE esc{R6:w10,20,Back to Humans - by Queen@t52:
R3:esc}esc#A
-17-
eXtended Commands
-----------------
Extended commands are invoked by a captial X and a
number ranging from 0 to 9999. X COMMANDS are ONLY
available while in a GRAPHICS mode!
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
X0 Error REACTION Level X0,0: X0,1: X0,2:
-----------------------
X0 = command identifier
Condor v6.0+ adds "some" filtering and
error detection in the scripts.
This command sets how Condor reacts
when it thinks it found a bad command
in the buffer it is executing.
A bad command is identified as a
Letter command not followed directly
by a DIGIT. Example esc{ContinueR3:esc}
the word "Continue" would produce bad
command alerts within Condor. The R3:
would be executed since it is R followed by
a DIGIT. The only exception is the
COMMENT Command /text....@ will not produce
a bad command alert. Parameters are
filtered for non-digits and will not
produce a bad command alert. This can't
stop all errors from line noise or whatever
but it will help a lot.
1st parameter = Error Reaction Level
0 = NORMAL (default) if a bad command
is found in the buffer skip it and
go to the next character in the
buffer, check it and continue until a
LETTER followed directly by a DIGIT
is found or end of buffer is reached.
1 = Condition YELLOW if a bad command
is found then end a LOOP command if
executing and end buffer execution.
2 = RED Alert, if a bad command is found
end a LOOP if executing end buffer
execution, set screen mode to default
at bootup, adjust character set for
default screen mode, set text color
to register 7.
-18-
X1 JOYSTICK Calibration X1,40,130,40,130:
----------------------- X1 = command identifier
Sets the Low and High Range reading to accept from
the Joystick as netural. The normal defaults are
30 for low and 120 for the high setting. You
shouldn't have to change this much if at all. But
if your joystick won't trim you can use this to
obtain a netural reading of (5.) from the
" ?1: and ?2: " commands.
1st parameter = Low Range (0-255) for joystick(1)
2nd parameter = High Range(0-255) for joystick(1)
3rd parameter = Low Range (0-255) for joystick(2)
4th parameter = High Range(0-255) for joystick(2)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
X2 REDEFINE ZONE Area X2,127,10,10,80,90:
--------------------- X2 = command identifier
Redefines a Zone's borders that was previously
defined with the X4 command. This command is
the same as X4 but it doesn't redefine the command
string or allow the optional 9997+ commands.
Use the X4 command to define new ZONEs.
Redefine Zone Borders:
1st parameter = ZONE number (0-127)
2nd parameter = upper left corner X coordinate
3rd parameter = upper left corner Y coordinate
4th parameter = lower right corner X coordinate
5th parameter = lower right corner Y coordinate
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
X3 REDEFINE ZONE string X3,69,3,dir:
----------------------- X3 = command identifier
Redefines a Zone's command string that was
previously defined with the X4 command. This
command can be a time saver in the right
situation, such as all ZONEs are the same size
and you need to change what each Zone does on the
fly. Use the X4 command to define whole new ZONEs.
Redefine Zone command string:
1st parameter = ZONE number (0-127)
2nd parameter = number of characters in string
to transmit to the keyboard,
maximum 4, this limit imposed
to keep things like "FORMAT C:\"
from being hidden in a graphic.
3rd = the string itself with a ending : seperator,
don't count the seperator as part of the
string length required for 2nd parameter.
-19-
X4 DEFINE and LOAD ZONE data X4,0,0,0,79,49,3,f/L:
-----------------------------
X4 = command identifier
Defines a rectangular area and associates a
string of characters with it, a ZONE.
The string is sent to the keyboard buffer by
the " < " command if the ARROW key option is
used. Most MOUSE driver software can produce
ARROW key values and ENTER when the left button
is pressed, this allows "Point and Click"
operation of remote systems or the sending
of short commands to the DOS command line.
Zone ID -> 1st parameter = zone number to define/load
This is a number between 0-127 or
optional value is 9997+. If Zone ID is
9999 ALL Zone's retangular areas
are defined as -1,-1,-1,-1 by Condor
internally. This is to give a quick
clean slate.
When "Zone Loopback" is on the
'<' input command will continue to
poll a user until he selects a valid
defined ZONE or hits the ESC key.
examples X4,9999:
X4,9998: Zone Loopback ON
X4,9997: Zone Loopback OFF
(default loopback OFF)
No other parameters are required if
Zone ID is 9999-9997.
Define Borders -> 2nd parameter = upper left corner X coordinate
3rd parameter = upper left corner Y coordinate
4th parameter = lower right corner X coordinate
5th parameter = lower right corner Y coordinate
Load string data -> 6th parameter = number of characters in string
to transmit to the keyboard,
maximum 4, this limit imposed
to keep things like "FORMAT C:\"
from being hidden in a graphic.
7th = the string itself with a ending : seperator,
don't count the seperator as part of the
string length required for 6th parameter.
example esc{R16:X4,0,0,0,79,49,1,G:esc}esc#A
-20-
S Y S O P S & BBS USERs IMPORTANT!!!!
X5 Input '<' COMMAND LOCK X5,3,8905,2345,1758:
-------------------------
X5 is DIGITAL LOCK to turn ZONE input on/off
for BBS LOCAL side, affects the '<' input command.
ALL users set your ACCESS code.
Replace the xxxx,xxxx,xxxx with a made up sequence.
ie X5,3,1,8,1959: My birthday.
Where xxxx = any number between 0-9999
esc = ASCII character value 27
USERS ---> "X5,3,xxxx,xxxx,xxxx:" SETS your INPUT Command
lockout access code, this access code can only be
set once at BOOTUP when all the ACCESS CODEs are at
zero, further access to ANY X5 command requires
YOUR access Code. ALL should set a ACCESS code!
example-> ECHO ON
REM - esc{R4:X5,3,xxxx,xxxx,xxxx:R3:esc}esc#A
SYSOPs ---> This SETs access code and LOCKs out < INPUT.
At BOOTUP execute in a TEXT file TYPE"ed"
from your AUTOEXEC.BAT or turn ECHO ON and make it a
REM line in AUTOEXEC.BAT, a sequence like:
ECHO ON
REM - esc{R4:X5,3,xxxx,xxxx,xxxx:X5,0,xxxx,xxxx,xxxx:R3:esc}esc#A
SYSOPs ---> "X5,0,xxxx,xxxx,xxxx:" turns '<' INPUT OFF,
This is done from a text file TYPE"ed" to CONDOR
DON'T put this in a MENU! Put it somewhere
only the SYSOP can SEE. This command shuts
down the < INPUT command, you don't want the
< INPUT command working on the BBS local side
except to test a MENU you created. If you don't
shut down the < INPUT command on the BBS side the
BBS will wait forever for input from the sysop's
keyboard! You must do this privately only where
the sysop's Condor sees it, you don't want put it
in MENU text and shut down < INPUT on the USER SIDE.
SYSOPs ---> "X5,1,xxxx,xxxx,xxxx:" Turns the < INPUT command
access back ON. Do this to make < INPUT work for
Point & Click Menu TESTing. Then SHUT it OFF!!!
example-> ECHO ON
REM - esc{R4:X5,1,xxxx,xxxx,xxxx:R3:esc}esc#A
See LOCK.BAT, UNLOCK.BAT, ACCESS.BAT for extra help.
.......................................................................
X6 Set ARROW key Step Rates X6,12,10:
---------------------------
X6 = command identifier
Set the X Y step rates for the arrow key
and joystick movements of the pointer invoked
by the < input command used with the ZONES.
1st parameter =
X step rate range 1 to 32
2nd parameter =
Y step rate range 1 to 32
EXAMPLE esc{R18:X6,16,10:esc}esc#A
-21-
Z Rectangle syntax example Z0,0,639,199:
------------
Z = Command identifier
Draws a rectangle, you specify
the upper left and lower right
corner coordinates. Use the
C command to change colors and
the H command to draw a solid
instead of a frame.
1st parameter = upper left corner X coordinate
2nd parameter = upper left corner Y coordinate
3rd parameter = lower right corner X coordinate
4th parameter = lower right corner Y coordinate
EXAMPLE esc{R6:Z20,50,277,189:t48:b15:R3:esc}esc#A
.......................................................................
z TEXT Rectangle syntax example z1,1,80,25,*:
-----------------
z = Command identifier
Prints a rectangle made of a specified
character with the upper left corner and
lower right corners specifed as column and
row coordinates. You can get high ascii
characters by holding alt and typing the ascii
value on the numeric keypad. Useful is ascii
219 for FILLING large areas and then only using
the slow F or f command to fill in the edges.
1st parameter = upper left corner COLUMN ( 1 to 80 )
2nd parameter = upper left corner ROW ( 1 to 25 )
3rd parameter = lower right corner COLUMN ( 1 to 80 )
4th parameter = lower right corner ROW ( 1 to 25 )
5th parameter = CHARACTER to make the rectangle with
followed by the : just like a number
value.
EXAMPLE esc{R6:z4,3,8,12,X:t48:b18:R3:esc}esc#A
.......................................................................
/ COMMENT syntax example /Anything you like ending with a@
----------
/ = command identifer
Use this to add comments inside CONDOR script.
It has no effect and will not be printed to the screen.
The Comment must BEGIN with a / and end with a @
Maximum length of a comment is /...127 characters...@
example esc{R16:b0:/We just set 640x350x16@R3:esc}esc#A
-22-
& LOOP a command(s) &0,198,6,0,L,4,0,0,x,y:
--------------------
& = command identifier
Loops a command a specified number of times with
stepping, special options for XOR ing and the
write text command. You can loop a
chain of commands, see parameter 5, BUT you can't
loop a loop. Still this command is very powerful
and worth every effort to learn!
Note: PRESS the CTRL key to abort a loop.
1st parameter = FROM value
if FROM value bigger than TO value
loop will detect and step backwards.
2nd parameter = TO value
3rd parameter = step value, positive number only.
4th parameter = DELAY roughly a 360th of a second
between each step of the loop.
5th parameter = command Identifier to loop.
optional specification character after 5th
parameter instead of comma:
| = XOR stepping
@ = get text for w command everytime
otherwise text written from loop
with the w command is last text
written with w command before the
loop was executed. w command now
ignores CR and LF so loop command
can be used for easy written text
placement with the loop's stepping.
NOTE: (Chain Gang) If a > symbol is given here as a command
identifer chain gang option is invoked.
This allows multiple commands to LOOPed.
Instead of one command specified for this
parameter a string of command identifers
are passed.
The > to get CONDOR's attention to chain-
gang, and ending with the @ FOLLOWED by a
comma. Like this >CL@,
C is at command position 0
L is at command position 1
The position of the command is the key
to which command will be executed.
There can be up to 128 (0-127) commands in
this command string in any order you like.
Example: switching line color and drawing lines too
esc{R14:&0,636,6,0,>CL@,16,0)1,3:1)319,99,x,20:0)1,2:1)319,99,+2,20:
t48:b11:R3:esc}esc#A
You can replace the ) above with the commands themself
(or any non-numeric character) like so:
esc{R14:&0,636,6,0,>CL@,16,0C1,1:1L319,99,x,179:0C1,2:1L319,99,+2,179:
t48:b12:R3:esc}esc#A
( continued on next page )
-23-
6th parameter = total number of parameters command(s)
that are being looped requires. You are required
to specify the total number the command(s) requires
ie L command requires 4 , ie C command 2.
If using the CHAIN GANG option a L command requires
5 parameters, a C command 3.
You can specify multiples of the required number
such as 8 or 12 for the L command, Maximum up to
2048, for LOOPing several L ine commands at once,
this works sort of like BASIC's READ DATA
statements between each LOOP step.
REMAINING parameters = whatever the command(s) being
looped requires. If you use a "x" as a
parameter it will be stepped in the direction
of the FROM TO values, use a "y" and the loop
will step the value in a reverse direction.
You can use both "x" and "y" at the same time.
If you use a number it will remain as a constant
for the command being looped through out the
loop execution.
You can preceed constants for a command being
LOOPed with +,-, or !
+CONSTANT will ADD the CONSTANT to the x step
value.
-CONSTANT will SUBTRACT the CONSTANT from the
x step value.
!CONSTANT will SUBTRACT the x step value from
the CONSTANT.
syntax example &10,50,4,0,L,4,x,+90,!639,-2:
LOOP example, Written text option:
esc{R6:&1,7,1,0,w@2,25,x,A. Item 1@
B. Item 2@
C. Item 3@
D. Item 4@
E. Item 5@
F. Item 6@
G. Item 7@
t72:b4:R3:esc}esc#A
Example of loop used to READ DATA and step within at the same time in
both directions.
esc{R6:&0,639,4,0,L,16,319,99,x,0:319,99:y,0:319,99,x,199:319,99:y,199:
t52:b16:R3:esc}esc#A
-24-
< INPUT Command <1,0,1:
----------------
< = command identifier
Gets input from user's keyboard and transmits it as soon
as the LAST command in the Condor Buffer is executed.
Should be used near the end of a MENU, as the BBS will
continue to send to the terminal while the INPUT command
is waiting on the user. This is so the BBS will be
waiting for INPUT when CONDOR sends the user's response
at buffer excution exit. The INPUT command is good for
letting you use any resolution you want for a BBS MENU
and then to issue some reset commands. Also the < input
command can optionally INVOKE JOYSTICK/ARROW key routine
for the X4 command so ZONES can be pointed to and
clicked on, you must use X4 to define and load the zone
strings first and you should use CONDOR to draw some
borders(ICONS) around the zones so the user will know
where and what he is selecting when he clicks on a ZONE.
The selected Zone's associated data string is
transmitted to the BBS as soon as CONDOR executes
the last command in it's buffer. ZONE 63 is the default
ZONE, it's associated data string will be sent if no
ZONES match where the user clicked. You should always
define ZONE 63. PLEASE see command X5 and use it right
away as the input command can hang up a BBS on the local
side and should be LOCKED out except when a SYSOP is
testing menus he made using the < command.
You may find the X6 command useful too.
1st parameter = Transmitt carriage return at the end
of the string INPUTted? 1 = YES 0 = NO
2nd parameter = type of INPUT
0 = One key, (hot key)
1 = String, with a return to
end input from user,
max string length = 14
2 = MOUSE ZONE Arrow keys, activate a
POLYMARKER mouse pointer, use the " T "
command to select mouse type and size
and the 'C' command to set mouse color.
User moves mouse with ARROW keys and
clicks on a "ZONE" by hitting ENTER.
The associated ZONE string is copied
into INPUT's buffer to be transmitted to
BBS at the end of the CONDOR buffer
execution via the keyboard buffer.
The escape key aborts.
3 or 4 = MOUSE ZONE Joystick, activate POLYMARKER
mouse pointer, use the " T " command
to select mouse type and size and the
" C " command to set mouse color.
User moves mouse with the JOYSTICK
or ARROW keys and Presses a firebutton
or presses ENTER to click on a "ZONE".
The associated ZONE string is copied
into INPUT's buffer to be transmitted to
BBS at the end of the CONDOR buffer
execution via the keyboard buffer.
BOTH Firebuttons pressed at once or the
escape key aborts. 4 = use joystick(2)
( continued on next page )
-25-
3rd parameter = Output options
0 = Don't show input typed from user
on his screen. Has no effect on
Mouse ZONES.
1 = Show input typed from user on screen.
Has no effect on Mouse ZONES.
2 = Show input but throw it away, don't
transmit it at the end of the chain.
Does effect Mouse ZONE.
3 = Don't show input from user, and throw it
away too. Does effect Mouse ZONE.
Note: If 2 ZONES areas are over lapping on the screen the
ZONE with the lower value ID number will get selected when
the mouse is clicked on both ZONEs at the same time.
+----+--------------------+
user clicks in here ---> |ID=1| |
ZONE 1 gets selected +----+ ID=10 |
| |
+-------------------------+
+----+--------------------+
user clicks in here ---> |ID=7| |
ZONE 2 gets selected +----+ ID=2 |
| |
+-------------------------+
Note also that the mouse is driven by the ARROW keys,
so the mouse driver has to produce these or user presses
ARROW keys.
simple example esc{R16:C3,12:w6,10,Press the ARROW KEYs then ENTER!@
w2,11,Pick a square! It could be a fancy ICON.@
X4,9999:X4,9998:C1,11:
Z1,1,150,99:X4,0,1,1,150,99,4,left:
Z160,1,350,99:X4,55,160,1,350,99,4,rite:
X4,63,0,0,639,349,4,oops:X6,16,16:
C3,14:C0,14:T3,4:<0,2,1:R3:esc}esc#A
NOTE: Don't use POINT & CLICK ZONES in graphics mode 19.
XORing doesn't work in that mode so the pointer will
make a mess. No real harm but it looks bad.
-26-
? Ask CONDOR ?0: ?1: ?2:
------------
? = command identifier
Asks the CONDOR device questions.
It loads the reply into the keyboard buffer and it
is as if the user typed it. Can be issued in TEXT mode.
1st parameter selects the question to ask, 0 or 1:
question 0 = Ask Condor system info, CONDOR will
TYPE in ASCII the version number it is,
what video hardware it finds and the
current video mode selected.
A Condor response to a ?0: query
esc{?0:esc}esc#A
would look something like:
V4.0:$I:*D:
and interpreted by the HOST asker as
Version 4.0:$Hardware I:*Current_mode D:
HARDWARE CHART:
---------------------------------------
$A: no display
$B: MDA mono display
$C CGA color
$D (reserved)
$E EGA color
$F EGA mono
$G Professional Graphics Controller
$H VGA analog mono
$I VGA analog color
$J (reserved)
$K MCGA digital color
$L MCGA analog mono
$M MCGA analog color
VIDEO MODE CHART: Res Colors Type
---------------------------------------------------
*A: 40x25 16 TEXT
*B: 40x25 16 TEXT
*C: 80x25 16 TEXT
*D: 80x25 16 TEXT
*E: 320x200 4 GRAPHICS
*F: 320x200 4 GRAPHICS
*G: 640x200 2 GRAPHICS
*H: 80x25 2 TEXT
*I: N/A N/A N/A
*J: N/A N/A N/A
*K: N/A N/A N/A
*L: N/A N/A N/A
*M: N/A N/A N/A
*N: 320x200 16 GRAPHICS
*O: 640x200 16 GRAPHICS
*P: 640x350 2 GRAPHICS
*Q: 640x350 16 GRAPHICS
*R: 640x480 2 GRAPHICS
*S: 640x480 16 GRAPHICS
*T: 320x200 256 GRAPHICS
-27-
JOYSTICK Support -> ?1:
IF 1st parameter = 1 instead of 0 then Condor will answer
question 1 = Ask Condor for a JOYSTICK report.
CONDOR will TYPE in ASCII a direction
value and a firebutton status character.
A Condor response to a ?1: query
esc{?1:esc}esc#A
would look something like:
5+
you can ask it over and over
and it might look like:
5.5.5.7-7-8+8.8.
What does it all mean?
The numbers are directions like:
7 8 9
\ | /
4 - 5 - 6
/ | \
1 2 3
The punctation that follows the number
is the status of the firebutton.
. = No Firebutton Pressed
+ = Lower Firebutton Pressed
- = Upper Firebutton Pressed
* = BOTH Firebuttons Pressed
Note: If a Joystick is not found connected
to the gameport then a direction of
0 is returned example 0.
Also if a user doesn't have a Joystick
he can hit the NUMLOCK Key and the
value directions coincide with the
numeric keypad layout.
USE ?2: to read joystick number 2
in the same manner as ?1: reads joystick
number 1.
-28-
ANSI SUPPORT
------------
CONDOR supports ANSI escape sequences. You can't place
ANSI commands in the CONDOR buffer and execute them BUT you can first
switch to a GRAPHICS mode with a CONDOR Rx: command then draw some
lines, what have you, with CONDOR and at exit don't do a R3: command.
The ANSI commands will still work, the only thing is that you will
not get the ANSI background colors and BLINKing characters, this
is how you mix CONDOR and ANSI commands to get the best of both.
If you switch back to a TEXT mode then you get the ANSI character's
background color and BLINK. CONDOR's R3: switches to color TEXT mode
80x25. I left most of the cursor positioning work for the ANSI
commands to save on memory, CONDOR has to fit in 64K to work and I
want to expand it little in the future.
ANSI COMMANDS SUPPORTED:
------------------------
? = numeric value
esc[?;?H Move cursor to line, column. If no
parameters specified cursor is sent
to HOME (1,1)
esc[?;?f Exactly the same as the above command.
esc[?A Move cursor UP. Moves cursor up by the
number of lines specifed without
changing columns. If cursor is at the
top line this command is ignored.
esc[?B Move cursor DOWN. Moves cursor down
by the number of lines specifed without
changing columns. If cursor is at the
bottom line this command is ignored.
esc[?C Cursor FORWARD. Moves cursor forward
by the specified number columns without
changing lines. If the cursor is at the
rightmost column command is ignored.
esc[?D Cursor BACKWARD. Moves cursor backward
by the specified number columns without
changing lines. If the cursor is at the
leftmost column command is ignored.
esc[s SAVE cursor position. Get current
cursor position and remember it.
Use the esc[u sequence to set cursor
to saved position.
esc[u RESTORE Cursor Position. Sets the
cursor to the SAVEed position
established with the esc[s sequence.
esc[2J Erase the TEXT Screen. Clears the
TEXT screen only as defined by
CONDOR's 's' command
and moves the cursor to HOME (1,1).
-29-
( ANSI Commands Continued )
esc[K ERASE Line. Clears all characters from
cursor positon to the end of the line.
esc[?;?;?m Set TEXT Attributes,
TEXT Foreground colors and
TEXT Background colors.
TEXT Attribute values:
0 = All attributes OFF
1 = Bold ON
4 = NO EFFECT
5 = BLINK ON
7 = REVERSE Video ON
8 = CONCEALED ON
FORGROUND color values:
30 = BLACK
31 = RED
32 = GREEN
33 = YELLOW
34 = BLUE
35 = MAGENTA
36 = CYAN
37 = WHITE
BACKGROUND color values:
40 = BLACK
41 = RED
42 = GREEN
43 = YELLOW
44 = BLUE
45 = MAGENTA
46 = CYAN
47 = WHITE
The ANSI commands esc[?h, esc[?l, esc[code;string;...p are
NOT supported. The ANSI esc[6 command used for ANSI auto-detect is not
supported, SEE CONDOR's '?0:' command for CONDOR 4.0+ auto-detection.
-----------------------------------------------------------------------
I hope CONDOR will make changes in digital publishing and the online
world but it depends on you, DEMAND "EXTERNAL" ANSI support as AT
LEAST optional in HYPERTEXT READERS, MAJOR TERMINALs and BBSs.
EXTERNAL ANSI support provides your terminal or BBS with access to
CONDOR.SYS In Turbo C this is as SIMPLE as bdos(2,character,0);
that's all they got to do and CONDOR will respond!!! See HOW_TO.TXT
Note that the faster DIRECT TEXT output is just that TEXT output, it
does not work in graphics modes!