e r l - university of illinois archivesarchives.library.illinois.edu/erec/university...
TRANSCRIPT
Computer-based Education Research Laboratory c E R L
SUMMA~Y Of lUlOrR COMMANDS
AND
SYSlrEM VA~JABLrES
ELAINE AVNER
TWELFTH EDITION APRIL 1984
University of Illinois at Urbana- Champaign
SUMMARY OF TUTOR COMMANDS AND SYSTEM VARIABLES
(twelfth edition)
Elaine Avner
PLATO Services Organization
Computer-based Education Research Laboratory
Copyright (f) April 1984 by Elaine S. Avner
First Edition Second Edition Third Edition Fourth Edition Fifth Edition Sixth Edition Seventh Edition Eighth Edition Ninth Edition Tenth Edition Eleventh Edition Twelfth Edition
rF:;·,
May 1974 June 1975 November 1975 August 1976 May 1977 September 1977 July 1978 August 1979 September 1980 August 1981 August 1982 April 1984
The PLATO- system is a development of the
University of Illinois.
ii::·t PLATO- is a service mark of
Control Data Corporation.
Acknowledgment
Many PLATO users have made suggestions on the form and content of this book. I am especially grateful to members of the systems staff, the evaluation group, and the PLATO Services Organization for helpful comments.
Roy Lipschutz assisted with final preparation of the manuscript.
This summary is intended for the experienced author who needs a quick reference for the form of a tag and for some of the restrictions on commands. It does not discuss fine details of the TUTOR language. For such information autho r s should refer t o "aids" a.nd to The TUTOR Languaqe by Bruce Sherwood.
Each command includes a brief description of its purpose and a description of the tag. The standard form is
command brief description of operation of command
command DESCRIPTION OF TAG (any explanatory comments)
Note: Additional comments about this command.
NOTE: General comments about groups of commands.
In the description of a tag, words in upper case represent variables, values, expressions, or character strings supplied by the author; words in lower case are required words in the tag and must appear exactly as shown. Argum ents in the tag which are optional are printed in italics. Optional arguments may be required words or author-supplied information.
For e;.:ample:
attach records records lesson define
NAME total days,VAR backout,STAT ION NUMBER complete segment,NAME=STARTING VAR,NUM BITS PER BYTE,signed
The commands are grouped into eight categories: calculating (C), data keeping CDI, file operations \F), judging (J) 1 managing sites (M), presenting (p), t-outing CRI, and sequencing CSI. Commands which are difficult to classify are placed in categories which describe their most probable use.
Modifications to this book required by changes in the TUTOR language are contained in lesson "aids" (press DATA and type: changes to summary!. These modifications, along with other notes of interest, may be inserted in the spaces which have been provided between entries and on the additional pages at the end of each section.
CONTENTS
Abbreviations Classification of commands and system variables CALCULATING
Basic calculatino Svstem ooeration~ and functions Random nl.tmbers Information Bit and character manipulation Operations on lists Data manipulation System variables for calculating
DATA KEEPING Requesting data Classifying data. Transferr1no data Signing on ind off System variables for data keeping
FILE OF'ERATI!JNS Attaching and accessing files Datasets and namesets i3rou~; files TUT!J~ files and code files System variables for file operations
JUDGING Preparation for responding '·Joca.bularv lists Modification of judging cop y of response Modification of judging procedure Storing judging copy ot response Matchinq judging copy of response Informafion on specific words in response Unconditional judgment Reference to other units during judging Alteration of judqment Alteration of feedback Svstem variables for judginq
MANA~ING SITES -Site commands Subsite commands Station commands Svstem variables for managing sites
PRESENTING Basic display t3raptncs Relocatable graphics Dra~>nn~ graphs Specia1 display Non - screen Svstem variables for presenting
ROUTiNG Routet- lesson Curriculum information Svstem variables for routing
SEQUENCING Basic sequencing Automatic sequencing Key-initiated sequencing Timing Lesson Lesson Lesson System
Appendi :<
connections and sections lists annotation and debugging variables for sequencing
Some limits associated with commands f:::eyset Kevcodes. internal codes, alternate font memory locations F'oi~er s ot b~o
Alphabetical index System va.riables Commands
Page
i i to J. (•.
c 1 C5 CB
C10 C12 c---C15 C19 C23
D1 D2 D3 0--· D5 D6
F 1 F3 FB F---F15
F19
J 1 J4 J5 ,] 6 JB J9
,] 14 J---J16 J17 JlB .]19 J20
t11 M5 M6 M--· MlO
F'l F'7 P9
F' 11 p---F'17 F'20 P23
Rl R2 R--· R3
s 1 ;.r-, ::>.::. 57 S9
512 s--• S15 S17 S21
Al A4 AS A--· A9
I 1 12 1--·
Abbreviations and Notes
Below are listed the abbreviations used in the descriptions.
abbreviation
arg (b)
coar-se CM CPU disk E ~1 e:< p r fine;<,finey num ppt string var vars
definition
argument or tag entry blank tag character-grid coordinates central memory central processing unit rotating magnetic disk storage unit e;<tended memory mathematical expression fine-grid coordinates number of programmable terminal <IST and PPT l character string variable vat-iables
In conditional statements and in statements where a variable is set, suffixes m, 0 1 1 1 2, etc., denote the minus condition, 0 condition, 1 condition, 2 condition, etc. 1 e.g. 1
match do
VAR,WORDO,WORD1,WORD2 EXPR,NAMEM,NAMEO,NAME1,NAME2
In conditional statements the conditional expression is [~~~~~~ (not truncated) to the nearest integer. Thus, a value of -.4 results in the 0 condition being selected rather than the minus condition.
Generally, wherever a tag entry may be a number, a mathematical expression is also accepted.
Command names are enclosed in dashes when they are referred to in descriptions, e.g., -next-. Names of system variables are enclosed in double quotes, e.g., "zreturn". Key names are capitalized, e.g., NEXT. A function key name followed by "1" 1 e.g., NEXT1, indicates the SHIFT key is held while the key is pressed.
A word which is enclosed in single quotes designates information which is stored left-justified in a variable, e.g., 'student'.
Commands labeled "non-executable" are active only when the lesson is being condensed and not during execution.
When variables are used in the tag of certain commands which require names in the tag, e.g., -area-, the variable must be enclosed in parentheses to indicate that the information needed is the contents of the variable and not a character string; e.g. 1 -area <v3l- means the area whose name i§ ~~~t!i~~~ in variable v3, while -area v3- means the area whose name i2 v3.
Some commands use the te:<t delimiter <*l to separate at-guments (e.g., -writec-, -packc-, etc.). This symbol is obtained by pressing MICRO and then comma.
i i
Basic calculating Cl
define lvars calc calcc calcs addl sub1 zero set
Random numbers C8
seed randu setpet·m randp remove restore mod perm
Information ClO
name group compute clock date day ct i me cdate
CALCULATING
Bit and character manipulation C12
search pack packc move itoa otoa htoa clean recname
Operations on lists C15
sort sor ta finds findsa inserts deletes find findall
Data manipulation C19
block transfr common comload comret abort common:=·: initial storage stoload reserve release backgnd foregnd
System variable s for calculating C23
lcommon lstorag zbpc zbpw zcpw zcusers
'
Requesting data 01
dataon dataoff
Classifying data 02
area output outputl setdat
Tr ansferring data 03
read set readd
Si gning on and off D5
restart permit finish protect
DATA KEEPING
i i i
System variables for datakeeping D6
collecting data
dataon
session data
zsesset zsesspt zsessda
area data
aarea a arrows ahelp ahelpn aok aokist as no aterm atermn atime a uno
iv
FILE OPERATIONS
Attaching and accessing files Fl TUTOR files and code files F15
attach detach access
Datasets and namesets F3
datain dataout r eser ve release set name get name add name rename addrecs delrecs del name names
Group file s FS
records checkpt
set name get name names iospecs getline setline parse
System variables for file operations F19
zcheck zfacc zfile zftype zfusers zinfo zline zninde}: znscpn znsma:-:n znsma:-:r znsnams znsrecs zrecs zroff zrstatn zrtype zrvars zrvret zsvars zsvret zwpb zwpr zxfile
F'repa.ration for responding Jl
eraseu force edit a r r o ~~ a.rrowa. arhe .3.da long jkev copy end arrow
Vocabulary lists J4
list endings \/ Oca.bs vo cab
Modification of judging cop y of response J5
bump put putd putv close loada
Modification of judging procedure J6
specs
Storing judging copy of response JB
store storeu storen storea open
JUDGING
Matching judging copy of response J9
match ans~;er
1~r on g ans~o1erc
wt- on gc answer-a 1~ronga.
concept mi !:-COli
e ~~ act e ;.: a.c t c e :-: act v a.nsv wrongv a.n su wrongu touch touchw or ans
Information on specific words in response J14
get word get mark g etl DC
compare
Unconditional judgment J16
ok no i gnot-e
Reference to other during judging
join iarrow iarrowa
units J 1 7
v
Altera.tion of judgment Jl8
judge
Altera.tion of feedback .J1·~
ch~ ord
nO\'IOt-d m a..r k :1 p markupy
System varia.bles for judging J20
judging in general
an sent a.nsok j co :J n t jud·~ed
key ntries ztouch\ :::touch y
u.pital entire e >: tra order phrase spell VOC.:<.b I'ICDUnt
numer1cal responses
opcnt va.rcnt formDk
vi
Site commands Ml
nsite set nsite info nsit e nsite nsite nsit.e
active stations return check
nsite with key words
Subsite commands M5
subsite su.bsite subsite
active stations info
Station commands M6
nstat with keywords nst.at on nstat off nstat nstat nstat nstat
sign in stopl logout send
Old site commands Mll
site set site info site active site stations
MANAGING SITES
System variable s for managing sites MlO
zlsac ::runner
Old station commands M13
station station station station station station station
info status send logout stop 1 off on
Basic display Pl
at atnm wt- it e
1~ritec
show S h G I~ Z
showt s h o ~J e showo shovJh show a hidde n ted er a·:;e
mode size rotate chat
plot inhibit del a.y lang
dot d r a. \~
f i l l vector windo~J
circle circleb
F'PESENTING
Pe l ocatable graphics P9
ror-igin rat ra.tnm rdot rdra. 1~
r bo:; rvector rcircle
Drawing graphs P11
~~origin
a :-: es bounds sca. le>~
sca.le y lscale :-: ls.ca.le y label :; labely mark:-: marky p o 1 ., r
g.:<. t gatnm gdot g t-ap h g d t-aw
gb o:-: gcircle gvector vb at
hbar delta. funct
Special display P1 7
t a.b set tabs micro chat- set cha.rtst lineset a. ltf ont
Non-screen F'20
s l ide a.ud i o pla y recDrd enable disa.ble e:; t e:; tou.t :·~ 0 u t ;.: in
beep sa y lang sa y sa yc
S y stem v at-ia.bles for presenting P23
mode size
size y ~~here
~Jhere:;
whet- ey
zlang
v 1 i
v l l l
Router lesson R1
route rout var allow
Curriculum information R2
lesson score status
ROUTING
System variables for routing R3
err type ldone lsco r e I st a tus rca l low router rstartl rstartu rvallow zcurric zleserr
Basic sequencing 51
unit u.nitop en tt- y
Automatic sequencing 52
j u.mp got.o do join return e :-: it if en- otimain branch do to if elseif else end if loop end loop outl oop reloop
Key-initiate d sequencing
ne:-: t, ne>: ti back, bad:l stop ne:<tnow nextop, ne:-:tlop backop, backlop help, helpl data, datal lab, labl helpop, helplop da.taop, datalop labop, lablop term termop base end
SEQUENCING
57
Timing 59
keylist pause collect getcode kli yt ype time timel timer press catchup break cpulim
Lesson connections and sections S12
use jump out args from lessin in notes cstart estop estop*
Lesson lists 515
leslist a.ddlst removl reserve release lname findl
Lesson annotation and debugging 517
* c $$
change step *list
i :<
System vari ables for sequencing 521
args backou.t baseu clock fr·o mnu.m key lessnum lleslst llesson mainu. mal lot muse nhelpop proctim ptime sitenam station tactive user user sin zaccnam zbatch zcondok zfroml zft-omu zgroup z i d zlesson znamel zname2 zpnfi le zpnotes zretrnu zreturn zsnfile zsnotes zssiten zsysid zsyslev zsystem zterm ztouchx ztouchy ztstype zttype ztzone zunit zusers
CALCULATING
CALCULATING Cl
Basic calculating
define <non-executable! permits an author to rename variables and to define mathematical functions, arrays, and constants for a lesson and to specify those available for student use; definitions must physically precede any reference to the definitions in the lesson
define DEFNAt·1E Ni\ME 1 =v 1, NAME2=n2, NAME3=65, NAM E4=2 < NAt1El +NAME3 l , ••. FUNC<:<,y, ... l=some function of:;, y, etc., where:;, y, etc. are not already defined, although the expression on the right of the equal sign may contain previously defined names
(up to 6 arguments are permitted)
The following definitions allow use of segmented variabl es. Segmented variables are referred to by nam e and index: NAME131. (Index is >O.J
segment ,NAME=STARTING VAR,NUM BITS PER BYTE,signed or segment ,NAME= ST ARTING VAR,NUM BITS PER BYTE,s segme ntv,NAME=STARTING VAR,STARTING BIT POSITION,
NUM BITS PER BYTE,s (Starting-variable address, byte size, and position cannot be variables. Byte size is from 1 to 59. If the last <.~.rgument ("signed" or "s") is included, nega.tive a.s well as positive integers may be stored. In vertical segment , starting bit position may be from 1 to 60. I
The follo wing definition sets up a field of less than 60 bits. Field variables are not indexed and are referred to by name only.
segmentf 1 NAME=VAR,STARTING BIT POSITION,NUM BITS,s <Restrictions are those for segmented variables. J
The following definitions allow use of arrays. Arrays are referred to by name and index: NAME<2l or NAME<3,41 or NAME(30;50l.
arra y,NAME!SIZEI=STARTIN6 VAR <SIZE gives number of variab les required)
array,NAME<NUM ROWS,NUM COLUMNSl=STARTING VAR <number of variables equals rows x columns)
array,NAME<FIRST ELEMENT;LAST ELEMENTI=STARTING VAR arra y,NAM E<FIRST ROW ELEMENT,FIRST COLUMN ELEMENT;LAST
ROW ELEMENT,LAST COLUMN ELEMENTJ=STARTING VAR
Arrays may also be defined with segmented variables. The form is that for vertical segments. For example~
arraysegv,NAMEISIZEI=STARTING VAR,STARTING BIT POSITION, NUM BITS PER BYTE,s
Up to 255 elements are permitted in an array.
(- define- continued on next page.l
C2
define student all defines neces s ar y f or student responses, including units
units , UNIT1 , UNIT2 , ••. !maximum of 10 units, such as gram, meter, second , .• • )
CThe define set "student" may also include abbre viations and equivalences involving these units. See -storeu-, - ansu -, and -wrongu- for applications.)
To merge a previous set of definitions !SETAl with a set being defined at this point in the program ISETBI:
define SETB , SETA definitions in SETB
To purge pre vious define sets:
define define
Note:
purge,DEFNAME (discards define set named) purge (discards all define sets except "student"!
Appro ximately 1500 definitions are permitted in active define sets, fewer if definitions are complicated. !Define set "student" may contain approximately 500 definitions.) Defined names and names of define sets cannot exceed 7 characters, cannot contain mathematical operators, and must start with a letter . Up to 5 define sets may be created . When a 6th set is encountered , all earlier sets except "student" are discarded.
A local define set is declared as a continuation of a - unit- command . \The -define- command is omitted.) Features described with -defineare available . Local var iables are allocated in memory in the order in which the y are defined. Sample formats for local variables are:
unit someu NAME1,NAME2 , NAME31SIZEI NAME4=CONSTANT floating:NAME5,NAME6,NAME71SIZEl integer , NUM BITS:NAME8,NAME9 integer 1 NUM BITS,signed:NAMElO integer : NAMEll
To merge the local define set with the "global" define set :
unit someu merge,DEFNAME (merges with the define set named) NAME1,NAME2,NAME 3
or
unit someu merge,previous (merges with the previous define set) NAME1,NAME2,NAME3
lvars
C3
!non-executable) sets up a buffer in memory for local variables for the lesson; required if the lesson uses local variables; must appear in the ieu before any references to a unit
l \1 i:i.r s SIZE OF BUFFER (maximum size of 1281
calc assigns the value of the expression on the right side of the assignment arrow to the variable or array on the left side, or packs up to 10 characters into an integer variable
calcc
cc:l.lcs
for e:-::ample:
ca.l c ~: al c ca.l c
VAR.-~EXPR
VAfi::~HSTRING"
VAR<~'STRING'
(right-justified, use n-variable) (left-justified, use n-variable)
calc ARRAVNAME¢EXPR (includes standard arithmetic operations,
calc calc calc
bit operations, and logical operations on entire arrays and en array elements, and array functions operating on entire a.rra.ysl
VAR¢ARRAYNAME1 o ARRAYNAME2 !dot ARRAYNAME1¢ARRAYNAME2 o ARRAYNAME3 ARRAYNAME1¢ARRAYNAME2 x ARRAVNAME3
with 2 or 3 elements each)
product of 2 vectors) (matrix multiplication) (cross product of vectors
Note: See section on SEQUENCING, Automatic sequencing for -data-, -branch-, -if-, -loop-, and related directives. These are calc-type commands which allow branching within a unit.
does one of several calculations depending on the rounded value of a conditional expression
calcc EXPR,VAR1~EXPRM,VAR2¢EXPRO,VAR3¢EXPR1 11 VAR4¢EXPR3
sets a variable to one of several values depending on the rounded value of a conditional expression
calcs EXPR,VAR{EXPRM,EXPRO,EXPR1,EXPR2,,EXPR4
NOTE: Up to 61 calculations may be performed with -calcc- or -calcs-. A blank ta.g entry ( 11 ) means no calculation is done for the corresponding value of the conditional expression.
addl adds 1 to the specified variable; can be used with array elements but not with entire arrays
addl VAR
C4
subl subtracts 1 from the specified variable; can be used with array elements but not with entire arrays
subl VAR
zero sets to zero a single variable or a set of consecutive variables; can be used with array elements but not with entire arrays
zero VAR zero STARTING VAR,NUM VARS (cannot be used with segmented
variables or segmented arrays)
set sets values of consecutive variables starting at the specified variable, or sets values of matrix elements starting at the specified element (starts at the first element if no element is specified and fills each row of the matrixl; can be used to set segmented arrays but not segmented variables
set STARTING VAR¢VALUE1,VALUE2 1 VALUE3 1 •••
set ARRAYNAME¢VALUE1,VALUE2 1 VALUE3, ••. set ARRAYNAME!ROW,COLUMNI¢VALUE1 1 VALUE2 1 VALUE3 1 •••
Note: Up to 61 values may be set with a single -set- command.
Operations and symbols used in calculations
addition X + y
subtra.ction X - y
X :·: v or I X * Y or XY !implied multiplication is permitted ) multiplica.tion
divi·:;ion X ,,.
or 1 X/Y
e:<ponentiation XHY or xY (s uperscript or shift-superscript !
dot product of two arrays or vecto r s
cross product of two vectors X x y
parentheses, brackets ) I ] I { }
assignment of a value to a variable ¢
'!( = pi = 3.14159 .•.
X (• y
0 =degree sign; indicates a number is interpreted in degrees (e . g., 30°1; number x 1° con verts number to radians number + 1° converts number to degrees
o prefi x indicates octal constant (e.g., o14370l II II double quotes indicate right-justified character string
1 single quotes indicate left-j ustified character string
Addr2ss of a variable may be an e xpression; i.e., viEXPRI is permitted, where EXPR is rounded to the nearest integer.
Precedence of operations ( in brief)
operations within pa r entheses e:{ponentiation multiplication division addition and subtraction
Parentheses shou l d be used to insure the desired order of operations.
Representation of numbers
Numbers are represented in ones complement form; i.e., - X = comp(Xl
The left-most bit of a number is the sign bit 10 if number is 2 0, 1 if number is < 01.
The compute r has appro ximately 14-digit accuracy. ~ 7
Values of floating-point numbers range from about ±10-L9° to ±10+322 Values of integers range from about -to17 to +to17, However, multiplication and division of large integer values may give erroneous results because of limitations on integer arithmetic.
C6
System functio ns (argument may be an expression)
a.bs (X)
3.rctan01
cos \XI ex p (X I
frac<XI in t (X l
1 n <X l 1 og (X)
rou.nd<XI sign lXI sin (X)
sqrt<Xl varloc<XI
zfine:<(Xl zfiney(Xl
absolute value of X inverse tangent, result in radians, range -u/2 to +t/2 ; for result in degrees, use arctan(Xl/1° cosine of X, X in ra.dians; use cos<X 0 l when X is in degree·; eX
fractional part of X} integer part of X
natural logarithm of X common logarithm of X rounded value of X
X is first rounded to the nearest integer if X is within to-9 of the integer for lX I < 105 or within 110-14 :.; !XII of the
-- c integer fo r lXI > 10'-' !appr oximately ) (ba se el (base 10 )
= -1 for x ~ -to-9; = o for -1o -9 < x < +to-9; = +1 for X > +1o-9 sine of X, X in t·adians; use sin <X"l \~hen Xi ·; in degrees square root of X address of variable X (X may be a student variabl e , central memory variable, router variable, or defined variabl e ) fine-grid,, location of character-gt-id location "X" fine-grid y location of character-grid location "X"
Logical operations and functions (logical "true" is -1; logical "false" is 0)
X X X
X X
= t ::; ~-
<
y y y y y
X > y X $and$ Y X $or$ Y not< XI
equal to not equal to less than or equal to greater than or equal to less than greater than
equality is "tru e" if IX-YI < 10-9 for IX!< 100 or if IX-YI < 110-11 :.; IXIi for-lXI > 100 (appro:dmately)
logical "and"; result is "true" only if both X and Y are "true" logical "or"; result is "true" if either X or Y or both are "true" r everse of truth value of X: if X=O, not<Xl=-1; if X=-1 1 not(X I =O
Bit operations and functions (use with n-variables) (a bit which is set = 11
X tars$ y
X $cls$ y X $mask$ X $union$ X $d iff$ bitcnt<XI comp<Xl lmask<Xl rmask(X)
y y
y
shifts X to the right by Y bit positions shifts X to the left (circularl y) by Y bit positions sets bits where bits are set in both X and Y sets bits where bits are set in either X or Y or both sets bits where bits are set in either X or Y but not both number of bits set in X ones complement of X !bit reversal) left-justified number with X bits set } right-justified number with X bits set
X ranges from 0 to "zbpw"
System functions are continued on next page.
Array functions
And (X)
Ma:« X) Min (X)
Or (X) F'r ad (X)
Rev\Xl Sum(X) Transp\X)
"true" (=-1) if all elements of array X at-e "true" largest element in array X smallest element in array X "true" (=-1) if any element of array X is "true" product of all elements in array X reverse of array X; i.e. 1 last element is now first, etc. sum of all elements in array X transpose of array X; i.e., rows and columns are interchanged
r-, '-''
NOTE: Because of the finite accuracy of any computer, rounding oc~urs with operations with fractional values (v-variablesl, giving results which may be off by onl y one or two bits but which can lead to serious errors. The tolerances indicated with certain functions and logical operations are des1gned to avoid such problems by ignoring these least significant bits. However, there is no general solution to this inherent problem, and users must design chec ks for specific applications.
Some special numerica.l values:
1 / 0 = o3777 0000 0000 0000 0000 -1 / 0 = o400 0 7777 7777 7777 7777 0 / 0 = o1777 0000 0000 0000 0000
- (l ( 0 = o6000 7777 7777 7777 7777
C8
Random numbers
seed spec1t1es a seed for generation of random numbers with -randu- and -randp-; remains in effect until execution of another -seed- command
randu
seed VAR CONTAINING THE SEED VALUE seed (B l (clears former value; specifies normal system seed)
selects a random number, sampled with replacement, and places it in the specified vari able
randu
randu.
VAF;,MAXIMUM (selects an integer from 1 to MAXIMUM; 0 ~ MAXIMUM ~ 246 l
VA F.: (selects a number from 0 to 1; if the tag is an n-variable, a value 0 or 1 is returned)
NOTE: The next four commands are generally used together to provide random numbers without replacement.
setperm single-argument -setperm- sets up two copies of a list of integers from 1 to the specified length for sampling without replacement; the first copy of the list is affected by -randp-; the second copy of the list is affected by -remove- and -restore-; two-argument -setpermsets up one list only; a separate copy of the list should be maintained for use with -remove- and -restore-
randp
setperm LIST LENGTH (0 ~ LENGTH S 1201 setperm LIST LENGTH,STARTING VAR OF LIST
(for LENGTH > 120 and for special-purpose sampling; the first variable of the list contains the count of integers not yet selected from the list; in succeeding variables each bit corresponds to an integer in the list and is 1 if the integer has not been selected, 0 if it has been selected; number of variables required is: 2 + inUILENGTH- 1l/60J; LENGTH cannot exceed 3000 if -randp- is used for sampling)
selects a random integer , sampled without replacement, from the first copy of the list set up by -setperm- and places it in the specified variable
randp randp
VAR (with 1-argument -setperm-1 VAR FOR STORING VALUE,STARTING VAR OF LIST
!with 2-argument -setperm- or equivalent method)
Note: With either form of - randp- the value returned is 0 if the first copy of the list is exhausted. With two - argument -randp-, the list length cannot exceed 3000.
remove
C9
removes the specified value from the second copy of the list set up by single-argument -setperm- or from the copy of the list maintained for use with two-argument -remove-
remove INTEGER TO BE REMOVED (with 1- argument -setperm-1 remove INTEGER TO BE REMOVED,STARTING VAR OF COPY OF LIST
lwi th 2-argument -setperm- 1
restor e resto r es the specified value to the second cop y of the list set up by single-argument - setperm- or to the copy of the list maintained for use with two-argument -restore-
rest ore INTEGER TO BE RESTORED (with 1-argument - setperm-) restore INTEGER TO BE RESTORED,STARTING VAR OF COPY OF LIST
(with 2- argument - setperm-1
modperm <no tagl replaces the first copy of the list with the c urrent version of the second copy of the list , which may have been operated on by -remove- and -restore-; paired with single - argument -setperm- onl y ; to simulate -modperm- with t wo -argument -setperm-, use -block- or - transfr- to replace the first copy with the second copy of the list
C10
Information
name places the signon name of the user lup to 18 characters) leftjustified in two consecutive variables starting at the specified variable with octal zero fill in unused positions
group
n a. me STARTING VAR (requires two consecutive variables)
places the signon group of the user left-justified in the specified variable, up to 8 characters with octal zero fill in unused positions
compute compiles the specified character string into machine code, executes the code, and stores the result in the specified variable; the end
clock
of the character string is determined by the specified number of characters, by six bits equal to 0 loOOI, or by a comma in the string, whichever is attained first; the fourth argument is a pointer to the compiled code and is not required if the string is compiled only once
compute ARG1,ARG2,ARG3,ARG4 (invalid expression does not compile; once compiled, no recompilation is done unless the pointer is zeroed)
ARG1 = variable for storing the numerical result ARG2 = character string to be compiled ARG3 = number of characters in the character string ARG4 =variable for the pointer to the compiled code (optional)
Note: ARG2 may be a left - justified character string enclosed in single quotes IS10 characters) ~[ the starting variable of a left-justified stored character string. The string may contain up to 100 characters. A "student" define set is required if the string is to be created during execution of the program.
puts a character string in the specified variable giving 24 - hour clock in the format (spacelhour.minute.second. the system variable "clock")
clock VAR (use -showa- to display)
time on a (see also
date puts a character string in the specified variable for the current date in the format lspacelmonth number/day/last two digits of yearlspacel
date VAR (use -showa- to display)
Cll
day places in the specified variable the number of days between the current day and midnight of Sunday, December 31, 1972 to the nearest 10-6 day <approximately .1 second) '
ctime
cdate
day VAR <use a v-variable)
converts the format for the time
ctime INPUT;OUTPUT;FORHAT
INPUT is the time to be converted and consists of one of the following forms:
output from -day- command (one variable; use v-variable) Q[ output from -clock- command (one variable) Q[ HOUR,MINUTE (two variables separated by a comma) Q[ HOUR,MINUTE,SECOND (three variables separated by commas)
OUTPUT is the starting variable for storing the string containing the converted time <two consecutive variables are required! ; result is left-justified with zero fill;
if FORMAT is 24, result is hr.mn.sc (or hr.mn if 2-variable input is used>; hr ranges from 0 to 23; if FORMAT is 12, result is hr:mn:sc pm (or am) (or hr:mn pm if 2-variable input is used); if hr is in range 1 to 9, the leading zero is converted to a space; hr ranges from 1 to 12
FORMAT is 12 or 24; if omitted, the default for the system is used; default for the cerl system is 12
converts the format for the date
cdate INPUT;OUTPUT ; FORHAT
INPUT is the date to be converted and consists of one of the following forms :
output from -day- command (one variable; use v-variable) Q[ output from -date- command (one variable) Q[ DAY,MONTH (two variables separated by a comma) Q[ DAY , MONTH,YEAR (three variables separated by commas)
OUTPUT is the variable for storing the string containing the converted date; result is left-justified with zero fill;
if FORMAT is 1, result is mo/da/yr (or mo/da if 2-variable input is used) if FORMAT is 2, result is da/mo/yr lor da/mo if 2-variable input is used) if FORMAT is 3, result is yr/mo/da <or mo/day if 2-variable input is used) a leading zero is converted to a space
FORMAT is 1, 2, or 3; if omitted, the default for the system is used; default for the cerl system is 1 (i.e., mo/da/yr)
C12
Bit and character manipulation
search searches a character buffer for a specified object character string
search ARG1,ARG2 1 ARG3,ARG4,ARG5,ARG6
ARG1 = ARG2 = ARG3 = ARG4 = ARG5 = ARG6 =
object string (left-justified) number of characters in the string (~10 characters ) starting variable of the buff~r to be searched total number of characters in the buffer relative character position at which to start search variable for storing the relative character position of the first occurrence of the object str ing
search ARGl,ARG2 1 ARG3 1 ARG4,ARGS,ARG6 1 ARG7
ARGl ARG2 ARG3 ARG4 ARG5 ARG6 ARG7
= = = =
= = =
object string (left-justified) number of characters in the string ( ~10 characters ) starting variable of the buffer to be searched total number of characters in the buffer relati ve character position at which to start search variable for storing the total found count number of variables following ARG6 for storing relati ve character positions where the object string is found (need not equal the number of occurrences)
Note: In both versions of -search- the relative found location is -1 if the object string is not found. In the second version the count is 0 if the string is not found. Relative position of the first characte r is 1 1 of the second character, 2 1 etc. If ARG4 (length of buffer) is negative, the search is backwards (but positions are numbered from the beginning of the buffer). If ARG7 (number of variables for storing positions ! is larger than the number of occurrences, the variable following the last stored position contains -1.
pack packs a character string starting in the specified variable; the string is left-justified with octal zero fill in unused positions; if the character count is not desired, the field is blank
pack STARTING VAR FOR STORING STRINGtVAR FOR STORI NG CHARACTER COUNT*STRING
pack STARTING VAR FOR STORING STRING**STRING
Note: Use n-variable(s) for packing the string if subsequent comparison for equality with another string is done. (If the character string is packed for other purposes, v-variables are acceptable .) Segmented variables cannot be used. Embedded -show- (and related embeds) may be included in the string. Up to 500 characters (including embedded -show-) may be packed, but the tag is limited to one line of code.
packc
C13
packs one of several character strings into a variable, depending on the rounded value of a conditional expression; the string is leftjustified with octal zero fill in unused positions ; if the character count is not desired, the field is blank; blank argument for the character string leaves the variable(s) unchanged for that value of the conditional expression
packc EXPR;STARTING VAR FOR STORING STRING;VAR FOR STORING CHARACTER COUNTtSTRINGM;STRINGOtSTRING1t;STRING3 .•.
Note: Up to 100 character strings may be listed. (See -pack- for other options and restrictions . )
move moves character(s) from a speci f ied character position in a character string to a specified position in another character string
move FROM STARTING VAR,FROM STARTING POSITION,TO STARTING VAR,TO STARTING POSITION,NUH CHARACTERS
move 'STRING' ,FROM STARTING POSITION,TO STARTING VAR,TO STARTING POSITION,HUH CHARACTERS
Note: If not specified, number of characters is 1. Maximum number of characters is 5000. Positions may be >10.
itoa converts an integer to a character string, left-justified with octal zero fill in unused positions, and stores the character count in the specified variable if desired
itoa NUMBER,STARTING VAR FOR STORING STRING,VAR FOR STORING NUH CHARACTERS
Note : Non-intege r values are rounded to the nearest integer before conversion to a character string.
otoa converts a number from octal format to alphanumeric format (i.e. 1 to a character string) fo r the specified number of octal digits, if given (digits are counted from the right end of the number)
otoa NUMBER,STARTING VAR FOR STORING STRING,NUH DIGITS
Note: Number of digits, if omitted, is 20. If number of digits SlO , 1 variable is used for storing the string; otherwise 2 variables are used.
htoa similar to -otoa- but for hexadecimal to alphanumeric conversion
htoa NUMBER,STARTING VAR FOR STORING STRING,NUH DIGITS
Note: Number of digits, if omitted, is 15. If number of digits ~10, 1 variable is used for storing the string; otherwise 2 variables are used .
C14
clean replaces the following character codes in a buffer with o55 (space): oOO, o66 (subscript!, o67 (superscript), o70 (shift) 1
o71 (carriage return), o74 (backspace), o75 (fontl, o76 (access)
clean STARTING VARIABLE,NUH VARS (NUM VARS, if omitted, is 1l
recname takes the input string specified by the fir st argument with length specified by the optional third argument, removes characters not allowed in signon names, and returns the modified string in variables speci fie d by the second argument (the modified string requir es two variables); characters allowed are lower-case letters, numerals, apostrophes, accent marks, asterisks, pluses, minuses, and blanks <blanks are not allowed in the first position, last position, or in contiguous positions)
recname STARTING VAR OF INPUT STRING,STARTING VAR OF MODIFIED STRING,NUH CHARACTERS IN INPUT STRING
Note: Maximum length for NUM CHARACTERS is 60. If NUM CHARACTERS is omitted, length of the input string is 18. Length of the modified string is always 18 characters with octal zero fill.
zreturn = -1 if the input string is modified successfully = 0 if there are no characters in the input string
or if NUM CHARACTERS is 0 = if there are no characters in the modified string = 2 if the length specified for the input string is
invalid (3-argument form) = 3 if the length of the modified string is greater
than 18 characters (3-argument form)
Note: A legal signon name must consist of at least one symbol which is a letter or numeral.
C15
Operations on lists
sort arranges a list of entries stored in consecutive variables in ascending order according to the value of the specified sort field
sort a
sort ARG1;ARG2,ARG3,ARG4,ARG5,ARG6 ARG1A;ARG2A (optional line; allows simultaneous sorting of
an associated list of entries)
ARGl = starting location; may be: STUDENT VAR ( v or n) g_r_ CM VAR (vc or ncl g_r_ c,EM COMMON LOCATION or s,EM STORAGE LOCATION
ARG2 = number of entries in list ARG3 = number of variables per entry (or increment between
entries!; value from 1 to 200 ARG4 = starting bit position of sort field ARG5 = number of bits in sort field ARG6 =mas k on sort field <opti onal) ARGlA =starting location (see ARGl for details) (optional) ARG2A = number of variables per entry <optional)
Note: The field for numerical sorting may not extend across boundaries of variables.
arranges a list of entries stored in consecutive variables in alphabetical order according to the internal codes for the characters in the specified sort field
sort a ARG1;ARG2,ARG3,ARG4,ARG5,ARG6 ARG1A;ARG2A <optional line; allows simultaneous sorting of
an associated list of entries)
ARGl = sta rting location; may be: STUDENT VAR < v or n l g_r_ CM VAR Cvc or ncl Q!:. c,EM COMMON LOCATION !1.!:. s,EM STORAGE LOCATION
ARG2 = number of entries in list ARG3 = number of variables per entry (or increment between
entriesl; value from 1 to 200 ARG4 = starting character position of sort field ARG5 = number of characters in sort field ARG6 =mas k on sort field (optional) ARGlA = starting location <see ARG1 for details) <optional) ARG2A =number of variables per entry (optional!
Note: The field for alphabetical sorting may extend across boundaries of variables . However, the mask can affect only one variable.
C16
finds
findsa
performs a binary chop search on a sorted numerical list
finds ARG1,ARG2;ARG3,ARG4,ARG5,ARG6,ARG7,ARG8
ARG1 = starting variable containing the object of the search (the object must have the same length and relative position as the list entry)
ARG2 = starting location of the list; may be:
ARG3 = ARG4 =
ARG5 = ARG6 = ARG7 =
STUDENT VAR ( v or n l Q!:. CM VAR lvc or ncl Q!:. c,EM COMMON LOCATION Q!:. s,EM STORAGE LOCATION number of entries in the list number of variables per entry (or increment between entriesl; value from 1 to 500 starting bit position of the search field number of bits in the search field variable for storing the relative location where the abject is found !1st entry is 1, 2nd, 2 1 etci; if the abject is not found, the variable is set to the negative of the position where the object would have occurred
ARGB =mask on search field !optional)
performs a binary chop search on a sorted alphabetical list
findsa ARG1,ARG2;ARG3,ARG4,ARG5,ARG6 , ARG7,ARGS
ARG1 = starting variable containing the object of the search !the abject must have the same length and relative position as the list entryl
ARG2 = starting location of the list; may be: STUDENT VAR ( v or n l Q!:. CM VAR lvc or ncl Q!:. c,EM COMMON LOCATION Q!:. s,EM STORAGE LOCATION
ARG3 = number of entries in the list ARG4 = number of variables per entry (or increment between
entriesl; value from 1 to 500 ARG5 = starting character position of the search field ARG6 = number of characters in the search field ARG7 = variable for storing the relative location where the
abject is found !1st entry is 1 1 2nd, 2 1 etcl; if the object is not found, the variable is set to the negative of the position where the object would have occurred
ARGS =mask on search field !optional)
C17
inserts inserts conte nt s of specified buffer into a li st of entries stored in consecutive variables; shifts the re mainder of the l ist down
inserts ARG1,ARG2;ARG3 1 ARG4,ARG5,ARG6 ARG1A,ARG2A;ARG3A (opt ional line ; all ows simultaneous
insertion into associated list l
ARGl = start ing vari able conta ining object to be inse rted (the object must have the same length as a list entr y)
ARG2 starting lo cat ion of the l is t; ma y be: STUDENT VAR lv or nl or C M VA R ( v c o t- n c ) Q r:_
c,EM COMMON LOCATION or s,E M ST OR AGE LOCATION
ARG3 = number of entries in the list ARG4 numbe r of variables per entry (or incre ment between
entries); ARG4 :.: f~RG6 = value fr om 1 to 500 ARGS = relative posi tion in li st at wh ich to i nsert object
(must be value ft-om 1 to 1 +len gth of li s t! ARG6 =numbe r of entries to i nsert !op tional; default is 1 1 AR G1 A = sta rting var iable containing object to be inserted
(op tional) ARG2A = starting location (see ARG2 for details) !optional ) ARG3A =number of variables per ent ry (op tiona l)
deletes deletes t he entri es at the specified position in a list of entries stored in con se cuti ve variables; shifts the remainder of the list up and fills the last entries with zeros
deletes ARG1; ARG 2 1 ARG 3 1 ARG4,ARG5 ARG1A;ARG2A (optional line; allow s simultaneous de l etion
from an associate d li stl
ARG1 = sta rtin g location; may be:
ARG2 = ARG3 =
AF;G4 =
ARGS =
STUDENT VAR ( v or n) or CM !JAR lvc ot- ncl or c , EM COMMON LOCATION or s,E M STORAGE LOCATION number of entries in th e list number of variable s per ent ry (or increment between entries); value from 1 to 500 relative position in the list of the entry to be deleted (must be a value fr om 1 to lengt h of list) numbe r of entries to delete (o ptio nal; default is 11
ARGlA = sta rting lo cation (s ee AR Gl f or details ) (optional ! ARG2A = num ber of variab les per e ntr y (optional !
NOTE: Commands -inserts- and -dele tes - may be used on sorted or unsorted lists.
C18
find searches a list of consecutive variables for the first variable containing the specified bit pattern
find ARG1,ARG2,ARG3,ARG4,ARG5,ARG6
ARGl = object bit pattern (~ 60 bits; may be variable) = starting variable in the list ARG2
ARG3 = ARG4 =
ARG5 ARG6
number of variables in the list variable for staring the relative location abject is found <relative to the beginning
= increment between variables !optional) =mask (optional)
where the of the list)
findall searches a list of consecutive variables far all variables containing the specified bit pattern
findall ARG1 , ARG2,ARG3,ARG4,ARG5,ARG6,ARG7
ARGl = object bit pattern IS 60 bits; may be variable) ARG2 = starting variable in the list ARG3 = number of variables in the list ARG4 = variable for storing total found count ARG5 = number of variables following ARG4 for storing the
relative locations where the object is found (relative to the beginning of the listl (need not equal the number of locations)
ARG6 = increment between variables \optional) ARG7 =mask (optional)
NOTE: Use n-variables with -find- and -findall-. Segmented variables may nat be used. Increment, if omitted, is 1. Negative increment causes a backwards search from the last variable in the list. !When search is backwards, relative locations are still counted from the beginning of the list.l If the mask is omitted, the entire variable is compared with the object bit pattern. If a mask is used , the increment must be given, even if increment is 1. Relative location of the first variable is 0, of the second variable, 1, etc. With -find- 1 if the bit pattern is nat found, the found location is -1. With -findall-, if the bit pattern is not found, the count is 0 and the first following variable contains -1. If ARG5 (number of variables for storing locations) is greater than the number of occurrences, the variable fallowing the last stored position contains -1.
C19
Data manipulation
block copies consecutive student var iables (v, nl, local variables, or central memory variables Cv c, ncl into another block of consecutive variables
block FROM STARTING VAR,TD STARTING VAR,NUM VARS
Note: NUM VARS depends on type of variables: S 1 5 0 ( s t u d e n t v a r i a b l e s ) , ::; 1 50 0 ( C M v a r i a b l e s ) , or :Sn u m b e r o f local variables in the unit (local variables).
transfr transfers data between student variables <v, nl 1 local variables, central memory varia.bles (vc, ncl, EM common, EM storage, or router va.riables (vr, nr); <- comload- and/or -stoload- must be in effect with central memor y variables )
transfr FROM STARTING LOCATION;TO STARTING LOCATION;NUM VARS
Any of the following may be used in the first two arguments of the tag:
STUDENT VAR (v or nl LOCAL VAR CM VAR (vc or ncl common,EM COMMON LOCATION or c,EM COMMON LOCATION storage,EM STORAGE LOCATION QC s,EM STORAGE LOCATION router,EM ROUTER COMMON LOCATION <when placed in "from"
position, router lesson must contain -allow read-; when placed in "to" position, router lesson must contain -allow write-)
rautvars,EM ROUTER VAR LOCATION (may be placed only in "from" position; t-outer lesson must conta.in -allow read rvars-1
ROUTER VAR (vr or nrl (-transfr- command must be in the router lesson)
for e:<ample :
transfr vl;c,23;10
transfr v6;vc51;9
transfr s 1 11;c,100;21
<tran sfers variables vl through vlO to EM common locations 23 through 321 (transfers variables v6 through v14 to variables vc51 through vc59l <transfers EM storage locations 11 through 31 to EM common locations 100 through 1201
Note: NUM VARS is set so that locations do not ext end out of range; maximum value for each type of variable or location: 150 <student variables ) number of local variables declared in a unit length of -comload- or -stoload- CCM variables) tag of -common- or -storage- CEM common or storage) tag of -routvar- (router variables)
C20
common !nan-executable) sets up storage space which is accessible to all users in a lesson; in central memory the variables are designated vc and nc; "common" cadewords must match wh en the common blocks are in a different lesson from the -common- command
common NUM WORDS,OPTIOHS <temporary common; no common blocks! common ,COMMON NAME,NUM WORDS,OPTIOHS
<-common- and common blocks are in the same lesson) common LESSON NAME,COMMON NAME,NUM WORDS,OPTIOHS
(LESSON NAME is the lesson containing the common blocks)
Note: Maximum length is 8000 words. For length ~ 1500, loading and unloading are automatic unless altered by -comloadar optional arguments "no load" or "read only". For length > 1500, -comload- must be used for access to central memory variables. Either or both of the following OPTIONS may be added to the tag of -common-:
no load (cancels automatic loading of common from EM to CMI read only <prevents transfer of common from CM to EMI
The following OPTION may be used only with permanent common:
checkpt (causes common to be returned to disk approximately every 8 minutes)
comload provides automatic loading and unloading of common between central memor y and EM during each time slice; required if common length exceeds 1500 and central memory variables must be used
comret
abort
comload STARTING CM VAR <vc or ncl ,EM COMMON LOCATION,NUM VARS (maximum of 1500 variables)
comload <BI (unloads CM variables and turns off further automatic loading until another -comload- command is executed)
for · example:
comload vc22,10,8 <transfers vc22 through vc29 from and to EM common locations 10 through 171
(no tagl returns to disk the common specified by the lesson
Note: zreturn = = =
-1 0
+1
if common is successfully retur ned if no common is specified for this lesson if common cannot be returned
prevents return of information to disk
abort common abort record <with student record; sets "user" to 'sabort'l abort autocheck <with student record; sets "user" to 'snockpt'l abort leslist
C21
commonx similar to -common- except that -commonx- is executable; if the -commonx- command and common blocks are in different lessons, the "common" codewords must match or the codeword argument must be given; the codeword argument must match the "common" codeword on the lesson containing the blocks; if any optional arguments are included, the fields for intervening missing arguments must be present
commonx ,COMMON NAME,NUH HORDS,CODEUORD,OPTIOHS (-commonx- and common blocks are in the same lesson)
commonx LESSON NAME,COMMON NAME,NUH HORDS,CODEUORD,OPTIOHS common x <LESLIST POSITION >,COMMON NAME,HUH UORDS,CODEUORD,OPTlONS commonx (8) (disconnects current common! copies it to disk if no
other users are in the common, and turns off comloading )
Note: Variable name and codeword arguments must be enclosed in parentheses. If NUM WORDS is omitted and common is in EM, the EM length is used; if common i s not in EM, entire common is read from disk. OPTIONS are the same as for -common-.
zreturn = -1 if execution is successful = 0 if the common is not found or no common is in = if no codewords match = ,., if the lesson already has a common ... = ' if the length of the EM vet-sian of the common ·-·
is different from the declared l ength = . if the declared length is illegal 't
initial specifies a unit to be executed by the first user to encounter this command when a lesson or common is first brought into EM
initial common,UNIT NAME (not executed if common is in another lesson which is already in EM and in which -initial common- has already been executed)
initial lesson,UNIT NAME
storage (non-executable) sets up storage space which serves as a temporary extension of student variables; in centr~l memory the variables are designated vc and nc ; they are not saved in student records and are zeroed during jumpout to another lesson (see -inhibit dropstor-)
storage NUM WORDS !ma ximum length of 80001 storage NUM WORDS,e xactly <lesson requires the exact amount of
storage specified)
use
storage NUM WORDS,minimum ( lesson requires the greater of the amount of storage specified Q[ the amount present when the lesson is entered with -inhibit dropstor- in effect)
stoload similar to -comload- but refers to storage; required for any length storage to use central memory variables
stoload STARTING CM VAR (vc or nc) ,EM STORAGE LOCATION,NUt1 VARS (maximum of 1500 variables)
stoload (8) <tur ns off automatic loading and unloading of storage)
NOTE: When both -camload- and -stoload- are used, care must be taken that the addresses of central memory variables into which common has been loaded do not overlap with the addresses into which storage has been loaded.
reserve sets system variable "zreturn" in order to allow a user to reserve the common to prevent changes by mare than one user at a time
reser ve common
Note: zreturn = -2 if the common is already reserved by this user = -1 if -reserve- is executed successfully by this
user = station number of user who has already reserved
the common
release sets s ystem variable "zreturn" to allow the common to be released
relea.se common
Note: zreturn = -2 if the common is not reserved by any user = -1 if -release- is executed successfully by this
user = station number of user who has reserved the common
backgnd (no tagi flags a lesson as a "background" lesson so that it may u.se large amounts of CPU time when the time is available; when CPU time is scarce, the lesson is handled at lower priority than nonbackground lessons
foregnd (no tag) switches the lesson to foreground processing; normal state of execution
C23
System variables for calculating
lcomman length of common !set by tag of -common- command or -commonx- command)
lstorag length of storage (set by tag of -storage- command)
zbpc number of bits per character (currently 6)
zbpw number of bits per computer word (currently 60)
zcpw number of characters per computer word (currently 10)
zcusers number of users signed into the current common
Additional notes on CALCULATING
Additional notes on CALCULATING
Additional notes on CALCULATING
DATA KEEPING
DATA f::EE F'IN G Dl
Hequ.est i nq data.
da.t a on speci fie s that student data for the lesson is to be collected and sent to a datafile if the student records have been set to allow collection o·f data (see also system variable "dataon" )
da.taon (8) d a taon OPTr ONS
(turns on all data collection) !OPTIONS are ok, no, unrec no, vocab, area, output, help , help no, term, term no, errors, signin)
Not2: Non-b la nk tag temporarily overrides options set in group r ec ords until turned of f by -dataoff- with the appropriate tag.
da tac ff specifies terminatio n of collection of data for that lesson
da.taoH ( tJ \ . I..'!
da.tac·ff OPTIONS !O PTIO NS are same as those in a preceding -dataon-)
Note: Non-blank tag of -dataoff- turns off only options turned on by a previous -datao n- with a non-blan k tag; -dataoff- does not overr id e opt ion s set i n group records.
D2
Classifying data
area specifies a section in the lesson !called an areal typically representing 5 to 15 minutes of student contact time for which certain information is collected
output
area NAME (maximum of 10 characters in NAME; cannot start with a number; variable tag must be enclosed in parentheses)
Note: :nfo r mation collected:
a. rea.
area
elapsed time in the area ( in minutes; accurate to .1 minute) number cf arrows encountered number of "ok" judgments number of responses judged "ok" on first attempt number of anticipated "no" j udgments, or "wrong" judgments number of unanticipated "no" judgments number of term requests satisfied number of term requests not satisfied number of help-type requests and back requests satisfied number of help - type requests and back requests not satisfied whether the area has been completed
IBJ (causes data for the preceding area to be placed in the datafile; no further data is stored until -areawith nonblank tag is executed)
incomplete (terminates the current area and flags it as incomplete)
cancelled (cancels all data for the current area; does not initiate a new area or produce any records in the datafile l
puts a comment and/or value of an expression into the datafile
output COMMENT AND/OR EXPR (formats for the expression are: n, v, a, o, r1 with embedded form, i.e., -~FORMAT;EX.F'Rf.·
outputl places labeled information from specified student variables in the datafile
setdat
output! LABEL,STARTING VAR,NUM VARS (maximum of 10 characters in LABEL and 20 consecutive variables)
allows alteration of system variables containing area data
setdat SYSTEM VAR¢EXPR
Note: "atime" cannot be set to a value greater than the total time signed on for that session. It is accurate to 0.1 second. The remaining system variables le:{cept for "aarea."l can be set to values up to 511.
Transferring data
readset establishes a connection with the specified datafile and permits access to data in the datafile
readd
readset NAME, ' COD£UORD',VAR FOR STORING HUM UNUSED BLOCKS readset <LESLIST POSITION >, 'CODEUORD',VAR FOR STORIHG HUH UNUSED BLOCKS
Note: CODEWORD, which is the datafile change or inspect codeword, is included if codewords on the less on and datafile do nat match. Variable file name must be enclosed in parentheses; if the codeword is a variable, quote marks are omitted. The third argument is -1 if the datafile i s full.
:return = -1 if the datafile e:dsts and i 5 not empty = 0 if the name specified i s not a ,ja. taf i 1 e = if no cadewot-ds match = 2 if the datafile lS empty = 3 if there is no room in EM for the buffer = 4 if there is a disk error
transfers data from a datafile into student variables or central memory variabl es (must be preceded by -readset- naming the datafile l
rea~d area,STARTING VAR ,NUM VARS
Note: Area summary data consists of the following information:
n(K) Q.[ nc(:() =starting variable n(x) and n(:<+ll contain the user's name (up to 18 char-a cters) nlx+21 contains the lesson name n(x+3) the area name n(x+41 elapsed time for the area lin milliseconds) n lx +5l number of arrows for the area n(x+61 number of "ok" judgments for the area n(x+71 number of "ok" judgments on the first attempt nl x+BI number of anticipated "no" judgments
n ( :' +9) n ( :< + 10)
n(x+11)
n (:<+121 n ( :< + 13) n (x+14) n ( :< + 151
= -1
= -1 if if
("judged" set to OJ number of unanticipated "no" judgments number of help-type requests and back requests satisfied number of help-type requests and back requests not satisfied number of term requests satisfied number of term requests not satisfied the area was completed, =0 if not the area i s a continuation, =0 otherwise
1-readd- continued on next pagel
D4
readd outputl,STARTING VAR,NUM VARS
Note: Data from -outputl- consists of the following information:
n !xl ~[ nc(xl =starting variable n(x) contains the length of -outputl- (number of variables) n !x +ll and n (x +21 contain the user's name lup to 18 characters ) n(x+31 contains the lesson name n !x +41 the area name n(x +5 ! execution time of -output! - in milliseconds n(x +6 1 -outputl- label n( x+71 to n(x + NUM VARS- 11 contain data in the tag of -outputl-
r eadd signoff,STARTING VAR 1 NUM VARS
Note: Signoff da t a consists of the f ollowing information:
n(xl or nc (x) = starting variable n!xl and n( x+ll contain the user's name (up to 18 characters ) n(x+21 contains the lesson name n (x +3 l elapsed time (in minutes) spent in the lesson
during this session n(x+41 total time ( in minutes) to complete the lesson
if the lesson is completed during this session or -1 if the lesson is not completed during this session
n(x+S I date of session n(x+61 time of sig noff
Note: With all tags for -readd- 1
zreturn = -1 if there is more data in the datafile = 0 if the end of the datafile is reached
D5
Signing an and off
restart specifies unit (and lesson if given) where the student is to begin at the next session
permit
finish
restart (8) (starts at the main unit containing this command) restart UNIT NAME (starts in this lesson at the specified unit) restart LESSON NAME,UNIT NAME (starts in the specified lesson at the
specified unit; "jumpaut" cadewards an the specified lesson and on the lesson containing -restart- must match)
restart LESSON NAME, (0) (starts at the beginning of the specified lesson)
restart <LESLIST POSITION>,UNIT NAME (starts in the lesson at the specified leslist position, at the specified unit; variable unit names must be enclosed in parentheses)
restart (0), (0) Q[ restart q (clears restart information; no restart is in effect)
specifies whether -restart- commands (except those restarting to a specific unit in another lesson) are obeyed far students in groups with short records; has no effect for students with regular records
permit short recs (permits -restart- commands except to a specific unit in another lesson)
permit (8) (permits only -restart- commands which do nat specify a unit; default condition)
specifies the unit which will be executed upon exit from the lesson via STOP1 (but nat via -end lesson- or -jumpout-l
finish UNIT NAME finish (8) Q[ finish q (clears -finish- setting) finish EXPR,NAMEM,NAMEO,q,NAME2,x (example of conditional form;
maximum of 100 arguments in the conditional tag; argument q clears setting; argument x leaves setting unchanged)
protect prevents the lesson from being interrupted by STOP1 keypress; if STOP1 is pressed while program code between -protect on- and -protect offis being executed, execution of the program continues (subject to many of the restrictions on a finish unit); after -protect off- is executed, the finish unit (if any) is executed (if there is no finish unit, the user leaves the lesson); if STOP! was not pressed, execution proceeds to commands following -protect off-
protect on protect off
(turns on protection) (turns off protection)
D6
System variables for data keeping
collecting data
da.taon = -1 if data collection is turned on = 0 if data collection is off (see also command -dataon-1
session data
zsesset elapsed time since the beginning of this session (in seconds, to the nearest millisecond)
zsesspt processing time during this session (in seconds, to the nearest millisecond)
zsessda number of disk accesses since sign-on during this session
area. data
aarea name of current area !left-justified; display with -showa-1
aarrows number of arrows encountered
ahelp number of help-type requests satisfied
ahelpn number of help-type requests not satisfied
aok nu.mbet- of "ok" judgments
aokist
as no
aterm
atermn
number of "ok" judgments on the first attempt
number of specified (anticipated) "no" judgments; also referred to as "wrong" judgments, where "judged" has been set to 0
number of term requests satisfied
number of term requests not satisfied
D7
at i me elapsed time in the area (in milliseconds)
auno number of Ltnanticipated "no" judgments; "judged" has been set to +1
NOTE: The system variables containing area data are zeroed at t he beginning of each area . "atime" may have a value up to about 9 hours. The remaining variables (except "aarea") may have va lues up to 511 .
Additional notes on DATA KEEPING
FILE OPERATIONS
FILE OF'EFzATIDNS F1
Attaching and accessing files
attach
detach
establishes a connection with the specified file and permits access to disk records or blocks in da.to:.set, nameset, groLtp, TUTOH (les·son), or· ::ode files
attach NAME (for read and write access1 ~ttach <LESLIST POSITIO N> attach NAME,rw, 'CODEW ORD' (for read and write access 1 a.ttacr <LESLIST POSTION > ~rw, ' CODEMG f1D,. a. tt.~.ch NA t1 E,ro, ' CODEUO ~: D; ( fer read-onl y access ) a.t tac h <LES LIS T PDSITION >,ro, ' COD£U OR D'
Note: Codeword checks between lesson and f1le: C6deword argument omitted, read and write access: "atta ch" co deword on lesson must mat ch change code word (TUTOR
file, code file ) g_~ "i~rite records" codeword (na.meset, dataset, group filel; processor lesson--read/write Q[ special write or dual access \user's editing codeword [or group or account] must match the codeword for writing into the file)
Codeword argument omitted, read-only access: "attach" codeword on lesson must match change or inspect
codeword ! TUTOR file! code file ) or "write records" or "read records" codeword (name set , dataset , group file l ; processor lesson- - read onl y, read /w rite 1 or dual access ~[ special read or special write !user ' s editing codeword [or group or account] must match codeword for r eading the f ile)
Codeword argument included: both read / write and read only: CODEWORD (typabl el must make same match as attach codewo rd.
Variable fi le name must be enclosed in parentheses. Quote marks on variable codeword argument are omitted. "t-w" ma.y be r· eplaced by an e :, pression with va.lue -1 . "ro" may be replaced by an expression with value 0. TUTOR files a.nd code files are al~1a.ys "r-ead only". When the file is attached with "rw", it cannot be edited by the s ystem editor or a.tta.ched 1>1ith "rw" access at a.nother ·:;tation.
zreturn = -1 if connection to the file is successful = 0 if the file does not exist or is the wrong type = if no codewords match =
= =
'} ,;_
2·
4
1f a user at another station is editing the file directory or has attached a TUTOFz file or code file with · "rw" C~.ccess lor is editing the file) if there is an error in the directory of the file if a disk error has occurred
disconnects a file from the lesson
detach NAME !detaches and releases the spec i fied file 1 whether
detach detach
acti ve or inactive) <LESLIST POSITION> !Bl (detaches and releases th e curre nt active file l
actess checks the specified custom access list in the specified lesson for the user's name, group, and account and returns the user's access flags in the bits of the specified variable
access LESSON NAME,BLOCK NAME;VAR FOR STORING ACCESS BITS access ,BLOCK NAME;VAR FOR STORING ACCESS BITS lthe access list is
in the lesson containing the -access- command) access <LESLIST POSITION>,BLOCK NAME;VAR FOR STORING ACCESS BITS
Note : Variable lesson and block names must be enclosed in parentheses .
zreturn = -2 if the user's access flags are returned and the
= - 1 = 0 = = 2 = ' J
user is the owner of the access list i i i i
-
£ I
£ I
f f f
the user's access flags are returned this list is not a custom access list the lesson is not found the access list is not found there is a system error
F3
Datasets and namesets
NOTE: When -datain-, -dataout-, -reserve-, -release- are used with namesets, the record designations are relative to the selected named records.
datain transfers data from disk to the specified buffer
datain STARTING RECORD NUMBER;TO STARTING LOCATION;HUH RECORDS
dataout transfers data from a buffer to disk
dataout STARTING RECORD NUMBER;FROM STARTING LOCATION;HUH RECORDS
NOTE: With -datain- and -dataout- STARTING LOCATION may be any of the following: ST UDENT VAR (v or nl CM VAR (vc or ncl (-comload- and/or -stoload- must be in effect) co mmon,EM COMMON LOCATION or c,EM COMMON LOCATION st orage,EM STORAGE LOCATION or s,EM STORAGE LOCATION
If NUM RECORDS is omitted, one record is transferred.
zreturn = -1 if -datain- or -dataout- is executed successfully = 0 if there is a pack error or if the disk containing the
file is not available = if the file has the wrong type, if no file is attached,
or if no name has been selected = 2 if record numbers extend out of range = 3 if the required buffer locations extend out of range = 4 (-dataout- onlyl if the user does not have write access = 5 (-dataout- onlyl if record(s) is reserved by another user ~ 6 if there is a disk error
reserve reserves file records or the directory to prevent changes by more than one user at a time
reserve records,STARTING RECORD NUMBER,NUM RECORDS reserve name (reserves all records in the selected name> reserve file (reserves all records in the attached file) reserve directory (reserves the file directory)
zreturn = -2 Note: if the records are already reserved by this user = -1 = 0
if -reserve- is executed successfully by this user if no file is attached or if no name has been selected
= if record numbers extend out of range = 2 if the user does not have write access = 4 if a name is reserved (with -reserve file-) = 5+n, where n=station number of the user who has
reserved these records
F4
release releases file records or the directory
release records,STARTING RECORD NUMBER,NUM RECORDS release name (releases records in the selected name) release file (releases all records in the attached filel release directory (releases the file directory)
Note: zreturn = -2 if the records are not reserved by any user = -1 if -release- is executed successfully by this
user = 0 if no file is attached or if no name has been
selected = if record numbers extend out of range = 5+n, where n=station number of the user who has
reserved these records
NOTE: With the following commands (-setname-, -getname-, -addname- 1 -rename-, -addrecs-, -delrecs-, -del name-, -names-) 1 the name can be up to 30 characters long (3 variables). The optional e>:tra information for the name is stored in the right-most 24 bits of the specified variable.
setname selects a name (i.e. 1 named set of records) in a nameset
setname 'NAME' (NAME can contain up to 10 characters; if the name length in the nameset is more than 10 characters, the tag literal is filled out on the right with zeros)
setname STARTING VAR CONTAINING NAME setname nextname (selects the next name in alphabetical order or
the first name if a name has not already been selected) setname backname (selects the preceding name in alphabetical order
or the last name if a name has not already been selected) setname (B) (clears the name currently selected)
Note: zreturn = -1 if the specified name matches e:<actly a name in the nameset
= 0 if the specified name matches one name for the given number of characters; selects that name
= _if the specified name matches more than one name for the given number of characters; selects the first of the names
= ") i f the specified name does not match any name; L
the name reference is cleared = "T if no nameset is attached ..;.
(With tags "nextname" and "backname", "zreturn" can have only values -1 1 2 1 or 3. )
F5
getname stores the name cu rrently selected and its associated extra information, if specified; the name is left-justified and unused character positions are filled with octal zeros; the extra information is stored in the right-most 24 bits of t he specified variable and remaining bits are cleared
getname START ING VAR FOR STORING NAME,VAR FOR STORING EXTRA IHFORHATION
Note: If no name has been selected, a value of 0 is stored for both the name and the extra information.
addname add s a new named set of records to a nameset file; selects that name
rename
addname STARTING VAR CONTAINING NAME,NUH RECORDS,VAR CONTAINING EXTRA I HFORH ATI ON
Note: Number of t-ecot-ds, if omitted, is 1. Extra information, if omitted , is 0.
zretu.t-n = -1 i ·f the name is added successfully = 0 if no nameset is attached = if the user does not have w t-it e access = ~. if the new name duplicates in e:\isting name or L
has an illegal format = < if enough room is not availa.ble for new records ·-· = 4 if the nameset is reserved
changes the name of the currently selected named set of records and/or the associated extra information
rename STARTING VAR CONTAINING NEW NAME,VAR COHTAINIHG HEN IHFORHATIOH
Note: If the second argument is omitted, information is unchanged.
zt-eturn = -1 if the name is changed successfully = 0 if no nameset is attached = 1 if the user does not have write access = '"' if no name has been selected L
= 3 if the new name duplicates an eJ<isting name or has an illegal format
= 4 if records in the selected name are reserved
rL r ....
addrecs adds records to the selected name
addrecs NUM RECORDS TO ADD AT END addrecs RECORD POSITION,NUM RECORDS TO ADD AT THAT POSITION
Note : :::return = -= = = =
= =
1 . 0
.. L
3
4 "" .J
if records are added successfu l ly if no nameset is attached if the user does not have write access if no name has been selected if the specified starting position is outside the range of records in the named records (2-argument form) if records in the selected name are reserved if enough room is not available for new records
delrecs deletes records from the selected name (but does not zero the records !
delrecs NUM RECORDS TO DELETE FRO M END de l recs STARTING RECORD POSITION,NUM RECORDS TO DELETE
Note: zreturn = = -= =
-1 0
'"' L
3
if records are deleted successfull y if no nameset is attached if the user does not have write access if no name has been selected if the specified starting position is outside the range of records in the named records (2-argument form)
= 4 if the specified records are reser ved
delname (no tag) deletes the currently selected name and all its records (but does not zero the deleted records)
Note: zreturn = -1 if the name and records are deleted successfully = 0 if no nameset is attached = 1 if the user does not have write access = 2 if no name has been selected = 4 if the specified records are reser ved
names
F7
stores names from the nameset !names are stored left-justified with octal zeros in unused character positions); each name entry, which may require from 1 to 3 variables, is followed by a variabl e whose l eft-most 15 bits contain the number of records with the name and whose right-most 24 bits contain the extra information
namEs AR61,ARG2,ARG3 1 ARG4
ARGl = starting position in list of nameset names (optional) (if omitted, starting pos ition is the name currently selected by -setnam e- ~[the beginning of the list if no name has been selected)
ARG2 = starting variable for stor ing names ARG3 - ma ximum number of variables for stor ing names leach
requires from 2 to 4 variables ) ARG4 = variable for storing actual numb er of names obtained
zreturn - -1 =
if nam es are stored successfull y if no nameset is attached
= +1 if the starting position is invalid
F8
Group files
The following commands for namesets may also be used with group files: -setname- 1 -getname-, -names-, -addrecs-, -delrecs - , -reserve-, -release-, -datain-, and -dataout-.
The -records- command provides information on a group file.
NOTE: With - records - comma.n d, "change" a.ccess !;.!1~0.9.~~ tl-1e parameter t_g_ the information contained in the specified vat-iable(s); "read" access ~!;_g_r:_~~
the paramete r in the specified variablelsl.
To change alphabetic information use a left-justified string ( ~10
characters) or n-t ype variable(s) containing a left-justified string. To read !i.e. 1 store) alphabetic information use n-t ype variables. <A lphabetic in formation is stored left-justified .)
records change and records read allow para meters fo r the pre viousl y sele cted name to be changed or read
records change;OPTIONl;OPTION2;0PTION3 .. . records read;OPTION1;0PTION2;0PTION3 .. .
OPTIONS:
, name,STARTING VAR (name of the record; requires 2 var i ables ) user t ype,VAR (read only; stores user type, e . g. , ' ·student ') off ,V AR IV AR is -1 for record turned off, 0 otherwise) info,VAR (the 24 bits of extra information! options,'TYPE',VAR (author and instructor options; VAR is -1 for
option turned on, 0 for option turned off; 'TYPE' ma y be 'ifilecat' 1 'anyless', 'sitelist' 1 'u serlist ', 'notes', 'a.ccounts', 'datafile', 'prints', ' editown' , 'editothr'l
svars,STARTING ADDRESS , STARTING VAR,NUM VARS (student variables) rvars,STARTING ADDRESS , STARTING VAR ,N UM VARS !router var iables! message,STARTING VAR (requires 31 variables ) lesson,VAR (name of the restart lesson; change: lesson entry ma y
be a leslist position, e.g., change;lesson, <LESLIST POSITION >! unit,VAR (name of the restart unit) score,VAR Cl ast value of "lscore"l completed,VAR (last value of "ldone" l status,VAR (last value of "lstatus"l ldonelist 1 STARTING LESSON POSITION,STARTING VAR,NUM VARS !r ead only ;
" ldone" information, in 3-bit signed segments; "mrouter" only) lscorelist,STARTING LESSON POSITION,STARTING VAR,NU M VARS !read onl y;
"lscore" information, in 8-bit signed segments; "mr outer" onl y! data on,VAR IVAR is -1 for individual data collect i on on, 0 for off l
<- records change- and -records read- continued on ne xt pagel
F9
da.ta opts ,'TY PE ',V AR ( i ndividual data collection opt i ons; 1JAR is - 1
for opti on turned on , 0 for optio n t urned off; ' TY PE ' ma y be ' a.rea' , ' outp11t ' , 'o k ' , 'no ', ' u.nrec no ' , '··,rocab ' ; ' help', ' he l p no ', ' term' , ' term no', 'errors', 'signin' )
password,TYPE , VAR (change: TYPE=-1, se t pass word to string in VA R; TYPE=O , zero password; TYPE=l , set pa ssword to none; read: TYPE i s a vari able whic h stores the va l ue f or t ype o f pa:;sword [-1, t ypa.bl e password; 0, bl a.nk; 1 , no ne r-equire d ] )
total t1me, VAR (read on l y; total hours on PL ATO; use v-va r iable ) total days, VA R (read onl y; t otal days on PLATO ) sessions, VAR (read onl y; t ot al sessio ns on PL ATO ) cpu. time, VAR (read onl y; t otal cpu t im e in mil li seconds ) dis k C;J l_\nt, VA R c t· 2 a. t i o n , 1J A R last da.te,VAR ld.st time, VAR statio n,V AR id , VAR
!.r·ead onl y; to t a l disk a.ccesses ) !read onl y; date of creat i on of the namel (read onl y; date t he name was l ast s i gned on) (r ea d onl y; time t he name was last signed onl
(r ead onl y; station num be r wh ere name was l ast s i gned on l (read only; stores "z id" information )
Note: See "zreturn" on ne:\ t page.
records add ~rr~ records delete permit names to be added or deleted
r ecords add;name,STARTING VAR;user type, 'USERT YPE ' ;OPTION1;0PTI ON2 . .. records delete !deletes the selec t ed name and i ts rec or ds; zeros
records with basic s i gnon da ta but not extra records )
OPTIONS are those for -records change- for previousl y selected name. With -reco r ds .:l.dd- "na.me" and "uset- t ype " a r e required ; other opt i ons are allowed for initializi ng values . If no opt i ons a r e specified, the pa r amete r s ar e cr eated with value of zero . ' USER TYFE ' is ' a.uthm-' 1 ' student ' , 'multiple', ' inst r-uctor- ', or ' data ' . (A ' data' user type may be used for storing data. A name with this user type cannot sign onto the s ystem. I
Note: See "zreturn" on ne xt page .
records changedir ~rr1 records readd1 r allow information in the group director y to be cha nged or read
records changedir;OPTION1 ; 0PTIO N2;0PTION3 .• . records readdir;OPTIDN1;0PTION2 ; 0PTIO N3 • • .
OPTIONS:
name,VAR group,VAR.
(read onl y; name of last editor ) (read only; group of last editor )
(-records changedir- and -records readdir- continued on ne xt page )
FlO
station,VAR (read only; station where last editor worked) lesson,VAR !read only; lesson which last edited the group) date,VAR !read only; date the group was last edited) time,VAR (read only; time the group was last edited) short,VAR (read only; VAR is -1 if the group has short records,
0 if the group has regular-length records) snotes,VAR (read only; name of student notes filel data file,VAR (read only; name of datafilel processor,VAR !read only; name of processor lesson) ifile,VAR !read only; name of instructor file or curriculum filel router,VAR (name of student router; may not be set to a system lesson;
change: lesson entry may be a leslist position, e.g., changedir;router, <LESLIST POSITION >I
irouter,VAR !name of instructor router; change: if VAR=O, router is set to "imode"; may not be set to any other system lesson; change: lesson entry may be a leslist position, e.g., changedir;irouter,<LESLIST POSITION>I
group data,'TYPE',VAR (group data collection options; VAR is -1 for option turned on, 0 for option turned off; 'TYPE' is same as for individual data opts>
less data,'TYPE',VAR !lesson data collection options ; VAR is -1 for option turned on, 0 for option turned off; 'TYPE' is same as for individual data opts)
write code,TYPE,VAR (write records codeword; change: TYPE=-1, set codeword to string in VAR; TYPE=l , set to unmatchable codeword; TYPE=2, set codeword to user's group; TYPE=3, set codeword to user's account; read: TYPE is a variable which stores the value for type of codeword [-1, typable code; 1, unmatchable; 2, group; 3, accountJ; VAR stores group name if TYPE=2 or account name if TYPE=3l
read code,TYPE,VAR (read records codeword; TYPE is same as for write code)
message,'TYPE',STARTING VAR,VAR FOR DATETIHE !message requires 31 variables; 'TYPE'='all', 'student', 'multiple', 'instructor', or 'author'; for read-only access, date and time the message was written may be returned in the optional argument as a character string in the form: yrmndyhrmt where yr is the last 2 digits of the year; mn is month number; dy is the day of the month; hr is the hour; mt is the minute>
NOTE: For all preceding forms of the -records- command:
zreturn = -1 if -records- is executed successfully = 0 if no group is attached or if no name has been selected = 1 if the user does not have write access = 2 if the new name duplicates an existing name = ... if there is not enough disk space available . .)
= 4 if the entire group or the name is reserved by another user = 5 if there is a disk error ;:: 6 if there is an error in the (n-51 th OPTION in the
-records- tag, where n is the "zreturn" value
F 11
records locate stores the station numbers where names in the group are signed on; the search stops when the first name is found
records locate,STARTIHG STATION NUHBER;VAR <if STATION NUMBER is omitted, search starts at station 0; VAR is set to station number where the first name is found or to -1 if no names in the group are signed on at stations ~ STATION NUMBERl
Note: zreturn = -1 if -records locate- is e>:ecuted successfully = I) if no group is attached = '1 i f the station number is invalid L
= 5 if there is a system error
records info stores information for the name signed on at the specified station or for the previously selected name
records info,STATIOH HUHBER;OPTION1;0PTION2; ... (if STATION NUMBER is omitted, data is stored for the selected name)
OPTIONS:
name, START! NG user type,VAR lesson , VAR main,VAR current,VAR router,VAR curriculum,VAR zdile,VAR hours on,VAR
VAR <name of the record; requires 2 variables) <type of record, e.g. ' 'student') (name of the lesson or type of activity) (name of the main unit) (name of the current unit) (name of the router lesson) (name of the curriculum file or instructor f i 1 e l (name of the processor lesson database) <number of hours signed on for this session; use v-variablel
cpu time,VAR <cpu time in milliseconds for this session) disk count,VAR <number of disk accesses for this session) router ecs,'TYPE',VAR (router EM charges; 'TYPE' is 'lesson',
'common', 'storage' l lesson ecs, 'TYPE' ,VAR <lesson EM charges; 'TYPE' is
'common', 'storage' l 'lesson',
area,VAR station, VAR site,VAR status,VAR score,VAR completed,VAR
(name of the current areal (number of the station where the name is signed on) (name of the site at which the name is signed on) (current value of "lstatus"l (current value of (current value of
"lscore"l "ldone"l
Note: zreturn = -1 if -records info- is executed successfully = 0 if no group is attached or if no name has been
selected = 2
= 5 ~ 6
if the selected name is. not signed on or if no name in the group is signed on at the specified station if there is a system error if there is an error in the (n-5Jth OPTION in the -records- tag, where n is the "zreturn" value
F12
records send sends a message !up to 60 characters) to the station or rings the sound device on the terminal (if programmable)
records send,STATION NUHB£R;message,SCREEN LOCATION,STARTING VAR CONTAINING MESSAGE,NUM CHARACTERS IN MESSAGE
records send,STATION NUHB£R;beep (if STATION NUMBER is omitted, the message or signal is sent to the selected name)
Note: zreturn = -1 if the message or signal is sent successfully = 0 if no group is attached or if no name has been
selected
records backout
= if write access to the group is not allowed = 2 if the selected name is not signed on or if no
name in the group is signed on at the specified station
= 4 if the message or signal cannot be sent to the specified station
= 5 if there is a system error
backs out the specified station or the previously selected name after erasing the screen and sending a message !sets "backout" to -2)
records backout,STATION HUHBER !if STATION NUMBER is omitted, selected name is backed off)
Note: zreturn = -1 if the backout is successful = 0 if no group is attached or if no name has been
= = ~
~
= ~ ~
= 4 = ~
u
selected if write access to the group is not allowed if the selected name is not signed on or if no name in the group is signed on at the specified station if the station is not backed out because of error if the specified station cannot be backed out if there is a system error
F13
records update updates the disk copy of the records for this user !student or instructor); the user's group must be attached with read/write privileges, and the user's name must be selected with -setname-
Note: zreturn = -1 if updating is successful = 0 if no group is attached or i f no name has been
selected = if write access to the group is not all OI·Jed = " if the wrong group is attached or the wrong .L
name has been selected = 3 if checkpointing has been turned off by
-checkpt off- or -records save-= 4 i f the selected name is not user type ' student'
or 'instructor' = 5 if there is a disk error or other system error
records save similar to -records update- except that the record is flagged as "saved" and automatic checkpointing is turned off; can be used only in a router lesson
Note: zreturn = -1 if -records save- is successful
records restore
= 0 if no group is attached or if no name has been
= = " L
= ' ·-·
= 4
selected if write access to the group is not allowed if the wrong group is attached or the wrong name has been selected if -checkpt off- is in effect or if the record has already been saved if the selected name is not user type 'student' or 'instructor'
= 5 if there is a disk error or other system error
retrieves the saved record from disk; used with -records save-; can be used only in a router lesson
Note: zreturn = -1 if -records restore- is successful = 0 if no group is attached or if no name has been
selected = 1 if write access to the group is not all O\'led = " if the wrong group is attached or the wrong L
name has been selected = ..,
.j i f the record has not been saved by - records save-= 4 if the selected name is not user type 'student'
or 'instructor' = 5 if there is a disk error or other system error
checkpt allows the program to control checkpointing of student and instructor records; a -checkpt- command executed in a router sets the default for checkpointing for subsequent instructional lessons
checkpt on
checkpt off
checkpt EXPR
(allows automatic checkpointing; normal default for students) (prevents automatic checkpointing; normal default for instructors) (valu e=O sets to "off"; valu.e= - 1 set·:; to "on")
Note: zreturn = -1 if -checkpt- is successful = 0 if -checkpt- cannot be used with this user type
('multiple' 1 'author' 1 ' sabort ' , 'snockpt'l
F15
TUTOR files and code files
setname selects a block name from the attached file; contiguous blocks with the same name are selected at the same time
-:;etname 'NMiE ' setname VAR CONTAINING NAME setname ne}~tname <selects the next name in sequence or the first
name if a name has not already been selected) (selects the preceding name in sequence or the -:;etna.me backna.me
setname IB I last name if a name has not already been selected )
(clears the name currentl y selected and selects source blocks set to condense!
NGte~ z:r-eturn = -1 l f. the specified name matches e~{actl y a block I
na.me in the file = 0 if the specified name matches one na.me for the
given number of characters; selects that name = if the specified name matches more than one
•""\ L
name for the given number of characters; selects the first of the names if the specified name does not match any name; the name reference is cleared
= 3 if no TUTOR file or code file is attached
\With ta.gs "ne:~tna. me" and "backname", ":return" can have only va.l:J.es -1, 2, or 3 . 1
get name stares the name currently selected and the associated information, if specified; name is left-justified and unused character positions are filled with octal zeros
getname VAR FOR STORING NAME,VAR FOR STORING IHFDRKATION
format for the information (counting from the left end of the varia.ble):
42 bits (7 characters): block type (left-justified) access, binary, charset, common, leslist, lineset, listing, micro, source, text, vocab
6 bits (1 chara.cterl: condense flag[("-" <o46) or"" (o55)J 3 bits un•Jsed 9 bits: block position in directory
Note: If no name has been selected, a value of 0 is stored for both the name and the information.
F16
names stores names of blocks in the file ! left-justified with octal zeros in unused character positions!; each entry requires 2 variables, the first for the name and the second for the associated information
na.mes
Note:
ARG1,ARS2 1 ARG3,ARG4
ARGl = starting postion in the directory of block names (numbering starts at 1 for block 1-bl
AFU32 = AR63 =
AHG4 =
<optional; if omitted, starting position is the name currently selected by -setname- or the beginning of the list if no name is selected) starting variable for storing names maximum number of variables for storind names (each requires 2 variables) variab l e for storing actual number of names obtained
format for the associated information (counting from the left end of the variable!:
6 6
12
bits bits bits
(1 character): (1 chara.cterl:
condense fla·~ ["-" lo46l ot-"" lo551J blank (o551
(2 charactet-sl: block type " (o55551 (source) "li" (o14111 !listing)
(leslistl (l i neset! I micro ) ltextl
n a.c II lo0103l !I b i II lo0211l "ch" (o03101 "em" lo0315l
(access 1 is t) !binary) lcharsetl (common)
"il" (•J1414) "In" (o1416l "mi" lo1511) "tt:" (o24301
"vc" (o2603) (vocabl 27 bits unused loOOOOOOOOOI 9 bits: number of words of disk space used
zr-eturn = - 1 = I)
= +1
if if if
names are stored successfully no TUTOR file or code file is attached the starting position is invalid
iospecs specifies parameters for subsequent -getline- commands
iospecs OPTION1,0PTION2,0PTION3
OPTIONS include:
mods mod words are included in the lines read nomads mod words are not included in the lines read deleted deleted lines are included in the lines read nodeleted deleted lines are not included in the lines read truncate the line is truncated if it is too long for the buffer;
the line pointer moves to the next line nott-uncate the line is truncated if it i 5 too long for the buffer;
the line pointer stays at the trunca.ted line
Note: If the -iospecs- command is omitted, the default options are: nomods,nodeleted,truncate
F17
getline reads a line from the selected block name in the attached file and stores it (left-justified) in the specified variables
getline ARG1,ARG2 , ARG3
ARG1 = starting variable of the buffer for storing the line ARG2 = number of variables in the buffer ARG3 = variable for storing the number of variables actually
required to store the line
Results depend on options set by pre vious -iospecs-:
mods
nomads deleted nodeleted truncate
mod words are stored in the first 2 variables of the buffer mod words are not stored deleted lines are stored deleted lines are not stored a line which is too long for the buffer is truncated, and the truncated line is stored; all lines end with 12 bits of 0 l oOOOOI; return length is the number of variables actually used to store the line a line which is too long far the buffer is truncated and stored (but the next -getline- command will attempt to store this line without truncation); lines so truncated will not end in 12 bits of 0; return length is the true length of the line, i.e. 1 the number of variables that would be required to store it without truncation
Note: zr-eturn = -1 " ! l I -getline- is executed successfully ·- 0 = = ,..,
L
= < ·.J
= 4 ;:: 5
if no TUTOR file or code file is attached if there are no lines left in the selected blocks if the line length is greater than the buffer length (the line is truncated) if this line is a deleted line if this line is a truncated deleted line if a system disk error has occurred
setline sets the pointer for the line to be read by the next -getlinecommand; should be used in conjunction with "zline"
setline VAR CONTAINING VALUE OF DESIRED "zline"
Note: zreturn = -1 if -setline- is executed successfully = 0 if no TUTOR file or code file is attached = +1 if the pointer value is illegal
F18
parse analyzes (or parsesl a line of TUTOR code stored in a buffer
parse ARG1,ARG2,ARG3,ARG4,ARG5,ARG6
ARG1 = starting variable containing the line of code ARG2 = number of variables to examine (end of line also
terminates the search ) ARG3 = variable for storing indent level of code
(= 0 if not indented) ARG4 = variable for storing the command name, left-justified
and filled to character position 8 with spaces (o551; if the line is a comment, the first 8 characters of the line are stored
ARG5 = variable for storing the relative characte r position of the beginning · of the tag
ARG6 = var iable for sto r ing the number of variables actually required to store this line
Note: zreturn = -1 1t the line is a comment or a deleted line = 0 otherwise
F19
System variables for file operatio ns
These s yste m variables are set when the appropiate file is attached or when a nam? has been selected ( in the attached nameset or group file ).
LCheck
zfa cc
z file
zft 'f pe
current chec kpointing status of records = -1 if checkpointing is allowed - 0 if -checkpt off- is in effect = = =
= =
':• "-
' ~
• L
i f -records save- is in effect -abort record- or -abort autochec k- is in ef f ect l .!
I
i f the user is an author or a multiple
i f the f ile is attached read/write if the file 1s attached read only or if no file is attached
name of the fi le currently attached to the lesson (l e f t-justified; displa y with -showa-1
ty pe Df file which is attached to the lesson ( ' dataset', ' nameset'; 'grDu p ', ; lesson', ' code ') (left-justified; displa y wi th -showa.- )
zfusers number of users connected to the fi l e currentl y attached
zi nf o contains the 24 bit s of inf ormation associated wi th the currently selecte d name in a nameset or group; stored in the right-most 24 bits
zline value of the pointer to the ne xt line to be read by -getline-
znindex position of the currentl y selected name in the nameset or group directory (= 0 if no name has been selected or if no nameset or group is attached)
znscpn number of characters per name for the attached file (= 10 for TUTOR file and code file; = 18 far group file )
znsmaxn maxi mum number of names ! or blacks! allowed in the attached file
znsmaxr maximum number of records (or blac ks) allowed in the attached file
znsnams number of names in use in the attached nameset or group
znsrecs number of rec ords in use in the entire attached nameset or group
z:ecs
zroff
num ber of records in the selected name in the attached nameset or number of e xtra records !i.e. 1 records added with -addrecs- 1 in the se lected name in the attached group ~[
numbe r of records in the attached dataset
= -=
1 0
if the curr entl y selected name in a group has been turned off otherwise
zrstatn station number where the currentl y selected name in a group is signed on ( = -1 if the name is n6t signed cnl
zrtype
zr var s
zrvret
zsvars
zsvret
zwpb
zwpr
zxfi le
user type of currently selected name in the attached group: ' student ' 1 'multipl e' 1 'instructor ' 1 'author ' 1 ' data ' (l eft-justified ; display with -sho wa-1
maximum number of router variables (currently 641
= -=
1 0
if router variabl es are permanently stored on disk if router variables are not permanently stored
maximum number of student variables (currently 1501
= -1 if student variables are permanently stored on disk = 0 if student variables are not permanently stored
number of computer words pe r block in the attached TUTOR file or code file (currently 3201
number of computer words per record in the attached file (= 320 for TUTOR file and code file; = 64 for group file; from 64 to 512 for nameset or dataset )
contains the name of the file through which a processor lesson is entered ( = 0 if the processor lesson is entered directly! !left-justified; display with -sho wa- )
Additional notes on FILE OPERATIONS
Additional notes on FILE OPERATIONS
JUD8IN8
JUDGING J 1
Two types of commands are described in this section: judging commands and regula r commands. <Other sections of this book include onl y regular commands . ) Regular commands are not executed during the judging process, i.e. , after the user has entered a response, no r a r e judging commands executed before the use r has entered a response or in situations where no response is in vol ved. (See The TUTOR Language and lesson "aids" for e:<tensive descriptions of the judging process.)
Regular commands in this section include: -eraseu-, -force-, -ed i t- 1
- arrow- , -arrowa- , -arheada-, -long-, -jkey-, -copy-, -endarrow- 1 -getword-, -getmark-, -getloc-, -compare-, -iarrow- 1 -iarrowa-, -judge- , -okword- 1 -noword- 1
-markup-, -markupy-. Commands -list-, -endings-, - vocabs- , - vocab- ar e special non-e xecutable commands which establish lists of words for use with certain response-matching commands. The -join- command is both regular and judging . The remaini ng commands in this section are judging commands .
Preparation for responding
eraseu
force
(regular command) the specified unit is executed at all subsequent arrows in the unit containing -eraseu- when the user e r ases part or all of a response after receiving judgment; useful for erasing complicated displays which are not handled by the standard judging process
eraseu UNIT NAME er aseu ( B I Q.[. er aseu q (clears -eraseu- setting for remainder
of the unitl eraseu EXPR,NAMEM , NAMEO,q , NAME2,x
ma ximum of 100 arguments clears setting ; argument
(example of conditional for m; in the conditional tag ; argument q x leaves setting unchanged)
(regular command) alters the input of a response as specified; setting is cleared at each main unit
force
force
force
force force force
force force
force
bold (f orces t he response to be written in bold characters [programmable terminal only])
caps (inserts the shift code (o7 0 ) before each letter [a through z] in the response)
firsterase (erases an incorrect response and contingent message when the user presses any key, not just NEXT , ERASE, etc. I
font (inse r ts the font code (o75) before the first keypress) left (forces the response to be written from right to left) long (initiates judging when the character input reaches
the value of the tag of -long-; unnecessary with -long 1-l micro (forces keypresses through the microtable conversion) (81 Q.[. force clear (clears previous -force- settings
in the unitl clear,font,left <may combine tags)
J2
edit !reg ular command) required for EDIT key to be active when the tag of -long- exceeds 150; specifies the starting variable of a buffer for storing the characters in a response lup to 300 characters!
ar r ow
arrow a
edit STARTING VAR luse student variable) edit IBl (clears edit buffer; if placed after -arrow-, prevents
use of the EDIT key; see also -inhibit edit-1
(reg ular command) plots the response arrow at the specified screen location (see -inhibit arrow-); sets defaults: -long 150- and -jke y IBI-
arrow arrow
COARSE FINEX,FINEY
(regular command) allows an alternative arrow associated with -iarrowaand -arheada-; follows same rules and restrictions as -arrow-
arrowa COARSE arrowa FINEX,FINEY
arheada (regular command) specifies a symbol to be plotted with the alternative arrow
arheada SYMBOL TO BE PLOTTED WITH -arrowa-
Note: Up to five 6-bit characters may be specified.
long <regular command) sets the maximum number of characters in a response (default is 150 characters!; must follow -arrow- (see NOTEI
long NUM CHARACTERS (value of tag is from 0 to 300; -long 1-causes automatic judging; tag > 150 requires use of -edit- for EDIT key to be active; -long 0- prevents input from the keyset except for function keys)
jkey (regular command) specifies the function key(s) which initiates judging lin addition to the NEXT keyl; must follow -arrow- (see NOTE!
jkey KEYNAME (name of function key is in lower easel jkey KEYNAME1,KEYNAME2,KEYNAME3, ... jkey IBI (clears previous -jkey- settings so that only NEXT
initiates judging)
cop y
J3
(regular command) specifies the starting variable of the character string which is to be copied on the screen at the arrow, one word at a time, when the COPY key is pressed; the end at the character string is indicated by the specified number of char acters or by 12 bits equal to 0 l oOOO OI, whichever is attained first; loads the string exactly as it appears on the screen into the response buffer; must follow -arrow(see NOTEI
copy STARTING VAR,NUM CHARACTERS (use student variabl e !
NOTE: To affect the first response, -long-, -jkey-, and -copy- must follow the -arrow- command but must precede any judging commands. However, after the user enters a response (e.g., an incorrect response), these commands can be executed among the regular commands following the matched response in order to affect the next response at the same arrow.
endarrow (regular command) (no tagl terminates judging with an unanticipated "no" judgment if the response has not been matched; after an "ok" judgment, -endarrow- terminates the search for additional -arrowcommands and switches back to the pre-arrow state
J4
V ocab~lar y lis ts
_i s t (nan-executable) sets up a list of synonyms for judging; used with - answer-, -wrong-, -answerc-, -w rongc - , -ans wera-, -wronga-, -match-
list LISTNAME 1 WORDl,PHRASEtCONSISTINGtOFtSEVERAL*W ORDS, WORD2 1 WORD3 1 ••• (m aximum of 7 characters in LISTNAME I
end ing s (non-e xec ut able) used with -vocabs- and -vocab- to add endings to root Nards (must precede -vocabs- or -vocab-1
vocabs
va ca b
endings NUMBER,ENDING1,END I NG2, .•. (N UMBER is an integer from 0 to 91
Note: In - vocabs- or WORD/NUMBER
WORD//NUMB ER
-vocab-, adds endings to the root word and includes all wor ds in the vocabulary adds only words with endings to the vocabulary; the root word is not included
Up to 10 -endings- commands with up to 8 end ings each may be included. Apostrophe is legal in an ending.
!non-e xecutable ) se t s up lists of i gnorable words and synonymous required words; used with -concept- and -miscon-; checks for capitalization and spelling; allows assignment of user information numbers
v ~cabs NAME <IGNORABLE WO RDS SEPARATED BY CO MMAS> WD RD1 ,W ORD2,PHRASEtCONSISTINGtOFtSEVERAL tWORDS (S YNONY MOUS WORDS3 AND PHRASES SEPARATED BY COMMASI IWO RD 4/s,WORD5/ENDING1/ENDING2,WORD6//ENDING1l
WO RD7 / NUMBER1,WORD8 //N UMBER2 !W ORD9,WORD10=1 1 WORD11=2,SYNONYM11=2, •.. I
(non-e xecutable) similar to - vocabs - except does not check for cap it aliz~tion and spelling and does not allow phrases
vocab NAME <IGNORABLE WORDS SEPARATED BY COMMAS ) WO RD1, WORD2 !SY NON YMOUS WORDS3 SEPARATED BY COMMAS! CWORD4!s,WORD5/ ENDI NG1/ENDING2 1 WORD6//ENDING1 l WORD7/NUMBER1,WORD8//NUMBER2
NOTE : Up t o 7 characters are permitted in the name of the vocabulary. When sets of endings are used repeatedly, -endings- plus -vocab(slma y be more convenient than -vocablsl- with actual endings included. With - vocabs-, user information numbers may have valu es from 1 to 511 .
Modification of judging copy of response
bump removes the specified characte rs from the judging copy of the response before judging
bump CHARACTERS (maximum of 8 characters; use additional -bump- commands for more than 8 characters)
put r eplaces a character string in the judging copy of the response with another character string
put STRING1=STRING2 (r eplaces STRINGl with STRING21
putd similar to -put- but uses the first character in the tag as the separator between strings
putd putd
/STRING1/STRING2/ lSTRING1,STRING2,
(separator is / ) (separator is 1 )
putv similar to -put- but works with stored strings
putv ARG1,ARG2,ARG3,ARG 4
ARGl ARG2
= =
starting variable of string (left-justified) number of characters in string
J5
ARG3 ARG4
= =
starting variable of replacement str1ng (left-justified) number of characters in replacement string
NOTE: Maximum number of characters in a string for -put-, -putd-, and - putvis 50. If replacement operations cause the judging copy of the response to exceed 300 characters, judging terminates ~ith a ''no" judgment.
~lose takes characters s to red in the right-most si x bits from successive variables and makes a judging copy for use with judging commands; often paired with -open- ; the end of the character string is indicated by the specified number of characters or by six bits equal to zero (oOOI, whichever is attained first
loada
close STARTING VAR,NUM CHARACTERS (use n-variablesl
takes the characters stored in the specified variable(sl by - pack - , -storea- 1 or -calc- and makes a judging copy; the end of the character string is indicated by the specified number of characters or by six bits equal to zero (oOOl 1 whichever is attained first
load a STARTING VAR,HUH CHARACTERS (NUM CHARACTERS, if omitted, is 10; maximum number of characters is 2991
~ edif i catio n of judging pr oced ur e
NO TE: The various -specs- options do net affect all judging commands. Commands af f ected by each -specs- option are indicated by number from t he f ol low in g list.
ju dg i ng com man ds affected by -specs-
1.. - mat ch -- an s wer-, -wron g- , -answerc- 1 -wrongc-, -answera- , - wronga-
-:.· ~ - \:·o c a o s - , ~~ :: on c e p t - ~ - m i s c on -4. -vacab - , -concept-, -miscon-5. - exact - , - e xactc- 1 - exac tv -6. -a l ~ v - 1 - wrongv- 1 -ansu- 1 -wrangu- 1 -store-, -sto r e u-7: -sto rE-n-8:: -storea-
specs allow s cont r ol a ver processing of responses; also serves as a marker for e xecut i on of subsequen t regular commands after judging is complete
specs
specs
specs
spe c s
specs
specs
·specs
specs
allwords !treats integers like letters (rather than numbers] so that a number-letter boundary is not like a word-word boundary or punctuation)
(\~ith 1, 2, 3 , 4, 7 .:>.bovel
alphxnum (treats a letter-number boundary like a word-word boundary or like punctuation)
(w ith 1, 2, 3, 4, 7 above)
bumpshift (r emo ves shift codes from the judging copy of the response)
(with all commands abovel
e :.; order !checks the order of ignorable words) lw ith 2 above)
holdmark (prevents markup of the response but stores t he markup information for later display )
lwith all commands above where markup is done: 2, 3, 41
nod i ff !turns off the numeric difference judger, which treats a numerical response as a "misspelling" if it is within 10% of the correct response; no spelling markup is done)
(with 2 abo ve)
nomark !turns off answer markup l (with all commands above where markup is done: 2 1 3, 41
nookno !pre vents appearance of "ok" and "no" ) (with all commands above )
specs
specs
spec-::;
specs
specs
spec ·:;
specs
specs
specs
specs
specs
noops (prevents use of mathematical operations in a numerical response)
<with 6 above)
J7
noorder !turns off the order Judger; allows any word order; nc order or missing-word markup is done)
(with 2, 3, 4 above)
ncspell ( tu r ns off the spell i ng judger; no spelling markup is done )
(with 2 above)
novars (prevents use of variables defined in define set "student")
<with 6 a.bovel
okassign !allows assignment of a value to a variable defined in define set "student")
(with 6 above)
okcap (allows a cap1talized word in the response to match a non-capitalized word in the tag of a response-matching command or in the vocabulary!
(with 1, 2, · 3 above)
oke :< tra (allows e xtra words in the response; caution-words not in -vocabs- may be treated as spelling errors)
(with 2, 3, 4 above )
okspell (allows an y reasonable spelling ) (with 1, 2, 3 abo vel
toler (allows 1% tolerance in a numerical response) (with 1 1 2 above )
<Bl (acts only as a marker l
nookno,okspell,noorder (may combine tagsl
Note: The following s ystem variables are set properly even if use of the -specs- tag causes the response to match the tag of a response-matching command.
-specs- tag okspell okcap oke:<tra noorder
system variable sp e 11 capital e:< t r a order
J8
Storing JUdging cop y of response
NOTE: Commands -store-, -storeu-, and -storen- terminate judging with a "no'' judgment if an error is found in the form of the response.
store
storeu
storen
storea
calc ulates the numerical value of the response and stores it in the variable specified in the tag
store VAR
simi lar to -store- bu t also evaluates dimensionality of units
storeu VAR FOR STORING NU MB ER,STARTING VAR FOR STORING POWERS OF DIMENSIONS (see -define-: units ; use v-variables to
store the powers of the dimensions; powers are stored in the order in which the primary units are definedl
searches for and evaluates simple numerical e xpressions (without variables) in the response, wh ich may also contain non-numeric ch aracters; stores numerical parts of the response in the specified var i ables, one part per variable; removes numerical parts of the response from the answer buffer and replaces them with spaces; nuffierical parts must be set off from letters by spaces or punctuation lor letter-number boundaries must be altered b y -specs alphxnum- 1; if no numerical expression is f ound, the variables are set ta 0 and judging ends with a "no" judgment; each -storen- i ncrements "anscnt"
storen VAR1 storen VAR2
sto r es characters from the response, left-justified, in the specified variable lsi, 10 characters per variable; unused character positions are filled with octal zeros
storea STARTING VAR,HUH CHARACTERS (NUM CHARACTERS , it om i tted, is 101
Note: Use n-variable(sl for storing the string if subsequent comparison for equality with another string is done. !If the cha~acter string is stored for other purposes! v-variables are acceptable.) Segmented variables cannot be used with -starea- .
open places the characters in the response, one-by-one, in the right-most si x bits of successi ve variables starting at the specified variable
open STARTING VAR (use n-variablesl
J9
Matching judging copy of response
NOTE: References to response mean judging copy of the response. Judging terminates when the response matches the tag, except for -match-, which always terminates judging, and -answera- and -wronga - , where incorrect format also terminates judging.
NOTE: Up to 39 "words" <entries separated by space or punctuation) are permitted in responses with -match-, -answer-, -wrong-, -answerc-, -wrongc-, -answera-, -wronga-, -concept-, and -miscon-. If the number of words exceeds 39, judgment is "no" and "anscnt" is set to -2.
match
answer
With these commands the tag may nat contain punctuation (or symbols changed to "punc" by the -change- command) although the user's response may contain punctuation. (See "judging values" in "aids" for details on punctuation.)
Response markup (refer to -specs- for identification of commands with which the markup is usedl:
--- word is misspelled 12, 3) -t word is capitalized incorrectly 12, 31
*** wot-d is part of a broken phrase (2 1 31 ·~ word is out of order <too far right I (2)
!:J. ~~ord is missing 12) :{X X word is an e:< tr a word (2)
uuu word is an extra word (not in vocabulary) (3 I 41
checks the response against the arguments in the tag and sets a variable to the relative position of the matched character string; removes the matched string from the answer buffer and replaces it with spaces; if no match is found, the variable is set to -1 and judgment is "no" (sets "judged" to +11; otherwise judgment is "ok" (sets "judged" to -1)
match match
VAR,WORDO,WORD1,PHRASE*WORD2,WORD3 VAR, IWORDO,SYNONYMOI ,ll~ORD1, (L!STNAME1)) I ( (L!STNAME21)
compares the response with the tag; checks for word order, spelling, capitalization, extra words, and numeric tolerance unless altered by -specs - ; sets "judged" to -1 if the response matches the tag
answer WORDS AND PHRASE*WORDS (blank tag matches a response which is blank or which contains only spaces and punctuation)
answer <EXTRA WORDS> I WORD 1 1 PHRASE*WORDS l ( WORD2, SYNONYM2) WORD3 answer <<LISTNAME1 >> ( ILISTNAME21) < ILISTNAME31 ,WORD3l answer RESPONSE1 1 RESPONSE2,RESPONSE3 (synonymous responses; each
argument may have any of the preceding forms for the tag of -answer-)
JlO
same options as -answer- but for an incorrect response; sets "judged" to 0 if the response matches the tag
WORDS AND PHRASE*WORDS
answerc compares the response with one of several arguments in the tag, depending on the rounded value of the conditional expression; performs the checks available with -answer-; sets "judged" to -1 if the response matches the required argument
wronqc
answerc EXPRtRESPONSEMtRESPONSEOttRESPONSE2 (the arguments may have any of the forms allowed in the tag of -answer-; a blank argument indicates no anticipated response for that value of the conditional expression)
same options as -answerc- but for an incorrect response; sets "judged" to 0 if the response matches the required argument
wrongc EXPRtRESPONSEMtttRESPONSE2tRESPONSE3
answera similar to -ans wer- but has variable tag which contains a character string in a form allowed with -answer- <exceptions and format errors set "judged" to a value > 21; the end of the character string is ind1cated by the specified number of characters or by six bits equal to zero (cOOl, whichever is attained first; sets "judg•?d" to -1 if the response matches the character string requirements
answera STARTING VAR OF STORED STRING,NUH CHARACTERS INUM CHARACTERS, if omitted, is 101
same options as -answera- but for an incorrect response; sets "judged" to 0 if the response matches the character string requirements
wronga STARTING VAR OF STORED STRING,HUK CHARACTERS
NOTE: With -answera- and -wronga-, incorrect format of the stored string causes a "no" judgment, terminates judging, and sets "judged" as follows:
judged = 3 = 4
"' .J = = 6 = 7 = 8 = 9
10 = 11
1 '7• J..O:.
= 13 = 14 = 15
if ... 1 '
if if if if if if if if i f if if
the number of characters is not between 1 and 300 a phrase is incomplete and has a trailing separator * a phrase includes illegal characters the string, including -list- words, is too long there is a system error the string includes punctuation format for ignorable words lacks the end bracket > format for synonymous words lacks the end parenthesis there is a system error there are synonymous answers in the form ans1,ans2 format for -list- words lacks the end marks >> or ) I there are too many characters in the -list- name the -list- name is not found or is 0
J 11
concept compares the response with the tag; -vocab- or -vocabs- provides synonyms; sets "j udged" to -1 if the response matches the tag
miscon
e :; a.ctc
concept WORDS AND PHRASE WORDS (no asterisk in phrases; blank tag matches a response which is blan k or which contains onl y ignorable words from the vocabulary!
concept WORD1 WORD2 1 VAR1~WORD1,VAR2tWORD2 (detects which synonym is entered if the vocabulary is appropriately set upl
same options as -concept- but far an incorrect response; sets "judged" to 0 if the response matches the tag
miscon WORDS AND PHRASE WORDS
compares the response with the tag for an exact character string match; sets "j udged" to - if the response matches the tag
exact STRING <blank tag matches a blan k resporse )
compares the response for an exact character string match with one of several arguments in the tag depending on the rounded value of a conditiona l expression; sets "judged" to -1 if the response matches the required argument
e xactc EXPR,STRINGM,STRINGO,,STRING2 (blank argument matches a blank response)
compares the response with a stored character string for an e xact match; the end of the character string is indicated by the specified number of chara.cters or by si:< bits equal to zero (oOOI , whichever is attained first; sets "judged" to -1 if the response matches the tag
exactv STARTING VAR OF STORED STRING,HUH CHARACTERS (NUM CHARACTERS, if omitted, is 10; if the number of characters is 0, the response is judged correct if nothing is entered)
.J i 2
NOT E: With the f o ll owing f our commands 1-ans v- , - wrongv-, -ansu- , - wrongu-l, 70LERANCE is opt i ona l . When tolerance is omitted, the default is L: --9 i f ita-~ value!< 100 (approximately) QL \lo-11 '!tag value!) if itag value! >100 l app r o:\i mate lyi. These commands can not judge values smaller in absolute value than to-9 since ~ni response ! ess than 10-9 matches the tag. TOLERANCE ma y be absolute deviation or percent deviation.
ansv checks a numertcal response against the first argument 1n the tag, wi th t olerance, i f gi ven, set by the second argument; sets
~1rongv
a.n s 11
wrongu
"judged " to -1 if the re sponse mat ches the tag (wit hin the tolerance)
.3. ns v CORRECT VALUE,TGLERAHC£
similar to -ans v- but for an incorrect numerical response; sets ' judg ed " to 0 if the response matches the tag (within the tolerance!
wrongv INCORRECT VA LU E,T OLERANC£
sim il ar to -ans v- but checks for correct units; sets "jud ged" to -1 1f the response matches the tag (within the tolerance!; (units on absolute tolerance are ass um ed t o be primar y units unless specific ~nits are given; units are omitted with percent tolerance )
a.nsu. NUMB ER AND UNITS,TOLERANC£
for e ~{-:3-m pl e:
a.nsu 20 kg ~20 g correct
ansu. 20 kg ,o . 1'' /,
ans u 20 '· - a02 ~- ':1 !
(kg defined as primary unit 1 g defined as .OOlxkg ; response in range (20 ±.021 kg or 19.98 kg to 20.0 2 kg l
(correct r esponse in t-a.nge (20±.021 kg) (cor r ect response in range !20±.021 kg )
sim ila r to -ansu.- but for an incorrect response; sets "judged" to 0 i f the response matches the t ag (within the tolerance )
wron gu NUMBER AND UNITS,TOLERANC£ wron gu NUMBER,TOLERAHC£ (used to indicate that units are missing )
NOT E: For applications of -ansu- and -wrongu - see -storeu- and -define-. Commands -ansv- and -wrongv- accept defined units in the user's response but the y do not judge the units.
touch
touchw
J13
specifies the location of a rectangle for a touch response; sets "judged" to -1 if the specified rectangle is touched (see -enableand -disable-)
touch AREA1;AREA2;AREA3; ... (blank tag matches any touch input)
Note: AREA may be: COARSE,WIDTH IN CHARACTERS,HEIGHT IN LINES ~C FINEX,FINEY,WIOTH IN DOTS,HEIGHT IN DOTS COARSE or FINEX,FINEY is the screen location of the lower left corner of a rectangle of specified width and height. Width and height are optional and assumed to be 1 if omitted.
same options as -tou ch- but for an incorre ct touch response; sets "judged" to 0 if the specified rectangle is touched
touchw AREA1;AREA2;AREA3;AREA4; ..•
NOT E: One touch square is 32 dots on each side <or 4 characters in width and 2 lines in height).
or (no tagl placed on the line between response-matching commands to provide alternative responses for the same value of "anscnt"
ans <no tag) allows use of the ANS key; terminates judging only if ANS is pressed; otherwise normal judging occurs; -a ns - must be the first judging command following the -arrow- command except if -jkey ans- is in effect
J14
Information on specific words in response
NOTE: In the following commands (-getword-, -getmark-, -getloc-, -compare-), a "word" is an entry set off by spaces or punctuation from surrounding characters. <See -specs allwords-, -specs -alphxnum- and -change symbol- for additional options in specifying word boundaries.)
getword !regular command) allows storage of individual words in a response
getword ARG1,ARG2,ARG3,ARG4
ARG1 = relative position of the word in the response (first word is 1 ' second word, 2' etc.)
ARG2 = starting variable for storing the word (up to 10 characters per variable)
ARG3 = vari able for storing the actual number of characters in the word (= 0 i f ARG1 '· "wcount"l I
ARG4 = rna:-: i mum number of characters to be stored in ARG2 (optional; i f omitted, value is 10)
Note: Words that are stored are not removed from the judge buffer.
getmark (regular command! used after judging a response to give markup information on individual words in the response
getmark ARG1,ARG2
ARGl =
ARG2 = =
=
= >
relative position of the word in the response (first word is 1, second word, 2, etc.) variable containing markup information -2 if the response is perfect or if no markup is done
with the response-matching command used -1 if the position of the word is out of bounds
(i.e., if ARG1 > "wcount") 0 if there are no errors in the word 0 bits in ARG2 are set according to the error(sl,
starting at the right-most bit <subscript "2" indicates the number is in binary notation): <1 21 a word preceding this word is missing (102 1 the word is out of order (too far right) (10021 the word is capitalized incorrectly (1 000 21 the word is spelled incorrectly (10 00021 the word is part of a broken phrase (100 000~1 the word is an extra word ... (1 000 00021 this word is the last word, and a
word which should follow is missing
getloc
J15
(regular command) gives the screen position of the beginning (and end, if requested) of the specified word in the response
getloc ARG1,ARG2,ARG3,ARG4,ARG5
ARG1 = relative position of the word in the response (first word is 1 I second word, '"I etc. l i. I
ARG2 = variable for storing the fine:< screen position of the beginning of the word (= -1 if ARGl ) "wcount")
ARG3 = variable for staring the finey screen position of the beginning of the word
ARG4 = variable for staring the finex screen position of the end of the word (optional)
ARGS = variable for storing the fine y screen position of the end of the word (optional)
compare <regular command) compares two words for spelling
compare ARG1,ARG2,ARG3
ARG1 = starting variable containing a word ARG2 = starting variable containing another word ARG3 = variable for storing the result code
result = -1 if the words are different = !) if the words are identical ) 0 if the words are misspellings of each other
(smaller value indicates a closer match)
Note: The words must be stored in the same manner, e.g., bath words left-justified or both right-justified. Words stored with -storea- or -pack- are left-justified. If a word itself is given (~ 10 characters) 1 it must be enclosed in single quotes for left-justification or double quotes far right-justification. System variables "spell" and "capital" are set if result value ;:: 0: "capital" is set to 0 and "spell" is set to -1 if only one word is capitalized but spellings are identical; otherwise "spell" is set to 0 if res ult > 0
The end of each ward is marked by a punctuation symbol, space, or 6 bits of 0 (aOOl. Words are compared up t;J the first occurrence of a terminating symbol. A maximum of 39 characters in each word may be compared.
1 1 L '.J l.'..J
Unconditional j ud gment
Gk
i ·~nore
jud·~e ·:; any response "ok"; sets "jud·~ed" to -1
(no t ii.·~) judges any response "no"; sets "judged" to +1
(no tagl erases and ignores any response; stops further processing and waits for a new response
J17
Reference to other units during judging
JOln causes execution of the specified unit without change of main unit; commands following -join- are executed; -join- is executed in all states: regular, judging, and search (see also description under SEQUENCING, Automatic sequencing)
iarrow
join UNIT NAME join NAME,VAR¢INITIAL EXPR,FINAL EXPR , STfPSIZf EXPR join EXPR,NAMEM,NAMEO,x,NAME2,q (example of conditional form)
(regular command> the specified unit is executed after each subsequent -arrow- in a unit just before the first judging command is executed
iarrow UNIT NAME iarrow (B) Q[ iarrow q <clears the -iarrow- setting for
subsequent -arrow- commands in the unit) iarrow EXPR,NAMEM,NAMEO,q,NAME2,x (example of conditional form;
maximum of 100 arguments in the conditional tag; argument q clears setting; argument x leaves setting unchanged)
Note: The -iarrow- setting is equivalent to -join- after each subsequent -arrow- (just before the first judging command); the specified unit is executed in all states.
iarrowa (regular command) similar to -iarrow- but is associated with -arrowa-; see -iarrow- for restrictions
iarrowa UNIT NAME
,Jl :3
Alte r ation of judgment
judge !r egular command) alters the judgment rendered by judging commands
judge
ju.dge
judge
judge
judge j u.dge
judge
judge
ok
no
okquit
{sets jud·~ment to "Dk"; sets "judged" to -1; continues executing regular commands) (sets judgment to "no" [unanticipated]; sets "judged" to +1; ccr.tinues e;<ecuting regula.r comma.nds l (sets judgment to "no" [anticipated]; sets "judged" to 0; continues e:{ecuting regulat- commands) (sets judgment to "ok "; sets "judged" to -1; does not process regular commands fol l owing -judge- and proceeds to process regular commands fallowing -specs-)
noquit (sets judgment to "no"; sets "Judged" to +1; does not process regular commands following -judge- and proceeds to process regular commands following -specs-)
quit Cleaves judgment unchanged and terminates execution at that arrow except for regular commands following -specs-; allows the user to proceed to the next arrow even if judgment on the current arrow is "no" )
ignore {stops executing all commands, erases the response, and waits for a new response)
exit (rescinds judgment and waits for additional keys! continue {resumes judging using the modified response , as
altered by -bump-, -put - , -specs-, -match-, -storen- 1 etc.; resumes executing judging commands)
rejudge (resumes judging using the original 1 unmodified response and clears the -specs- setting; resumes executing judging commands )
EXPR, x,n o,ignore,o k (example of conditional form; argument x leaves judgment unchanged)
J19
Alteration of feedback
okwo r d (re·~ular commandi permits "ok" message to be changed
okword NEW WORD FOR USE WITH "OK" JUDGMENT (may be bla.nkl
(regular command) permits "no" message to be changed
noword NEW WORD FOR USE WITH "NO" JUDGMENT (may be blank)
NOTE: Tags of -okwcrd- and -noword- may have up to 9 characters.
markup
A space is automatically provided before the message . Commands -okword- and/or -noword- may be placed anywhere in the lesson. Once they are executed, they are in effect until execution of another -okword- and/or -noword- command.
(regular command) (no tagl used with -specs markup information that was inhibited with
holdmark- to display -sp2cs holdmark-
markupy (regular command! specifies vertical displacement of markup information in screen dots from the default position of 8 dots below the response; tag is negative for new position below the default , positive fo r above; new position is in effect until e ~ecution of another -markupy- command
markup y DISPLACEMENT IN DOTS FROM DEFAULT MARKUP POSITION markupy 0 (sets to default position of 8 dots below response)
,J 20
System variab l es for judging
judgin g 1n ge neral
an scnt number o f r espon;e-matc hi ng comma nd s encountered at an arrow
a.nsok
jcou.nt
judged
k ;::> '.i . . - I
be f or e the re s pon se is mat ch ed; also set by -sto r e n-; ct h er~ise,
i f the user's response con t ains mor e than 39 words = -1 if the user ' s response does not match an y tag
0 for an error with -store-zeroed for each -arrow- and each -specs- command
= -1 if the response is a satisfactory match to the pr eceding respcnse-mat ch ing command
= G otherwis~ ;
in pa r tic ular , afte r - no- 1
- - 1 if there is no match t o a previous response-matching command = 0 if the matc h is poor
number of internal 6-bit character codes in the response
= - 1
= 0 = = 2
f or f or f or for-
any "ok" judgment any "wr ong " judg men t (anticipat ed "no" ) a.ny "no" judgment (unanticipated "no" l r esponse not yet judged
See -answera - and -wronga- for additional values.
ztouchK [See descr i ptions under sys t em variables for sequencing .] ztou.cr,y
ntries number of attempts on the current arrow
verbal responses
judging commands which affect system variables for verbal responses:
1. -match- -:: ·-' . -vocabs-, -concept-, -miscon--vocab-1 -concept-, -miscon-'") ... -answer - , -wrong -, -answerc-, -wrongc-, 4.
-answera-, -wronga-
capital = - 1 1f there are no capitalizat i on errors, = 0 otherwise <with 1, 2 , 3 above)
entire = - 1 if all required words are present, = 0 otherwise (w ith 2 above)
ex tra
order
phrase
spell
vocab
= -1 if there are no extra words in the response, = 0 otherwise (with 2, 3 1 4 above )
= -1 if word order is ok, = 0 otherwise !with 2 above)
= -1 if there are no phrase errors, = 0 otherwise (with 1, 2, 3 above)
= - 1 if spelling is ok, = 0 otherwise (with 1 1 2, 3 above)
J21
= -1 if all words in the response are in the vocabulary, = 0 otherwise (with 3, 4 above)
wcount number of words in the response !maximum of 391 (with all above)
numerical responses
These system variables ("opcnt", "varcnt", "formok"l are set with -ansv - , -wrongv-, -ansu-, -wrongu-, -store-, -storeu- 1 -compute-, -calc-, -calcc-, and -calcs-.
opcnt
varcnt
number of arithmetic operations and functions in the response \ = - 1 if there are no operations and the expression cannot be stored with -store-)
number of defined variables and functions Cdefine set "student")
formok gives diagnost i cs on errors in mathematical expressions
= - 1 if the exp ression is ok = 0 if there is a bad function argument or index = if there is an illegal character = 2 if there are unbalanced parentheses = _ if there are too many decimal points = =
= = =
4
7 8 0
'
if there ar e variables not defined in define set "student" it a symbol involving $ is not a logical or a bit operator if the e xpression has bad form _f a val ue is assigned to a non-variable i f an octal constant contains digit 8 or 9 i f there is an error in an alpha string
- 10 if a n~mber has too many digits = 11 = 12 = 13 ·- 14 = 15 = 16 = 17 = 18 = 20 - 21 = 22
.,., ·- .,;_ .;_.
= 6 0 = 62 = 63 -- 64 = 65 = 66
if an array inde x is out of bounds 1f there are variables with -specs novarsif there are operations with -specs noops-i f there are assignments without -specs okassignif units in the response are used incorrectly if too much computing is attempted if the expression is too deep in nested functions 1f a fu nctio n has the wrong number of arguments if an arra y has the wrong number of arguments 1f an array is not permitted in this express1on if the array size is incorrect or operation is nonconformal if there are too many arrays in the expression if too many temporar y variables are needed during processing if expression is too complicated for temporary storage to hold if there are too man y literals in the expression if a definition in define set "student" is too complicated if there is an error in a segment definition if expression is too deep in inde xes which are assigned values
Additional notes on JUDGING
Additional notes on JUDGING
MANAGING SITES
t1ANAG I N6 5 I TES I'll
Commands in this section are legal oniy in a site lesson.
Site CCJmmands
These commands give information on the specified logical site.
nsite
nsite
nsite
set
nsite nsite
Note:
. .! 1n1o
nsi L.!
Note:
n ( :{)
n ( :<) n ( :< + 1)
n ( :: +2) n ( K +3 l n ( :-:+4)
specifies the logical site for subsequent -nsite- commands and -nstat- commands; a later -nsite set- command overrides an earlier setting
set,VAR CONTAINING SITE NAME set, 1 S ITENAME 1
zt·eturn = -1 if -nsite set-= I) if the lesson is
specified site = +1 if the specified
is executed successfully not a site lesson for the
site name is not a valid name
stores current site EM ~ information for the site specified by a preceding -nsite set-
info,STARTING VAR FOR STORING INFORMATION
Information consists of:
Q[ nclxl =starting variable contains the base EM allotment
II
the EM currently allotted the EM currently in use the number of active stations on the site the number of stations assigned to the site
zreturn = -1 if -nsite info- is executed successfully = 0 if no site has been set by -nsite set-
active stores the physical station numbers of the specified number of active stations on the site; if all active stations are stored, the next variable after the last stored station contains -1
nsite active,STARTING STATION NUMBER,STARTING VAR FOR STORING STATION NUMBERS,NUM ACTIVE STATIONS TO STORE
Note: zreturn = -1 if -nsite active- is executed successfully = 0 if no site has been set by -nsite set-= +1 if the starting station number is not valid
M2
nsite
nsite
nsite
stations stores the physical station numbers of the specified number of stations permanently assigned to the site; if all permanent stations are stored, the next variable after the last stored station contains -1
nsite stations,STARTING STATION NUMBER,STARTING VAR FOR STORING STATION NUMBERS,NUM PERMANENT STATIONS TO STORE
Note: zreturn = -1 if -nsite stations- is executed successfully = 0 if no site has been set by -nsite set-= +1 if the starting station number is not valid
return returns the site information to disk; "zreturn" is always -1 after execution of -nsite return-
nsite return
check returns the cue status of the specified lesson (identifies the executing user's station number, site, and subsite)
nsite nsite nsite
Note:
check,VAR CONTAINING FILE NAME check, 'NAME' check,<LESLIST POSITION>
zreturn = -1 if the lesson is = 0 if the lesson is
specified by the = +1 if the lesson is
allowed during this hour allowed under conditions cue restricted during this hour
NOTE : With the following forms of the -nsite- command, "change" access ~~~ng~§ the parameter tg the information contained in the specified variable(sl; "read" access ~tgrg~ the parameter ~n the specified variablelsl.
nsite nsite
To change alphabetic information use a left-justified string <~10
charactersi or n-type variable(s) containing a left-justified string. To read (store) alphabetic information use n-type variables. <Alphabetic information is stored left-justified.)
change;OPTION1;0PTION2;0PTION3; •.• read;OPTION1;0PTION2;0PTION3; ...
OPT! ONS:
lsac,VAR (name of the logical site access controller lesson) cuc , VAR (name of the current usage controller lesson) manager,VAR <name of the site manager lesson) test,VAR (name of the test site lesson) test2,VAR <name of the second test site lesson)
(-nsite- OPTIONS continued on next page)
M3
file,VAR (read only; name of the site lesson which contains access lists and the subsite common)
help,VAR !read only; name of the nameset which contains "help" information for the site)
message,STARTING VAR 1 NUM VARS (message displayed for all users at the site ["4th-line" for authors]; maximum length is 10 variables!
authdel ,VAR (author deletion flag; right-most bit of VAR is 1 if author deletion is turned on for the sitel
di r ector,STARTING VAR,NUM VARS !read only; name [2 variables] and group [1 variable] of the site director!
base,VAR (read only; base EM allocation for the site) name,VAR (read only; name of the logical site! r eserved,NUMBER,VAR <lesson at the specified numerical position in
the reserved lesson list for the site; maximum of 10 lessons; to delete a lesson use "change" with VAR set to 01
edisp , VAR (flags for displaying the site E-display; 6-bits, right-justified: subsite 1 EM usage, user type, group, name 1 station)
lockout,VAR !time interval in seconds during which the site is locked aut and new users cannot sign onl
lastaction,VAR,NUM VARS (read only; last action at site; 4 variables: [11 name of user maKing the change ( fir~t 10 characters) C2l second part of name in left-most 48 bits; user's station
number in right-most 12 bits [3] user's group in left-most 48 bits; last action code in
right - most 12 bits (4] day of the change [see -day- command; use v-variableJ)
last action codes: 1 change the reserved lesson list; 2 change the LSAC name; 3 change the cue name; 4 change the site manager name; 5 change the "test" file name; 6 change the exit gate; 7 change the "test2" file name; 8 change the site file name; 9 change the help file name; 10 change the site message; 11 change author deletion; 12 change the site lockout value; 13 change the site director; 14 rename the site; 15 change the base EM allocation; 16 change E- display flags; 17 change the access list; 18 remove stations from the site; 19 change the help display; 20 assign stations to the site; 21 change subsite assignments; 22 change language settings; 23 change time zone settings; 24 change special station status; 25 change autosignons; 26 change degraded system assignments; 27 create a subsite; 28 destroy a subsite; 29 rename a subsite; 30 create the subsite common; 31 create an access list; 32 destroy an access list; 33 create a help display; 34 destroy a help display; 35 change system cue parameters
("zreturn" values on next pagel
NOTE: With preceding options for -nsite- (except "reserved"):
zreturn = -i if -nsite- is executed successfully = 0 . f no si te has been set by -nsite set-
With option "reserved":
:r eturn = - L if the lesson at the specified position is reserved = - i if the lesson is not yet reserved (will be reserved when L
the lesson is brought into EMl -- 0 if no site has been set by -nsite set-= 1 if the position number is not valid = £. i f the lesson is already listed (" change" only)
-·
M5
Subsite commands
subsite active stores the physical station numbers of the specified number of active stations on the subsite (specified by numberl; if all active stations are stored, the next variable after the last stored station contains -1
subsite SUBSITE;active,STARTING STATION NUMBER,STARTING VAR FOR STORING STATION NUMBERS,NUM ACTIVE STATIONS TO STORE
Note: zreturn = -1 if -nsite active- is executed successfully = 0 if no site has been set by -nsite set-= if the starting station number is not valid = 2 if the subsite number is not valid
subsite stations stores the physical station numbers of the specified number of stations permanently on the subsite (specified by numberl; if all permanent stations are stored, the next variable after the last stored station contains -1
subsite SUBSITE;stations,STARTING STATION NUMBER,STARTING VAR FOR STORING STATION NUMBERS,NUM STATIONS TO STORE
NotP.: zr eturn = -1 if -nsite stations- is executed successfully = 0 if no site has been set by -nsite set-= if the starting station number is not valid = '") if the subsite number is not valid L
subsite info stores EM information for the subsite (specified by number)
subsite SUBSITE;info,STARTING VAR FOR STORING INFORMATION
Note: Informdtion consists of:
n (:<+ll n ( >: +2 l n ( :< +3 l n (>: +4l
or nc ( >: l contains
II
= starting variable the base EM allocation for the subsite the EM currently allotted the EM currently in use the number of active stations on the subsite the number of stations assigned to the subsite
zreturn = -1 if -subsite info- is executed successfully = 0 if no site has been set by -nsite set-= 2 if the subsite number is not valid
NOTE: Valid subsite numbers are 0 through 63.
In these commands, if SUBSITE is -1 1 information for the entire site is obtained; these commands are then equivalent to -nsite active-, -nsite stations-, and -nsite info-.
Station cc:~i':]2.nd·;
These co mm ands change and store information on a station and control the station.
NOTE: With the following forms of the -nstat- command, "change" access ~h~rrgg~
the parameter to the information contained in the specified variable lsi; "read" access ~tQ[~~ the parameter ~rr the specified variable(sl.
nsta.t nstat
To change alphabetic information use a left-justified string ISlO characters! or n-type variable(sl containing a left-justified string. To read !store ) alphabetic information use n-type variables. (A lphabetic information is stored left-justified. I
STATION is the physical station number (v alue assigned by the system).
STATION;change;DPTION1;DPTION2;0PTION3; ..• STATION;read;OPTION1;0PTION2;DPTION3; •••
These OPTIONS change and store information on the specified station.
:;ite,VAR su.bsite,VAH
(read only; number of the logical site: 0 through 631 (subsite number: 0 through 631
1 :3.nguage 1 \IAR time zone,!.!AR
0 t h t- ou.g h
\l anguage ["zlang"J setting: !) through 7! !time zone offset [6 bits right-justified]: 63)
degraded,VAR !read only; degraded station priority: 0 through 3) left bit for site
1 means bypa.·:;s bypass,VAR ICUC bypass [2 bits right-justified:
bypass, right bit for subsite bypass; bit set to is active]: 0 through 31
autosign,STARTING VAR 1 NUM VARS group, name [2 variables],
!autosignon; up to password; to delete
use length of 0 with "change")
4 variables: :3.r: autosi gnon,
sta.tus,VAR (read only; sta.tus of the station; VAR is set to: -2 if the station is in the process of signing on -1 if the station is active
0 if the station is inactive if backout of the station is in progress
L if the station is not available)
NOTE: With the preceding forms of -nstat- for information about a station:
~ retur-n = -- • 1
= 0 =
= ,., ,;_
= -:r ·-·
i f i f i f i f i f
-nstat- is executed successfully no site has been set with -nsite setthe station number is not valid the station is not on the site va.lues are not in the valid range \"site"; "subsite ",
" l an g u age" 1 " t i me zone " 1 " de g r a ci e d " , and "by pas-:; " l Q[
if the group name is not valid ("autosign"l = 4 if the system buffer for storing autosignons is full
(with "autosign")
(-nstat- OPTIONS continued on next page)
M7
These OPTIONS store information about act i vity at the specified station ( <::.1 1 a r 2 ;, t- e ad o n 1 y " ) •
name,STARTING VAR {name of the user [2 variables]) group 1 VAR (name of the user's group) account,VAR lname of the account containing the user's group! u.ser type,VAR <type of user, e.g., 'student') sesstats,STARTING VAR,NUM VARS (first variable: elapsed time in msec;
second variable: disk accesses in left-most 30 bits , CPU usage in msec in right-most 30 bits )
lesson 1 VAR {type of activity, indicated by symbol and file namel lesson ecs,VAR !lesson EM usage in 3 15-bit fields: [unused fieldl ,
storage EM, common EM, lesson EMl ro uter , VAR (name of the user's router) router ecs, VAR (router EM usage; same for mat as lesson EM I id 1 VAR tt ype; VAR z :d ile , VAF~
(value of "zid" for the user) ( t ype of terminal in right-most 4 bits; see "ztt ype" ) l name of processor lesson database )
NOTE : With the preceding forms of - nstat- for acti vity at a station:
zreturn = -1 if -nstat- is e :< ecuted successfull y = 0 if no site has been set with -nsite set-= 1 i f t he station number is not valid - -. i f the station is not on the site L.
= 3 if t h C? station is not active
Thes e comm ands control t he terminal.
n st~.t on
nstat
Note:
nsta.t oH
station
Nate:
connects the specified station if it has been locked out
STATION; on
n-et urn = - i if L
= 0 if = 1 if = 2 if = ~ if ·-·
the no the the the
station site has station station station
is connected successfully been set by -nsite setnumber is not valid is not on the site is already connected
locks out the specified station and pre vents further use of the term i nal !sets "backout" to -21
SfATIONj off
::retu r n = . - l
= 0
= = '"\
.(.
-· 3 = 4 = 1:"
-..)
if i f i f if if if if
the stat i on is locked out suc:essfully no site has been set by -nsite setthe station number is not valid the station is not on the site
·the station is already locked out the station cannot be locked out the use t executing the command presses STOP1
nst<:t
ns t-3. t
nsta.t
sig ni n signs an the user with the specified name, group , and password; PASSWORD is omitted if no password is required
nsta. t
Note:
stop 1
Note~
STATION;signin,STARTING VAR CONTAINING NAME,VAR CONTAINING GROUP, VAR CONTAINING PASSNORD
zreturn = -1 if the station is signed on successfully
2.
= (l if no site has been set by -nsi te ·set-= if the station number is not valid = " if the sta.ti on is not on the site L
·- .:_, if the sta-tion is al!"eady active = 4 if the station cannot be signed on = 5 if the user e:<ecuting the commano presses STOP1 = 6 if the for ma.t of the name or group is not va.lid = "7 if t ~.e ·sta.hon does not respond to the request I
presses STOP1 at the specified statio n (sets "ba c kout" to +1 until t he user at the statio n enters an i nstructional lesson !
STATION;;top l
re tuxn = - 1
·- 0
= = "' i.
= ,, -:.·
= 4 = c
,_)
i f i. f i .-
T
c f l .f.
' i f i f
STOPl is pressed at the station no site has been set by -nsite setthe statio~ number is not valid t he station is not on the s it e t he station is not active STOP1 cannot be pressed at this station t he user e ~ ecuting the command presses STOPl
logout ba.cks out the specified st;;.tion (sets "bac kout" to - 2)
nstat STATION; logout
Note: z ret urn = - < i l
= (l i = ; . = 'J i <.
= 3 i = 4 i = 5 -
f .r ' f f f f f
the backout is successful no site has been set by -nsite setthe station number is not va l id the station is not on the site the station is not active the station cannot be backed out the user executing the command presses STOPl
nstat send
nstat
nstat
Note:
M9
sends a message (in -mode rewrite-) to the specified station or rings the sound device on the terminal (if programmable)
STATION;send 1 message,SCREEN LOCATION,STARTING VAR CONTAINING MESSAGE,NUM CHARACTERS IN MESSAGE STATION;send,beep
zreturn = -1 if the message or . 1 s1gna~ is sent successfully
= 0 if no site has been set by -nsite set-= 1 if the station number is not valid = '") if the station is not on the site <-
= 3 if the station is backed aut = 4 if a message cannot be sent to this terminal
M10
System variables for managing sites
~ i .- -, .::.. .i. ::::)'=.·. ·- - -1 if the lesson is a site access controller
zruGner = -1 if the lesson is being executed at a runner station i_i 0 t h 2 r-1'4 i S E
M11
Commands in this section are legal only in a site lesson.
NOTE: In new site programs, use -nsite- and -nstat- commands.
Site commands
These commands give information on the specified logical site.
site
site
set specifies the logical site for subsequent -site- commands and -station- commands; a later -site set- command overrides an earlier one
site set ,VAR CONTAINING SITE NAME site set,'SITENAME'
Note: zreturn = -1 if -site set- is executed successfully
info
= 0 if the lesson is not a site lesson for the specified sitename
stores current site EM information for the site specified by a preceding -site set-
site info,STARTING VAR FOR STORING INFORMATION
Note: Information consists of:
n<xl or nc(xl = starting variable n (xl contains the base EM allotment n l x+11 the EM currently allotted n(x+21 the EM currently in use n (x+31 the number of active terminals on the site
zreturn = -1 if -site info- is executed successfully = 0 if no site has been set by -site set-
site active stores the physical station numbers of the specified number of active stations on the site; if all active stations are stored, the ne xt variable after the last stored station contains -1
site active,STARTING STATION NUMBER,STARTING VAR FOR STORING STATION NUMBERS,NUM ACTIVE STATIONS TO STORE
Note: zreturn = -1 = 0 = +1
if -site active- is executed successfully if no site has been set by -site set-if the starting station number is invalid
Ml ~ : ~ L. ~.
si t e stat ion s stores the physical stition numbers of the specified number of s tat i ons permanently assigned to the site; if all permanent sta tion s are stored, the next variable after the l ast stored station contains -1
site stat 1ons 1 STARTING STATION NUMBER,STARTING VAR FOR STORING ST ATIO N NUM BERS,NU M STATIONS TO STORE
Note: zreturn = - 1 if -stte stations- is executed successfull y = 0 if no site has been set by -site set-= +1 if the start in g station number is invalid
M13
Stat1on commands
These commands give information on individual stations on the logical site .
st.;tion info stores information on the specified physical station number
station info,STATION NUMBER,STARTING VAR FOR STORING DATA
Note: Information consists of:
n(xl Q[ nclx l =starting variable rH :<I and n(:{+1) contain the user's name (up t•J 18 characters) n(x+21 contains the name of the user ' s group n( x+3 1 the type of user n ( ~: + 4) the account name containing the user's gt-oup
session statistics (in 3 20-bit fields--disk accesses, seconds of CPU, elapsed time in seconds) the name of the user's lesson or type of activity
n ( :< +8) n ( :< +9)
zreturn = = = = =
total EM the lesson is using lin 3 15-bit fields-storage EM, common EM, lesson EM [left-mast 15-bit field is empty]) name of the user's router EM used by the router (same for~at as lesson EMl
--1 i ·f -station info- is executed successfully 0 if no site has been set by -site set-
if the station number is invalid " if the specified station is not on the site 4
"{ if the station is inactive ·J
station status sets "zreturn" according to the status of the specified physical station number
station status,STATION NUMBER
Note: zretL\rn = -2 if the station is in the process of signing on = - 1 if the station is active = I) if no site has been set by -site set-= if the station number is invalid = '"' if the specified station is nat on the site £..
= < if the sta.t ion is inactive •J
= 4 if a backout of the station is in progress = c:- if the station is locked out .J
i114
sends the specified message (in -made rewrite-) to the spec ~ fied physical station number
station send,STRT!ON NUMBER,SCREEN LOCATION,MESSAGE,NUM CHARACTERS IN MESSAGE
N 0 t e i ~ r e ~ U. r rt = -·-= = = =
1 0
2 .::..
i i 1
1
L
.r. I
f f L I
.r. I
message is sent successfully no site has been set by -site setthe station number is invalid the specified station is not on the site no message is sent (specified station is a
runner station or is the station sending the ;1\essa.ge)
station logout backs cut the specified station (sets " bac~out" to -21
stat i on logout,STATION NUMBER
zreturn = 0
.-. L
=
if t he ~ackout is successful if no site has been set by -site set--if the station number is invalid if the specified station is not on the site if the specified station cannot be backed out
st~.ti o~ stop 1 p r- e s ·; e s S T 0 F' 1 a t t h e s p e c i f i e d ·:; t a. t 1 o n ( s e t s II b a c k o u t !I t o +1 until the station enters another instructional lesson)
statio n
sta tion stopl,STATION ~ UMBER
No te! zretu.rn = if STOPl 1s pressed at the station
off
= 0 if no site has been set b y -site set-= if the station number is invalid = 2 if the specified station is not on the site = 3 if STOPl cannot be pressed at the specified
station
locks out the specified station the term in al \sets "backout" to
and prevents further use of
station off,STATION NUMBER
Note~ zreturn = -1 i J: the station is locked out successfully I
= 0 if no site has been set by -site set-= 1 if the station number is invalid = ~. if the specified sta.tion is not on the site L
= ' . r the specified station cannot be locked aut ·J 1 T
M15
station on connects the specif1ed station if it has been locked out
station on,STATION NUMBER
Not e: zt·eturn = -1 lf the station is connected successfully = 0 if no site has been set by - site set-= if the station number is invalid = 2 ' .! l I the specified sta.tion is not on the ;ite = 7 the station is already connected .j
Additional notes on MANAGING SITES
Additional notes on MANAGING SITES
Additional notes on MANAGING SITES
PRESENTING
F'HESENTING
Basic di;pla_y
at specifies starting position of displa y on the screen; sets left margin
a.t COAF: :3E at FINEX,FINEY
Note: The following formulas convert between character-grid and fine-grid coordinates.
f i n e :' == 8 0 0 :.: f r a c i. c o a r s e I 1 0 0 ) - 8 finey = 512-16 •·• intl:coar:;e/100) cGa.t-:;e = 100 x {1 + int[ (511- finey) /16]} + int (fi ne;U8 i ... 1
' ~
atnm like -at- but does not reset the left margin
writ.ec
atnm CCARSE atnm FINE X, FINEV
displays te1t 1 including embedded information
~;Jrite ANY MESSA6E 1 WHICH MAY CONSIST OF SEVERAL LI NES AND INCLUDE EMBEDDED INFORMATION.
displays one of several messaqes depending on the rounded value of
the con~itional expression
writec EXPR*MESSAGEMtMESSAGEO*MESSAGEl**MESSAGE3
NOTE: These embed features are available. See descriptions of the individual commands in this section for information on FORMAT 1 MINIMUM, and ASTERISK , which are optional.
4show,EXPR,FORHAT,HIHIHUH~ or 1s,EXPR,FORHAT,HIHIHUH~
4showz,EXPR,FORHAT~ or 1z 1 EXPR,FGRHAT~ 1showt,EXPR,FORHAT~ or 1t,EXPR,FORHAT~
1showe,EXPR,FGRHAT,AST£RISK~ or 1 e 1 EXPR,FORHAT 1 AST£RISK~ 1showo,EXPR,FORHAT~ or 1o,EXPR,FORHATt ishowh,EXPR,FORHAT. or 1h,EXPR,FORHAT} ishowa,STARTING VAR,FORHATt or ia,STARTING VAR,FORHAT~
1at,COARSE}; 1at,FINEX,FINEY~
1atnm,COARSE~; 1atnm,FINEX,FINEYt
isize,EXPR GIVING SIZE OF WRITING. 1size,SIZE IN X DIRECTION,SIZE IN Y DIRECTION•
1rotate,EXPR GIVING ANGLE FOR WRITING~
~m 1 w~ !write mode) (m,e~ (erase model im 1 rt (rewrite model
P2
NOTE: In the show-type commands (-show-, -showz-, -showt-, -showe-, -showo-, -showh- , -sho wa-l, the general form is
showz EXPR,FORHAT
where FORMAT, which may be an expression, is optional. If FORMAT equals o, nothing is displayed.
For displaying entire arrays, the general form is showt ARRAYNAME,FORHAT (for arrays with number of rows ~ 16,
number of columns ~ 64; -showa-, -showh- 1 -sh owo-, -sho we may also be used to display entire arrays)
To display only the first element of an array, use show ARRAYNAME,FORHAT Q[ showz ARRAYNAME,FDRHAT
show displays the value of a variable or an expression with the specified number of significant digits but with suppression of trailing zeros after the decimal point; exponential format is displayed if the number of digits preceding the decimal point exceeds FORMAT by more than 4, or if the absolute value is less than 10-4;
showz
showt
showe
MINIMUM is between 0 and 1 and specifies the smallest non-zero value to be displayed (0 is displayed if the absolute value of the expression is less than MINIMUM)
show EXPR,NUH DIGITS,HIHIHUM (NUM DIGITS , if omitted, is 4; MINIMUM, if omitted, is 10-9)
similar to -sho w- but displays all digits, including trailing zeros
showz EXPR,NUH DIGITS (FORMAT, if omitted, is 4l
displays the value of a variable or an expression in the specified format
showt EXPR,PLACES LEFT OF DECIMAL POIHT,PLACES RIGHT OF DECIMAL POIHT <FORMAT, if omitted, is 4,3 for v-variable, 8 for n-variable; if the number of decimal places is less than 10, FORMAT may also be expressed as a single decimal number: e.g ., 4.3 is equivalent to 4,3l
displays the value of a variable or an expression in exponential format with the specified number of significant digits, including a leading blank or a minus sign; an optional third argument specifies formats for the exponent and f or multiplication
sho we EXPR,HUH DIGITS,ASTERISK <NUM DIGITS, if omitted, is 4; ASTERISK is omitted or =0 for exponent expressed by superscript, *0 for exponent expressed by 2 asterisks and multiplication sign replaced by one asterisk)
showo
showh
show a
hidden
P3
displays the value of a variable or an expression in octal notation
showo EXPR,HUH DIGITS DISPLAYED !FORMAT, if omitted, is 21; in embedded -showo- default format is 20)
displays the value of a variable or an expression in hexadecimal notation
showh EXPR,NUH DIGITS DISPLAYED !FORMAT, if omitted, is 16; in embedded -showh- default format is 151
displays characters in the specified variablelsl or specified string, reading from the left end of the buffer; does not affect "wherex", "where y " I embedded form of - s h m~ a- do e.s a f f e c t "where x " 1 "where y " I
showa show a
STARTING VAR,NUH CHARACTERS !FORMAT, if omitted, is 101 "STRING" !STRING may contain up to 10 characters)
displays hidden as well as visible characters; (special symbols are used to displa y hidden characters! ; number of characters includes all 6-bit character codes
hidden STARTING VAR ,H UH CHARACTERS INUM CHARACTERS, if omitted, is 10)
Note: Symbols for hidden characters are:
o zero code loOOI n superscript (o671 +- backspace lo741
blank lo551 t shift lo701 • font lo751
u subscript lo661 • carriage return lo711 o access lo761
text displays contents of an alphanumeric buffer, line by line; the end of a line must be indicated by a variable ending with 12 bits equal to 0 loOOOOI (embedded zero codes (oOOI are ignored!; not affected by -size- or -rotate-; does not affect "where:·:" 1 "wherey"
erase
text STARTING VAR,NUM VARS
erases the screen, selectively or entirely
erase abort (causes a full-screen erase and aborts output) erase IBI Q[ erase NEGATIVE NUMBER (causes full-screen erase
but does not abort output I erase NUM CHARACTERS TO BE ERASED erase NUM CHARACTERS PER LINE 1 NUM LINES (causes block erase)
Note: Selective erase is affected by preceding -size-, -goriginland -scalex- 1 -scaley-1 1 and -rorigin-.
F'4
m .:::j~ specifies terminal writing mode (·:;ee a.lso system variable "mo de")
:node mode mode
mode
mode
write erase
(normal writing state; writes only selected dots ) (era ses only selected dots) (erases and rewrites in one step; does not work with "size" :f:. i))
inverse (only on programmable terminal; displays dark writing on light backg round)
EXPR ,era se ,write,x,erase (exampl e of conditiona l form; argument x le aves writing mode unchanged)
Note: The mode is reset to ·~rite" after any full-screen erase, in particular at a main unit not containing -inhibit erase-.
size specifies the size of line-drawn characters; remains in effect across main unit boundaries until turned off explicitly !see also system
rotate
variabl es 11 Size 11 , !lsize ;{ 11 ~ 11 Siz e y 11 }
size EXPR GIV ING SIZE OF CHARACT ERS size SIZE IN X DIRECTION,SIZE IN Y DIRECTION !sets independent
sizes in x and y directions) size 0 or s i ze (8 ) \restores standard writing)
Note: Negative "size x" gives backwards characters and writing; negative "sizey" gives upside down characters and writing. Negative "size" behaves like simultaneous negative "sizex" and negative "sizey".
causes line-drawn characters to be written at the angle specified in the tag; re~ains in effect across main unit boundaries until turned off explicitly (must be used with -size- tag * 01
rotate EXPR GIVING ANGLE IN DEGREES !omit degree s ym bol ; measured counter-clockwise from horizontal!
rotate 0 or rotate IB) (restores horizontal writing!
char permits specification of specially designed characters for display
Note: The character name INAMEI may be a number from 0 to 126 (excluding 63 1 or a defined name. Arguments ARGl through ARG8 are numbers which specify which of the 16 dots are lit in each of the 8 columns of the character space.
for e:<ample :
define chi=88 $$ load chi on X char chi ,o 4020!o10040,o6300 1 ol600,o3140lo402 0 1 o l0040 1 0
P5
plot displays a special character previously specified by a -char- command
plot plot
NAME EXPR IEXPR may have value from 0 to 126, excluding 63)
Note: Special characters may also be displayed by pressing the FONT key and then the key(s) where the character(s) are loaded into the terminal memory. Built-in characters are displayed after FONT is pressed again.
inhibit temporarily disables certain normal actions of TUTOR in a unit; all settings are cleared at each main unit
delay
inhibit anserase
inhibit arrow inhibit blanks
inhibit chat-clear inhibit dropfile
inhibit dropstor
inhibit edit inhibit et-a se
inhibit from
inhibit jumpchk inhibit term inhibit (B) Q.C
(prevents automatic erasure of answer-contingent message when a response is erased) (prevents plotting of the response arrow) (prevents judging if NEXT is pressed before any characters are typed) (prevents clearing of the cha rset flag) (prevents the attached file from being released during a jumpouti (prevents storage from being dropped during a jumpoutl (prevents use of the EDIT key) (prevents normal full-screen erase when proceeding to the next main unit; retains status of "where", "mode", and -enable-) (prevents return to the lesson containing this statement via -jumpout return- or -jumpout return,return-l (prevents EM check before attempting a jumpout) (prevents use of the TERM keyl
inhibit clear (removes effect of previous -inhibitcommands in that main unit)
inhibit clear,a rrow,blanks (may combine tags)
permits short delays during output; causes "do nothing" output to be sent to the terminal for the specified delay time
delay DURATION OF DELAY IN FRACTIONS OF A SECOND (maxi mum of 1 second; accurate to 1/60 second )
F .• 0
lang sets the system variable "zlang"
lang lang lang lang lang lang lang lang
english (sets (sets (sets <sets (sets
"zlang "zlang "zlang "zlang "zlang
to 01
F'7
Gr a. phi cs
NOTE: Wi th -dot-, -draw - , - box-, -fill-, -vector-, -window-, LOCATION is the s creen location and may be COARSE or FINEX,FINEY. Coarse-grid and f i ne-grid coord inat es may be mixed in tags with more than one argu ment.
dot draws a dot at the specified screen location
dot LOCATION
dra1~ dt-;;..w s a. dot, lin e, or- line-dra\~n figure; a.ftet- e ;{ e cution 1 "wh ere :< " J.nd "where y" a.re ·set to the last point plotted
dr aw
d r a~~ dr a.w d t- a. ;~
draw
LOCATION (dr aw ·; a dot; -dot- i s faster if many do t s. are plotted; -d r a w- is faster if lines are a l so be ing drawn)
LOCATION1;LOCATION 2 !draws a line l LOCATIONl;LOCATION 2; LOCATION 3 !dr aws connec t ed lines) :LOCATION (draws a continued line) LOCATIO N1; LOC ATION2; skip;LOC ATION 3;LOCATION4
( "s ki p" moves to a new pos iti on without plotting)
Note: The tag may contain up to 63 points (" skip " counts as a point ).
bo ~ draws a rectang l e with the specified corner locations and thic kness; after execution , "where x", "where y" are set to the lower left c orn er of the bo x with thic kness included
bo x CORNER LOCATION;OF'POSITE CORNER LOCATION;DOTS THI CK bo x ;CORNER LOCATION;DO TS THICK (opposite corner at cu rr ent
"where x " , "where y"l CORNER LOCATION (opposite corner at 0,0; cannot spec i f y
thickness with this fo rm of tagl (equivalent to -box 0 1 0; 511 1 511 - 1 ( 8 )
Note: Thickness , if omitted, 0 1 1 1 or -1, is 1 dot. Negative thickness extends inward; positi ve thickness extends outward. Maximum thickness is 94 (or - 941.
fi l l fills (- mode write- or -mode rewrite-) or er ases (- mode erase- or -mode inverse-) a rectangular area on the screen on a programmable terminal; does not affect the setting of "wh ere x" , "wh erey"
fill CORNER LOCATION;OPPOSITE CORNER LOCATION fill ;CORNER LOCATION (opposite corner at "where x" 1 "wherey") fill (8) (fills in the entit-e screen, i.e ., c ot-ners 0,0;511 , 5111
F8
vector
window
circle
draws a vector symbol with specified tail and head locations and head size
vector vector vector vector
Nate;
TAIL LOCATION;HEAD LOCATION;SIZE ;HEAD LOCATION;SIZE (tail at "where x", "wherey"l HEAD LOCATION (tail at 0,0 ; cannot specify head size) O,O;HEAD LOCATION;SIZE <tail at 0,0 ; head size specified)
SIZE, if omitted, is 10 or 11 dots for moderate-length vectors. Negative size indicates open arrowhead. lsize!21 is absolute (i n screen dotsl; lsizel<l is relative to the length of the vector.
establishes a rectangular "window" on the screen outside of which line-drawn display is not plotted; remains in effect across main unit boundar1es until turned off explicitly
window CORNER LOCATIO N;O PPOSITE CORNER LOCATION window ;CORNER LOCATION window CORNER LOCATION
(opposite corner at "where:< II, 11 Where yll)
(opposite corner at 0,01 window (8) (clears previous - window- settingl
draws a circle with the specified parameters; the center is at the c u. r r e n t 11 w h e r e :< " 1
11 w h e r e y 11 ; a f t e r e :< e c u t i o n 1 II w h e r e :; 11
, 11 w h e r e y " a r e
set to the center for a one-argument tag and to the end of the last line drawn fo r the three-argument tag
circle RADIUS IN DOTS,START ANGLE,EHD ANGLE (second and third arguments are optional: if omitted , START ANGLE is 0° and END ANGLE is 360°; angles are measured in degrees counter-clockwise from START ANGLE; degree sign is omitted)
circleb same options as -circle- but draws a broken circle
circleb RADIUS IN DOTS,START AHGL£,END ANGLE
P9
Relocatable graphics
r-origin establi·:;hes a "reloca.table" ori·~in for use with -rat- , -r-atnm- 1
-rdot-, -rdraw-, -rbox- , -rvector-, and -rcircle-; remains in effect across main unit boundar i es until reset
rorigin COARSE rorigin FINEX,FINEY rorigin ( 0\
'. 1..1 I (s ets r e! o ca. tab l e or i g i n to " where:; ;o 1 " ?I he t- e 'f o; )
Note: Upon ent ering a lesson , the r elocatable origin is automatical l y set t o -rorigin o,o-.
NOT E: All subsequent relocat able commands are af fe cted by precedi ng -ro rtgln - , -s ize-, and -rotate- .
rat similar to - at- but relative to the - r origin- location; affected by preceding -size- and -ro tate-
rat X-LOCATION ,Y-L OC ATION rat ( 8 ) (eq ui val ent t o - rat 0,0 - , i.e. 1 th e current -rorigin-1
ratnm similar to -rat- but does not re set the left mar gin (se e -at nm - 1
X-LOCATION,Y-LOCATION
rdct draws a dot at the spe c i f ied position relative to the -rorigin location ; pos iti on is affected by preceding -size- and -rotate-
rdraw
rdot X-LOCATION,Y-LOCATION
similar to -dra w- but figure is in screen dots relati ve to the -ror i gin- location; affected by preceding -size- and - r otate-; "wherex" and "wherey" are set to the last point p l otted
for e :< a.mple:
Xl,Yl;X2,Y2 (draws a line relati ve to -rorigin-1
rbo x similar to -bo x- but draws a rectangle relative to the -ror iginlocation; affected by preceding -size- and -rotate- (see -box-)
rbox CORNER X,CORNER Y;OPPOSITE CORNER X,OPPOSITE CORNER Y; DOTS THICt~
r bo:< ;CORNER X,CORNER Y;DOTS THICK (opposite corner at "where}:", "wherey"l
rbox CORNER X, COR NER Y (opposite corner at - rorigin - location; cannot specify thickness with this form of tag)
PlO
rvector similar to -vector - but draws vector symbol relative to the - roriginlocation; affected by preceding -size- and -rotate- !see -vector-)
rvectGr XTAIL,YTAIL;XHEAD,YHEAD;SIZE rvector ;XTAIL,XHEAD;SIZE (tail at "wherex", "wherey"l rvector XHEAD,YHEAD !tail at -rorigin- location) rvector O,O;XHEAD, YHEAD;SIZE !tail at - rorigin- location)
rcircle same options as -circle- but is affected by preceding -rotate - and -size-; gi ves an ellipse if preceded by two-argument -size- with unequal arguments; the specified radius is the radius before being affected by - size- (see -circle-)
rcircle RADIUS IN DOTS,START AHGLE,END ANGLE
F 1 i
Drawing grap hs
gorigin specifies location of the origin of the graph; all other di sp lay with graphing commands is relative to this origi n; remains in e ffect across main unit boundaries until reset
gorig i n COA fi: SE gorigin FIN EX 1 FINEY ~~or1gin ( B ) { s e t s g r a. p h or i g i n t a II w her e ~< " , ': w her e \/ :: ;:
Note: Upon entering a lesso n, the origin ts automatically set to -qoriqin 0! 0-.
axes specifies lengths of the axes and draws the axes; remains in effect across main unit boundaries until reset; x and y values are !n dots relative to the -go rigin- location
bounds
seal·~:<
sea ley
a xes NEGATI VE X,NEGATIVE Y,POSITIVE X1 PO SITIVE Y POSITIVE X,POSITIVE Y 18) (draws a xes sp ecified by the last -a xes- or -bounds- )
Note: To draw one-quadrant axes (other than both positive a xes) with labeling on the outside of the axes, use four-argument form ot the tag with arguments corresponding to mi ssing axes set to 0.
specifies lengths of the axes but does nat draw the a xes (i. e . 1 axes are in visible ! ; remains in effect across main un it boundaries until res et ; ~ and y valu es are in dots relative to the -gorigin- location
bounds NEGATIVE X,NEGATIVE Y,POSITIVE X,POSIT IVE Y bounds POSITIVE X,POSITIVE Y bou nd s 181 (sets up bounds specified by th e last -a xes- or -bounds -)
Note: Upon entering a lesson the boundaries are automatically set to -bounds 511 1 511-.
specifies the ma ximum value and the value at the origin on the x axis; scale is reset with each new -a xes- or -bounds-: sca l e remains in effect across main unit boundaries until reset
scalex MAXIMUM VALUE OF X,VALU £ OF X AT ORIGIN (valu e at origin, if omitted, is 01
same options as -sca lex - but for the y a xis
scaley MAXIMUM VALUE OF V,VALUE OF Y AT ORIGIN (value at origin, if omitted, is 01
lscalex specifies the maximum val ue and the value at the origin on tne x axis; the scale between these po int s is propo rti onal to the logarithm of ma~imum x divided by the value at the origin; remains i n effect across main un i t boundaries until reset
lscalex MA XIMUM VALUE OF X,VALUE GF X AT GRIGIH !value at origin , if omitted, is 1 , i.e. 1
100 }
lscale y same options as -lscalex- but for the y axis
lscaley MAXIMUM VALUE OF Y,VALUE OF Y AT ORIGIN (v alue at origin, if omitted, . ' . 1 s J. , 1 . e,. ,
NOTE: If an y of the commands -scaiex- , -scaley- 1 -lscalex-, -lscaley- are omitted, a linear scale with length set by the preceding - axes - or -bounds- is assumed.
NOTE: Subsequent gr aphing commands are in appropriate scaled units .
label:·; specifies mark intervals, draws tick marks, and labels the x axrs
labelx MAJOR INTERVAL,HINOR IHT ERVAL,KA RKS IZE ,FORHAT
labely specifies mark intervals, draws tick mar ks, and labels the y axis
label y MAJOR INTERVAL, KIN GR IHT £RVAL,HARKSIZ£ ,FORHAT
m.3.r k :< specifies mark intervals; draws tick marks on the R axis with no labels
mark:·~ MAJOR INTERVAL,HINOR IHT£RVAL,HARKSIZ£
mad:y specifies mark intervals; draws tick marks on the r axis with no labels
marky MAJOR INTERVAL,KINOR INTERVAL,HARKSIZE
NOTE: The total number of marks on an axis cannot exceed 100. MAJOR INTERVAL = 0 (with linear scale) to select the "best" interval
automatically MINOR INTERVAL = 0 or omitted to omit minor marks MARKSIZE = 0 or omitted for normal label marks MARKSIZE = for major marks extending to bounds of the graph MARKSIZE = 2 for all marks extending to bounds of the graph FORMAT gives the format for the labels and has the same form as that
for -showt-, e.g., 1.2 or 1 1 2. FORMAT is optional; if omitted, the label format is selected automatically and depends on the scale .
Blank fields are not permitted; use 0 where appropriate.
<NOTE continued on next page!
P13
NOTE: !continued from preceding page) For labeling log scales:
polar
MAJOR INTERVAL must be 0 (major marks are automatically plotted every decade!
MINOR INTERVAL < 0 1 minor marks are not plotted MINOR INTERVAL = 0 or 3 lor omitted) 1 minor marks are plac ed at values
of 1, 2 1 5 within the decade MINOR INTERVAL= 5 1 minor marks are placed at 1 1 2, 3, 5 1 7 MINOR INTERVAL= 10 1 minor marks are placed at 1, 2, 3 1 4, 5, 6, 7, 8, 9
causes tags of graphing commands to be interpreted as polar coordinates containing scaled radius and polar angle; may set scales on x and y axes; remains in effect across main unit boundaries until turned off explicitly ; polar conversion and scaling must be turned off independently
polar polar
polar
polar
18' (turns on polar conversion) MAXIMUM VALUE OF X AND Y !turns on polar co nversion
and scales both axes) MAXIMUM VALUE OF X,MAXIMUM VALUE OF Y (turns on
polar conversion and scales axes independently) NEGATIVE VALUE ! turns off polar conversion but not scale )
NOTE: When the tag of subsequent commands is interpreted in polar coordinates, the degree sign must be used if the angle is in degrees. Without the degree signj the angle is interpreted in radians.
gat similar to -at- but specifies the screen location relative to the -gorigin- location and in scaled units
gatnm
gat X-LOCATION,Y-LOCATION gat DISTANCE,ANGLE (with -polar-) gat (B) !equi valent to -gat 0,0- , i.e ., the current
-gorigin- location )
similar to -qat- but does not reset the left margin (see -atnm - l
gatnm gatnm
X-LOCATION,Y-LOCAT!ON DISTANCE,ANGLE (~ith - polar- )
gdot draws a dot at the specified position relative to the - goriginlocation and in scaled units
gdot gdot
X-LOCATION;Y-LOCAT ION DISTANCE,ANGLE (with -polar-)
P14
graph
gdraw
places a relative
graph
graoh graph
graph
dot or to the
character -gorigin-
string centered location and in
at the position scaled units
indicated
X-L OCATION 1 Y-LOCATIO N,STRIHG (m aximum of 9 characters . ,, STRING; if STRING is not specified, a dot is plotted)
DISTANCE lANGLE,STRING !with -polar-) X-L OCA TIO N,Y -LOCATION;VAR,NUH CHARACTERS
lif NUM CHARACTERS is omitted 1 10 characters are plotted) DISTANCE,ANGLE;VAR,NUK CHARACTERS !with - polar-1
like -draw- but relative to the -gorigin- location and in scaled units; after execution "wherex'', "where y" are set to the last point plotted
for example:
X1 1 Y1;X2,Y2 :dra ws a line on the graph) gdra w qdraw DISTANCE1 !ANGLE1 ;DISTANC E2 ,ANGL E2 (with - polar- )
gbox same options as -box- but draws a r ectangle relative to the - goriginlocation; affected by preceding -scalex - and -scale y- (see -box - )
gbo x CORNER X, CORNER Y;OPPOSITE CORNER X,OPPOSITE CORNER Y; DOTS THICK
gbo x DISTANCE CORNER,ANGLE CORNER;DISTANCE OPPOSITE CORNER, ANGLE OPPOSITE CORNER;DOTS THICK (with - polar - )
gbox ;CORNER X,CORNER Y;DOTS THI CK (draws a bo x with opposite corner at cur r ent "wherex", "wh e rey"l
gbox ;DISTANCE CORNER , ANGLE CORNER;DOTS THICK (with -polar-1 gbox CORNER X,CORNER Y !draws a bo x with opposite corner at
- go~igin- location; cannot specify thickness w1th this form of the tag)
gbox DISTANCE CORNER,ANGLE CORNER !with - polar- 1 gbo x (8 1 (draws a boK set by a previous -axes- or -bound s- and
- scale x- and -scaley-l
gc ircle same options as - circle- but is affected by preceding -scalex- and - scaley-; draws an ellipse if the -scalex- and - scaley- settings are different <see - circle-)
gcircle RADIUS IN DOTS,START ANGL£,£ND ANGLE !specif y basic radius before affected by - scalex-, - scaley - l
P15
gvector same options as -vector- e ~ cept draws vector symbol relative to the -gorigin- lQcation and in scaled units ! see -vector -)
gvector XTAIL ,YTA IL;XHEAD,YHEAD;SIZE gvector DISTANCETAIL,ANGLETAIL;DISTANCEHEAD,ANGLEHEAD;SIZE
(~Jith -polar-) ;~ v ecto r- ;XHEAD,YHEAD.:SIZ£ (tail at "where ;{", ";·;herey") gvector ;DISTANCE HEAD,ANGLE HEAD;SI Z£ (~i th -po l ar- ! gve ctor XHEAD,YHEAD ! tai l at -gorigin- location ) gvector O,O;XHEAD,YHEAD;SIZE !tail at -go ri gin- location ) gvect or LENGTH,ANGLE (tai l at -gorigin- location; with -polar- )
Note: Because of the defau lt conditio ns of -gorigin 0,0- and -bounds 511,5 11- , -g vecto r - used without preceding -goriginand -bounds- gives t he s ame result as -vector- wi th fine-grid coordinates,
vbar draws a vertical bar !re ctangle or charac ter string ! at th e speci f ied locat i on relative t o the -gorigin- location and in scaled units
vbar X-LOCATION,HEIGHT,STRJNG vba r DISTANCE BA R TOP,ANGLE BAR TOP,ST RI HG . !with - polar-) vbar X-LOCATION,HEIGHT;VAR,NUM CHA RA CTERS vbar DISTANCE BAR TOP,AN GLE BAR TOP;VAR,NUH CH ARA CTE RS
(with - polar- )
hbar same opt i ons as -vbar- but draws a horizontal bar
hbar LENGTH,Y-LOCATION,S TRIHG hbar DISTANCE BAR END , ANGLE BAR END,S TRIHG !with -polar- ! hbar LE NG TH ,Y -LOCATION;VAR,HUH CHARACTERS hbar DISTANCE BAR END,ANGLE BAR END;VAR,NUH CHARACTERS
(¥lith -polar-1
NOTE: With -vbar- and -hbar- , STRING may have up to 9 characters. If STRING is omitted , a rectangle is drawn . If the character stri ng is stared in a variable and number of cha ra cters is omitted, 10 characters are drawn .
P16
delta
funct
specifies stepsize for subsequent -funct- commands
delta STEF'SIZE
Note: If -delta- is omitted, the stepsize is set to 1.
plots the curve specified in the tag, with the stepsize given by a preceding -delta- or by the stepsize gi ven in the tag
funct FUNCTION EXPR,INDEPE NDENT VAR
Note: Range of independent variable is set by boundaries of -axes- lor -bounds- ) and -scalex- commands.
funct FU NCTION EXPR,INDEPENDENT VAR¢INITIAL,FINAL,STEPSIZE
NG te: If i~itial or final values of the independent variabl e are beyond pre viously set boundaries, the latter are used. For polar functions if initial or final value is omitted, it is assumed to be 0 or 2u, respectively.
With either form of - f unct- , a v-variable is recommended for the independent variab le.
NOTE: With -delta- and -funct-, select a stepsize that gives a smooth graph but plots quickly. A reasonable lower lim it to the stepsize for a graph with linear x ax is is:
ISTEF'SIZEI 2 .02 :'!FINAL VALUE- INITIAL VALUE! •
f' 17
Speci3.l display
tc<.bset sets 10 tabulator positions used when the TAB key is pressed at an arrow; each setting is an absolute horizontal character position on the screen; settings remain in effect across unit boundaries until reset
tabset OCTAL NUMBER WITH 10 TAB SETTINGS PACKED LEFT TO RIGHT (each screen character position is a 6- bit octal number; unused settings must be filled with octal zerosl
for e ;.:am pl e! for tabs at character- positions 8! 21! 30, 4!:3, 56, and 63, use: tabset olO 25 36 60 70 77 00 00 00 00
Note: The tag may be an n-variable which contains the 10 positions.
tabs sets tabulator positions used when the TAB key is pressed at an arrow; each setting gives a horizontal character position relative to the arrow; only displayable characters affect positions; only the first 120 positions may be set; handles sized and bold-face writing 1
halfspaces, backspaces, half backspaces, leftwa rd writing from the arrow; settings remain in effect across unit boundaries until reset
micro
t 2.b s
t.;.bs
t 3.b s
tabs
POSITIONl,POSITION2,POSITION3 , ... !numerical arguments; variables are not accepted; 1 ~POSITION ~ 1201
write;STARTING VAR (requires 2 variables; sets tabulator posit ions corresponding to the bit pattern in the variables)
read; STARTING ~1 AR (requires . 2 variables; produces the bit
( B l
pattern in the va riables corresponding to the tabulator positions)
(clears tabulator settings)
specifies microtable definitions used when the user presses the MICRO key and then another key; unless specified, microtable and - microcommand are in the same lesson
micro micro m i c t-o micro micro
mict-o micro
\0) ,~1ICROTABLE NAME ( zl esson l, M I CROTABLE NAME ,~1ICROTABLE NM1E MICROTABLE NM1E LFSSON NAME,MICROTABLE NAME (L ESSON NAME contains the
microtable; enclose variable arguments in parentheses) <LESLIST POSITION>,MICROTABLE NAME I B l (cancels microtable in effect and restores built-in
microtable definitions)
Note: zreturn = -1 if the microtable is available = 0 if the microtable is not found
charset causes the specified character set to be loaded into the terminal memor y (see -1nhibit charclear-l; 1-block cha r set ma y contain up to 79 characters, 2- block charset up to 126 characters; unless specified, the c harset and - charset- command are in the same lesson
cha.rset ( 0) ,CHARSET NAf1E cha.r ·;et (zlessoni ,CHAHSET NAi"iE charset ,CHAR SET NAM E charset CHA RSET NA~E
charset LESSON NAME 1 CHARSET NAME (LESSON NAME co ntain s the charset blocks; enclose variable arguments 1n parentheses !
cha r set :L ESLIST POSITION>,CHARSET NAME (c lears charset flagl
z t- e t u.r n = - 1 L I t t he cha racter set is loaded successfull y
= 0 if the character set i s not found = = " i..
if th e STOP key is pressed during loading if there is an error in loading
= 3 if th er e is a disk error = c::
'"' if the vari able for the charset name equals 0
chartst allows check for presence of a character set in the terminal memory; sets "z r eturn" to -1 i f the cha r set flag is set and to 0 if not
char-tst (0) , CHARSET NM1E cha.rtst ( zle·;son ) ,CHAf:S ET NAt1E chartst ,CHARSET NAME chartst CHARSET NAME chartst LESSON NAME,CHARS ET NAME !L ESSON NAME contains the charset;
enclose var i able arguments in parentheses ) chartst <LESLTST POSITION>,CHARSET NAM E
lineset allows use of line-dra wn ch aracters , which are affected b y preceding - ::;ize- a.nd - t-ota.te-; "si ze " must :1ot be 0; linechars are di·::;played b''{ pres sing the FONT ke y or by executing -altfont on- ; a lineset may be up to 3 blocks long; 1 block ma y contain up to 128 sma ll linechars; unless sp2cified , lineset bloc ks and -lineset- command are in the same lesson
l i neset I 0 l , LI NESET NM·1E lineset (zles son ) ,LINESET NAME lineset ,LINESET NAME lineset LINESET NAME lineset LESSON NAME,L IN ESET NAME (LESSON NAME contains the lineset;
enclose variable arguments in parentheses ! lineset <L ESLIST POSIT I ON>,LINESET NAME lineset (Bl (cancels lineset in effect and restores standard sized
writing I
Note: zt-eturn = - 1 if the lineset is attached successfully = 0 if the lin eset is not found = +1 if there 15 an en-or i [i the lineset
P19
altfont change s font mode of thG terminal; affects charsets and linesets
altiont on or altfont 1 altfont alt (switches terminal to alter nate font )
altfont off or altfont 0 altfont normal (switches terminal to normal font, which ,~ the default state l
Note: Tag may be calculated, but it must be e xa ct ly 0 or 1. Altfont setting remains in effect across unit boundaries until reset by another -altfont- command or until -jumpout- is executed.
P20
Non-screen
slide
audio
o~erates the slide projector and selects the specified slide
slide slide slide slide slide slide slide
SLIDE NUMBER ROW+16xCOLUMN
!value from 0 to 2551 ! ROW, COLUMN from 0 to 151
512 256
!turns off lampl (closes shutter)
512+SLIDE NUMBER 256+SLIDE NUMBER
(selects slide with lamp off) {selects slide with snutter closed!
noslide (sele c ts s li de 0, turns off lamp , closes shutter)
sends the va1ue of the tag ( truncated to 15 bitsl to the external de vi ce connected to the "audio" jac k
au dio EXFR
pla y pl ays th e au dio device recording at the message location specified
reco r d
enable
pl a y TR ACK,SECTOR,NUM SECTORS 1128 tracks , 32 sectors each)
records a message at the location specified
record TRACK,SECTOR,NUM SECTORS
allows in~ut from the touch panel and from external devices
enable touch enable eKt enable extmap (maps external inputs onto keyset values of "key"l enable touch,ext (may combine tags!
Note: -enable touch- must be reset for each - arrow- command in a unit (after the -arrow- and before the first judging command) and after any full-screen erase - enable touch- in a unit with no -arrow- allows any touch on the screen to ha ve the effect of pressing NEXT. -enable e xt- is turned off only by -disable ext - .
disable prevents input from any de vice except the keyset; this is the normal state of the terminal
disable touch disable ext disable extmap disable touch,ext
P71
ext sends the value of the tag !truncated to 15 bits l to an e xt ernal device (or to the de vice at another station if "ext" option has been turned an by the receiving user )
ex tout
ext EXPR ext EXPR,STATION
Note: zreturn = -1 i f data is sent successfully = 0 otherwise
sends the value of the right-mo st 16 bits of the s pec ifi ed variables to an e~ternal device; the 16th bit fro m the right determines how the information is interpreted: 1 for ext, 0 for audio
exto ut STARTING VAR,NUn VARS <N UM VA RS , if om it ted, is ll
xout sends data (in 8-bit bytes) contained in the specified variables to an e xternal devtce (available only on programmable ter min als )
xout DEVICE AD DRESS (establishes an addres~ for use by subseq ue nt -extout - or -ext- commands)
xout ADDRESS,STARTING VAR,NUM BYTES,SEGHENT SIZ£ !SEGMENT SIZE, i f omitte d , is 60; if SEGME NT SIZE > 8, only the right-most 8 bi ts a r e sent )
Note: zreturn = if the data is sent s ucc essfull y = 0 if STOP or STOP1 is pressed du ring transmiss ion
~ in collects data (in 8-bit bytes! from an exte r nal device and stores it in the specified variables !avai lable only on programmable termina ls)
xin DE VICE ADDRESS (establ ish es an address to be re ad upon s ub sequent external interrupt requests)
xin ADDRESS,STARTI NG VAR, NUM BYTES,SEGKENT SIZE !SEGMENT SIZE, if omitted, is 60; if SEGMENT SIZE > 8, t~e right-most 8 bits of "key'' are stored! rlght-justifiedj in each segment)
Note: zreturn = -1 if the data is received successfully = 0 if STOP or STOP1 is pressed during transmission
beep (no tagl rings the sound device on programmable termina l s
NOTE: Commands - xout-, -xin-, -beep- ma y be used only at a programmable terminal. For current information on device addresses, see the descriptions of - xin - or -xout- in "aids".
P22
saylang specifies the language to be spoken by a phonemic synthesizer which is operated by the terminal (languages currently available: WES [World English Spelling] , ipa [International Phonetic Alphabet], Esperanto, and Spanishl; currently works only with Votrax model VS-6
saylang LANGUAGE sdylang (8) Q[ saylang q (turns off subsequent -say- commands! sa ylang EXPR,LANGUAGEM,LANGUAGEO,q,LANGUAGE2jx (example of
conditional form )
sa y specifies the sentence to be spoken by the synthesizer
s~ y SENTENCE OR PHRASE (ma y include embedded i nformation )
sa yc s~ecif i es the sentence to be spoken by the s yn thesizer depending on the value of a conditional expr ession
sa yc EXPRtPHRASEMtPHRASE OtPHRASE1tPHRASE2 ...
System variable s I. .-. ~-· l '..JI presenting
mGde
size
:> - ~ e "'
s i - ey
wt'!erey
= - .. wi th -mode er a ·:;e- } = c Wl th -mode rewri te-= wi th -mo de te- ·3ee -mode - co mma.nd
~~r l
= '") wi u-~ -mod e i nver·::;e-"-
curr e nt value of the tag of the single-argument -s1ze- command !se e - sl ze- comm and )
c u. r 2 n t. \/ a 1 lj e Gt t h e " ~-: " ax g u me n t l n t h 2 ' "
c u.r r en t y d l U. E D -f t h e y a.r q umen t ; n t I-. e " " !!
character-grid l oc ation for ne xt display
fine -g rid n location for next disp la y
t ;~o-
t wo -
g men t - s l z e- c ~ -·
g u.men t - :> l 2: e- c '::".:
::d ? e CALCULATING, System functions!
0 mma n d
om man d
f o t- z f i n e :< ( X ) ; z f i n e y ( X )
fin e-grid y l oc a tion for next display
useful for displ~y of multi-lingual text ; set b y -lang- co mm and = 0 ..c or - l ang eng l sh-' L
-= f Dr ·-,
a.!, g f r enc h-1
= ":• f o r - l anq span i sh -= 7 f o t- - 1 d.i'IQ q er ma n-.:.1
= 4 ·f or - l ann swe d i .-}.... -"
:>!I
·- " r or - l anq dutch-..! T
= I f or - l an (J i t , l an-Q d!
Additional notes on PRESENTING
Additional notes on PRESENTING
Additional notes on PRESENTING
•
ROUTING
ROUTING
F.:outer lesson
route used in a router lesson to specif y to which unit in the rou te r lesson the user is sent upon leaving the instructional l esson
route t-out e route ro ute
end lesson,UNIT NAME (exit via -end errcr,UNIT NAME (exit via execution finish,UNIT NAME (exi t via STOP1)
lesson- or -jumpout q-1 error or condense error)
resignon,UNIT HAKE (upon STOP1 exit fro~ a lesson, provides the user with a choice page offering the option to sign of f completely or to conti nue working [i . e. 1 to return to the router, to the specified unit, if given, or to the first unit if UNIT NAME is omitted] )
ro utvar lnon-e xecut abl el sets up special vari ables in a router l esson which can be used only in the router lesson; they are designated vr and nr
all o ~~
rou.t va.r NUM IJAF.~S !maximum of 64 variables)
used in a router lesson to speci fy tha t router common and/or router variables ma y be used in the instructional le sson
a.ll ow a.llow a.llow allow
t- ead
write read (B)
(read-only access to router common) !read and write access to router common )
rvars lread-only access to router var-iabl es) (clears last setting of -allow- )
R'"' 1. <.
Curriculum info~mation
NOTE: Tne following commands ar e used in instructional lessons.
lesson
scC<re
stat u.s
sets the system variable "ldone" to indicate whether the user has completed the lesson
lesson complete lesson incomplete
(sets "ldone" to -11 (sets "ldone" to 01
lesson no end !sets "ldone" to +1; may be used in lessons with no logical end)
lesson EXPR,complete,incomplete, x, no end (example of conditional fat-m; ar ·~u.ment :<leaves "ldone" unch,:~.nged )
places the value of the tag, rounded to the nearest integer, into the ·;ystem vat- ia.ble "lscore"
score score
EXPR ( B!
(v alue from 0 to 100 )
(sets "lscore" to -11
places the value of the tag, rounded to the nearest integer, into the ·;ystem variable "l·;tatus"; allows a uset- to reestablish a status upon returning to a lesson after having entered other le s sons
st,:~.tu s EXPF!
..
R3
System variables f er rou ting
en-t ype
ldone
lscore
= 0
= = 2
= 3
= 4 = 5
for f or f or not f or for f ~ ·-\..JI
unknown error type e xecution error fata l cond ense error u• for attempted jumpout to a ro uter speci fied for the group memory e;<ceeded error in the finish unit of t he instru c tional l ess on exit from the condense queue via STOP 1
= -1 if the user has encountered -lesson complete- or -end lesson-
= 0 if the user has encountered - lesson incomplete- or has never enter ed the l esson or has entered but not co mpleted the lesson (-records l donelist- returns a value of 2 for the last c ase when "rnrouter" is used)
= +1 if the user ha s encountered -lesson no end -
rou nd ed value of the tag of -score- !v alue fr om 0 to 100l; init i all y set to -1 for a user routed by "mrouter"; may also be set to -1 with - ·:;core (8;--; initiall y :;et to 0 for- a u·:;et- not rou.te d by "mr out et-"
lsta t us rcunded value of the tag of -s tatus -
cal 1 OW -· 0 f or no acce ss to router common = for ; 1 ow t- ead-- a.l 1
= 2 .L or -a l l ow ~~r i te-I
router name of the user's router lesson (left-justified; display with -showa- 1
rstartl name of the lesson from the las t -restart- command (left-justif i ed; display with -s howa- 1
rstartu name of the unit f rom the last -restart- command (left-justified; display with -showa-1
rvallow = 0 f or no access to router variables = f or -allo w read r vars-
zcurric name of the instructor file used with "mroute r " or the C'Jrriculum file used with "pl mrou ter " !left-justified ; display with -sho wa- 1
R4
zleserr gives detailed information on fatal errors which can occur when attempting to enter a lesson (i.e., errors that give a student the message: "Call Your In·:;tructot-")
= 0 = = '"I .:..
= 3 = 4
= 6
= 7 f
= 8 = 10 ·- 1 <
l
= 12 = 13 = j 4 L
= <"' 1.~
= 16 = 17 = 18 = 19 = ":: (l .a:..•.•
= 21 = '")~
L. ·- ·
= 24
= '"' "' L....J
= 26
= 27 = 28 = 30 = 31 = 7'"1
-:.•L
:: 7c:" . .)J
i l
i i
f f f f
there is no error or if the error is non-fatal the condenser is not available the lesson does not exist t he lesson source code is too long
i .r I EM is not available (although the site EM allocation is
not e:{ ceeded) if there is a disk error if there is a unit which is too long if the lesson has been deleted if there is no room in EM for the lesson common if the common is not found if there are not enough common blocks (system errorl if there is a common codeword error if there is a tag which is too long if the lesson binary is too long if the lesson is not a TUTOR lesson if the lesson is temporarily unavailable if the site EM allocation is exceeded !system error) (system error) if there is a jumpout codeword error if the common in EM has a different length from the length specified in the -common- command if a jumpout to the wrong router is attempted if there is an error in the -use- command (other than "block not found") <system error) if the lesson is not available (not used on the CERL system) if the lesson is obsolete and must be converted if there is an error in the -use- command: block not found if the processor lesson is not a valid TUTOR file if the file is restricted at the site or subsite
Additional notes on ROUTING
Additional notes on ROUTING
SEQUENCING
SEQUENCING C ' ._,!
Basic sequenci:tg
unit
unitop
NOTE:
names and initiates a section of a lesson (called a unit) which may be referred to by other sequencing commands
u. n 1 t (ma ximum of 8 characters in NAME!
si milar to -un it - but without a full-screen erase when the unit is en t e t- e d ( e t:: c e p t u. p o n i n i t i a l en t r y i n t o a l e s s on } ; !I m o d e if an d ll w her e !!
~xe not ~.ltered
unitop NAr1E (maximum of 8 characters in NAME)
Initial entry unit (ieul re{ers to commands preceding the first -un it or -unitop- command in a lesson; these are executed whenever and where ver a lesson is entered (except when a lesson executes -jumpoutto itself or when a router lesson is returned to during the session).
See -define- for formats for a local define set 1 which is declared as a co ntin uatio n of a -unit- command.
names a section of a lesson which may be referred to by other sequen cing co~mands ; does not affect the flow of execution of the unit in which the -entry- command is placed except that - entry- may not be placed within the range of -branc h-, -doto- 1 -if-, or - l oop -; no keypress is required to execute com ma nds following -entry-; no full-screen erase or other main-unit initializations occur following -en try - when it is executed within a unit
entry NAi1E (maximum of 8 characters in NAME!
NOTE: Commands -unit- , -unitop- 1 and -entr y- may have a form with arguments:
NAME<VAR1 1 VAR2,VAR3, ... l (up to 10 arguments)
A lessen may have up to 394 different units (specified by -unit-, -unitop-, and -entry-1. No unit may be named "q" or"~<". Maximum length of a unit is approximately 500 condensed words.
52
Automatic sequencing
NOTE: The following commands (-jump-, -goto-, -do-, and -join-) may have a conditional form, e.g.,
jump
goto EXPR,NAMEM,NAMEO,NAME1,x,NAME3,q do EXPR,NAMEM,NAMEO ,x,N AME2 ,q,VAR¢IN ITIAL,FINAL,STEP
Argument x is equivalent to absence of the command; argument q is equivalent to a branch to an empty unit. Special case occurs with -do q- (-join q-l, which is equivalent to -goto q-. For iterative -do-, q terminates the -do-, and x indicates no iteration is done for that value of the conditional expression. Argument q is not valid with -jump-. Up to 100 arguments are permitted in the cond itional tag.
These commands may pass up to 10 values to a unit with arguments, e.g.:
goto NAME(VALUE1,VALUE2,,VALUE4l (values may be expressions)
unit NAME(VAR1 , VAR2,VAR3,VAR4l (VAR3 is unchanged! or
do NAME(VALUE1,VALUE2;VAR1,VAR2,VAR3l (-return- returns values to VAR1, VAR2, VAR3 l
causes execution of the specified unit, with a (unless the erase is prevented : see -inhibit main unit; performs initializations associated unit; does not alter the base-unit setting
jump UNIT NAME
full-screen erase erase-) and change of with entering a main
goto causes execution of the specified unit, without a screen erase, without change of main unit, and without other main-unit initializations; there is no further execution of commands in the original unit except during the judging process
goto UNIT NAME
do (insertion) causes execution of the specified unit, without screen erase or change of main unit; returns to the original unit to execute commands following -do-
(iteration) causes repeated execution of specified unit(s) while changing a counter; otherwise same as insertion -do-
do UNIT NAME do NAME,VAR¢INITIAL EXPR,FINAL EXPR,STEPSIZE
(STEPSIZE, if omitted, is +1; STEPSIZE may be negative; loop variable is undefined after completion of the loop)
Note: Nested -do- and -join- levels may be up to 10 deep.
53
join similar to -do- but is executed during judging and during search for additional -arrow- commands following an "ok" judgment
return
join UNIT NAME join NAME,VAR¢INITIAL EXPR,FINAL EXPR,STEPSIZ~
returns values from a unit executed via a -do- or -Join- command to variables given as "output" arguments in the tag of the -do- or -Joln-; terminates execution of the unit specified by -do- or -join-
return EXPR1,EXPR2,EXPR 3 (maximum of 10 arguments)
Note: -return- occurs in a unit executed via -do- or -join- .
do NAME<EXPR;VAR1,VAR2l ("input" is EXPR, "output" is VAR1,VAR2l
unit NAME<VARl
return EXPR1,EXPR2 (returns values to VAR1 and VAR2l
exit permits termination of a -do- or -join- sequence
exit (8) or exit NEGATIVE VALUE
exit EXPR GIVING NUM LEVELS exit 0 <causes no exit>
<exit from all levels of -join- and -do-l
iferror specifies the unit to execute via a -goto- if an error is found in the execution of a subsequent calculation in a unit
imain
iferror UNIT NAME iferror (8) Q[ iferror q <turns off -iferror- setting for
remainder of unit) iferror EXPR,NAMEM,NAMEO,q,NAME2,x (example of conditional form;
maximum of 100 arguments in the conditional tag; argument q clears setting; argument x leaves setting unchanged>
specifies the unit to execute at the start of every main unit in the lesson; later occurrence of the command overrides an earlier setting; equivalent to -do- at the beginning of each main unit
imain imain
imain
UNIT NAME <Bl Q[ imain q <turns off -imain- setting for
remainder of lesson or until resetl EXPR,NAMEM,NAMEO,q,NAME2,x (example of conditional form;
maximum of 100 arguments in the conditional tag; argument q clears settin~; argument x leaves setting unchanged)
S4
NOTE: The following two commands (-branch-, -doto- 1 permit branching or looping within a unit to a line with a statement label. The line with the statement label must be in the same unit as -branch- or -doto-. The statement label must start with a digit and may contain up to 7 characters, consisting of digits and letters only. The command may appear in the command field or in the tag field. In the tag field, the statement is part of a cont inued -calc-.
causes a branch to the line with the specified statement label
fer e~\a.mple;
"- VM(~EXPR
do someu. il'rite
calc 6test
some message
'! AR ·~EX.FR
VAR:!:EXF'F~
branct"1 6test
(a rgument x causes fall-throu.gb to the next line in the unit)
~< ( ca.u ·;es branch EXFR,:< ,6test
fall-through to (example of
next line in the -calc-) conditional form)
doto causes iterativ e execution of lines of the program between -doto- and the line with the specified statement label; the labeled line must ho;.ve a blank ta.g
for e:<ample:
do to do write
2sync
calc
2sync 1 VAR¢INITIAL EXPR,FINAL EXFR,STEPSIZ£ £X PR someu some message
<Bl
VAR·:!:EXPR doto 4run,VAR¢INITIAL EXPR,FINAL EXPR ,ST EPSIZ£ £XPR
4run (B)
Note: Stepsize 1 if omitted , is +1 . Stepsize may be negative. Value of the loop variable is undefined after completion of the loop.
55
NOTE: The following four commands (-if-, -e l seif- , -else-, and -endif-1
' r 1 ·;
elseif
permit branching within a unit. Logical value of an expression is "true" if its rounded value is -1 and "false" if its rounded value is 0.
performs a br a nch based on the logical value of the tag expression; value of "true" causes fall-through to the ne xt line; value of "false" causes branch to the next -else i f- 1 -else- , or -endif- at the same level; code following -i f - must be indented (up to the next -elseif-, -else-, or -endif - at the same level) and marked with the indent symbol; range of -if- m~st be te r minated by -endif- at the same le vel
·s. 1 ' LOGICAL EXPR
pro vides an alternati ve branch wi thin the range of t he pr eceding -if- at the same level; subsequ ent code fallows same indenting rules as -if-
elseif LOGICAL EXPR
els~ (no tagl provides a branch if the logical value of the tag of the precedin·~ ·-if- or -elseif- at the sa.me level is "false"; subsequent code follows same indenting rules as -if-
end if (no tag l marks the end of the r ange of the precedi ng -if- at the ·:;ame level
NOTE: Following is an example demonstrating placement of these commands.
if n8<4 wt-ite first branch $$ e :< ecuted if n8 <4 c .:d c n9·¢34 $$ e :< ecu.ted if n8 <4
elseif n8=4 $$ e ;<ecuted if n8;::4 write second branch u e:<ecu.ted if n8=4 do someunit $$ e:<ecuted i f n8=4
else $$ executed if n8>4 wt- it e default branch $$ e:<ecu.ted ~ -' n8>4 , I
if n8>6 u e :< ecuted if n8>4 write special branch $$ e:{ecuted if 0 ., ' nu .-· b
end if H end of range of -if end if $$ end of range of -if
n8>6-n8 <4-
CL ·...!'-
NOTE! The fallowing four commands (-loop-, -endloap-, -outloop-, and -reloop-) permit looping within a unit. Logical value of an expression is "true" if its rounded value is -1 and "false" if its rounded value is 0.
loop initiates a loop based on the logical value of the tag expression; value of "true" causes execution of subsequent commands in the loop; value of "false" causes execution of the first command after -endloopat the same level of indentation as -loop-; code following -loop- must be indented <up to the ne xt -autloop- 1 -reloop-, or -endloop- at the same level) and marked with the indent symbol; range of -loop- is marked by -endloop- at the same level
loop LOGICAL EXPR (blank tag is equivalent to "true" value)
endloop (no tagl marks the end of a loop initiated by the previous -loopcommand at the same level of indentation; causes a branch back to tha previous -loop- command at the same level
outloop based on the logical value o f the tag 1 causes exit from the range of -loop- 2t thE· same level of indenta.tion; val11e of "true" causes execution of the first command after -endlaop- at the same level; va1u e of "false" causes exe cution of subsequent commands within the locp, which folio~ the same indenting rules as -loop-
Note:
outloop LOGICAL EXPR (blank tag is equivalent to "true" value)
based an the .logical value of the tag expression, causes branch back to the pre vious -loop- command at the same level of indentation without terminating the loop; value of "true" causes branch to the previous -loop - at the same level; value of "false" causes e}:ecu.tion of subsequent commands within the loop, which follow the same indenting rules as -loop-
reloop LOGICAL EXPR (blank tag is equivalent to "true" value)
Following is an e:<ample demonstrating placement of these commands.
loop nB<lO write within loop $$ executed if nB<lO subi nB $$ executed if n8<10
reloop n8~5 $$ executed if n8<10 write still within loop $$ e:<ecuted if n8<5 do someunit $$ e:<ecuted if n8<5
outloap n8<3 $$ e:<ecuted if n8<5 w t" i t e still within loop $$ e:<ecuted if 3 ;;n 8< 5
end loop write outside of loop $$ executed if n8210 or n8<3
•"27 ,_}{
Key-initiated sequenci~g
NOTE: The following commands (-next- through -lablop-1 may have the conditional form, where argument x leaves the pointer unchanged, and argument q clears the pointer and renders the key inactive (except for NEXT, which causes fall-through to the following unit I. Argument q is not valid ~ith -nextnow-. Up to 100 arguments are permitted in the conditio na l tag. The conditional expression is evaluated when the command is executed, not when the key is pressed.
;'; i=::-:· l .. . . - .. - :;: ne;{ t1,. bac k~ backi, stop presses the appropriate
specif ies the unit exe cute d when the user key (arrows must be satisfied before
sequencing on the NEXT key l; the specified unit is a main unit
n 2 }~ t UNIT NAME backl UNIT Ni~ME
181 or bac:k q (clears back pointer; disables BACK key)
ne xtn ow terminates processing and makes onl y NEXT key active; the specified unit is a main unit
nextnow UNIT NAME
speci fies the unit executed when the user presses the appropriate key; there is no full-screen erase and new information is plotted on-the-page; the specified unit is a main unit
nextlop UNIT NAME backop ( 8 ) or backop q (clear s back pointer; disables BAC K keyl
help, helpl, data , datal, lab, labl specifies the unit executed when the user p~esses the appropriate key; initiate s a help sequence and sets the base pointer to the unit contai ning the help-type command !un less the base pointer is already setl; the base untt is executed after the help sequence is comple te d or if the user presses BACK or BACKl; units In a help sequence are main units but not base units !unless the base pointer is changed with the -base- command) ; a help sequence is terminated by an - en d- command
hel p II~· '-' .~ IT NAME
1 a.b IB i or , -'-. ' liU q (clears lab pointer; dis ables LAB key!
CQ ..J-...:
helpop, helpiop, dataop 1 datalop, labop, lablop specifies the unit executed
term
termop
when the user presses the appropriate key; the unit executed is not a main unit or a base unit and no full-screen erase is performed; control is returned to the main unit after execution of the helpop-type unit
helpop da.tacp ( B I
NAt1E or dataop q (clears data pointer; disables DATA key)
permits use of the TERM key to initiate a help - type sequence starting at the unit containing this command and the specified character string; sequence can be terminated by -end- (see -inhibit term-)
term term
STRING (maximum of 8 characters) (81 (provides match to any term request that does not
match an author-specified or system-specified term)
similar to -term- except initiates a helpop-type sequence
tet-mop ter:nop
STRING (madmum of 8 cha.ractersl IBI (provides match to any term request that does not
match an author-specified or system-specified term)
NOTE: A lesson may have up to 299 -term- and -termop- commands.
base resets or clears the base pointer in order to alter help-type sequencing
ba.se base b;.se
(8) £[ base q (clears base pointer) UNIT NAME (sets base pointer to named unitl EXPR,q,NAME,x (example of conditional form;
argument x leaves base pointer unchanged; argument q clears base pointer; maximum of 100 arguments in conditional tag)
end terminates a help-type sequence or a lesson
end (81 or end help (ends a help-type sequence; may occur anywhere in a unit; the user is returned to the base unit after pressing NEXT; -end- is ignored if the user is not in a help-type sequence)
end lesson Cwhen NEXT is pressed after execution of this statement, the user is returned to the router lesson or to the "Press NEXT to Begin" displa.y; the finish unit is not executed; authors are returned to the author-mode display)
S9
Timing
keylist (non-executable l forms a set of keys with the specified name for use with -pause- and -ke ytype- commands
pause
keylist NAME,KE Y1 , KEY2, KEY3, ... keylist NAME,NAME1,NAME2 , ...
(fr om 2 to 7 characters in NAMEI (keylists may be combined !
Note; System-defined keylists are:
alpha nu.mer i c fu.nct keyset t ·Juch e ;.; t all
(letters: a to z and A to Z! (digit·:;: (I to 9)
(fu.n ction key ·:; ["key" from o200 to o235J)
(any keyset inp utl ! inp ut from touch panel) ( input from exte rn al device other tnan touch panel) (input from keyset, touch panel, or e xternal device )
In addition to alpha, numeric, and function ke ys, these ke ys may be specifie•j: space , bksp , ;quare, a.ccess (or squ.a.re1) 1
access (or squarel ) , font, shift (or as·;ign1) 1 comma, cr 1 ·:;ub, ·:;ub1 1 super (or sup ) , st!pet-1 (or· supl ) .
dela ys execution of subsequent command s by the specified interval (and then presses TIMEUP key ) or until one of the specified keys is pressed
pa.use pause pa use
p aLlS2
pa.use
EXPR GIVING NUM SECONDS (minimum of .75 second) 0 (cau ses no pause; exc eption to .75 second minimum) (81 or pause NEGATI VE VALUE (in terrupts processing
until any key or allo wed input comes in l keys=KEY1,KEY2,KEYLIST NAM E, . .. (interrupts processing until
a specified key is pressed; all keynames are typed without quote marks and function keys are typed in lower case)
NUM SECONDS 1 key s=KEY1 ,K EY2 1 KE YLIST NAME,... (i nterrupts processing for the specified inte rv al [and then presses the TIMEUP key] or until a specified key is pressedl
Note: If a function key other than ne xt 1 such as help, is specified and there is a preceding -help- or -helpop- command specif ying a unit , this unit is executed rather than the command followin g the -pause-. If ne xt is specified, the NEXT ke y just breaks the -pause-, even if there is a preceding -ne xt- command. The ' statements -pause keys=touch- and -pause keys =e xt- set the appropriate -enable-. Keycode of the input (including TIMEUPI is stored in "key" .
collect allows storage of keycodes from ke yset, touch panel, or external inputs in successi ve variables, starting at the specified variable; collection terminates with receipt of the specified number of keys or with receipt of the TIMEUP key 1 which is also stored
collect STARTING VAR,NUM KEYS !m ust use student variables !
S1 0
getcade stores a user-generated string, left-justified, in the specified va.riable and plots X's; "endkeys" specifies function keys which terminate the entry lin addition to NEXT, which is the default ! ; up to 10 characters may be entered and stared
getcode VAR , endkeys=KEYNAHEl , KEYNAH£2, • • . (names of keys are 1n
lower easel
ke ytype sets a variable according to the position in a list of the input by the use r ; if the input action is not listed, the variable is set to -1
keytype VAR,ARGO,ARG1,ARG2 , ...
arguments ARGO, ARGl, ARG2 , •. . ma y be any of the following:
KEY NMlE (any keyname; no quotation marks are used; function keys a r e in lower easel
KEYLIST NA ME (name of a system-defined keylist or of a list set up by the -keylist- command)
IVARI !value of "key " is compared with the value stored in VARl e ;: t ( !J A R I ( w h e n t h e 1 0 t h b i t f r om t h e r i g h t o f " k e y " e q u. a. l s 1 ,
ind i cating an external input 1 the right-most 9 bits of " ke y" are compared with the va l ue stored i n VAR l
touchiCOARSE , WIDTH I N CHARA CTERS , HEIGHT IN LINES J touch(FINE X, FINEY,WIDTH IN DOTS,HEIGHT IN DOTS )
(COARSE or FINEX,FINEY is the sc r een position of the lower left corner of a rectangle wit h speci f ied width and height; width and height are optional and are ass umed to be 1 if omitted )
Note: Up t o 100 ke ys ma y be specif i ed; keylists count as one key.
time presses the TIMEUP key after the spec i fied interval and sets "key" to "t i me up " ; fun c t i on ke ys c c. n brea k through the t i m i n g and set " key ;o to the key pressed
timel
timer
time EXPR GIVING NUM SECONDS (minim um of .75 second ) time CB I Q[ time NEGA TIVE VAL UE (clears an y -time- in effect)
specifies a unit in the same lesson to execute (via helpop-type sequence) when the indicated time has elapsed; remains in effect across other timing commands and across unit boundaries
timel timel
NUM SECONDS,UNIT NAME (min i mum of .75 second ) CBI Q[ timel NEGAT I VE VALUE (clears any -timel- in effect!
used in a router lesso n to specif y a unit in the router to which a routed user is sent when the ind i cated time has elapsed
timer timer
NUM SECONDS,UNIT NAME (minimum (81 Q[ timer NEG ATIVE VALUE
of 60 seconds) (clears any -timer - in effect)
press outs the specified key into the student input buffer for the indicated station 1 if given; limited to one keypress per second
press press pre:;s press press
KEYCO[•E EXPR GI VING KEYCODE "f< EYNAt1E" (for KEY NAME (for t< EYCODE,STATION
station is in
non-function key s; low er case only l function keys 1 e.g. 1 -press next-1
!presses the key at another station if the same lesson as the -press- command)
Note: For 2-argument -p r ess-: zreturn = -1 if t he key i s pressed successfull y
= 0 othe t- \d se
511
~ ' ._ne
catchup (no ta; l causes a pa use i n execution whil e transm i ssio n of accumulated output to the terminal is completed in order to synchronize display and execution of commands
brea k
cpulim
(no t ag ) in te rrupt s processing and returns with a new t imeslice f or further processing when a complete timeslice is available
specifies the maximum CPU usage rate 1n thousand instructions per second with a maximum of 10 thousand instructions per second
MAXIMUM CPU USAGE RATE (ma:<imum of 10; tag is t-oundedl
c ~ '"') •.....! !.i-
Lesson connections and sections
use (non-executable! inserts into the file being condensed the specified blocklsl from the file specified in the directory OR the file specified in the tag of -use-; all contiguous blocks with the same name are taken; "use" codewords on the files must match
use iJSe
BLOCK NAME (file is FILE NAME,BLOCK NAME
directory; up to 5
specified in the director y! (multi-file use flag is set
different files may be used ) in the
jumpout causes execution of the specified file or of the processor lesson, if one is declared; up to 10 arguments may be passed to the lesson (see -inhibit jumpchk-, -inhibit from-, and -args-1
jumpcut FILE NAME (goes to the first unit in the lesson;
ju.mpoLtt . ~
JUmpou~
" jumpout" codewords need not match) FILE NAMEIVALUE1,VALUE2l !example of form with arguments! FILE NAME,UNIT NAME (goes to the specified unit in the
lesson; "jumpov.t" codewoids must match) FILE NAME , UNIT NAMEIVALUEI !example of form with arguments) return !returns to the fir st unit of the lesson from which
a jumpout was made to the present lesson) jumpout ret v.r n (V ALUEI (example of form with arguments) jumpout ret urn , return (returns to the lesson from which a jumcout
was made to the unit following the unit with the -jumpout- 1 jumpout <BI or jumpout q (causes a jumpout to the author-mode page
for authors or to "Press NEXT to begin" page or to a router for students or instructors; similar to -end lesson - )
jumpout <LESLIST POSITION> (causes a jumpout to the first unit of the lesson at the specified position in the leslistl
jumpout <LESLIST POSITION>,UNIT NAME (causes a jumpout to the specified unit in the lesson at the specified leslist position; "jumpout" codewords must match)
jumpout EXPR;FILEM,UNITM;FILEO;FILE1,UNIT1;q; x (e xample of conditional form; argument q causes jumpout as above; argument x causes no jumpoutl
jumpout resume (used in a router lesson to return the user to the lesson and unit specified by the last -restart-)
jumpout continue (used in a site lesson to send the user to a router or lesson)
jumpout NOTESFILE NAME (causes jumpout to the specified notes file; return to lesson is automatic, via -jumpout return,return-l
jumpout notes,choice (causes jumpout with read and write a ccess to the student notes file attached to the user's group)
jumpout notes,read (causes jumpout with read access to the student notes file attached to the user's group)
jumpout notes,write (causes jumpout with write access to the student notes file attached to the user's group)
jumpout notes,instruct (causes jumpout with read access as an instructor to the student nates file attached to the group)
jumpout pnotes (causes jumpout to personal notes )
(-jumpout - continued on next pagel
S1 3
jumpout records !causes jumpout to the system groupfile editor) jumpout sO aced it ('LESSON NAME ' , ' LIST NAME', TYPEr 1 CODUIORD 1 I
(causes jumpout to access - list editor; TYPE is -1 to edit at- 0 to inspect; CODEWORD (or- user-'s editing code i~ ot-dl must match lesson's change or common codeword to edit or lesson's change, common, or inspect codeword to inspect; if the list contains special options to edit the list, these are checked and codewords are ignored; return to the lesson is via - jumpout return,return(VALUE I-, where VALUE is - 1 if the list was changed, 0 otherwise)
Note: Variable fil e and unit names mu s t be enclosed in parentheses . Quote marks are omitted for variable codeword.
args s tores the values of arguments passed by - jumpout- to the lesson; values are stored in the spe c ified variables
lessin
args
Note:
VAR1,VAR2,VAR3 (maximum of 10 variables)
zt-eturn = -1 = I) _:-
if i f
arguments are passed succes s fully no jumpout arguments are present
if there are more jumpout arguments present than variables in -args-; as many values as can be received at-e stored; "zreturn" value is the actual number of arguments present
Arguments passed by -jumpout- may be picked up by a -unitcommand with arguments instead of by -args-.
checks the lesson and main unit, if specified, from which a lesson is entered against a list and sets a variable to the relative position of the lesson and unit in the list; if no unit is specified, any unit in the lesson qualifies; if the lesson and unit are not listed, the variable is set to -1; alternate form stores lesson name and unit name in the specified variables
for e:.:ample:
from
from
VAR;LESSONO,UNITO;LESSON1;<LESLIST POSITION>,UNIT2 (variable lesson and unit names must be enclosed in parentheses)
VAR FOR LESSON NAME,VAR FOR UNIT NAHE
checks if the lesson specified is credited to the user's logical site; sets "zreturn" to - 1 if the lesson is in EM and in use at the use r 's logical site and to 0 otherwise
le s sin l es s in less in
' LESSON NAME' IVAR CONTAINING LESSON NAMEI <LESLIST POSITION OF LESSON>
614
in sets "zret;..;r-n;o to ind1cate whether a user at the specified station is in the lesson containing the -in- command
estop
estop*
in EXPR GIVING STATION NUMBER
Note: zreturn = -2 if -in- is in a router lesson and a routed user at the specified station is in an instructional lesson
= -
=
1
0
if the station is in the instructional lesson containing the - in - command if the station is not in the lesson
initiates TERM-comments automatically or sends text without user intervention (authors and instructors send to the lesson notes file for the lesson; students and multiples send to the student notes file f~r the group Q[ to the lesson notes file if no student notes file is assoc~ate~ with the group!; the titlej if included, requires t wo variables and may contain up to 15 characters, left-justifi ed
notes STARTING VAR CONTAIHIHG TITLE (initiates TERM-comments! notes STARTING VAR CONTAINING TEXT,NUM VARS,STARTIHG VAR
COHTAIHIHG TITLE (inserts text at front of notel notes STARTING VAR CONTAINING TEXT,NUM VARS,STARTING VAR
CONTAINING TITLE,send (sends the text automatically) notes STARTING VAR CONTAINING TE XT,NUM VARS,STARTING VAR
COHTAIHIHG TITLE,lesson (sends the text automatically to the lesson notes file for all us ers )
Note: Student variables must be used for the text and the title; the format for the text is that for -text- command. After multi-argument -notes-, values of "zreturn" are:
:::return = -1 '.I. l I the note i 5 sent successfull y = 0 if tt-1e user pressed BACU and note ~~a s not sent = i f TERt·i-c ommen t s is not allowed in the l e·:;son = ") if the format of the te:< t is incorrect or ' .I. the ... l !
te:·: t is too long <> 111 60-bit word s or >16 '. I llnes ; = .) if the note cannot be stored (e.g. I the notes file
does not exist or is full!
(non-executable) (no tagl indicates subsequent code is to be condensed (used after a preceding -estop-)
(non-executable! <no tagl indicates subsequent code is not to be condensed; in effect up to the next -cstart-, if any
(non -executable) (no tag) indicates none of the subsequent code is to be condensed; independent of subsequent -cstart- commands
L.es ·;o n lists
Ci<= ·..J .! ·.J
l eslist refers to special blocks containing a list of up to 2400 file names !numbered starting at 01; if the -leslist- command and leslist blocks are in different lessons, the "common " codewords must match or the codewo rd argument must be included; codeword argument must match the "common" codewo r d of the lesson containing the leslist blocks
lesl ist (O J ,LESLIST NA~1E
les li. s t (z le ·::son ) ,LESLIST NM1 E leslist ,LESLIST NAME !esl1st LESLIST NAM E leslist :....ESSO N NA~1 E , LESLIST NAME., 'CODEUGI~ D '
(LESS ON NAME contains the leslist blocks! leslist <LESLIST POSITION>,LESLIST NAME, 'COD£NGRD' lesli st CBl (disconnects the current leslist; copies it to disk if
leslist has been changed, if no other users are in the lesson, and if -abo rt lesl1st- is not in effect !
Note: Variab le fil e and bl ock names mu st be enclosed in parentheses. Quote marks on the codeword are omitted for variable argument .
zreturn = -1 if the -leslist- command is e!e cuted successfull y = 0 if the leslist blocks are not found = +1 if codewords do not match
allows addition of a file name to a le slist , either in the specified slo t or in the first empt y slot if none is specified; the tag must be a variable; req uires three consecutive variables (th e nam e is stored with: -s~o rea STARTING VA R,30- l
addlst STARTING VAR,LESLIST POSITION
Note: zreturn = -1 if the file name is added successfully = 0 if there is no preceding successfu l -leslist-= if the form of the file name is incorrect = 2 if the file name is already in the leslist
= (with one-argument form only l if the leslist is full
= 4 if the spec ified slot is occupied (with twoargument form only)
= 5 if the leslist is reserved by another user
all ows deletion of a file name at a specified leslist position; the vacated position is left blank
removl LESLIST POSITION
Note: zreturn = -1 if the f l l e name i-::; removed success ful l y = 0 if there l s no preceding su.ccessfu.l -lesl is t-
+ 1 i .i the 1 esl i st i ·:; reser-ved h v another user I i - ...
S16
reserve reserves the current leslist to prevent changes via - addlst- and -removl- by more than one user at a time
reserve l eslist
Note: zreturn = -~ if the leslist is alr~ady reserved by this user = -1 if -reserve- is executed successfull y by this
user = 0 if there is no preceding successful -leslist
command = 5+n 1 where n=station number of the user who has
reserved the leslist
release releases the current leslist lif previously reserved)
l name
findl
release leslist
Note: zreturn = -2 if the leslist is not reserved by any user = -1 if -release- is executed successfull y by this
user = 0 if there is no preceding successful -leslist
command = 5+n 1 where n=station number of the user who has
reserve~ the leslist
stores the file name at the specified leslist position in three consecuti ve variab les starting at the specified var iable
!name
Note:
ST ARTING VAR 1 LESLIST POSITION
Use with -showa- to lname STARTING show a STARTING
display the VAR 1 LESLIST VAR,30
file name; e.g. : POSITION
zreturn = -1 if execution is successful = 0 if there is no preceding successful -leslist
command
searches the leslist for the file name stored in three consecutive variabl es and return s the leslist position in the specified variable
findl STARTING VAR FOR FILE NAME,VAR FOR LESLIST POSITION
Note: If the file name is not found or if no leslist is used, value returned for the leslist position is -1.
S17
Lesso n annotation and debugging
1 indicates the statement on that line is a comment only and is to c l space l be ignored by the computer
$$
change
tThis is a comment. c This is a comment.
\not a command) when placed on the same line with a TUTOR statement indicates that subsequent material on that line is a comment
COMMAND TAG $$this is a comment
(non-executable) permits names of commands to be changed, e.g., to a language other than English; also permits symbols (e.g., punctuation) to be redefined in certain judging commands; - change - must be placed in the initial entry unit; all changes are in effect for the entire lesson and cannot be altered
change change
command NORMAL TUTOR NAME to NEW NAME symbol SY MBOLl to SYMBOL2
for e xampl e:
change command at to wo change sym bol 1 to letter change s ymbol ? to puncword change symbol p to punc change symbo l 3 to vowel change symbol a to b change symbol space to letter change symbol sup to null change symbol I to diacrit
etc .
Note: The answer-matching commands affected by -change symbol- are: -answer-, -wrong-, -answera-, -wronga-, -answerc-, -wrongc-, -concept-, -miscon- , -match-, -storen-. Other commands affected are : -getword- 1 -getmar k- 1 -getloc-, and -compare-.
step allows a user to step through a lesson command by command; an author whose securit y codeword mat ches the lesson's change codeword may use TERM-step !TERM-step is not available for other user types)
step step step
on off EXPR (value=O turns off step; value#O turns on step)
S18
*list (does not affect condensing or execution) specifies options for printing a file; -*list- commands for printing special types of blocks must precede those blocks in the program; source blocks and text blocks are always printed unless specified otherwise
*list
*list
lH i st
*1 i st
*list
*list *list *list *list *1 i st
*I is t *list *list ·Hi st
*list *list *list
*list
* 1 is t *1 i st
*list *list
*list *list
*list *list
*list
*list *list *list *1 i st
binary,BLOCK NAME,NUM WORDS,FORMAT (prints contents of binary blocks; see page S20 for information on FORMAT!
charset (prints contents of all charsets in the lesson with 0 for dots on and -for dots off)
charset, <DOTSBLANKSl (prints contents of charsets with symbols specified for dots and blanks>
commands,COMMAND1,COMMAND2 , COMMAND3,... Cup to 10 commands; lists lines on print where specified commands appear)
common,COMMON NAME,NUM WORDS,FORMAT (prints contents of common; see page S20 for information on FORMAT!
deleted <prints deleted lines [with "mod words" option]) eject (causes page eject where command is located) ignore (causes subsequent - *list- commands to be ignored) info (pri nts lesson information display> label ,YOUR LABEL INCLUDING SPACES (prints a label at the
location of the -*list- command) leslist (prints the contents of all leslists in the lesson) listing (prints the contents of listing blocksi micro (prints the contents of all microtables in the lesson) mods (prints "mod words": first 5 characters of the name of
the last person to change each line and date of the change) nosource (stops printing source blocks but prints text blocksi note xt lstops printing text blocks but prints source blocks) off <stops printing blocks at the location of the command;
starts printing the preceding -*list- options and the unit cross-reference table>
off,BLOCKNAME1,BLOCKNAME2 , BLOCKNAME3-BLOCKNAME4 (specifies blocks that are not to be printed)
parts (prints only source blocks which are set to condense) symbols \prints reference table of variables , defined and
primitive, used in the lesson) text (prints only text of -write- and -writec- commands) title,YOUR TITLE (specifies subheading to be printed under
the lesson name on each subsequent page; causes page eject when -*list title- is encountered)
vocab (prints contents of vocab blocks) xref,on (turns on unit cross referencing [and symbol cross
referencing if requested] for all printed source blocks; default easel
>:ref,all :<ref, off
blocks)
(same as -*list xr ef,on-1 (turns off cross referencing for all printed source
xref,parts (turns on unit cross referencing [and symbol cross referencing if requested] for all printed source blocks which are set to condense)
space (prints blocks with single spacing; default easel 2 space <prints blocks with double spacing> 3 space !prints blocks with triple spacing) 4 space (prints blocks with quadruple spacing>
S19
Instructions for printing datasets and namesets are specified in the directory of t he file. Page S20 has information on FORMAT.
da.t3.sets:
STARTING RECORD NUMBER,NUM RECORDS,FORMAT STARTING RECORD, ,special PAGE EJECTS;STARTING RECORD 11 special PAG E EJECTS;special
specia.l
!prin ts entire dataset in special format ~ith page ejects as speci fi ed ! (prints entire dataset in special format)
STAHING RECORD, ,direct PAGE EJECTS ;STAR TING RECORD 11 direct PAGE EJECTS;direct
direct
(prints entire dataset in direct format with page ejects as specified ) !prints entire dataset in direct format)
INSTRUCTIONl; INSTRUCTION2; etc. (may state several different instructions)
namesets:
NAMES;STARTING RECORD NUMBER,NUM RECORDS ,FO RMAT NAMES;STARTING RECORD,,special NAMES; PAGE EJ EC TS ; STARTING RECORD, ,special NAMES;PAGE EJECTS ;special !print s all records of specified ~am es in
special format with specified page ejects ! NAt1ES; spec i a.l NAMES;STARTING RECORD 11 direct NAMES;PAG E EJECTS;STARTING RECORD,,direct NAMES;PAG E EJECTS;direct NAMES; direct INSTRUCTIONl; INSTRUCTION2; etc. (may state se veral different instructions)
NOTE: PAGE EJECTS may be: pages and /or records (if both are given, the entries must be sepat-ated by a semicolon, e.g., pages;recordsl.
With namesets, NAMES may be: NAMEl !prints re cords only for NAMEl) NAME1-NAME2 (prints records for names from NAME1 to NAME2l NAMEl- (print s records from NAMEl to the last name) -NAME2 (prints records from the first name to NAME21 omitted (prints records for all names in the nameset; preceding
semicolon must be included, e.g ., ;specia.l ot
;STARTING RECORD,,directl
Note: FORMAT for printing datasets 1 namesets, commons, and binary blocks:
integer or i Inc-variables; prints 10 words per line) (vc-variables; prints 10 words per line) (vc-variables; prints 10 words per line) (prints 5 words per line)
e:{ponential or e floating or f octal ot- 0
he:-:adecimal or h (prints 6 words per line) alpha or a (prints 10 words per line) ,, (prints each word in o, e, i, and a formats;
prints 2 words per line) special or s (special format; specified number of words to be printed
is ignored but field must be present; details below)
dit-ect or I DESIGNED I
d (not used with binary blocks) (like special format but carriage control is required) !designed format; enclosed in parentheses; details below)
special format and direct format:
words are interpreted in alpha; words with all 0 bits are ignored unless they are preceded by at least
one non-zero word on the same line; a line land a page) must always end with at least 12 zero bits (oOOOOI up to 127 characters may be printed per line; control characters (direct format): " ", single space; "0", double space;
"-", triple space; "+", overwrite; "1", page eject; "2", bottom of page
the following print options are placed directly in the dataset, nameset, or common; each requires two consecutive words:
Hormat eject *format end
*format pa.ges
*format records Hormat blocks
designed format:
(causes page eject at this location) (causes the print of the file or of the name to end at this location) (causes page eject after each printed page; allows top and bottom margins) (causes page eject after each subsequent record) (causes page eject after each subsequent block)
the format is for a line of print; format must be enclosed in parentheses; up to 135 characters may be printed per line
designed format may consist of:
i (integer; nc-variables; prints 10 characters per word) e (exponential; vc-variables; prints 10 characters per word) f (floating point; vc-variables; prints 10 characters per wordl o (octal; prints 20 characters per word) h (hexadecimal; prints 15 characters per word) a (alpha; prints 10 characters per word) ,, lspace; preceding number indicates number of spaces) l (location of word; prints 4 or more characters) p (skip to next word tp be printed on the same line; preceding number
indicates how many words to go forward) commas and spaces for readability
S21
System variables for sequencing
args number of values transferred at the previous execution of a unit with arguments or -jumpout- with arguments
backout = _ .. , f 0 t- a single-station backout .;._
= -1 for a general backout = 0 for no backout (e.g. si gnoff via STOP!) = +1 after -station stop1 -
baseu name of the user's current base unit (= 0 if no base unit is specified, indicating the user is not in a help-type sequence)
clock value of the system clock in seconds Ito the nearest millisecond) since the previous deadstart (s ee command -clock-)
fromnum leslist position of the lesson from which the user came via a jumpout ( = -1 if the lesson is not in the leslist or if no leslist is in use)
key after a keyset input: contains the 7-bit keycode of the last keypress; after a touch-panel input: contains a 9-bit number which gi ves the location of the touch square lthe binary form of this number is 1xxx xyyyy, where the 4 bits labeled "x" give the horizontal touch location and the 4 bits labeled "y" give the vertical touch location-coordinates for touch squares on the screen are: 0,0 at lower left, 0,15 at upper left, 15,0 at lower right, 15,15 at upper right); after an external input : contains a 10-bit number whose left-most 2 bits are 10, with the remaining 8 bits carrying information from the external source
lessnum leslist position of the user's current lesson (= - 1 if the lesson is not in the leslist or if no leslist is in use)
lleslst ma xi mum number of lessons allowed in the leslist (= 0 if no leslist is in use)
llesson condensed length of the lesson
mainu name of the user's current main unit
mallot memory allotment for the logical site at which the user is working
muse total memory usage by users at the same logical site as the user
S22
nhelpop number of times a help-type key is pressed for on-the-page help; zeroed for each main unit and for each arrow in the unit
proctim processing time in the lesson lin seconds, to nearest millisecond)
ptime = if the current time is during prime-time hours = 0 otherwise
sitenam name of the user's logical site
station identification number assigned by the system to a terminal port phy sical site = station Sarst 5 = int!stati on / 32 1 site sta.tion ;t =station $-ma.sk$ o37 = 32 :~: frac(·~tation .l 32 )
station= 32 :.: physical si t e+ site station#
tacti ve number of currentl y acti ve terminals on the system
use ;· u.set· ty pe ; 'a.uthor '; 'i n·structor ' 1 'student' 1 'multiple ' 1
' sabo rt' ( i f student rec ords have been aborted), 's no ck pt' (if automatic checkpoint has been aborted)
usersin number of users in t he l esson (routed users are counted as being in the router as well as in the instructional lesson)
zaccnam name of the accou nt which contains the user's group
zbatch = -1 if the user can submit batch jobs = 0 if the user can not subm i t batch jobs = +1 if batch jobs are turned off for · the system
zcondok = - 1 . if the lesson condenses without errors or warnings = 0 if the lesson has condense errors or warning messages
zfroml name of the lesson from which a jumpout was done
zfromu name of the unit from which a jumpout wa s done
zgroup name of the user's group
523
zid unique identification number for the user; information is in 3 fields (counting from the left end of the word): 18 bits: system identifier 22 bits: group identifier 20 bits: name identifier
zlesson name of the user's current lesson
zname1 first 10 characters of the user's PLATO name
zname2 next 8 characters of the user's PLATO name ("zname1" and "zname2" are not consecutive words)
zpnfile = -1 if the user's group has a personal notes file attached = 0 otherwise (and for multiples and students without access to
personal notes)
zpnotes = -1 if the user has new, unread personal notes = 0 otherwise
zretrnu name of the unit to which -jumpout return,return- will go
zreturn set by some commands according to the results of execution; set by: -access-, -addlst-, -addname-, -addrecs-, -args-, -attach-, -charset- , -chartst-, -checkpt-, -commonx-, -comret-, -datain-, -dataout-, -delname-, -delrecs-, -ext-, -in-, -getline-, -leslist-, -lessin-, -lineset-, -lname- , -micro-, -names-, -notes- , -parse-, -press-, -readd- , -readset-, -recname-, -records-, -release-, -removl-, -rename- , -reserve-, -setline-, -setname-, -site-, -station-, -xin-, -xout-
zsnfile = -1 i f a student user's group has a student notes file attached (TERM-comments sent to student notes f i 1 e)
= 0 otherwise (and for authors and instructors) (TERM-comments sent to lesson notes f i 1 e)
= +1 i f access to student notes and lesson notes is not allowed
zsnotes = -1 if the student has new, unread notes = 0 otherwise
zssiten the user's subsite number (number from 0 to 63) = 0 if no subsite is in use
S24
zsysid 60-bit value which uniquely represents the user's PLATO system; will not change during lifetime of the system; not for display purposes
zsyslev = -1 if the system is oper ating normally = 0 if the system is degraded , but all terminals can operate = 1 , 2 1 or 3 if the system is degraded and decreasing numbers of
terminals can operate
zsystem name of the user's PLATO system
zterm most recent term requested by the user
ztouchx fine-grid x location of the center of the touch square touched I= -1 if last input was not a touch input!
ztouchy fine-grid y location of the center of the touch square touched I= -1 if last inp ut was not a touch input!
ztstype gives information on the type of IST terminal used (assumes "zttype" has determined that the terminal is an IST-2 or an IST-31; = (I i f the terminal is an IST-2 = 1 if the terminal is an IST-3
zttype gives the user's terminal type = 0 if the terminal is a PLATO IV = .-, 3, 4 if the terminal is an IST-1 L I
= 5 if the terminal is an IST-2 or an IST-3 = 8, 9 I 10 if the terminal is a PPT = 11 if the terminal is a TV terminal = 12 if the terminal is an ASCI I terminal = 1' ·-· if the terminal is a TV terminal = 14 if the terminal is a PPT (current level) = 15 if the terminal is an IST-2 or an IST-3
ztzone three-letter abbreviation of the time zone of the location of the central computer of the user's PLATO system (e.g., CSTI
zunit name of the user's current unit
zusers number of users currently signed on
NOTE: The following system variabl es contain alphabetic information (left-justified) and must be displayed with -showa-:
525
baseu, mainu, sitenam, user, zaccnam, zfroml, z fromu, zgroup, zlesson, znamel, zname2, zretrnu, zsystem, zterm, ztzone, and zunit.
In addition to the system variables listed in this subsection, keynames of functio n keys may be treated as system constants. These keynames are typed in lower case (e.g. 1 ned, lab, term) and have the numerical values gi ven in the keycode table on page AS. The exception is the SQUARE key, which has the keynam e "microl".
Additional notes on SEQUENCING
Additional notes on SEQUENCING
Additional notes on SEQUENCING
APPENDIX
APPENDIX A1
Limits ass ociated with commands
area
args at-gumented unit
arheada
bo:\ gbo:\ r b o:\
bump
calcc cal cs
common
comload
compute
conditional form of commands which reference unit names, e . g., -ne >:t-
cpulim
define
delay
deletes
~~in} combined
draw gdraw rdraw
edit
endings
10 characters in name of area
10 arguments
five 6- bit characters
94 dots thick
8 characters
61 calculations
8000 variables 1>1500 variables requires -comload-l
1500 variables
100 characters in character string
100 unit names ( line containing 101st name is flagged as a condense error)
value of t ag from 1 to 10
7 characters in name of define set 7 characters in name of variable 6 arguments in defined function 1500 definitions 500 definitions in define set "student" 10 units (e.g., kg, m, sec, liter, etc.) 255 elements in an array 5 active define sets
second ma>: i mum
value of increment from 1 to 500
10 levels
63 points
maximum of 300 characters in buffer
10 separate - endings- commands, 8 endings in each tag
A., "-
finds findsa
graph
group
hbar vbar
inserts
keylist
keytype
label:{ labely mark>: mad;y
1 is t
loada
loadu
long
lvars
move
name
no word okword
outputl
pack
packc
pause
press
put putd putv
randu
value of increment from 1 to 500
9 characters in string to be plotted
8 characters in signon group name
9 characters in string to be plotted
(increment between entries) x(number of entries to add) :s; 500
from 2 to 7 characters in the name
100 keys in tag lkeylists count as one key)
100 marks maximum plotted on an axis
7 characters in name of list
300 characters
20 units
300 characters 1>150 requires -edit- for active EDIT key)
128 local variables
5000 characters may be moved
18 characters in signon name
9 characters in word
10 characters in label, 20 consecutive variables
500 characters in character string !with embeds)
100 character strings
. 75 second minimum
1 keypress per second
50 characters in strings ; expansion due to string replacement limited to 300 characters
integer from 0 to 246
return
rout vat-
score
set
setdat
set perm
sort sort a
storage
term termop
time
ti mel
timer
transfr
unit unitop entry
vocab vocabs
*list commands
A3
10 arguments
64 variables
value of tag from 0 to 100
up to 61 separate values
value for "atime" less than elapsed time for the session values for "aarrows", "ahelp", etc. less than 512
<one-argument) integer from 0 to 120 <two-argument> integer from 0 to 3000
value of increment from 1 to 200
8000 variables
8 characters in string, 299 terms in .a lesson
.75 second minimum
.75 second minimum
60 seconds minimum
length cannot exceed: 150 <student variables> number of local variables in the unit (local variables) length of -comload- or -stoload- <CM variables) size of common or storage <EM common or storage) tag of -routvar- <router variables)
8 characters in name 500 condensed words in a unit 394 distinct condensed units in a lesson
7 characters in name of vocabulary
10 commands
Standard PLATO Keyset MICRO • MICRO Q MICRO R HICRO CR
MICRO T HICRO S HICRO +
plots period followed by 7 spaces writes to left from current position writes to right from current position writes to left in alternate font from right edge of screen writes in boldface font (on ppt) writes in standard font (on ppt) toggles locked slufted letters
GUIDE
Upper Access, Case Upper
Case
Access, Lower Lower Case Case
Access is SHIFT 0
n~lcll(]}lf$#1Foll-lEJf*l~<~!Glc:Jr=lrTERM~c:J ~UUL:___j~~~7 ~~~~~~~
ICRlf"ilfQlrwtlfEifRirTirvllui(IIl~fPir:::l(FoNTlr=l~ ~l±__§J~~L!__jL!Jl!______!)LU~l!_J~~U~ULJ
:> +=--
GJ [] [:~) u [~ :)[; •) [] (] [[] (] [Q D [NEXT] [EDIT) [BACK] B D (: ~] B[J [~ !] [~ ~) [] [: ~J [~ -J (~ ~J D D (Q B [oATAJ [smP]
BACKSPACE SPACE
HALF-BACKSPACE HALFSPACE
key
a b c d e f g h
j
k 1 m n 0
p q r 5
t u v w X
y z 0 1 2 3 4 5 6 7 8 9 +
* I
)
$
= space
keycode
1 = o01 2 = o02 3 = o03 4 = o04 5 = o05 6 = o06 7 = o07 8 = o10 9 = o11
10 = o12 11 = o13 12 = o14 13 = o15 14 = o16 15 = o17 16 = o20 17 = o21 18 = o22 19 = o23 20 = o24 21 = o25 22 = o26 23 = o27 24 = o30 25 = o31 26 = o32 27 = o33 28 = o34 29 = o35 30 = o36 31 = o37 32 = o40 33 = o41 34 = o42 35 = o43 36 = o44 37 = o45 38 = o46 39 = o47 40 = o50 41 = o51 42 = o52 43 = o53 44 = o54 45 = o55
key
I. )(
~
sub super shift
cr < >
bksp font
access ; A B c D E F G H I J K L M N 0 p Q
R s T u v w X y
z
KEYCODES~
keycode
46 = o56 47 = o57 48 = o60 49 = o61 50 = o62 51 = o63 52 = o64 53 = o65 54 = o66 55 = o67 56 = o70 57 = o71 58 = o72 59 = o73 60 = o74 61 = o75 62 = o76 63 = o77 65 = o101 66 = o102 67 = o103 68 = o104 69 = o105 70 = o106 71 = o107 72 = o110 73 = o111 74 = o112 75 = o113 76 = o114 77 = o115 78 = o116 79 = o117 80 = o120 81 = o121 82 = o122 83 = o123 84 = o124 85 = o125 86 = o126 87 = o127 88 = o130 89 = o131 90 = o132
key
v
subl superl
FUNI<EY NEXT NEXT1 ERASE ERASE! HELP HELP1 BACK BACK1 LAB LABl DATA DATAl TERM ANS COPY COPY1 EDIT ED IT 1 MICRO SQUAREl:l STOP STOP1 TAB TII1EUP CATCHUP touchpanel inputs
external inputs
keycode
97 = o141 98 = o142
101 = o145 102 = o146 104 = o150 110 = o156 111 = o157 112 = o160 116 = o164 118 = o166 119 = o167 127 = o177 128 = o200 130 = o202 131 = o203 132 = o204 133 = o205 134 = o206 135 = o207 136 = o210 137 = o211 138 = o212 139 = o213 140 = o214 141 = o215 142 = o216 143 = o217 144 = o220 145 = o221 146 = o222 147 = o223 148 = o224 149 = o225 150 = o226 151 = o227 152 = o230 155 = o233 157 = o235 256 = o400
• • 511 = o777 512 = olOOO
• • 767 = o1377
~ "key" contains the keycode of the last input. ~ The keyname for this key is "microl".
AS
A6
INTERNAL CODES
unsh i fted shifted access access-shifted char code char code char code char code
a o01 A o7001 IJ. o7601 ... o767001 b o02 B o7002 6 o7602 c o03 c o7003 o7603 (S) o767003 d o04 D o7004 (j o7604 -t o767004 e o05 E o7005 o7605 f o06 F o7006 • o767006 g o07 G o7007 h olO H o7010
011 I o7011 o767011 j o12 J o7012 k o13 K o7013
o14 L o7014 X o7614 m o15 M o7015 J.l o7615 n o16 N o7016 "' o7616 0 o17 0 o7017 C• o7617 c o767017 p o20 p o7020 1( o7620 q o21 Q o7021 o7621 r o'"l"' L"- R o7022 p o7622 s o23 s o7023 (.\" o7623 t o24 T o7024 e o7624 u o25 u o7025 o7625 v o26 v o7026 o7626 w o27 w o7027 w o7627 t o767027 X o30 X o7030 o7630 + o767030 y o31 y o7031 z o32 z o7032 0 o33 left64* o7033 ~ o7633
o34 1 eft* o7034 ~ o7634 ') o35 m,e* o7035 L
3 o36 m,w* o7036 4 o37 m,r* o7037 5 o40 right* o7040 @ o7640 6 o41 o7041 > o7641 7 o42 o7042 8 o43 bold* o7043 9 o44 unbold* o7044 + o45 }: o7045 tc o7645
o46 A o7046
* o47 I o50 ? o7050 \ o7650 ( o51 lokcap* * ) o52 - o7652 $ o53 I o7653 = o54 * o7654
space o55 .5space o7655 o56 o7056 * o7656 o57 o7057 o60 n o7060
INTERNAL CODES <cont.>
unshi fted shifted access access -shifted char
'!. )(
,<. ... sub*
super* shift*
cr* < ., /
bksp font
access
*N OTE : left64 1 eft m,e m,w m,r right bold unbold lokcap
cr 01 sub loksub dnlin ldnlin super loksup uplin luplin shift cr cr101 acfont
code char code char code char code
o61 { o7661 o6 2 } o7662 o63 o64 u o7064 0 o7664 X o767064 o65 cr 01* o7665 o66 loksub* o7066 dnlin* o7666 ldnlin* o767066 o67 loksup* o7067 uplin* o7667 luplin* o767067 o70 o71 ldnlin* o7071 cr101* o7671 o72 ~ o7672 o73 ~ o7673 o74 .5bksp o7674 o75 acfont* o7675 o76 o77 o7077 o7677
write to left, starting at character position 64 write to left, starting at current position display in mode erase display in mode write display in mode rewrite write to right, starting at current position write in bold characters (ppt only> write in standard characters <ppt only> toggle locked shifted letters--activated by a micro which is defined as SHIFT 4: ( [code o7051 does not appear in character string] write on next line, starting at character position write next character down 5 dots write all subsequent characters down 5 dots write next character down one line (down 16 dots> write all subsequent characters down one line write next character up 5 dots write all subsequent characters up 5 dots write next character up one line (up 16 dots> write all subsequent characters up one line shift code--isolated shift code obtained by SHIFT* write on next line, starting at left margin start writing at screen position 101 font code which is not erased when the character following it is erased
The following characters, although produced with the shift key, do not produce a shift code in the internal code: *, <, >, $ 1 E, J, '!., <, >, cr, bksp, font, access. These characters are listed in the "unshifted" category.
A7
A8
ALTERNATE FONT TERMINAL MEMORY LOCATIONS
(key associated with terminal memory location)
l DC key lac key l DC key lac key l DC key
0 space 27 0 54 (k) 81 Q 108 a 28 1 55 ( l ) 82 R 109 <E>
'"") b 29 2 56 (m) 83 s 110 <F) 1..
.,) c 30 3 57 ( n) 84 T 111 (G)
4 d 31 4 58 (o) 85 u 112 ,.. 5 e 32 5 59 86 v 113 (H) 6 f << ..... ·-' 6 6(1 87 w 114 ( I ) 7 g 34 7 61 88 X 115 ( J)
8 h ~"' 8 62 89 y 116 u ..),J
9 36 9 63 unav 90 z 117 (/)
10 j 37 + 64 s pace 91 < 118 <K> 11 k 38 65 A 92 .'> 11 9 (L) 12 l 39 (a) 66 B 93 120 <M> 13 m 40 I 67 c 94 121 <N> 14 n 41 (b) 68 D 95 $ 1"" '-'- (0)
15 0 42 (c) 69 E 96 '!. 123 16 p 43 (d) 70 F 97 124 17 q 44 = 71 G 98 125 (!)
18 r 45 (e) 72 H 99 * 126 (.)
19 s 46 (f) 73 I 100 127 unav 20 t 47 (g) 74 J 101 I 21 u 48 75 f( 102 1::. 22 v 49 (h) 76 L 103 <A> '"")7 ,;,....:.• w 50 ( i ) 77 M 104 ? 24 X 51 ( j) 78 N 105 <B> 25 y 52 :.: 79 0 106 (C) 26 z "'' ,J ~· ¢ 80 p 107 (0)
Note: unav: Location is unavailable for storing characters. (key>: Press MICRO and then the indicated key Q[
Press SHIFT-SQUARE and then the indicated key.
A9
Powers of 2
n ,n n ,n L L
0 30 073 741 824 '") 31 '") 147 483 648 L L ., 4 32 4 294 967 296 L
.) 8 ~-. .) ._. 8 589 934 592 4 16 34 17 179 869 184
5 '" ·-•L 35 34 359 738 368 6 64 36 68 719 476 736 7 128 37 137 438 953 472 8 256 38 274 877 906 944 9 512 39 549 755 813 888
10 024 40 099 511 627 776 11 '") 048 41 '") 199 023 ')I:" I:" C:E:'"·I
L L L0~ ;J.J L
12 4 096 42 4 398 046 511 104 13 8 192 43 8 796 093 022 20 8 14 16 384 44 17 592 186 044 416
15 32 768 45 ~c:-
.) .J 184 372 088 832 16 65 536 46 70 368 744 177 664 17 131 072 47 140 737 488 355 328 18 262 144 48 281 474 976 710 656 19 524 288 49 562 949 953 421 312
20 048 576 50 •1 125 899 906 842 624 21 2 097 152 51 '") 251 799 813 685 248 L
22 4 194 304 52 4 503 599 627 370 496 23 8 388 608 53 9 007 199 2:·4 740 992 24 16 777 216 54 18 014 398 509 481 984
25 33 554 432 I:" I:" 36 028 797 018 963 968 .J.J
26 67 108 864 56 72 057 594 037 927 936 27 134 217 728 57 144 115 188 075 855 872 28 268 435 456 58 288 230 376 151 711 744 29 536 870 912 59 576 460 752 303 423 488
If segment size is n: range for unsigned integers is 0 to zn -1
range for signed integers is -(2n-1- 1) to +(2n-1- 1)
If maximum absolute value is in range 2n-1 ~ lmaximuml < 2n :
segment size for unsigned integers is n
segment size for signed integers is n+1
INDEX
INDEX I 1
Alphabetical in de:·: to system variables
System vat-iables may be used v;herever e:<pt-essi ons are accepted, e.g. ' i n tag of -calc-, -a.t -, etc .
Worn Page Word P<:,qe Word Page ~Jot- d Page c
a area D6 lstatu.s R' zaccnam r.-,.- , zrecs F20 ·-· .::lL.i..
aarrorlS PL :.)._, lsto ra g C2 3 zbatch S22 zt-etrnu 52.3 a. help 06 ma.inu S21 zbpc C23 zreturn r . .-,..,.
.:}£...:.•
ahelpn o.~ mal l 0 t S2i z b p l'l C"H .i... ·-' zroff F20 D
anscnt .]20 mode P"' i... ·-· zcheck F19 zrunner MlO
ansok J20 muse 521 zcondok c ·~ '1 .... J..:..i- zt-stat.n F20
aok D6 nhelpop r . ..,,.., ·:JLL zcpw C23 zr-type F20
aokist D6 ntries J20 zcurt-ic R3 zrvars F20 F r"')1 opcnt J21 C"'.,. zrvt-et F20 ar ·~s ~..:...t. zcusers £...:..
2SPO 06 o t-de r J21 zfacc F19 zsessda 06 a term 06 phrase J21 zfile F19 zsesset 06 atermn 06 pt-octim 522 zfroml S?? zsesspt D6 atirne 07 ptime I'"')")
~..:..L zfrornu i" "":• '1 ~LL zsnfile 523
a uno D7 rcallow R3 zftype F19 zsnotes S"'n j_ ·-'
back out 521 r ou. t et- R' zfusers F19 zssiten S"''"" . ·-· .L ·~·
baseu S21 rstartl F:3 zgroup S"'' zs vars F20 J -'-"-
capital ,J 20 t-sLHtu. R' ·-' z i d 523 zsvret F20 clock S21 t-vallo~; R3 zinfo F19 zs ysid S24 dataon D6 sitenarn r"")'")
::J.c:....L. zla.ng p., .,. L-:.• zs yslev S24
entire J20 size C,,.,..,. I L ·-' zleserr R4 zsystem S24
errtype R3 5 i z 2 }: P"" L·-\ zlesson S2 3 zterrn S24 e:-: tt- a J21 sizey p·"')< zlsac N10 ztouchi< S24 ..:.. ·-· M formok J22 spell J21 zline F19 ztou.chy S24 fromnu.m 521 station s,.,, ...... znamel 1 ... '17
:i L·.) ztstype S24 jcou.nt J20 tactive S?O::· zname2 C":• '< I.-).:....·-· z tt yp e S24 judged J20 user S"" Lt.. zninde:; Fi9 ztzone 324 key S21 us ers in S"':o" "-"- znscpn F19 zu.n it S24 p lcommon C23 varcnt J21 znsma:.;n F19 zusers S24 ldone R' ·-' vocab J21 znsma:n- F19 zwp b F20 lessnum S21 ~~count ,] 21 znsnams F19 z ~~ p r F20 lleslst S21 where F'"'"" i... ·J znsrecs F20 zd i 1 e F20 llesson 521 v1here:.; P"''"" £..,) zpnfile s·'' .t:.. ·-·
R lscore R' ·-· wherey F'"' .>-·J zpnotes S"H
,{... ·-'
s-•
A-· I
-•c
-·D -·F -·J -·M -·p -·R -•s
-·A -·I
T -~· ....
Alphabetical index to commands and related directives
Command Page
abort C20 a.ccess F2 addlst S15 addl C3 addname FS addrecs F6 allow R1 altfont P19 ans J13 ansu J12 ansv .J12 ans~~er J9 ans~lera JlO answerc JlO art-ay C1 area. D2 args S13 argument S1,S2,S3 arheada J2 arrow .J2 arrowa J2 at Pl atnm P1 attach Fl audio P20 a>:es P11 back S7 ba.ck1 57 backgnd C22 backop 57 backlop S7 base 58 beep P21 block C19 bounds P11 box P7 branch 54 break 511 bump J5 c S17 calc C3 calcc C3 calcs C3 catchup Sll cdate Cll change 517 char P4 charset P18 chartst P18 checkpt F14
Command Page
circle PB circleb PB clean C14 clock C10 close JS collect 59 comload C20 common C20 common>( C21 compare .J15 comret C20 compute ClO concept ,J 11 copy J3 cpulim S11 cstart S14 estop S14 estop* S14 ctime C11 data S7 datal S7 datain F3 dataoff D1 da.taon Dl dataop 58 da.ta1op 58 dataout F3 date C10 day C11 define C1 delay P5 deletes C17 delname F6 delrecs F6 delta P16 detach F1 disable P20 do 52 dot P7 doto 54 draw P7 edit J2 else 55 elseif 55 embed Pl enable P20 end 58 endarrow J3 endif S5 endings J4
Command Pa.ge
endloop entry erase et-a.seu e;-: act e>:actc e:1actv e;.: it e;(t ex tout f i 11 find findall findl finds findsa finish force foregnd from funct gat gatnm gb o;.:
gcirc1e gdot gdraw get code getline getloc get mark getname get word gorigin go to g t-ap h group gvector hbar help helpl helpop help lop hidden htoa iarrow iarrowa ieu if iferror
S6 51 P3 ,] 1
J 11 J 11 J 11 53 P2i P21 F'7 C18 C18 S16 C16 C16 05 Jl ['/'/
513 P16 P13 P13 P14 P14 P13 P14 S10 F17 J15 ,J 14 F5,F15 J14 P11 S2 P14 ClO P15 P15 S7 57 58 58 P3 Cl3 J17 J17 Sl 55 S3
Command Page
ignot-e ima.in in inhibit initial inserts iospecs itoa jkey join judge jump jump out keylist keytype lab lab 1 1 abe 1;.(
la.bely labop lab lop 1 an g les1ist less in lesson lineset l i 5 t lname loada long 1 oop lscale:-: lscaley 1vars mC~.r kup markupy mark:< marky match micro miscon mode mod perm move name names next ne>: t 1 next now ne}: top
J16 S' ·-' 514 P5 C21 C17 F16 C13 J2 J1 7 '53 J18 52 S12 S9 SlO 57 S7 F'12 P12 SB 58 P6 515 S13 R2 P18 J4 S16 J5 J2 56 P12 P12 C3 J19 J19 P12 F'12 J9 F'17 J 11 P4 C9 C13 C10 F7,F16 57 S7 S7 S7
I3
A l ph a. bet i cal i n de:: to commands and r e l a. ted d i r e c t i v e s (con t . )
Command Page Command Page Command Page Command Page
ne!-~tlop C"7 ._.; rotate P4 timel SlO no J16 route Rl timer S10 notes S14 routvar R1 touch J13 c-• noword J19 rvector- P10 touchw J13 nsite t11 sa.y p':o"' .L.L transfr C19 nstat ~16 sayc f''1"l
"-"- unit Sl ok J16 saylang F'"'"' .{...{.. unitop Sl okwot-d J19 scale~\ p 11 use S12 open J8 sca.ley F' 11 vbar P15 0-· or ~f 13 score R2 vector PB otoa C13 sea.rch C12 voca.b J4 ou.tl oop S6 seed C8 vocab s J4 output D2 segment C1 window F'8 F-· outputl D2 segmentf C1 ~~ r i t e P1 pack C12 set C4 writec p 1 packc C13 setdat D2 ~~ron g J10 parse F18 setline F17 wrong a JlO pause i"'Q
;J I set na me F4,F15 ~1rongc J10 permit DS set perm CB wrongu J12 pl ay P20 show P2 wro ngv J12 J-· plot P5 show a F'' ·-· :dn P21 polar P13 showe P2 xout P21 p t-ess s 11 showh P' ·-· zero C4 protect D5 showo P' ~· * 517 put ,J 5 showt P2 $$ S17 putd ,~ showz P2 *format 520 L' ._1
putv JS site M 11 * l is t S18 M-· randp CB size P4 randu. CB slide P20 rat P9 sort C15 ratnm P9 sort a C15 rbo:< P9 specs J6 p-· t-circle P10 sta.tion M13 rdot P9 status R? r dr a~J P9 step S17 t-eadd D3 stoload r.") ·"')
"-t.Li-
read set D3 stop S7 recname C14 storage C21 record P20 store JB recm-ds FB storea ,J 8 release C22,F4,S16 storen ,JB s-• reloop I"'! storeu J8 ;JQ
remove C9 subsite M5 removl 515 sub1 C4 rename F5 tabs P17 reserve C22,F3,S16 tab set P17 A-· restart D5 term SB restore C9 termop SB return 53 t e;: t F'' ·-· I-· rorigin P9 time SlO
"""'
c
0
F
J
M
p
R
s
A
I I
c ALCULATING
0 ATA KEEPING
F ILE OPERATIONS
J UDGING
MANAGING SITES
p RESENTING
R OUTING
s EQUENCING
APPENDIX
ALPHABETICAL INDEX
I
·'