|
|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen RC850 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen RC850 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 171392 (0x29d80)
Types: TextFile
Names: »D55«
└─⟦1e8064b49⟧ Bits:30005867/disk07.imd Dokumenter (RCSL m.m.)
└─⟦this⟧ »D55«
A E_R_R_O_R_ _M_E_S_S_A_G_E_S_
A.1 I_n_t_r_o_d_u_c_t_i_o_n_
The errors that can occur during use of the RC BASIC system fall
into three categories.
1) E_r_r_o_r_s_ _d_e_t_e_c_t_e_d_ _d_u_r_i_n_g_ _p_r_o_g_r_a_m_ _e_n_t_r_y_ _o_r_ _c_o_m_m_a_n_d_ _e_x_e_c_u_t_i_o_n_
If an error is detected when an RC BASIC statement is entered or
when a command is executed, an error message will be output in
the following form:
ERR : xxxx'
text'
xxxx': a decimal error code less than 0100.
text': a brief description of the error.
If an error is detected while a program is being read from a
file, RC BASIC will output the erroneous statement followed by
the above error message on the current output device.
2) E_r_r_o_r_s_ _d_e_t_e_c_t_e_d_ _d_u_r_i_n_g_ _p_r_o_g_r_a_m_ _e_x_e_c_u_t_i_o_n_
If an error is detected during the execution of a program, an
error message will be output in the following form:
AT yyyy' :
ERR : xxxx'
text'
yyyy': the line number of the erroneous statement.
xxxx': a decimal error code less than 0100.
text': a brief description of the error.
3) E_r_r_o_r_s_ _d_e_t_e_c_t_e_d_ _d_u_r_i_n_g_ _f_i_l_e_ _o_p_e_r_a_t_i_o_n_s_
If an error is detected during an input/output operation, an
error message will be output in a form similar to that of the
messages output for errors of the first or second category;
however, the text IOERR will replace the text ERR and the\f
decimal error code, xxxx', will be greater than or equal to
0100.
E_r_r_o_r_ _m_e_s_s_a_g_e_s_,_ i.e. messages for errors detected during program
entry or command execution as well as those detected during
program execution, are listed and explained in numerical order
in Section A.2 and A.4.
I_/_O_ _e_r_r_o_r_ _m_e_s_s_a_g_e_s_,_ i.e. messages for errors detected during
file operations, are listed and explained in numerical order in
Section A.3.
T_A.2 E_r_r_o_r_ _m_e_s_s_a_g_e_s_
0000: FORBIDDEN, THE INSTALLATION IS LOCKED
&_Login and the commands CON/CONL, RUN/RUNL is forbid-
den when the LOCK command is active.
0001: CHARACTER UNKNOWN
A character not used in RC BASIC was input. This
message may appear as the result of a transmission
error.
0002: SYNTAX ERROR
The structure of an RC BASIC statement is incorrect.
0003: NO CORE
No core memory is available for additional terminals
at the moment.
0004: Not used.
0005: ILLEGAL STATEMENT NUMBER
A statement number must be in the inverval 1,9999.
An illegal statement number may occur as the result of
an overflow when the AUTO command is used. \f
0006: TOO MANY NAMES
Too many names (variables and procedures) have been
declared. The maximum number allowed is 93. The number
of names can be reduced by means of the following
commands:
* LIST filename'
* NEW
* ENTER filename'
0007: COMMAND NOT EXECUTABLE FROM DEVICE
This error will occur, for example, if an ENTER file
contains a command or if the attempt was made to
execute BYE (and certain other commands) in batch
mode.
0008: ILLEGAL PAGE/TAB VALUE
The following rule applies to the two commands PAGE=
expr1' and TAB=expr2':
0 = expr1' = 132 and 1 = expr2' = expr1'
0009: LINE TOO LONG
A program line (when translated to internal form) is
too long.
0010: TIME LIMIT EXCEEDED
The time limit specified for a batch job has been
exceeded.
0011: NAME TOO LONG
A name (variable or procedure name) may not exceed a
length of 8 characters.
0012: ILLEGAL COMMAND
Attempt to use an RC BASIC statement as a command, but
the statement is meaningful only within the context of
a program. \f
0013: LINE NUMBER DOES NOT EXIST
A line number that was referenced, e.g. by LIST or
RUN, does not exist in the program.
0014: PROGRAM TOO LARGE
Available core memory is insufficient for the program
(statements). Program size may be reduced by deleting
REM statements and other nonessentials.
0015: ILLEGAL DIGITS/PRINTEPS VALUE
The following rule applies to digits: 1=digits=11
The following rule applies to printeps: E-100=prin-
teps=1
0016: ARITHMETIC ERROR
Either division by 0 or overflow.
0017: UNDEFINED VARIABLE
Attempt to use a variable in an expression, but the
variable has not been defined, e.g. by LET or DIM.
0018: ILLEGAL FILENAME
The specified name is not a legal file name.
0019: RETURN WITHOUT GOSUB
A RETURN or ENDPROC statement was encountered without
the previous execution of a GOSUB or EXEC statement.
0020: STACK OVERFLOW
Stack overflow may occur due to nesting of IF-ENDIF,
FOR-NEXT etc. or due to EXEC/GOSUB nesting. The stack-
size is limited by core only.
0021: FOR WITHOUT NEXT
Every FOR statement must have a corresponding NEXT
statement.\f
0022: NEXT WITHOUT FOR
A NEXT statement was encountered without the previous
execution of the corresponding FOR statement.
0023: NO MORE ROOM FOR VARIABLES
No more core memory is available to assign space for
variables. Program size may be reduced by deleting REM
statements and other nonessentials.
0024: Not used.
0025: NOT IMPLEMENTED
This message will appear, for example, if the user
attempts to execute a BATCH command and the system has
no card reader.
0026: ONLY ALLOWED FROM MASTER TERMINAL
KILL, LOCK, and UNLOCK commands can only be given from
the master terminal by the user: operator.
0027: ILLEGAL FILE NUMBER
A user file number must be in the interval 0,7.
0028: ORIGINAL DIMENSIONING EXCEEDED
Attempt to dimension an array previously dimensioned
to a smaller number of elements.
0029: EXPRESSION TOO COMPLEX
An expression contains too many parentheses.
0030: Not used.
0031: SUBSCRIPT ERROR
A subscript of a dimensioned variable exceeds the
upper bound of the dimension for the array or is less
than 1.
\f
0032: UNDEFINED FUNCTION
A user function, i.e. FNa(d), has not been defined in a
DEF statement.
0033: Not used.
0034: ILLEGAL FUNCTION ARGUMENT
A function containing an illegal argument was called.
0035: Not used.
0036: Not used.
0037: DETERMINANT IS ZERO
A matrix cannot be inverted if its determinant is
equal to zero.
0038: VARIABLE NOT DIMENSIONED
A variable which has not been declared was used in the
form name'(subscript').
0039: SAME MATRIX ON BOTH SIDES OF EQUAL SIGN
Certain matrix operations, such as multiplication,
cannot be performed if the same matrix appears on both
sides of the equal sign.
0040: DIMENSIONAL ERROR IN MATRIX OPERATION
a) In matrix addition or subtraction, the two matrices
on the right-hand side of the equal sign must have
the same dimensions.
b) In matrix multiplication, the rules set forth in
Chapter 6, Section 5, must be respected.
c) The total number of elements in the matrix on the
left-hand side of the equal sign must not be less
than the number of elements in the matrix which is
the result of the matrix operation on the right-
hand side of the equal sign.
\f
0041: MATRIX NOT SQUARE
Only square matrices can be inverted/solved.
0042: Not used.
0043: Not used.
0044: Not used.
0045: PROC WITHOUT ENDPROC
A procedure (which is introduced by a PROC statement)
does not end with an ENDPROC statement.
0046: PROCEDURE DOES NOT EXIST
A procedure which was called by means of an EXEC
statement does not exist in the program.
0047: Not used.
0048: NOT A SAVE FILE
A LOAD command was given specifying the name of a file
that does not contain a SAVEd program.
0049: Not used.
0050: Not used.
0051: ELSE WITHOUT IF
An ELSE statement was encountered without the previous
execution of an IF statement.
0052: IF/ELSE WITHOUT ENDIF
An IF/ELSE statement must have a corresponding ENDIF
statement.
0053: WHILE WITHOUT ENDWHILE
Every WHILE statement must have a corresponding
ENDWHILE statement.
0054: Not used. \f
0055: ENDWHILE WITHOUT WHILE
An ENDWHILE statement was encountered without thepre-
vious execution of the corresponding WHILE statement.
0056: ENDIF WITHOUT IF
An ENDIF statement was encountered without the
previous execution of an IF statement.
0057: Not used.
0058: UNTIL WITHOUT REPEAT
An UNTIL statement was encountered without the
previous execution of the corresponding REPEAT
statement.
0059: CASE WITHOUT WHEN, CASE ERROR
A CASE expr' OF statement must either be matched by at
least one WHEN expr' statement or, if no match is
found between the expression in the CASE statement and
an expression in a WHEN statement, be followed
immediately by one or more statements.
0060: CASE WITHOUT ENDCASE
A CASE statement must have a corresponding ENDCASE
statement.
0061: ENDCASE WITHOUT CASE
An ENDCASE statement was encountered without the
previous execution of a CASE statement.
0062: WHEN WITHOUT CASE
A WHEN statement was encountered without the previous
execution of a CASE statement.
0063: Not used.
0064: NOT A DIMENSIONED VARIABLE
A simple variable has been used in the form name'
(subscript').\f
0065: ILLEGAL TYPE
An expression is of the wrong type.
0066: TYPE CONFLICT
A variable is not of the same type as that with which
the user attempted to equate it.
0067: USER ALREADY LOGGED IN
The user is already logged in.
0068: ILLEGAL USER IDENTIFICATION
The usercat does not contain a user with specified
name and project number.
0069: ILLEGAL DISC KIT NAME IN USERCAT
The usercat specifies a standard disc kit, which is
not known by the monitor.
0070: ILLEGAL REVISION OF LOAD FILE
The program file in a LOAD command is saved by a
higher revision of BASIC/COMAL.
A.3 I/O and File related error messages
0100: CATALOG ERROR
A legal catalog operation was unsuccesful.
The cause may be hard error, software error or
overbooked catalog.
0101: CREATE, ILLEGAL SIZE
The size must be greater than 0.
0102: CREATE, ILLEGAL RECLENGTH
Reclength must be: 0reclength=512.\f
0103: CREATE, NO ENTRIES
No entry claim available.
0104: CREATE, NO SLICES
Insufficient slice claims available.
0105: CREATE, FILE EXISTS
The specified file name already exists.
0106: CREATE, ILLEGAL FILENAME
The specified file name is not a legal file name.
0107: CREATE, ILLEGAL DISCNAME
The specified disc name is not a legal disc name.
0108: CHANGESIZE, ILLEGAL SIZE
The size must be greater than 0.
0109: CHANGESIZE, FILE UNKNOWN
The specified file does not exist.
0110: CHANGESIZE, NO SLICES
Insufficient slice claims available for extension.
0111: RENAME, OLDNAME UNKNOWN
The specified file does not exist.
0112: RENAME, NEWNAME EXISTS
The new name already exists.
0113: RENAME, NEWNAME ILLEGAL
The new name is not a legal filename. \f
0114: DELETE, FILE UNKNOWN
The specified file does not exist.
0115: COPY, NO ENTRIES
No entry claims available for creation of output file.
0116: COPY, NO SLICES
Insufficient slice claims for creation/extension
of output file.
0117: COPY, FROMFILE UNKNOWN
The source file does not exist.
0118: COPY, NEWNAME ILLEGAL
The specified output file does not have a legal name.
0119: OPEN, ILLEGAL FILENO
File must be: -1= file=max file
0120: OPEN, ILLEGAL MODE
Legal modes: 0, 1, 2, 3, 4, 9, 11.
0121: OPEN, ALREADY OPEN
The specified file is already open.
0122: OPEN, OPENS EXCEEDED
The total number of files which the total number of
user>s can have opened at the same time is exceeded.
This number is a system parameter initializedat
upstart.
One or more files must be closed before the file in
question can be opened.
0123: OPEN, FILE UNKNOWN
The specified file does not exist. \f
0124: OPEN, WORK AREA FOR INPUT EXCEEDED
The max size of a work area for input from a device is a
system parameter initialized at upstart.
0125: OPEN, INPUT DEVICE ERROR
Hard error at input device.
0126: OPEN, NO ENTRY FOR OUTPUT
No entry claim for creation of output file.
0127: OPEN, NO SLICES FOR OUTPUT
Insufficient slice claims for creation of output file.
0128: OPEN, DEVICE AREA EXISTS
A file with the device name already exists.
It must be closed or deleted before the file in question
can be opened.
0129: Not used.
0130: I/O, NOT OPENED IN REQUIRED MODE
The mode in the open call and the i/o type does not match.
0131: FORMAT ERROR IN PRINT USING
The format of a PRINT USING statement is incorrect.
0132: READ/WRITE, RECORD TOO LONG
Attempt to read or write a record (from or to a random
access file) which was longer than the record length
specified for the file.
0133: PRINT ELEMENT TOO LONG
A print element contains more characters than the print
line can hold. (The length of the print line can be set by
means of the PAGE command).
\f
0134: PRINT/WRITE, TOO FEW SLICES FOR OUTPUT
Insufficient slices for output.
0135: Not used.
0136: READ/WRITE, ILLEGAL RECORDNO
The number of a record to be read from or written to a
random access file is less than 1. Or the number of a
record to be read from a random access file is larger than
the total number of records.
0137: NO MORE DATA FOR READ
The last element in the last DATA statement has been read,
but the system attempted to execute READ once more.
0138: Not used.
0139: READ/INPUT, END OF FILE
Attempt to read outside a file.
0140: I/O, FILE RESERVED
Another file used the specified file name for output.
0141: I/O, HARD ERROR ON BACKING STORAGE
Hard error on disc kit.
0142: READER MALFUNCTION
Hard error on reader.
0143: CARD READER MALFUNCTION
Hard error on card reader.
0144: LINE PRINTER MALFUNCTION
Hard error on line printer.
0145: PUNCH MALFUNCTION
Hard error on punch.\f
0146: MALFUNCTION ON CURRENT OUTPUT
Hard error on current output device.
0147: ILLEGAL NAME
Command followed by illegal file name.
0148: DEVICE AREA ALREADY EXISTS
A file with the device name already exists.
It must be CLOSED or DELETED before the command in
question can be executed.
0149: INPUT AREA DOES NOT EXIST
The commands ENTER/LOAD/CHAIN is followed by the name of a
file which does not exist.
0150: NO ENTRIES FOR OUTPUT
Commands LIST/SAVE is followed by file name and there is
no entry claim for creation.
0151: NO SLICES FOR OUTPUT
Commands LIST/SAVE is followed by file name and there is
no slice for creation.
0152: NO FILES AVAILABLE
A file is needed, but the total number of files which the
total number of user>s can have opened at the same time is
exceeded. See error 0122.
0153: HARD ERROR ON INPUT DEVICE
Hard error on input device.
0154: WORK AREA FOR INPUT TOO SMALL
The max size of a work area for input from a device is a
system parameter initialized at upstart.
\f
A.4 Error messages from scope and newclaim.
0200: SCOPE, ILLEGAL IDENTIFICATION
The specified user identification is not found in the user
catalog.
0201: SCOPE, COMMAND NOT ALLOWED
The command can only be used by the MATER.
0202: SCOPE, FILE UNKNOWN
The specified file does not exist on the old scope.
0203: SCOPE, NO ENTRY
On the new scope no entry claim is available.
0204: SCOPE, SLICES EXCEEDED
On the new scope too few slices are available.
0205: SCOPE, FILE ALREADY ON NEW SCOPE
A file with the specified name already exists on the new
scope.
0206: NEWCLAIM, COMMAND NOT ALLOWED
The command can only be used by the MATER.
0207: NEWCLAIM, ILLEGAL IDENTIFICATION
The specified user identification is not found in the user
catalog.
0208: NEWCLAIM, USER ENTRIES EXCEEDED
MATER attemps to take more than user>s entries away.
0209: NEWCLAIM, USER SLICES EXCEEDED
Mater attempts to take more than user>s free slices away.
\f
0210: NEWCLAIM, DISCNAME UNKNOWN
The specified disc kit does not exist.
0211: NEWCLAIM, MATER ENTRIES EXCEEDED
Mater attempts to give more than MATER>S free entries
away.
0212: NEWCLAIM, MATER SLICES EXCEEDED
MATER attempts to give more than MATER>S free slices away.\f
F_BB_A_T_C_H_ _M_O_D_E_ _A_N_D_ _P_R_O_G_R_A_M_M_I_N_G_ _O_N_ _M_A_R_K_-_S_E_N_S_E_ _C_A_R_D_S_
B.1B_a_t_c_h_ _j_o_b_s_
The batch mode of operation permits the user to enter and run
one or more complete jobs from the mark-sense card reader (when
present).
RC BASIC source programs, written on mark-sense cards, are
placed in the reader; when the BATCH/BATCH "<LPT" command is
given from a terminal, the system starts reading the cards.
The cards, t_h_e_ _c_o_n_t_e_n_t_s_ _o_f_ _w_h_i_c_h_ _a_r_e_ _i_n_t_e_r_p_r_e_t_e_d_ _e_x_a_c_t_l_y_ _a_s_ _i_f_
t_h_e_y_ _h_a_d_ _b_e_e_n_ _e_n_t_e_r_e_d_ _f_r_o_m_ _a_ _t_e_r_m_i_n_a_l_, can contain all of the RC
BASIC statements and commands with few exceptions.
A stack of cards for batch entry is typically divided into
several jobs.
Each job is initiated by a card containing a SCRATCH command
(see Sect. B.5) and terminated by a card containing the EOJ
command (see Sect. B.4).
Between the SCRATCH command and the EOJ command there can be an
RC BASIC source program on cards, each of which contains one
statement, and following the program there can be one or more
cards containing one command each, e.g. LIST and RUN.
A RUN command may be followed by cards containing data for the
program, which is read by means of INPUT statements (see Ch. 3)
in the program. Such data cards are marked only in the FORMULA
section of the card (see Sect. B.2).
The figure below shows a card stack containing two batch jobs.
\f
F___ _________________________________________
_ _ _ _E_O_J_ _____________________________________
____R_U_N_ _____________________________________
____L_I_S_T_ ____________________________________
_______________________________p_r_o_g_r_a_m_ _c_a_r_d_s_
___5_ _R_E_M_ _P_R_O_G_R_A_M_ _F_I_N_D_S_ _1_0_0_ _P_R_I_M_E_ _N_U_M_B_E_R_S_ ___
___S_C_R_A_T_C_H_ _ _W_I_L_K_I_N_S_ _M_I_C_A_W_B_E_R_ _ _7_ _C_ __________
___E_O_J_ _____________________________________
__________________________________d_a_t_a_ _c_a_r_d_s_
___4_,_ _-_5_,_ _7_ ________________________________
___R_U_N__ ____________________________________
____L_I_S_T_ ____________________________________
________________________________p_r_o_g_r_a_m_ _c_a_r_d_s_
____1_0_ _R_E_M_ _P_R_O_G_R_A_M_ _F_O_R_ _2_N_D_ _D_E_G_R_E_E_ _E_Q_U_A_T_I_O_N_ ___
SCRATCH EMMA MICAWBER 7 C
________________________________________________\f
F_ B.2M_a_r_k_-_s_e_n_s_e_ _c_a_r_d_s_
The cards used for batch jobs are 37 column mark-sense
programming cards. The RC BASIC mark-sense card looks like this:
S_T_A_T_E_M_E_N_T_ _2_
F_O_R_M_U_L_A_
S_T_A_T_E_M_E_N_T_ _1_
S_T_A_T_E_M_E_N_T_ _N_U_M_B_E_R_
\f
F_ The mark-sense card is not punched; instead, information is
written on it simply by marking one or more fields with a_ _s_o_f_t_
p_e_n_c_i_l_, e.g. No. 2.
As may be seen from the figure on the preceding page, the
RC BASIC mark-sense card is divided into four sections, from
left to right:
STATEMENT NUMBER section (columns 1-4)
STATEMENT 1 section (columns 5-7)
FORMULA section (columns 8-36)
STATEMENT 2 section (column 37)
b_ B.2.1 S_T_A_T_E_M_E_N_T_ _N_U_M_B_E_R_e_
The STATEMENT NUMBER section (columns 1-4) is used for statement
numbers.
An RC BASIC program consists of statements, each of which begins
with a statement number in the range 1 to 9999. A statement
number is written by making at the most one mark in each of the
columns 1 to 4.
\f
F_ E_x_a_m_p_l_e_s_
10 : 1987:
b_ B.2.2 S_T_A_T_E_M_E_N_T_ _1_ e_
The STATEMENT 1 section (columns 5-7) permits the user to write
one or more RC BASIC words simply by marking one field for each
word.
None of the three columns in this section may contain more than
one mark. Some of the RC BASIC words are commands, e.g. LIST or
RUN, and may not be preceded by a line number. Other words, e.g.
ENTER or CLOSE, may be used with or without a line number, i.e.
either as statements or commands. Still other words can be used
only with a line number, e.g. PROC or ENDPROC.
Whether a word must have, may have, or may not have a line
number can be seen from the statement and command descriptions
found in Chapters 3, 6, 7, 8, and 9.
\f
F_ E_x_a_m_p_l_e_s_
10 OPEN FILE : LIST :
b_B.2.3S_T_A_T_E_M_E_N_T_ _2_e_
The STATEMENT 2 section (column 37) is used as follows:
The C_O_N_T_ _f_i_e_l_d_ should be marked whenever an RC BASIC statement
fills more than one card. The system will then continue reading
from the next card, s_k_i_p_p_i_n_g_ _t_h_e_ _S_T_A_T_E_M_E_N_T_ _N_U_M_B_E_R_ _s_e_c_t_i_o_n_ _o_f_
t_h_a_t_ _c_a_r_d_._ A statement can theoreticallybe continued on any
number of cards.
When the E_O_J_ _f_i_e_l_d_ is marked, the system will terminate the job.
No other fields on the card should be marked.
The T_H_E_N_,_ _O_F_,_ _a_n_d_ _D_O_ _f_i_e_l_d_s_ are used in conjunction with the
words IF, CASE, and WHILE, respectively.
E_N_D_P_R_O_C_,_ _R_E_T_U_R_N_,_ _S_T_O_P_,_ _E_N_D_,_ _a_n_d_ _R_A_N_D_O_M_I_Z_E_ are normal RC BASIC
statements.
\f
F_ The STATEMENT 2
section looks
like this:
b_ B.2.4 F_O_R_M_U_L_A_ e_
The FORMULA section (columns 8-36) is used for that part of an
RC BASIC statement which cannot be written in the STATEMENT 1
and STATEMENT 2 sections.
Each of the columns 8 to 36 contains twelve vertical fields.
The first field from the top is field number 12, the second
field from the top is field number 11, and the remaining fields
are numbered 0 to 9.
B.2.4.1 E_v_e_n_ _n_u_m_b_e_r_e_d_ _c_o_l_u_m_n_s_._ Columns with even numbers (i.e. 8, 10,
..., 36) are used for the letters A to Z, the digits 0 to 9, and
the following special characters:
= (field 12)
, (field 11)
. (field 9)
B.2.4.2O_d_d_ _n_u_m_b_e_r_e_d_ _c_o_l_u_m_n_s_._ Columns with odd numbers (i.e. 9, 11,
..., 35) are used for the digits 0 to 9 and the following
characters:\f
F_ ( (field 12)
) (field 11)
+ - * (field 1)
/ ; (field 2)
' # (field 3)
" : < (field 4)
? % Æ (field 5)
& ! SP (field 6)
@ Ø Å (field 7)
CR " (field 8)
= , . (field 9)
N_o_t_e_: SP is the space character. CR outputs positioning to the
leftmost character position on the print line a_n_d_ _a_ _l_i_n_e_ _f_e_e_d_
(see App. D). @, Ø, and Å are letters of the Danish alphabet.
B.2.4.3 W_r_i_t_i_n_g_ _c_h_a_r_a_c_t_e_r_s_._ The following characters are (or may be)
written by marking only one field:
= (field 12, even numbered columns)
( (field 12, odd numbered columns)
, (field 11, even numbered columns)
) (field 11, odd numbered columns)
0 to 9 (fields 0 to 9, respectively)
All other characters are written by marking two fields:
The f_i_r_s_t_ _f_i_e_l_d_ to be marked is the field in which the
character itself appears on the card.
\f
F_ The s_e_c_o_n_d_ _f_i_e_l_d_ to be marked is field 12, 11, or 0.
Which second field to mark is determined by the position of
the character in the first field, for example:
_______
A
B 1
_C______
The characters A, B, and C all appear in field 1.
Since the character A has the t_o_p_ _p_o_s_i_t_i_o_n_ in field 1, it is
written by marking field 1 a_n_d_ _f_i_e_l_d_ _1_2_.
Since the character B has the m_i_d_d_l_e_ _p_o_s_i_t_i_o_n_ in field 1, it
is written by marking field 1 a_n_d_ _f_i_e_l_d_ _1_1_.
Since the character C has the b_o_t_t_o_m_ _p_o_s_i_t_i_o_n_ in field 1, it
is written by marking field 1 a_n_d_ _f_i_e_l_d_ _0_.
\f
F_ E_x_a_m_p_l_e_
The statement
105 PRINT A,B,NAME<
is written by marking a card as follows:
- < (4 + 0)
- E (2 + 11)
- M (5 + 12)
- A (1 + 12)
- N (5 + 11)
- , (11)
- B (1 + 11)
- , (11)
- A (1 + 12)
- PRINT
- 5
- 0
- 1\f
F_N_o_t_e_
1. Blank spaces must be marked explicitly (the character SP).
Columns having no marks whatsoever will be skipped by the
card reader.
2. If a column contains more than the legal number of marks, the
column will be skipped. (This can be utilized to skip a
column containing an incorrectly marked field). Columns 1-7
may contain only one mark. Columns 8-36 may contain two
marks. Column 37 may contain a mark in the CONT field and one
other mark.
3. RC BASIC words not found in the STATEMENT sections can be
written using the FORMULA section.
B.3B_a_t_c_h_ _m_o_d_e_
B.3.1B_A_T_C_H_/_B_A_T_C_H_ _"_L_P_T_"_ _c_o_m_m_a_n_d_e
A terminal can be placed in batch mode by giving the command
BATCH or BATCH "LPT". Before the command is given, the cards
should be placed in the card reader and the reader should be
ready, as the system will start reading cards at once.
If the BATCH form of the command is used, all output from the
jobs executed, i.e. listings, output from PRINT statements (see
Ch. 3), and error messages, will appear on the terminal.
If the BATCH "LPT" form of the command is used, job output will
be directed to the line printer.
b_B.3.2I_l_l_e_g_a_l_ _s_t_a_t_e_m_e_n_t_s_ _a_n_d_ _c_o_m_m_a_n_d_s_e
As stated in Section B.1, there are a few RC BASIC statements
and commands which cannot be used in batch mode. They are:
AUTO
BATCH/BATCH "LPT"
BYE \f
F_ b_B.3.3T_i_m_e_ _l_i_m_i_t_ _o_n_ _j_o_b_s_e
A time limit can be placed on a job, so that when the job has
run for a specified number of seconds, it will be interrupted.
The error message 0010: TIME LIMIT EXCEEDED will then be output
and the next job started.
The next job is assumed to begin with a SCRATCH command.
When a job is started, the time limit is set by default to
60 seconds. This time limit can be changed by means of the TIME
command (see Sect. B.6).
b_ B.3.4 E_S_C_a_p_e_ _k_e_y_ e
The ESCape key has a special function when the terminal is in
batch mode.
When the ESCape key is pressed, the system will interrupt all
current activity and output the following message on the
terminal:
NEXT JOB(1), END OF BATCH(2), CONTINUE(3):
Here, the user should respond by typing one of the numbers
(i.e. 1, 2, or 3) and pressing the RETURN key.
All according to the user>s response, the following will now
occur:
1 Cards will be read and skipped until
a SCRATCH command is encountered or the
reader is empty.
2 The terminal will be placed in
interactive mode.
3 The next card will be read and its
contents interpreted.
b_B.3.5 R_e_t_u_r_n_ _t_o_ _i_n_t_e_r_a_c_t_i_v_e_ _m_o_d_e_e
When the BATCH/BATCH "LPT" command has been given, theterminal
will remain in batch mode until one of the following occurs:
\f
F_ 1. The card reader becomes empty.
2. The user presses the ESCape key and then
types the number 2.
3. An I/O error on the card reader is detected.
B.4 E_O_J_ _c_o_m_m_a_n_d_
F_o_r_m_a_t_
EOJ
U_s_e_
As a command to terminate a job.
R_e_m_a_r_k_s_
1. The EOJ command executes an implicit NEW command (see Ch. 9).
2. Any logical disc that was connected by the job will be
RELEASEd (see Ch. 7).
3. A card containing the EOJ command should always be the last
card in a job.
B.5 S_C_R_A_T_C_H_ _c_o_m_m_a_n_d_
F_o_r_m_a_t_
SCRATCH text'
text': a text, i.e. a number of characters, which will
be output as a heading.
U_s_e_
As a command to initiate a new job.
R_e_m_a_r_k_s_
1. If the command BATCH (see Sect. B.3) has been given, the\f
F_ SCRATCH command will clear the display screen on the RC 822
or RC 823 terminal; if the command BATCH "<LPT" has been
given, SCRATCH will cause the output of a form feed (see App.
D) on the line printer.
2. If text' is specified, text' will be output as the first
line displayed on the terminal or the first line on the new
line printer page.
3. The job time limit is set to 60 seconds. This time limit can
be changed by means of the TIME command (see Sect. B.6).
4. An implicit NEW command is executed (see Ch. 9).
5. Any logical disc that was connected by the previous job is
RELEASEd (see Ch. 7).
6. A card containing a SCRATCH command should always be the
first card in a job.
B.6T_I_M_E_ _c_o_m_m_a_n_d_
F_o_r_m_a_t_
TIME=val'
val': a numeric constant (expressing seconds).
U_s_e_
As a command to specify how many seconds a job may run.
R_e_m_a_r_k_s_
1. If the TIME command is not used, the system will interrupt
the job in 60 seconds, starting from the execution of the
SCRATCH command (see Sect. B.5).
2. The maximum specifiable time limit is 3600 seconds (1 hour).
3. The time allotted to a job is real time, i.e. the amount of
central processing unit time which the job actually receives
will depend on how many programs are being run at the same
time from terminals in interactive mode. \f
F_ CO_T_H_E_R_ _I_N_T_E_R_A_C_T_I_V_E_ _U_S_E_S_ _O_F_ _R_C_ _B_A_S_I_C_
C.1C_o_m_m_a_n_d_s_ _d_e_r_i_v_e_d_ _f_r_o_m_ _R_C_ _B_A_S_I_C_ _s_t_a_t_e_m_e_n_t_s_
The interactive use of RC BASIC for source program maintenance
is described in Chapter 9. This appendix describes other
interactive uses of RC BASIC.
Many RC BASIC statements (see Chs. 3, 6, and 8) can be used as
keyboard commands. When a statement is used as a command, it is
entered without a preceding line number and terminated by pres-
sing the RETURN key; the system then executes it immediately.
This facility is useful for:
Performing desk calculator functions, e.g. PRINT EXP(2.13)
Debugging programs dynamically
Performing file input/output, e.g. OPEN FILE(6,9) "PTR"
Certain RC BASIC statements, which are meaningful only within
the context of a program, cannot be used as keyboard commands.
These statements are:
CASE-WHEN-ENDCASE ELSE
DATA ON-ERR
DEF ON-ESC
DELAY ON-GOTO/GOSUB
END PRINT USING
EXEC PROC-ENDPROC
FOR-NEXT REM
GOSUB and RETURN REPEAT-UNTIL
GOTO STOP
ENDIF WHILE-ENDWHILE \f
F_C.2D_e_s_k_ _c_a_l_c_u_l_a_t_o_r_ _f_u_n_c_t_i_o_n_s_
Calculations can be performed using the PRINT command. A
semicolon (;) may be used instead of the word PRINT.
The items in the argument list may be numeric or relational
expressions, string literals, or string variables.
Values can be assigned to variables by means of the LET, INPUT,
or READ command, or the current values of variables in a loaded
program can be used.
E_x_a_m_p_l_e_ C_o_m_m_e_n_t_s_
* TAB=10
* K=SYS(14)/180 K is the factor used when
* ;SIN(45*K),COS(45*K);TAN(45*K) converting radians to
.707107 .707107 1 degrees.
* ;SQR(169);SQR(27.45)
13 5.23927
* ;"12'" This PRINT command will
clear the display screen on
* the RC 822 or RC 823
terminal.
C.3P_r_o_g_r_a_m_ _d_e_b_u_g_g_i_n_g_
The use of RC BASIC statements as keyboard commands permits
programs to be debugged dynamically.
If, for example, a running program is producing the wrong
output, it can be interrupted (ESCape key); the current values
of the variables can then be examined (PRINT command) and
changed (LET command) as required, before program execution is
continued (see the CON or RUN line no.' command, Ch. 9).
\f
F_ E_x_a_m_p_l_e_ C_o_m_m_e_n_t_s_
0010 LET K=180/SYS(14)
0020 FOR I=0 TO 45 STEP 5
0030 PRINT USING "### #.####",I,SIN(K*I),
0040 NEXT I
* RUN
0 0.0000 5 0.5597 10 0.9277 The results indi-
15 0 cate that the
STOP value of K is
AT 0030wrong.
* K=SYS(14)/180
* RUN 20 The user presses
0 0.0000 5 0.0872 10 0.1736 the ESCape key,
15 0.2588 20 0.3420 25 0.4226 assigns the right
30 0.5000 35 0.5736 40 0.6428 value to K, and
45 0.7071 resumes program
END execution from
AT 0040line 20.
*
C.4F_i_l_e_ _i_n_p_u_t_/_o_u_t_p_u_t_
With the exception of PRINT FILE USING, the file input/output
statements described in Chapter 8 can be used as keyboard
commands to create a file, open a file, write data to a file,
and so on.
If, for example, the error message 0129: I/O, FILE NOT OPENED is
output, the user can open the file by means of the command
OPEN FILE(file',mode') filename'
and program execution can then continue.
\f
F_ DA_S_C_I_I_ _C_H_A_R_A_C_T_E_R_ _S_E_T_
D.1A_S_C_I_I_ _c_h_a_r_a_c_t_e_r_s_ _w_i_t_h_ _t_h_e_i_r_ _d_e_c_i_m_a_l_ _a_n_d_ _o_c_t_a_l_ _v_a_l_u_e_s_
D_E_C_ O_C_T_ C_H_A_R_ D_E_C_ O_C_T_ C_H_A_R_ D_E_C_ O_C_T_ C_H_A_R_ D_E_C_ O_C_T_ C_H_A_R_
0 000 NUL 32 040 SP 64 100 Æ 96 140
1 001 SOH 33 041 ! 65 101 A 97 141 a
2 002 STX 34 042 " 66 102 B 98 142 b
3 003 ETX 35 043 # 67 103 C 99 143 c
4 004 EOT 36 044 < 68 104 D 100 144 d
5 005 ENQ 37 045 % 69 105 E 101 145 e
6 006 ACK 38 046 & 70 106 F 102 146 f
7 007 BEL 39 047 ! 71 107 G 103 147 g
8 010 BS 40 050 ( 72 110 H 104 150 h
9 011 HT 41 051 ) 73 111 I 105 151 i
10 012 LF 42 052 * 74 112 J 106 152 j
11 013 VT 43 053 + 75 113 K 107 153 k
12 014 FF 44 054 , 76 114 L 108 154 l
13 015 CR 45 055 - 77 115 M 109 155 m
14 016 SO 46 056 . 78 116 N 110 156 n
15 017 SI 47 057 / 79 117 O 111 157 o
16 020 DLE 48 060 0 80 120 P 112 160 p
17 021 DC1 49 061 1 81 121 Q 113 161 q
18 022 DC2 50 062 2 82 122 R 114 162 r
19 023 DC3 51 063 3 83 123 S 115 163 s
20 024 DC4 52 064 4 84 124 T 116 164 t
21 025 NAK 53 065 5 85 125 U 117 165 u
22 026 SYN 54 066 6 86 126 V 118 166 v
23 027 ETB 55 067 7 87 127 W 119 167 w
24 030 CAN 56 070 8 88 130 X 120 170 x
25 031 EM 57 071 9 89 131 Y 121 171 y
26 032 SUB 58 072 : 90 132 Z 122 172 z
27 033 ESC 59 073 ; 91 133 (@) 123 173 (æ)
28 034 FS 60 074 92 134 (Ø) 124 174 (ø)
29 035 GS 61 075 = 93 135 (Å) 125 175 (å)
30 036 RS 62 076 ' 94 136 () 126 176
31 037 US 63 077 ? 95 137 (_) 127 177 DEL \f
F_ N_o_t_e_: Decimal values 91 through 93 and 123 through 125 can be
used for Danish or other national characters.
D.2O_u_t_p_u_t_ _o_f_ _n_o_n_-_p_r_i_n_t_i_n_g_ _c_h_a_r_a_c_t_e_r_s_
Non-printing characters, i.e. characters which do not appear as keys
on the terminal keyboard, can be output by means of the following
sequence:
PRINT "x'"
where x is the decimal value of the character to be
output.
Only a few of the non-printing characters are used ordinarily,
e.g. to move the paper on the line printer or to position the cursor
on a video terminal.
The non-printing characters that occur most frequently are:
12 FF Form Feed. On the line printer, feeds the form
to the top of the next page and positions to
the leftmost character position on the print
line.
13 CR Carriage Return. On the terminal, positions to
. the leftmost character position on the print
line.
10 LF Line Feed. On the terminal, feeds one line
vertically.
N_o_t_e_: To output positioning to the leftmost
character position on the print line a_n_d_ a line
feed, the sequence PRINT "13'10'" must be
used.
7 BEL Bell. On the terminal, causes the bell to ring
once.
The characters used to position the cursor on a video terminal
will depend on the terminal in question and may be found in the
operating guide for the terminal.
\f
F_ E R_E_S_E_R_V_E_D_ _W_O_R_D_S_
This appendix contains an alphabetical list of the reserved
words in the RC BASIC language. These words have special
meanings and may not be used as variables.
ABS ENDCASE LOG RND
AND ENDIF LOOKUP RUN
ATN ENDPROC LOWBOUND RUNL
AUTO ENDWHILE
ENTER
EOF MATSAVE
BATCHEOJMATERSCANCLAIM
BYEERRMESSAGESCOPE
ESCMODSCRATCH
EXECSEARCH
CALL EXPSGN
CASENEWSIN
CHAINNEWCLAIMSIZE
CHANGESIZEFALSENEXTSOLVE
CHRFILENOTSQR
CLAIMFNA ... FNÅSTEP
CLOSEFOROF STOP
CONONSYS
CONLOPEN
COPYGOSUBOR
COSGOTOORDTAB
CREATETAN
THEN
IDNPAGETIME
DATAIFPRINTTO
DEFINITPRINTDATETRN
DELAYINPUTPRINTEPSTRUE
DELETEINTPROC
DETINVPUNCH
DIGITS UNLOCK
DISPLAYRANDOMIZEUNTIL
DIMKILLREADUSER
DIVREMUSING
DORENAME
LENRENUMBER
LETREPEATWHEN
ELSELISTRESTOREWHILE
ENDLOAD RETURN WRITE
LOCK
ZER
N_o_t_e_: FNA ... FNÅ represents the 29reserved words FNA, FNB,
..., FNZ, FNÆ, FNØ, and FNÅ.\f
F_F S_U_M_M_A_R_Y_ _O_F_ _S_T_A_T_E_M_E_N_T_S_,_ _C_O_M_M_A_N_D_S_,_ _A_N_D_ _F_U_N_C_T_I_O_N_S_
F.1R_C_ _B_A_S_I_C_ _s_t_a_t_e_m_e_n_t_s_ _(_C_h_a_p_t_e_r_ _3_)_
F_o_r_m_a_t_/_D_e_s_c_r_i_p_t_i_o_n_ S_e_c_t_i_o_n_/_U_s_e_
CASE expr' OF 3.2
statements-0'
WHEN expr' ,expr' ...
statements-1'
.
.
.
WHEN expr' ,expr' ...
statements-n'
ENDCASE comment'
The expression following CASE is evaluated STATEMENT
and compared with the expressions following
WHEN. If there is a match in the ith WHEN
statement, statements-i is executed. If no
match is found, statements-0 is executed.
Control is then transferred to the first
statement following ENDCASE.
CHAIN filename' THEN GOTO lineno.' 3.3
Runs the SAVEd program referred to by a STATEMENT
filename when the statement is encountered or COMMAND
in the user>s program. When used as a
command, CHAIN will LOAD, but not execute,
the SAVEd program.
val' ,val'3.4
DATA slit' ,slit' ...
Provides values to be read into variables STATEMENT
appearing in READ or MAT READ statements.
DEF FNa'(d') = expr' 3.5
Used with the f_u_n_c_t_i_o_n_ FNa(d) to define a STATEMENT
user function.
\f
F_DELAY = expr' 3.6
Interrupts program execution for a STATEMENT
specified number of seconds.
DIGITS = expr' 3.7
Specifies the number of digitsSTATEMENT
output by a PRINT statement. or COMMAND
svar'(l') svar'(l') 3.8
DIM sarray' (n',l') sarray' (n',l')
array'(m') array'(m')
array' (row',col') array' (row',col')
Defines the size of string variables, STATEMENT
string arrays or numeric arrays. or COMMAND
END comment' 3.9
Terminates execution of the program. STATEMENT
EXEC name' 3.11
Executes a procedure defined by STATEMENT
PROC-ENDPROC.
FOR control var' = expr1' TO expr2' STEP expr3' 3.12
statements'
NEXT control var'
FOR begins a FOR-NEXT loop and defines the STATEMENT
number of times a block of statements is
to be executed. NEXT is the last statement
in the loop and changes the value of the
control variable.
GOSUB lineno.' 3.13
.
.
.
statements'
RETURN comment' \f
T_ GOSUB transfers control to the first state- STATEMENT
ment of a subroutine. RETURN is the last
statement in a subroutine and returns
control to the first statement following
the GOSUB statement that called the sub-
routine.
&_
T_GOTO lineno.' 3.14
Transfers control unconditionally to aSTATEMENT
statement not in normal sequential order.
&_
T_ IF expr' THEN statement' 3.15
Executes a single statement depending on STATEMENT
whether an expression is true or false. or COMMAND
&_
T_IF expr' THEN DO 3.16
statements'
ENDIF comment'
Executes a block of statements depending on STATEMENT
whether an expression is true or false.
&_
T_IF expr' THEN DO 3.17
statements-1'
ELSE comment'
statements-2'
ENDIF comment'
Executes statements-1 if an expression is STATEMENT
true, otherwise statements-2.
&_
T_ var',var'3.18
INPUT slit-0', svar' ,slit-n' ,svar' ...
Assigns values entered from the user>s STATEMENT
terminal to numeric or string variables. or COMMAND
&_
T_var'var'3.19
LET svar' = expr' ; svar' = expr' ...
Assigns the value of an expression to a STATEMENT
variable. or COMMAND
&_ \f
T_ LOWBOUND = expr' 3.20
Sets the lower bounds of arrays. STATEMENT
or COMMAND
&_
T_ON ERR THEN statement' 3.22
Enables the programmer to take special STATEMENT
action, if an error occurs during program
execution.
&_
T_ON ESC THEN statement' 3.23
Enables the programmer to take special STATEMENT
action, if the ESCape key is pressed
during program execution.
&_
T_GOTO 3.24
ON expr' THEN GOSUB lineno.' ,lineno.' ...
Transfers control to one of several lines STATEMENT
in a program depending on the computed
value of an expression when the statement
is executed.
&_
T_PAGE = expr' 3.25
Sets the right-hand margin of the terminal STATEMENT
or COMMAND
&_
T_ expr' expr' 3.26
;slit' , slit' ,
PRINT svar' ; svar' ... ;
Prints specified items on the user>s STATEMENT
terminal. or COMMAND
&_
T_expr' expr' 3.27
PRINT USING format', slit' , slit' ... ,
svar' ; svar';
Outputs the values of items in the STATEMENT
argument list using a specified format.
&_ \f
T_,3.28
PRINTDATE expr',expr',expr'
;
Prints the two first items withSTATEMENT
a date layout specified by the third.or COMMAND
&_
T_ PRINTEPS = expr' 3.29
Specifies the smallest number which is not STATEMENT
printed as zero. or COMMAND
&_
T_PROC name' 3.30
statements'
ENDPROC comment'
Defines a procedure. When the procedure is STATEMENT
called by EXEC, control is transferred to
the first statement following PROC. ENDPROC
is the last statement in a procedure and
returns control to the first statement fol-
lowing the EXEC statement that called the
procedure.
&_
T_RANDOMIZE 3.31
Causes the random number generator to start STATEMENT
at a different point in the sequence of or COMMAND
random numbers generated by the f_u_n_c_t_i_o_n_
RND(X).
&_
T_ var' ,var' 3.32
READ svar' ,svar' ...
Reads in values from DATA statements and STATEMENT
assigns the values to the variables listed or COMMAND
in the statement.
&_
T_REM comment' 3.33
Inserts explanatory comments within a STATEMENT
program.
&_ \f
T_REPEAT comment' 3.34
statements'
UNTIL expr'
Executes a block of statements repetitively STATEMENT
until an expression is true. The block of
statements is always executed at least once.
&_
T_RESTORE lineno.' 3.35
Resets the data element pointer to the STATEMENT
beginning of the data list or to a or COMMAND
particular DATA statement.
&_
T_STOP comment' 3.37
Terminates execution of the current STATEMENT
program.
&_
T_TAB = expr' 3.38
Sets the zone spacing between STATEMENT
the print elements output byor COMMAND
PRINT statements.
&_
T_TAB(expr') 3.39
Used in PRINT statements to tabulate the F_U_N_C_T_I_O_N_
printing position to the column number
evaluated from an expression.
&_
T_WHILE expr' THEN DO 3.40
statements'
ENDWHILE comment'
Executes a block of statements repetitively STATEMENT
while an expression is true. If the expres-
sion is false the first time WHILE is en-
countered, the block of statements is not
executed even once.
&_ \f
F_F.2 R_C_ _B_A_S_I_C_ _f_u_n_c_t_i_o_n_s_ _(_C_h_a_p_t_e_r_ _4_)_
ABS(expr') 4.2
Returns the absolute (positive) value of FUNCTION
an expression.
ATN(expr') 4.3
Calculates the angle, in radians, whose FUNCTION
tangent is an expression.
COS(expr') 4.4
Calculates the cosine of an angle which is FUNCTION
expressed in radians.
EXP(expr') 4.5
Calculates the value of e (2.71828) to the FUNCTION
power of an expression.
FNa'(d') 4.6
A user function which is defined by DEF FUNCTION
(see Sect. F.1) and returns a numeric value.
INT(expr') 4.7
Returns the value of the nearest integer FUNCTION
not greater than an expression.
LOG(expr') 4.8
Calculates the n_a_t_u_r_a_l_ logarithm of an FUNCTION
expression.
RND(expr') 4.9
Produces a pseudo random number between FUNCTION
0 and 1.
SGN(expr') 4.10
Returns the algebraic sign of an FUNCTION
expression. \f
F_SIN(expr')4.11
Calculates the sine of an angle which is FUNCTION
expressed in radians.
SQR(expr') 4.12
Computes the square root of an expression. FUNCTION
SYS(expr') 4.13
Returns system information, based on an FUNCTION
expression which is evaluated to an
integer, as follows:
0 Time of day.
1 Day.
2 Month.
3 Year.
4 Terminal port number.
5 Time used since terminal was logged on.
6 Number of file I/O statements executed.
7 Error code of last run-time error.
8 File number of last file referenced.
9 Page size.
10 Tab size.
11 Hour.
12 Minutes past last hour.
13 Seconds past last minute.
14 Constant .
15 Constant e.
16 Line number of basic run time error.
17 Current date.
18 Current time.
19 Weekday.
20 Week number.
21 Digits.
TAN(expr') 4.14
Calculates the tangent of an angle which FUNCTION
is expressed in radians.
\f
T_The following functions are described in other sections: the
printing function TAB(X) in F.1; the string functions CHR(X),
LEN(X<), and ORD(X<) in F.3; the matrix function DET(X) in F.4;
and the function EOF(X) in F.6.
&_
T_ F.3S_t_r_i_n_g_ _f_u_n_c_t_i_o_n_s_ _(_C_h_a_p_t_e_r_ _5_)_
CHR(expr') 5.2
Returns the character corresponding to FUNCTION
the number found as an expression modulo
128.
&_
T_svar' 5.3
LEN( slit' )
Returns the current number of characters FUNCTION
in a string.
&_
T_svar' 5.4
ORD( slit' )
Returns the decimal number of the first FUNCTION
character of a string.
&_
T_ F.4M_a_t_r_i_x_ _s_t_a_t_e_m_e_n_t_s_ _(_C_h_a_p_t_e_r_ _6_)_
MAT mvar1' = mvar2' 6.3
Copies the elements of one matrix to STATEMENT
another matrix. or COMMAND
&_
T_MAT mvar1' = mvar2' UUU+DDD mvar 3' 6.4
UUUU-DDDD
Performs the scalar addition or STATEMENT
subtraction of two matrices. or COMMAND
&_ \f
T_MAT mvar1' = UUUmvar2'DDD * mvar3' 6.5
UUUU(expr')DDDD
Performs the multiplication of one STATEMENT
matrix by another matrix or by a scalar.or COMMAND
var' = DET(expr') 6.6
Returns the determinant of the last F_U_N_C_T_I_O_N_
matrix inverted by a MAT INV statement.
&_
T_MAT mvar' = CON 6.7
Initializes a matrix such that all STATEMENT
elements are set to one.or COMMAND
&_
T_MAT mvar' = IDN 6.8
Initializes a matrix such that all STATEMENT
elements (i,i) are set to one and the or COMMAND
remaining elements are set to zero.
&_
T_MAT INPUT mvar1' ,mvar2', ... ,mvar-n' 6.9
Assigns numeric values entered from the STATEMENT
user>s terminal to the elements of one or COMMAND
or more matrices.
&_
T_MAT mvar1' = INV(mvar2') 6.10
Inverts a matrix and assigns the resultant STATEMENT
element values to another matrix. or COMMAND
&_
T_;
MAT PRINT mvar' , mvar' ... ; 6.11
Outputs the values of the elements of one STATEMENT
or more matrices on the user>s terminal. or COMMAND
&_
T_MAT READ mvar' ,mvar' ... 6.12
Reads in numeric values from DATA state- STATEMENT
ments and assigns the values to the or COMMAND
elements of one or more matrices.
&_ \f
T_MAT SOLVE mvar1'*mvar2'=mvar3'6.13
Decomposes mvar1' and solves the system STATEMENT
with the right-hand sides mvar3'. The or COMMAND
solutions are assigned to mvar2'.
&_
T_MAT mvar1' = TRN(mvar2') 6.14
Transposes a matrix and assigns the STATEMENT
resultant element values to another or COMMAND
matrix.
&_
T_MAT mvar' = ZER 6.15
Initializes a matrix such that all STATEMENT
elements are set to zero. or COMMAND
&_
T_ F.5F_i_l_e_n_a_m_e_s_,_ _D_i_s_c_ _R_e_s_o_u_r_c_e_s_ _a_n_d_ _R_e_l_a_t_e_d_ _C_o_m_m_a_n_d_s_ _(_C_h_a_p_t_e_r_ _7_)_
CLAIM "LPT" 7.2
Returns a listing of used and free disc COMMANDor
resources, similar to the terminating lines STATEMENT
in SEARCH.
&_
T_ LOOKUP filename' 7.3
Returns a listing of the specified disc COMMAND or
file. STATEMENT
&_
T_ NEWCLAIM username' ,disc name' slice' entries' 7.4
Changes the claim of a user. COMMAND or
STATEMENT
&_
T_ SCANCLAIM 7.5
Returns a listing of the current claims COMMANDS or
in the usercat. STATEMENT
&_ \f
T_ MATER
SCOPE USER username', filename' 7.8
COMMAND or
Moves a file to/from a user from/to the STATEMENT
&_ MATER.
T_
SEARCH 7.9
Returns a listing of a user>s file. COMMAND or
STATEMENT
&_
T_
F.6F_i_l_e_ _s_t_a_t_e_m_e_n_t_s_ _(_C_h_a_p_t_e_r_ _8_)_
CHANGESIZE filename',newsize' 8.2
Changes the size of a file STATEMENT
&_ or COMMAND
T_
CLOSE FILE(file') 8.3
Dissociates a filename and a user file STATEMENT
number (see OPEN FILE) so that the file or COMMAND
no longer can be referenced. The CLOSE
&_ form of the statement closes all open files.
T_
COPY fromfile', tofile'8.4
Copies a file.STATEMENT
&_ or COMMAND
T_
CREATE filename'discname',size',recl' 8.5
Creates a file in the logical disc to STATEMENT
&_ which the user>s terminal is connected.or COMMAND
T_
DELETE filename' 8.6
Deletes a file in the logical disc to which STATEMENT
&_ the user>s terminal is connected. or COMMAND
T_
DIGITS FILE (file)=var' 8.7
Specifies the number of digits to be output STATEMENT
&_ by a PRINT FILE command. or COMMAND
\f
T_EOF(file') 8.8
Returns a value of +1, if an end of file F_U_N_C_T_I_O_N_
condition was detected in the last INPUT
FILE or READ FILE statement; otherwise, a
value of 0 is returned.
&_
T_var'var'
INPUT FILE(file') , svar' , svar' ... 8.9
Reads data in ASCII format from a STATEMENT
sequential access file for the variables or COMMAND
in the argument list.
&_
T_MAT INPUT FILE(file') , mvar' ,mvar' ... 8.10
Reads data in ASCII format from a STATEMENT
sequential access file for the matrix or COMMAND
variables in the argument list.
&_
T_MAT PRINT FILE(file') , mvar' ,mvar' ... 8.11
Writes matrix data in ASCII format to a STATEMENT
sequential access file. or COMMAND
&_
T_ MAT READ FILE(file',recno') , mvar' ,mvar' ... 8.12
Reads data in binary format from a STATEMENT
sequential access file or record of a or COMMAND
random access file for the matrix
variables in the argument list.
&_
T_MAT WRITE FILE(file',recno') , mvar' ,mvar' ... 8.13
Writes matrix data in binary format to a STATEMENT
sequential access file or record of a or COMMAND
random access file.
&_ \f
T_OPEN FILE(file',mode') , filename' 8.14
Associates a filename, i.e. a disc file or STATEMENT
a device, with a user file number so that or COMMAND
the file can be referenced in other file
I/O statements; also specifies how the file
is to be used.
&_
T_PAGE FILE (file')=var' 8.15
Sets the right-hand margin of an output file STATEMENT
or COMMAND
&_
T_expr' , expr' ,
PRINT FILE(file') , slit' ; slit' ... ; 8.16
svar' svar'
&_
T_ Writes data in ASCII format to a STATEMENT
sequential access file. or COMMAND
expr' expr'
PRINT FILE(file') , USING format', slit' , slit' ... ,
svar' ; svar' ;
&_
T_8.17
Writes data in ASCII format to a STATEMENT
sequential access file, using a specified
output format.
&_
T_,
PRINTDATE FILE (file'),var',var',var' 8.18
;
Prints the 2 first variables with a dateSTATEMENT
format specified by the last variable.or COMMAND
&_
T_var'var'
READ FILE(file',recno') , svar' , svar' ... 8.19
Reads data in binary format from a STATEMENT
sequential access file or record of aor COMMAND
random access file for the variables in
the argument list.
&_ \f
T_RENAME filename1',filename2'8.20
Renames a file in the logical disc to STATEMENT
which the user>s terminal is connected. or COMMAND
&_
T_TAB FILE (file')=var' 8.21
Sets the zone spacing between the print STATEMENT
elements output by a PRINT FILE command. or COMMAND
&_
T_expr' expr'
WRITE FILE(file',recno') , slit' , slit' ... 8.22
svar' svar'
Writes data in binary format to a STATEMENT
sequential access file or record of a or COMMAND
random access file.
&_
T_F.7S_y_s_t_e_m_ _c_o_m_m_a_n_d_s_ _(_C_h_a_p_t_e_r_ _9_)_
line n1',line n2' 9.2
line n1'
line n1',
,line n2'
Deletes one or more statements in a COMMAND
program.
&_
T_ line n1' 9.3
STEP
AUTO , line n2'
STEP
line n1' , line n2'
Provides automatic line numbers in a COMMAND
program, thereby making it easier to
enter programs from a terminal.
&_ \f
T_BATCH "<LPT" 9.4
Places the terminal in batch mode and COMMAND
causes the system to start reading cards
from the mark-sense card reader. Job out-
put will appear on the terminal or, if the
BATCH "<LPT" form of the command is used,
on the line printer.
&_
T_BYE 9.5
Logs the terminal off the system. COMMANDor
STATEMENT
&_
T_ CON 9.6
CONL
Continues execution of the current program COMMAND
after the execution of a STOP statement in
the program, after the ESCape key has been
pressed, or after an error has occurred.
Output from PRINT statements will appear on
the terminal or, if the CONL form of the
command is used, on the line printer.
&_
T_DISPLAY 9.7
Returns a listing of all users logged in. COMMAND
&_
T_ENTER filename' 9.8
Merges the statement lines from the disc COMMAND or
file or the device specified by a filename STATEMENT
into the current program storage area.
line n1' 9.10
TO
LIST , line n2' filename'
TO
line n1' , line n2'
&_ \f
T_ Outputs part or all of the currently COMMAND
loaded program in ASCII format to the
disc file or the device specified by a
filename or, if no filename is specified,
to the terminal.
&_
T_LOAD filename' 9.11
Loads a previously SAVEd program in binary COMMAND
format from the disc file or the device
specified by a filename into the user>s
program storage area.
&_
T_MESSAGE username',project',news' 9.12
Sends a message to another terminal. COMMAND
&_
T_NEW 9.13
Clears all currently stored program state- COMMAND or
ments and variables from core memory and STATEMENT
closes any open files.
&_
T_ line n1' 9.14
TO
PUNCH , line n2'
TO
line n1' , line n2'
Outputs part or all of the currently loaded COMMAND
program in ASCII format to the terminal
punch (when present).
&_
T_ line n1' 9.15
STEP
RENUMBER , line n2'
STEP
line n1' , line n2'
Renumbers the statements in the current COMMAND
program.
&_ \f
T_ RUN line no.' 9.16
RUNL filename'
Executes the current program, either from COMMAND
the lowest numbered statement or from a
specified line number, or loads and executes
a previously SAVEd program as the current
program. Output from PRINT statements will
appear on the terminal or, if the RUNL form
of the command is used, on the line printer.
&_
T_SAVE filename' 9.17
Writes the currently loaded program, COMMAND or
including the current values of all STATEMENT
variables and parameters, in binary format
to the disc file or the device specified
by a filename.
&_
T_SIZE 9.19
Returns the number of bytes used by the COMMAND
current program and the numbers of bytes
left.
&_
T_
F.8B_a_t_c_h_ _m_o_d_e_ _c_o_m_m_a_n_d_s_ _(_A_p_p_e_n_d_i_x_ _B_)_
EOJ B.4
&_
T_ Terminates a job. COMMAND
SCRATCH text' B.5
&_
T_ Initiates a job. COMMAND
TIME=val' B.6
Specifies how many seconds a job may run. COMMAND
&_ \f
F_ G OPERATION AND INSTALLATION
G.1 Start of basic
att s
job tem job filerouter
ready
to filerouter
frprog
att s
all basic run
to basic
comal = move xcomal
comal fpparameters'
The standard initialization is as follows:
BASICERROR:BASICERROR
USERCAT: USERCAT
FILEROUTER: FILEROUTER
STDKIT: disc
WRKSIZE: 168
USERS: 30
FILES: 8
ZONES: 32
STORE: 7000
which means that:
1) the error message are found in the file basicerror.
2) the usercat, which specifies the user>s disc claims, is found
in the file usercat.
3) the filerouter process, which transports the user>s messages
to/from the hardware, is called filerouter.
4) the disc kit where all files are created unless otherwise
specified, is called disc.
5) The worksize for input from devices is 168 segments.
6) The maximum number of users running at the same time is 30.
7) The maximum number of files a user may open at the same time
is 8 (i.e. 0 to 7).
8) The maximum number of opened files for all users is 32.
9) The storelength is 7000 halfwords.
This may be changed at upstart by fpparameters in the call of the
program. One or more of above words are specified as keywords
followed by the new value, e.g. files.9 \f
T_ Besides above keywords, another keyword is allowed:
data.filename' : The program expects to find all above
information (without keywords) in the
file filename'.
&_
If any parameter is specified, the table of values will be listed.
The parameter testbit.0 will further cause output of the process
claim, e.g.
T_ VERSION 0.0 D.781201.1100
BASICERROR:BASICERROR
USERCAT: USERCAT
FILEROUTER: FILEROUTER
STDKIT: DISC
WRKSIZE: 168
USERS: 30
FILES: 7
ZONES: 32
STORE: 7000
SIZE: 80000
BUF: 40
AREA: 40
CAT BASE: 1000 9999
STD BASE: 1000 9999
MAX BASE: 1000 9999
DISC: 21 SEGM/SLICE
TEMP: 63609 SEGM 1112 ENTR
PERM 63609 SEGM 1112 ENTR
DISC1: 42 SEGM/SLICE NO RESOURCES
&_
T_ G.2 OPERATORS COMMANDS
G.2.1 KILL
F_o_r_m_a_t_
KILL IDENT'PROJECTNUMBER'
&_
U_s_e_
To kill a user. \f
R_e_m_a_r_k_s_
Should not be done without previous messages asking for log out.
The information corresponding to BYE will be output on the user>s
terminal.
G.2.2 LOCK
F_o_r_m_a_t_
LOCK
U_s_e_
Prohibits login and execution of RUN, RUNL, CON and CONL.
G.2.3 UNLOCK
F_o_r_m_a_t_
UNLOCK
U_s_e_
Returns to situation before the LOCK command.
T_ G.3 CLOSE OF BASIC
When the LOCK command is active and the operator is the only user
logged in, the basic program will terminate when the last user
gives the command BYE.
After the normal BYE information the following will be listed
at the main console:
BASIC/COMAL STARTED AT d.781117.1014
BASIC/COMAL EXIT AT d.781117.1516
TIME USED, CPU 00.58.14 REAL: 05.02.10
&_
T_ G.4 FILEROUTER OPERATING GUIDE
The basic system consists of three internal processes called
basic, filerouter and tem.
&_ The program running in the basic process contains action for
building, translating, executing and debugging of programs written
in the comal language. This program also performs the operations
upon files on backing storage. \f
The program running in the tem process performs a transformation
of the multiple data streams to displays and from keyboards into a
single stream of data from and to the basic process.
The program running in the filerouter process performs the
following operations:
T_ a) Printing of text; data produced by comal programs upon the
line printer.
b) Punching of text data produced by comal programs upon the
paper tape punch.
c) Reading of text files residing on paper tape from the paper
tape reader or from paper tape reader on tty consoles.
d) Reading of text data from the cardreader.
e) Copying of data from an input device to an output device or
to and from backing storage text files.
&_
To do this the filerouter operates the local devices known in the
RC 8000 system as printer punch, reader and cardreader.
In the following the communication between the operator and the
filerouter due to change of paper, loading of data files etc. is
described.
The filerouter uses the operator console i.e. the console from
which the filerouter process was created for this communication.
P_r_i_n_t_e_r_
The filerouter knows the device as device number 1.
Whenever the printer is needed and out of paper, in remote state,
power off or disconnected the following message appears on the
operator console:
basic filerouter printer out of paper answer no. 1
The operator is now assumed to correct the error and then notify
the filerouter by pressing the escape key (att) and type
att filerouter
**answer 1
P_u_n_c_h_
The filerouter knows the devices as device number 2. \f
Whenever the punch is needed, the following message appears on the
operator console:
basic filerouter punch clear for user' projectnumber' answer no.
2
The operator is now assumed to convince himself that the punch is
ready and then notify the filerouter by pressing the escape key
and type:
att filerouter
**answer 2
The punch may run out of paper. The procedure is as follows:
basic filerouter punch out of paper answer no. 2
Place new paper tape in the punch and type:
att filerouter
**answer 2
R_e_a_d_e_r_
The filerouter knows the device as device number 3.
Whenever the reader is needed, the following message appears on
the operator console:
basic filerouter reader load for user' projectnumber'
The operator is now assumed to place the paper tape marked user'
projectnumber' in the paper tape reader and press the reset
button.
C_a_r_d_r_e_a_d_e_r_
The filerouter knows the devices as device number 4.
Whenever the cardreader is needed, the following message
appears on the operator console.
basic filerouter cardreader load for user' projectnumber'
The operator is now assumed to place the card deck marked user'
projectnumber' in the cardreader. If the carddeck is composed of\f
marked sense cards the switches on the back at the cardreader must
be in positions opt mark and clock, otherwise positions punch and
non-clock are choosen.
Then press the reset button.
T_t_y_ _p_a_p_e_r_ _t_a_p_e_ _r_e_a_d_e_r_ _(_t_r_a_n_s_m_i_t_)_
The filerouter knows the device as device number 5.
Whenever a comal user requests reading of a paper tape from the
paper tape reader on his console, the following message appears on
this console:
basic filerouter start transmit
Now the comal user is supposed to place a paper tape in the reader
and press the start button. If this is not done within about 30
seconds the console returns to interactive mode.
A_u_x_i_l_i_a_r_y_ _c_o_m_m_a_n_d_s_
Besides the answer commands, the following commands may be used by
the operator of the filerouter.
T_ Display device number'
Clean device number'
Start device number'
&_
where the value of device number range from one to five indicating
printer, punch, reader, cardreader and transmit.
T_ D_i_s_p_l_a_y_
If the device is not used nothing is answered otherwise the queue
of pending requests are displayed to the operator e.g.
queues of
printer
number of requests: 3
number of requests for which answer has not been sent: 0
&_ \f
T_ user project bsareaname lowerbase upperbase
ta 4 fut 1420 1429
kc 4 comal 1410 1419
pas 4 frtesttxt 1400 1407
&_
the requests listed by user name, projectnumber etc. are those
originating from the comal users use of the copy command. Number
of requests for which answer has not been sent originates from the
comal users use of the open and close statements. The requests are
not listed only the number of them are shown.
T_ C_l_e_a_n_
The queue of pending requests to the device is displayed to the
operator e.g.
att filerouter
**clean 1
produce
queues of
printer
&_
number of requests: 3
number of requests for which answer has not been sent: 0
T_ user project bsareaname lowerbase upperbase
ta 4 fut 1420 1429
kc 4 comal 1410 1419
pas 4 frtesttxt 1400 1409
current transaction
&_
T_ user project bsareaname lowerbase upperbase
mater 4 characters 1400 1499
&_
Then all requests are removed from the queues of the device and
the device is placed in skip mode, i.e. future requests are
rejected.
The requests originates from copy commands (ta, kc, pas) are
hereby removed without notifying the user, which the operator is
supposed to do. This should be done for the current transaction
too, as the operator cannot know whether this user is notified by
the system or not.
\f
S_t_a_r_t_
A device which has been placed in the skip mode may be restarted
in the sense that requests are no longer rejected by use of the
start command e.g.
att filerouter
**start 1
T_ S_u_m_m_a_r_y_ _o_f_ _c_o_m_m_a_n_d_s_
The syntax of commands to the filerouter is:
filerouter command'::=keyword'space'device number'
keyword'::=answ clea disp star
device number'::=1 2 3 4 5
Command input i.e. response to the ** which is not a filerouter
command is ignored by the filerouter.
&_
T_ G.5 INSTALLATION
The following files must be present:
1) tem ; an operating system
2) frprog ; the filerouter program
3) xcomal ; the basic interpreter
4) usercat ; a catalog defining the users disc claim.
&_ 5) basicerror ;a file containing the error message.
To define the user claims, the BOSS program CATUPDATE (see BOSS
Installation and Maintenance) is used.
A project with a user named operator must exist.
T_ For each project:
1) Record type 10: Project width'= number of users
2) If a special standard kit is desired for this project,
then specify a record type 4, specifying 0 slides, 0 entries
3) For each user in the project.
1) Record type 11: job width and user indices should be 1
(not a demand), except for the MATER who has a job width
embracing all users.
2) For each desired kit is specified a record type 9 or 4.
3) Record type 0 for end of user
&_
Other record types are allowed but will not be used by COMAL. \f
It will be possible to use this usercat from BOSS.
T_ E_x_a_m_p_l_e_
10, 0, 0, 0, 0, 0, 100
0
11, operator, 0, 0, 1, 1, 100
9, 10, 10
0
10, 4, 0, 0, 0, 200, 299
0
11, knud, 4, 0, 1, 1, 200
9, 100, 20
0
11, palle, 4, 0, 1, 1, 201
9, 100, 20
0
11, tove, 4, 0, 1, 1, 202
9, 100, 20
0
11, mater, 4, 0, 100, 1, 200
9, 300, 100
-1
&_ \f
I_N_D_E_X_
, 1.4
, 1.5
, 1.5
..., 1.5
+, 2.5.2
-, 2.5.2
, 2.5.2
*, 2.5.2
/, 2.5.2
, 2.5.6
=, 2.5.6
=, 2.5.6
'=, 2.5.6
', 2.5.6
', 2.5.6
;, 3.24
", 5.1.1
<, 5.1.2
ABS(X), 4.2
Access to programs, unauthorized, prevention of, 9.13
AND. See Operators, Boolean
Appending data to data written previously to
a file (mode 2), 8.1.5, 8.1.7, 8.14
Arctangent of X in radians, function to return, 4.3
Arithmetic, RC BASIC, 2
Arrays, 2.4, 3.8
- dimensioning, 2.4.2, 3.8
- elements, 2.4.1, 2.4.2, 3.8
- manipulation as matrices, 6
ASCII characters, D.1
- decimal and octal values, D.1
ATN(X), 4.3
AUTO, 9.3
Batch jobs, B.1
Batch mode, 1.1, 1.3, 9.4, B, B.3
- illegal statements and commands, B.3.2
- return to interactive mode, B.3.5
- time limit on jobs, B.3.3
- use of ESCape key, B.3.4\f
BATCH "LPT", 9.4, B.1, B.3.1
Boolean arguments. See Operators, Boolean
Branching, conditional, 3.2, 3.15, 3.16, 3.17, 3.24
- unconditional, 3.14
BYE, 9.5
CASE, 3.2
CASE-WHEN-ENDCASE, 3.2
CHAIN, 3.3, 8.1.5
CHANGESIZE 8.2
Character corresponding to specified number, function to
return, 5.2
CHR(X), 5.2
CLAIM 7.2
Clearing programs from core memory, 9.13
CLOSE FILE, 8.1.5, 8.1.7, 8.3
Commands, 1.2
- derived from RC BASIC statements, C.1
- desk calculator functions, C.2
- file input/output, C.4
- program debugging, C.3
- program development and execution, 9, 9.1
Comments, explanatory, within program, 3.29
CON/CONL, 9.6, C.3
Control structures, 3.2, 3.12, 3.14, 3.15, 3.16, 3.17, 3.24,
3.33, 3.36
COPY, 8.4
Corrections, program statements, 1.2
Cosine of X, where X is in radians, function to return, 4.4
COS(X), 4.4
CREATE, 8.1.4, 8.5
DATA, 3.4, 3.34
Data element pointer, resetting of. See RESTORE
Debugging, program, C.1, C.3
DEF, 3.5
DELAY, 3.6
DELETE, 8.6
Deletion, files, 8.5
- program statements, 1.2, 9.2, 9.8
Descriptions of statements, commands, and functions, 1.4
Desk calculator functions, C.1, C.2
DET(X), 6.6
device', 1.5 \f
Devices, 8.1.1
- reserved names, 8.1.2
DIGITS, 3.7
DIGITS FILE, 8.7
DIM, 3.7, 5.1.3, 6.2
Dimensioning, matrices, 6.2
- numeric arrays, 2.4.2, 3.8
- string variables, 5.1.3
DISC resources, 7
DISPLAY, 9.7
DIV. See Operators, arithmetic
DO, 3.16, 3.17, 3.39
ELSE, 3.17
END, 3.8
ENDCASE, 3.2
ENDIF, 3.16, 3.17
ENDPROC, 3.11, 3.29
ENDWHILE, 3.39
ENTER, 8.1.5, 9.7
Entering data for program from terminal. See INPUT
EOF(X), 8.8
EOJ, B.1, B.4
ERR, 3.22
Error messages, during command execution, A.1, A.2
- during file (input/output) operations, A.1, A.3
- during program entry, A.1, A.2
- during program execution, A.1, A.2
- during reading of program from file, A.1, A.2
ESC, 3.23
ESCape key, 1.2, 1.3, 3.23, 9.3, 9.5, B.3.4, C.3
E-type notation. See Numbers in RC BASIC
Examples of statements, commands, and functions, 1.4
EXEC, 3.11, 3.29
Execution, program. See Program execution
Exponential form. See Numbers in RC BASIC
expr', 1.5
Expressions, 2.5. See also Operators
- numeric, 2.5.1; evaluation of, 2.5.3
- relational, 2.5.5
- relational string, 5.1.7
- string, 2.5.8
EXP(X), 4.5
Facilities, RC BASIC, 1.1
file', 1.5 \f
filename', 1.5
Filenames, 8.1.1, 8.1.4
Filerouter Operating Guide, G.4
Files, 8.1. See also Random access files,
Sequential access files
- closing, 8.3
- end of file condition, function to detect, 8.8
- input/output, commands for, C.4
- modes, 8.1.5, 8.14
- opening, 8.14
- sizes, 8.1.4
- uses, 8.1.5
Floating-point numbers. See Numbers in RC BASIC
FNa(d), 3.5
FOR, 3.12
Formats (syntax) of statements, commands, and functions, 1.4
FOR-NEXT, 3.12
Functions, arithmetic, 4.2, 4.5, 4.7, 4.8, 4.9, 4.10, 4.12
- file, 8.5
- matrix, 6.6
- printing, 3.38
- RC BASIC, 4
- string, 5.2, 5.3, 5.4
- system, 4.13
- trigonometric, 4.3, 4.4, 4.11, 4.14
- user-defined, 3.5
GOSUB, 3.13, 3.24
GOTO, 3.3, 3.13, 3.14, 3.24
Halfwords left and halfwords used, command to return, 9.16
Idle mode. See Modes, terminal operation
IF, 3.15, 3.16, 3.17
IF-THEN, 3.15
IF-THEN-ELSE-ENDIF, 3.17
IF-THEN-ENDIF, 3.16
INPUT, 3.18, 5.1.2, 5.1.5, C.2
INPUT FILE, 8.6
Integer division, 2.5.2.1
Integers. See Numbers in RC BASIC
Interactive mode. See Modes, terminal operation
Interactive uses of RC BASIC, 9, 9.1, C
Interruption, program execution. See Program execution
Installation, G.5
INT(X), 4.7\f
KILL, G.2
Length of specified string, function to return, 5.3
LEN(X<), 5.3
LET, 3.19, 5.1.2, 5.1.5, 5.1.6, C.2, C.3
line no.', 1.5
LIST, 9.10
- LISTing versus SAVEing, 9.17
LOAD, 8.1.5, 9.11
Loading, SAVEd program in binary from disc file or device into
program storage area, 9.11
LOCK, G.2
Logarithm of X, natural, function to return, 4.8
Logging off. See Terminal
LOG(X), 4.8
LOOKUP, 7.3
Loops, program, 3.11, 3.30, 3.36
LOWBOUND, 2.4, 3.7, 3.20, 5.1, 6.2
Maintenance, source programs, 9.1
Mark-sense cards, B.2
- FORMULA section, B.1, B.2.4
- STATEMENT NUMBER section, B.2.1
- STATEMENT 1 section, B.2.2
- STATEMENT 2 section, B.2.3
Master terminal. See Terminal
MAT CON, 6.7
MAT IDN, 6.8
MAT INPUT, 6.9
MAT INPUT FILE, 8.10
MAT INV, 6.10
MAT PRINT, 6.11
MAT PRINT FILE, 8.11
MAT READ, 6.12
MAT READ FILE, 8.12
Matrices, addition, 6.4
- assignment (copying), 6.3
- decompose, 6.13
- determinants, 6.6, 6.10; determinant of last matrix inverted,
function to return, 6.6
- dimensioning, 6.2
- initialization, 6.7, 6.8, 6.15
- inversion, 6.10
- multiplication, 6.5 \f
- operations, 6.1
- solve, 6.13
- subtraction, 6.4
- transposition, 6.14
MAT SOLVE, 6.13
MAT TRN, 6.14
MAT WRITE FILE, 8.13
MAT ZER, 6.14
MATER, 7, 7.6
Merging, program statements from disc file or device into program
storage area, 9.8
MESSAGE, 9.11
MOD. See Operators, arithmetic
Modes, file usage. See Files
Modes, terminal operation, batch, 1.1, 1.3, 9.4, B, B.3. See also
Batch mode
- idle, 1.3, 9.5
- interactive, 1.1, 1.3, 3.9, 3.36, B.3.5
Modulus calculation, 2.5.2.2
mvar', 1.5
Names, arrays, 2.4
- numeric variables, 2.3
- string variables, 5.1.2
Nesting, 3.2, 3.5, 3.12, 3.13, 3.16, 3.17, 3.29, 3.33, 3.39
NEW, 1.2, 9.7, 9.11, 9.13, B.4, B.5
NEWCLAIM, 7.4
NEXT, 3.11
NOT. See Operators, Boolean
Numbering, program statements, automatic, 9.3
Number of first character in specified string, function to
return, 5.4
Numbers in RC BASIC, 2.1
- internal representation, 2.2, 3.15
- printing, 2.1, 3.26
OF, 3.2
ON, 3.22, 3.23, 3.24
ON-ERR, 3.22, 9.13
ON-ESC, 3.23, 9.13
ON-GOTO/GOSUB, 3.24
OPEN FILE, 8.1.6, 8.1.7, 8.14
Operating Guide, G
Operators, arithmetic, 2.5.2; DIV, 2.5.2.1; MOD, 2.5.2.2
- Boolean, 2.5.4
- priorities, arithmetic operators, 2.5.3; arithmetic, Boolean,
and relational operators, 2.5.7 \f
- relational, 2.5.6
OR. See Operators, Boolean
ORD(X<), 5.4
Output, current program in ASCII to disc file, device, or
terminal, 9.3; to terminal punch, 9.14; in binary to disc
file or device, 9.17
PAGE, 3.25
PAGE FILE, 8.15
PRINT, 3.25, 3.26, C.2, C.3
PRINT FILE, 8.16
PRINT FILE USING, 8.17
PRINTDATE, 3.28
PRINTDATE FILE, 8.18
PRINTEPS, 3.24
PRINTEPS FILE, 8.19
Printing, blank lines, 3.26
- compact spacing, 3.26
- data at terminal, 3.26, 3.27, 3.38
- length of print line (page width), command to set, 3.25, 8.15
- non-printing characters, 5.1.1, D.2
- numbers, 2.1, 3.26
- spacing to next line, 3.26
- tabulation of printing position, function for, 3.38
- using specified format, 3.27
- zone spacing, 3.26; command to set, 3.36, 8.21
PRINT USING, 3.27
Priorities of operators during program execution. See Operators
PROC, 3.30
Procedures, 3.5, 3.11, 3.29
- calling, 3.11
- defining, 3.29
PROC-ENDPROC, 3.30
Program execution, 3.3, 9.16
- interruption of, 1.3, 3.3, 3.6, 3.22, 3.23
- resumption of, 1.3, 9.6
- termination of, 3.9, 3.36
Programming on mark-sense cards, B.1
Programs, RC BASIC, 1.2
PUNCH, 9.14
Random access files, 8.1.6. See also Files
- reading data in binary from record of, 8.19
- reading matrix data in binary from record of, 8.12 \f
- writing data in binary to record of, 8.22
- writing matrix data in binary to record of, 8.13
RANDOMIZE, 3.31
- different starting points in sequence of random numbers
generated, 3.31
Random number between 0 and 1, function to return, 4.9
Range of numbers. See Numbers in RC BASIC
READ, 3.32, 5.1.2, 5.1.5, C.2
READ FILE, 8.20
recl', 8.5
recno', 8.12, 8.13, 8.19, 8.23
REM, 3.32
RENAME, 8.21
RENUMBER, 9.15
Renumbering, program statement lines, 9.15
REPEAT, 3.34
REPEAT-UNTIL, 3.34
Reserved names, devices. See Devices
Reserved words in RC BASIC, E
RESTORE, 3.32, 3.36
- resetting data element pointer, 3.32
Resumption, program execution. See Program execution
RETURN, 3.11, 3.13, 3.30
RETURN key, 1.2, C.1
RND(X), 3.31, 4.9
RUBOUT key, 1.2
RUN/RUNL, 1.2, 8.1.5, 9.15, C.3
SAVE, 8.1.5, 9.15
- conserving space on SAVE device, 9.17
- SAVEing versus LISTing, 9.17
SCANCLAIM, 7.5
SCOPE, 7.6
SCRATCH, B.1, B.5
SEARCH, 7.7
Sequential access files, 8.1.7. See also Files
- reading data in ASCII from, 8.9; in binary from, 8.19
- reading matrix data in ASCII from, 8.10; in binary from, 8.12
- writing data in ASCII to, 8.16; using specified format, 8.17;
in binary to, 8.22
- writing matrix data in ASCII to, 8.11; in binary to, 8.13
SGN(X), 4.10
Sign of X, algebraic, function to return, 4.10
SIN(X), 4.11
Sine of X, where X is in radians, function to return, 4.11 \f
size', 8.5
SIZE, 9.17, 9.19
slit', 1.5
Special action, if error occurs, 3.22
- if ESCape key is pressed, 3.23
Square root of X, function to return, 4.12
SQR(X), 4.12
statements', 1.5
Statements, 1.2
- file input/output, 8
- matrix, 6
- RC BASIC, 3
- sequential execution of, 1.2
- which cannot be used as commands, C.1
STEP, 3.12, 9.3, 9.13
STOP, 3.13, 3.37
Strings, 5.1
- arrays, 3.7, 3, 5.1
- comparison, 5.1.7
- concatenation, 5.1.6
- constants, 5.1.1
- literals, 3.27, 5.1.1
- variables, 5.1.2; dimensioning, 5.1.3
- substrings, 5.1.4
Subroutines, 3.5, 3.13
- calling, 3.13
- entry into, inadvertent, avoidance of, 3.13
Subscripts. See Arrays
Summary of statements, commands, and functions, F
svar', 1.5
System information, functions to return, 4.13
SYS(X), 4.13
TAB, 3.38
TAB(X), 3.39
Tangent of X, where X is in radians, function to return, 4.14
TAN(X), 4.14
Terminal, log-off from system, 9.5
Termination, program execution. See Program execution
THEN, 3.3, 3.15, 3.16, 3.17, 3.22, 3.23, 3.24, 3.39
TO, 3.11, 9.9, 9.13
TIME, B.5
UNLOCK, G.2
UNTIL, 3.30 \f
User functions, defining, 3.5
USER, 7.6
USING, 3.25, 8.17
val', 1.5
Value of e to the power of X, function to return, 4.5
Value of X, absolute, function to return, 4.2
Value of X, integer, function to return, 4.7
var', 1.5
Variables, assignment of values to, 3.18, 3.19, 3.31, 5.1.2,
5.1.5,6.9, 6.12, 8.9, 8.10, 8.12, 8.19; provision of values
for, 3.4
- numeric, 2.3
- string, 2.3
WHEN, 3.2
WHILE, 3.39
WHILE-ENDWHILE, 3.40
WRITE FILE, 8.23 \f
\f
i
T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_
1. GENERAL DESCRIPTION .................................... 1
1.1 Environmental Specification ....................... 1
2. SERIAL INTERFACE ....................................... 2
3. PARALLEL INTERFACE ..................................... 3
4. INPUT/OUTPUT CONNECTOR ................................. 4
5. BELL/CLICK CONNECTOR ................................... 5
6. SERIAL COMMUNICATION ................................... 7
6.1 Initializing the Keyboard ......................... 7
6.2 Serial Output from the Keyboard ................... 8
6.3 Keyboards LED's etc ............................... 8
6.4 Auto-Repeat Function .............................. 10
7. PARALLEL COMMUNICATION ................................. 13
7.1 Internal ASCII Table .............................. 13
7.2 External ASCII Table .............................. 13
8. KEYBOARD LAYOUTS ....................................... 15
9. MECHANICAL OUTLINE ..................................... 20
A_P_P_E_N_D_I_X_:
A. KEYBOARD IDENTIFICATION ................................ 23
\f
ii
\f
F_ 1_._ _ _ _ _ _ _ _ _G_E_N_E_R_A_L_ _D_E_S_C_R_I_P_T_I_O_N_ 1.
The keyboard used with RC700 and RC850 is a selfcontained unit
supplied from +5 Volt through the interconnection cable.
When used with RC850 the interface is a serial interface and when
used with RC700 it is a parallel interface. The output from the
keyboard may be a position code or an ASCII code. The ASCII code
may be defined in the keyboard program or it may be specified by
a separate custom PROM. ASCII code is normally used together with
parallel interface.
Switches or straps on the board select the different modes for
interface and code.
1_._1_ _ _ _ _ _ _ _E_n_v_i_r_o_n_m_e_n_t_a_l_ _S_p_e_c_i_f_i_c_a_t_i_o_n_ 1.1
Power:
Voltage 4.75 to 5.25 Volt
Current 700 mA max.
Operating temperature 0-50C
Storage temperature -20-70C
Humidity 0-95%, non condensing
\f
F_ 2_._ _ _ _ _ _ _ _ _S_E_R_I_A_L_ _I_N_T_E_R_F_A_C_E_ 2.
When serial interface is selected, data are transferred to and
from keyboard in the following format:
Number of start bits 1
Number of stop bits 1 to
Number of data bits 8
Number of parity bits 1 (even parity)
Bit rate 300 bps
Full duplex mode
No control signals
Signal levels Low power shottky *)
Logical one 2.5 to 5.0 V
Logical zero 0.0 to 0.4 V
M_ start stop
P_ L_o_g_i_c_a_l_ _o_n_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Logical zero _ _ _ _ _ _b_0_ _ _b_1_ _ _b_2_ _ _b_3_ _ _b_4_ _ _b_5_ _ _b_6_ _ _b_7_ _ _ _ _
Even parity
*) Low power schottky mentioned in this manual is specified the
following way:
Input
High-level input voltage 2.0 Volt min.
Low-level - - 0.8 - max.
High-level - current 20 A -
Low-level - - -0.4 mA -
Output
High-level output voltage 2.4 Volt min.
Low-level - - 0.5 - max.
High-level - current -0.4 mA max.
Low-level - - 8 - min.
\f
F_ 3_._ _ _ _ _ _ _ _ _P_A_R_A_L_L_E_L_ _I_N_T_E_R_F_A_C_E_ 3.
When parallel interface is selected, data are transferred from
the keyboard in the following format:
Number of output lines 8
Number of output strobes 1
Signal levels Low power shottky
Logical one 2.5 to 5.0 V
Logical zero 0.0 to 0.4 V
Data lines Positive logic
Strobe Negative logic
\f
F_ 4_._ _ _ _ _ _ _ _ _I_N_P_U_T_/_O_U_T_P_U_T_ _C_O_N_N_E_C_T_O_R_ 4.
The input/output connector is a 2 x 13 pin connector with 0.1
inch spacing between the pins and 0.1 inch spacing between the
two rows.
The connector may be of the following type:
AMP type 102162-6 or
3M - 3493-1003
Pin No Signal
M_ 1 Parallel out 0
2 - 1
3 - 2
4 - 3
5 - 4
6 - 5
7 - 6
8 - 7
9 0 Volt
10 No connection
11 - -
12 - -
13 - -
14 - -
15 - -
16 - -
17 - -
18 0 Volt
19 No connection
20 +5 Volt
21 -,Strobe/Serial out *)
22 +5 Volt
23 Serial in
24 No connection
25 - -
P_ 26 - -
*) The signal is:
-,Strobe in parallel mode and
Serial out in serial mode
\f
F_ 5_._ _ _ _ _ _ _ _ _B_E_L_L_/_C_L_I_C_K_ _C_O_N_N_E_C_T_O_R_ 5.
The keyboard is supplied with a bell/click connector which con-
nects the keyboard to a switch, a potentiometer and a loud-
speaker. The circuit diagram for the circuits on the keyboard and
the components supplied to the connector are shown in fig. 1.
The connector may be of the following type:
AMP type 102162-1
3M - 3491-1003
When control A is high, a signal at approx. 2.2 kHz is sent to
the loudspeaker. This is the bell function.
When control B is high, a signal at approx. 1.6 kHz is sent to
the loudspeaker if the switch is on.
This makes the click function. This is activated in approx. 3.5
msec.
The potentiometer controls the signal amplitude for both func-
tions.
\f
F_
Figure 1: Bell and click function.
\f
F_ 6_._ _ _ _ _ _ _ _ _S_E_R_I_A_L_ _C_O_M_M_U_N_I_C_A_T_I_O_N_ 6.
Chapter 1 shows the format used when communicating between the
keyboard and the host, when serial communication is selected.
6_._1_ _ _ _ _ _ _ _I_n_i_t_i_a_l_i_z_i_n_g_ _t_h_e_ _K_e_y_b_o_a_r_d_ 6.1
In serial mode the keyboard may be initialized. For each keyposi-
tion on the keyboard, the key will deliver a predefined binary
code when pressed. For keys like shift and lock it may be wanted
to get an output signal too, when the key is released. This out-
put code must be initialized. The maximum number of keys with
such a double code is 15.
Before initializing the double code keys, the double key pointer
internally in the keyboard must be reset. This is done by sending
the following sequence to the keyboard:
byte 1 D5 Hex
- 2 C0 -
- 3 FF -
- 4 FF -
Then it is possible to initialize 1 to 15 double keys using the
following sequence for each key:
byte 1 C0 Hex
- 2 Key position number
- 3 Release code from key
E_x_a_m_p_l_e_:
The keyboard receives the following sequence:
byte 1 C0 Hex
- 2 A0 -
- 3 B3 -
\f
The result is that the key with the key code number A0 (see fig.
2) is initialized to be a double code key with the release value
B3 Hex. Input codes not mentioned here or in the appendices
should be ignored.
6_._2_ _ _ _ _ _ _ _S_e_r_i_a_l_ _O_u_t_p_u_t_ _f_r_o_m_ _t_h_e_ _K_e_y_b_o_a_r_d_ 6.2
Fig. 2 shows the output code for keys when pressed. Adding on the
release code does not change the output code for the key when
pressed.
6_._3_ _ _ _ _ _ _ _K_e_y_b_o_a_r_d_s_ _L_E_D_'_s_ _e_t_c_ 6.3
The keyboard may be supplied with a number of LED's (light emit-
ting diodes) which may be turned on and off using one of the
following commands. The audio circuit (bell function) is used the
same way.
M_ b_7_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _b_0_
P_ command 1 _0_ _ _0_ _ _5_ _ _4_ _ _3_ _ _2_ _ _1_ _ _0_ _
byte code LED number
M_ b_7_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _b_0_
P_ command 2 _0_ _ _1_ _1_1_ _1_0_ _ _9_ _ _8_ _ _7_ _ _6_ _
byte code LED number
M_ b_7_ _ _ _ _ _ _ _ _ _ _ _b_3_ _ _ _ _ _ _ _b_0_
P_ command 3 _1_ _ _0_ _ _Ø_ _ _Ø_ _ _A_ _ _Ø_ _1_3_ _1_2_ _
byte code LED number
audio circuit
A logical one in the LED number position shown, turns an LED
mounted in that position on. A logical zero turns it off.
\f
F_
Figure 2: Output code serial mode.
\f
F_ Audio is controlled by command 3 bit 3. Setting bit 3 to one
turns control A (bell) on as described in chapter 5 and shown in
fig. 1.
The different lamp positions are shown in fig. 3. A lamp may be
placed hardware-wise in any of the number positions shown. Only
one lamp may be used for each number.
E_x_a_m_p_l_e_:
The byte 81 Hex selects command 3 and sets LED number 12 to
light. When this byte is sent, an LED in the position marked 12
in fig. 3 is lighting. The byte 80 Hex turns it off again.
6_._4_ _ _ _ _ _ _ _A_u_t_o_-_R_e_p_e_a_t_ _F_u_n_c_t_i_o_n_ 6.4
When a key is pressed, a character containing the output code is
sent as shown in section 6.2. If a key is pressed for more than
0.7 sec. the auto-repeat function starts. This function is shown
in fig. 4.
The auto-repeat function is not wanted for all the keys. The keys
with output code 60 Hex, 80 Hex, 81 Hex, A0 Hex, C6 Hex, C0 Hex,
C1 Hex, CB Hex and C4 Hex are normally made without auto-repeat.
As the keyboard is made using a microprocessor, it is possible to
change the program in the keyboard and remove the auto-repeat
from other keys.
Whenever a character is sent, the control A (click) is on for
approx. 3.5 msec. Using the circuit shown in fig. 1, an acoustic
signal is generated whenever the a key is activated on the key-
board.
\f
F_
Figure 3: LED positions layout.
\f
F_
Figure 4: Auto-repeat function.
\f
F_7_._ _ _ _ _ _ _ _ _P_A_R_A_L_L_E_L_ _C_O_M_M_U_N_I_C_A_T_I_O_N_ 7.
Chapter 3 shows the output signals when parallel communication is
selected.
7_._1_ _ _ _ _ _ _ _I_n_t_e_r_n_a_l_ _A_S_C_I_I_ _T_a_b_l_e_ 7.1
Fig. 5 shows the output from the different keys. The two hexa-
decimal numbers show the value when shift is not pressed (normal)
and when pressed (shift).
The alphalock key is supplied with a red light showing when the
keyboard is in alphalock mode. In this mode the shift value is
selected for those keys which in the figure are marked with an X.
The other keys are not effected by the alphalock key.
When the CTRL key is pressed and another key is pressed too, the
output from this key is between 00 Hex and 1F Hex. This means
that the 3 most significant bits are set to zero.
7_._2_ _ _ _ _ _ _ _E_x_t_e_r_n_a_l_ _A_S_C_I_I_ _T_a_b_l_e_ 7.2
The keyboard is supplied with socket for an extra PROM (2716),
which may contain another ASCII table, than the one shown in fig.
5. A strap selects this PROM which the user has to program.
\f
F_
Figure 5: ASCII output.
\f
F_ 8_._ _ _ _ _ _ _ _ _K_E_Y_B_O_A_R_D_ _L_A_Y_O_U_T_S_ 8.
The keyboard is supplied in many layouts and in many national-
ities.
The following 3 figures show some of the more often used ver-
sions.
In some situations it is wanted to change the nationality of the
keyboard simply by changing a number of keytops.
The keyboard may also be supplied in a short version (without
numeric block). This is shown in fig. 9.
\f
F_
Figure 6: RC700 Keyboard, Danish.
\f
F_
Figure 7: RC855 Keyboard, Danish.
\f
F_
Figure 8: RC855 Keyboard, ITT3297, UK-ASCII.
\f
F_
Figure 9: RC700 Keyboard, Danish, short version.
\f
F_ 9_._ _ _ _ _ _ _ _ _M_E_C_H_A_N_I_C_A_L_ _O_U_T_L_I_N_E_ 9.
Figs. 10 and 11 show the main mechanical outline for the key-
boards.
\f
F_
Figure 10: Mechanical outline, long version.
\f
F_
Figure 11: Mechanical outline, short version.
\f
F_ A_._ _ _ _ _ _ _ _ _K_E_Y_B_O_A_R_D_ _I_D_E_N_T_I_F_I_C_A_T_I_O_N_ A.
The following identification function (ID function) is not imple-
mented on the keyboard first delivered to RC Computer. The func-
tion is to be used only when serial mode of operation is select-
ed. The ID function works the following way:
The Keyboard is equipped with 8 dip switches, the setting of
which the host computer is able to read. The switches may carry
information about the nationality of the keyboard layout etc.
The switches may be read sending a READ SWITCHES command to the
keyboard. Then the keyboard returns the switchsetting. To be sure
that the switchsetting is read, and not an operator pressing a
key, the program ignores the keys for a time period when the
switches are read. See fig. 12.
The READ SWITCHES command is: E0 Hex
The replay is:
M_ _ _7_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _0_ _
P_ _S_7_ _ _S_6_ _ _S_5_ _ _S_4_ _ _S_3_ _ _S_2_ _ _S_1_ _ _S_0_ _
Bit 0 = logical one when switch 0 (SO) is on and logical zero
when switch 0 is off, etc.
\f
F_
Figure 12: Timing requirements for READ SWITCHES command.
\f
i
F_O_R_E_W_O_R_D_
Second edition: RCSL No 42-i1634.
The present paper is a revised edition of RCSL No 42-i1583
(December 1980, Erik Jeppesen) and is updated on several points
according to the physical diskette formats used.
Furthermore revised and more detailed procedures concerning
diskette copying and formatting programs are given.
Knud Henningsen
A/S REGNECENTRALEN af 1979, February 1981
\f
ii
\f
iii
T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_
1. INTRODUCTION ........................................... 1
2. SYSTEM SAVE/SYSTEM LOAD ................................ 2
2.1 System Save ....................................... 2
2.2 System Load ....................................... 3
3. RECONFIGURING THE PASCAL INTERPRETER ................... 4
4. DISKETTE FORMATS ....................................... 5
4.1 Loader Diskettes .................................. 5
4.2 System Diskettes .................................. 5
5. SYSTEM UTILITIES ....................................... 7
5.1 Utilities on the Loader Disk ...................... 7
5.2 BACKUP Utility .................................... 7
6. CONTROL KEYS ........................................... 9
7. CONTENTS OF DISKETTES .................................. 10
A_P_P_E_N_D_I_C_E_S_:
A. REFERENCES ............................................. 13
B. LOADER DISKETTE COPY PROCEDURE (MAXI/MINI) .............. 14
C. SYSTEM DISKETTE COPY PROCEDURE (MAXI) ................... 16
D. SYSTEM DISKETTE COPY PROCEDURE (MINI) ................... 19
E. SYSTEM CONFIGURATION PROCEDURE (MAXI/MINI) .............. 22
F. DISKETTE PREFORMATTING PROCEDURE (MINI) ................. 24
\f
iv
\f
F_ 1_._ _ _ _ _ _ _ _ _I_N_T_R_O_D_U_C_T_I_O_N_ 1.
This document is intended as an introduction to the UCSD PASCAL
system running on the RC700 microcomputer.
Only details specific to the RC700 implementation of UCSD PASCAL
is covered.
For detailed information about the UCSD Pascal system and the
PASCAL language please refer to the references in appendix A.
The system delivered from A/S Regnecentralen af 1979, is a CP/M
adaptable UCSD PASCAL system from SofTech Microsystems configured
to run on the RC700 microcomputer.
The distribution system is configurated for one drive and has no
floating point facilities. The configuration may be changed by
the user in choosing a suitable interpreter module, see chapter
3.
The distribution system is too configurated for use with a Danish
keyboard. The user has to specify the conversion table corre-
sponding to the actual keyboard used, which may be done when pro-
ducing a copy of the distribution system, see chapter 2.
You are kindly advised to produce a copy of your distribution
system as the very first thing to do.
If you have any problems with the system please contact your
RC700 Support Center.
\f
F_ 2_._ _ _ _ _ _ _ _ _S_Y_S_T_E_M_ _S_A_V_E_/_S_Y_S_T_E_M_ _L_O_A_D_ 2.
2_._1_ _ _ _ _ _ _ _S_y_s_t_e_m_ _S_a_v_e_ 2.1
A save copy of your system may be generated in several ways. In
this section a description is given of how to make a one to one
copy (except for the keyboard-conversion-table) of the distribu-
tion set delivered. When created the copy-set should be used as
work-set and the distribution set (your master set) should be
saved.
The MAXI-distribution set consists of two diskettes, the loader
diskette and the system diskette. The loader diskette is a type 1
diskette and the system diskette is a type 2 diskette (see chap-
ter 4).
The MINI-distribution set consists of four diskettes, one loader
diskette and three system diskettes. The system diskettes are
configurated with different catalogs (named SYS:, SYS1: and
SYS2:) and labelled 1 of 3, 2 of 3 and 3 of 3.
In app. B, C and D a detailed description is given of how to
generate a copy of your system.
In a MAXI-system use the 'loader diskette copy procedure' of
app.B (Keyboard-conversion-table generation included) and then
the 'system diskette copy procedure' of app. C.
In a MINI-system you have to preformat your new (scratch-)disket-
tes before used. For that reason start with the 'formatting pro-
cedure' of app. F. Continue with the 'loader diskette copy
procedure' of app. B and finish with the 'system diskette copy
procedure' of app. D.
\f
2_._2_ _ _ _ _ _ _ _S_y_s_t_e_m_ _L_o_a_d_ 2.2
The UCSD PASCAL system is loaded in the following way:
1) Insert the diskette marked 'PASCAL LOADER' into drive 1 and
press the 'RESET'-button.
The following text will be printed:
RC700 PASCAL LOADER vers. XX
INSERT PASCAL DISK - TYPE <RETURN>
2) Insert the PASCAL system load disk (SYS:) into drive 1, and
type <return>. After several disk accesses, the PASCAL prompt
line will appear, and the system is ready for use.
NOTE: The system needs 64 k bytes of memory!
The PASCAL disk to be bootstrapped must contain a secondary
bootstrap on track zero and the following files:
SYSTEM.PASCAL (the operating system)
SYSTEM.INTERP (the PASCAL interpreter)
SYSTEM.MISCINFO (information about terminal handling)
The available PASCAL-programs - to example the compiler - may
require some additional files to exist on SYS:, see chapter 7.
Please notice that your present RC700 PASCAL does not support
neither the 'serial line input/output' nor the 'additional disk
drives', see ref 1, p8.
\f
F_ 3_._ _ _ _ _ _ _ _ _R_E_C_O_N_F_I_G_U_R_I_N_G_ _T_H_E_ _P_A_S_C_A_L_ _I_N_T_E_R_P_R_E_T_E_R_ 3.
The initial configuration of the PASCAL interpreter (the file
SYSTEM.INTERP) is able to handle 1 floppy disk drive and has no
floating point capabilities.
Three more interpreter module files exist:
CMP2.INTERP
2 drives supported -
no floating point capabilities.
CPM1.FP.INTERP
1 drive supported
floating point included
CPM2.FP.INTERP
2 drives supported
floating point included
The INTERP modules occupies much less memory space than the
FP.INTERP modules.
To install a new interpreter, enter the F)iler by typing F, and
R)emove the file SYSTEM.INTERP. Then T)ransfer the appropriate
interpreter file to the system disk, naming it SYSTEM.INTERP. The
system may now be re-booted, thus including the new interpreter
module.
A detailed description of the reconfiguration procedure is given
in app. E.
NOTE: if a two disk version is generated and a system load is
performed, a diskette must be in both drives in order to prevent
the system from hanging on a read to the second drive.\f
F_ 4_._ _ _ _ _ _ _ _ _D_I_S_K_E_T_T_E_ _F_O_R_M_A_T_S_ 4.
MAXI-diskettes are delivered as preformatted diskettes. A number
of various formats are used. In the PASCAL-system you deal with
two types as explained below.
MINI-diskettes are delivered as non-preformatted diskettes. Thus
they must be preformatted before use. In app. F a detailed
description is given of how to format the diskettes. Only one
format is used.
4_._1_ _ _ _ _ _ _ _L_o_a_d_e_r_ _D_i_s_k_e_t_t_e_s_ 4.1
Format description (one cylinder = two opposite tracks for double
sided diskettes):
The MINI-diskette (5 1/4" floppy):
Single density, double sided, 128 bytes per sector, 16 sectors
per track, 36 cylinders.
The MAXI-diskette (8" floppy):
Single density, single sided, 128 bytes per sector, 26 sectors
per track, 77 cylinders.
This MAXI-diskette is referred to as a type 1 diskette.
4_._2_ _ _ _ _ _ _ _S_y_s_t_e_m_ _D_i_s_k_e_t_t_e_s_ 4.2
Format description (one cylinder = two opposite tracks for double
sided diskettes):
The MINI-diskette:
Single density, double sided, 128 bytes per sector, 16 sectors
per track, 36 cylinders. Thus it can hold 280 PASCAL blocks (512
bytes per block).
\f
The diskette is formatted with 2 to 1 interleaved sectors and
zero track to track skew, and the first PASCAL track is track
one.
The MAXI-diskette:
Dual density, double sided, 512 bytes per sector, 15 sectors per
track, 62 cylinders. Thus it can hold 1830 PASCAL blocks (512
bytes per block). This MAXI-diskette is referred to as a type 2
diskette
The diskette is formatted with 2 to 1 interleaved sectors and
zero track to track skew, and the first PASCAL track is track
one.
Diskettes not having the proper interleaving ratio and track to
track skew must be reformatted using the DISKCHANGE program (see
ref. 1) before used by the system.
\f
F_ 5_._ _ _ _ _ _ _ _ _S_Y_S_T_E_M_ _U_T_I_L_I_T_I_E_S_ 5.
The RC700 PASCAL system is supplied with some utility programs,
which are not part of the standard UCSD PASCAL system. They are
described in this section.
5_._1_ _ _ _ _ _ _ _U_t_i_l_i_t_i_e_s_ _o_n_ _t_h_e_ _L_o_a_d_e_r_ _D_i_s_k_ 5.1
If you in response to the prompt 'INSERT PASCAL DISK - TYPE
<RETURN>' type <esc> instead of <return>, the system will reply
with the prompt 'PROGRAM?'.
You have three choises to answer this question:
1) 'PASCAL' returns to the PASCAL Loader.
2) 'FORMAT' prompts you with 'INSERT DISK - TYPE <RETURN>'. The
disk inserted is formatted according to the format given in
chapter 4.
NOTE: This is only relevant for MINI-diskettes. MAXI-diskettes
cannot be formatted in this way.
3) 'SYSTEM' generates a new load disk. It can also be generated
by copying the disk, but this is a faster way. Just insert a
disk, when the prompt 'INSERT DISK - TYPE <RETURN>' appears.
NOTE: A_ _P_a_s_c_a_l_ _S_y_s_t_e_m_ _d_i_s_k_ _c_a_n_n_o_t_ _b_e_ _g_e_n_e_r_a_t_e_d_ _i_n_ _t_h_i_s_ _w_a_y_.
5_._2_ _ _ _ _ _ _ _B_A_C_K_U_P_ _U_t_i_l_i_t_y_ 5.2
The backup program BACKUP.CODE copies a whole disk. It asks for
the source and destination unitnumbers for the transfer. The
program will work on both one and two drive systems.
\f
In dual drive systems the drives are named '#4' (drive 1) and
'#5' (drive 2), ref. 1, p8.
On a one drive system it is a little more tedious, as you have to
interchange the source and destination disks a number of times
(refer to app. D).
To execute the backup program, type X and BACKUP at the Command
level (the disk containing BACKUP.CODE must be on-line, refer to
chapter 7).
\f
F_ 6_._ _ _ _ _ _ _ _ _C_O_N_T_R_O_L_ _K_E_Y_S_ 6.
This chapter describes the control keys used in the RC700
implementation of UCSD PASCAL.
For details about the function of the keys please refer to ref.
1.
RC702 RC701
EDITOR ACCEPT KEY: CTRL-E or CTRL-E
EDITOR ESCAPE KEY: ESC CTRL-Æ
CURSOR DOWN: CTRL-J
CURSOR LEFT:
CURSOR RIGHT: CTRL-X
CURSOR UP: CTRL-Z
KEY TO DELETE CHAR:
KEY FOR FLUSH: CTRL-F CTRL-F
KEY FOR STOP: CTRL-S CTRL-S
KEY FOR BREAK: CTRL-B CTRL-B
TAB: CTRL-I
\f
F_ 7_._ _ _ _ _ _ _ _ _C_O_N_T_E_N_T_S_ _O_F_ _D_I_S_K_E_T_T_E_S_ 7.
The system is distributed on two MAXI-diskettes or four
MINI-diskettes. The MAXI distribution set consists of one Pascal
loader diskette and one Pascal System diskette (volume id: SYS:).
The MINI distribution set consists of one Pascal loader diskette
and three Pascal System diskettes (volume id: SYS:, SYS1: and
SYS2:). The Pascal System load diskette (see chapter 2) is the
one marked SYS:.
The following is a list of the files on the distribution
diskettes with references to the appropriate documentation. The
files listed under volume id SYS1:, SYS2: are incorporated in
SYS: on the MAXI-diskette.
SYS:
SYSTEM.PASCAL User's Manual (ref. 1) p.5
SYSTEM.INTERP This document, chapter 3
SYSTEM.MISCINFO User's Manual p.259
SYSTEM.FILER - p.7
SYSTEM.EDITOR - p.31
SYSTEM.COMPILER - p.69
SYSTEM.SYNTAX - p.70
DISKCHANGE.CODE - p.I-9, I-15
DISKSIZE.CODE - p.I-11
BOOTER.CODE - p.293
SYS1:(MINI)
YALOE.CODE User's Manual p.57
SYSTEM.LINKER - p.77
SYSTEM.LIBRARY p.78
SYSTEM.ASSEMBLER - p.129
Z80.OPCODES - p.129
Z80.ERRORS - p.129
8080.ASSEMBLER - p.129
8080.OPCODES - p.129
8080.ERRORS - p.129
LIBRARY.CODE - p.249
LIBMAP.CODE - p.309 \f
PATCH.CODE See next file
PATCH.DOC.TEXT Replaces section 4.4 in User's Manual.
BACKUP.CODE This document, section 5.2.
SYS2: MINI
CPM1.INTERP
M_m_m_ CPM2.INTERP
This document, chapter 3
P_p_p_ CPM1.FP.INTERP
CPM2.FP.INTERP
M_m_m_ MARKDUPDIR.CODE
User's Manual p.301
P_p_p_ COPYDUPDIR.CODE
M_m_m_ DISASM.II.CODE
User's Manual p.303
P_p_p_ OPCODES.II.0
RELOC.CODE See RELOC.DOC.TEXT
RELOC.DOC.TEXT
M_m_m_ FLIPCODE.CODE
See FLIP.DOC.TEXT
P_p_p_ FLIPDIR.CODE
FLIP.DOC.TEXT
Notes:
Running the PASCAL compiler in a floating point configurated
system requires the existence of the following two files on SYS:
SYSTEM.LIBRARY and SYSTEM.LINKER
These files should be tranferred from SYS1: in case a
MINI-diskette system is used. In case a single drive system is
used, the user disk-space is approximately 18 blocks.
\f
F_
\f
F_ A_._ _ _ _ _ _ _ _ _R_E_F_E_R_E_N_C_E_S_ A.
1 UCSD PASCAL
User's Manual
SofTech Microsystems/RC Computer, 1980.
2 Beginner's Manual for the UCSD PASCAL System
Kenneth L. Bowles
Byte Books (McGraw-Hill), 1979.
3 PASCAL User Manual and Report
Kathleen Jensen and Niklaus Wirth
Springer-Verlag, New York, 1975.
\f
F_ B_._ _ _ _ _ _ _ _ _L_O_A_D_E_R_ _D_I_S_K_E_T_T_E_ _C_O_P_Y_ _P_R_O_C_E_D_U_R_E_ _(_M_A_X_I_/_M_I_N_I_)_ B.
Please notice that in a MINI-diskette system, the diskettes to
use must be preformatted using the formatting procedure described
in app. F.
The execution time listed in '()' is that for MINI-diskette
systems.
1) Insert your Master Loader Diskette in drive 1 (1 of 2) and
press the RESET-button.
Text displayed within appr. 8 (10) secs:
'INSERT PASCAL DISK - TYPE <RETURN>'
2) Push the 'ESC'-key.
Text displayed immediately (the u_t_i_l_i_t_y_-_p_r_o_m_p_t_-_l_i_n_e_)_:
'RC700 utility: F(ormat, S(ystem, C(onversion, Q(uit?'
3) Type 'C'.
Text displayed immediately:
'1: Danish
2: Swedish
.
.
.
Conversion table number ?'
4) Type 'number' (1, 2, ...).
Text displayed immediately: the u_t_i_l_i_t_y_-_p_r_o_m_p_t_-_l_i_n_e_.
5) Type 'S'.
Text displayed immediately:
'INSERT DISK - TYPE <RETURN>'
\f
6) Remove the diskette inserted in drive 1. In a MAXI-diskette
system insert an empty (scratch-) diskette of type 1 in drive
1. In a MINI-diskette system insert a preformatted diskette in
drive 1. Push the 'RETURN'-key (<-).
Text displayed with appr. 15 (10) secs: The u_t_i_l_i_t_y_-_p_r_o_m_p_t_-
l_i_n_e_.
7) A new Loader Diskette configurated for use with your
National-Character-Set has been generated. Save your master
diskette and use this copy from now. Continue from 5) if you
want to generate additional copies.
\f
F_ C_._ _ _ _ _ _ _ _ _S_Y_S_T_E_M_ _D_I_S_K_E_T_T_E_ _C_O_P_Y_ _P_R_O_C_E_D_U_R_E_ _(_M_A_X_I_)_ C.
1) Insert your Loader Diskette (your own copy) in drive 1 (1 of
2) and press the RESET-button.
Text displayed within appr. 8 secs.:
'INSERT PASCAL DISK - TYPE <RETURN>'
2) Remove your Loader Diskette and insert your Master System
Diskette in drive 1. Push the 'RETURN'-key (<-).
Text displayed within appr. 2 secs.:
'READING SECONDARY BOOTSTRAP'
Text displayed within appr. 10 secs. (the c_o_m_m_a_n_d_-_p_r_o_m_p_t_-_
l_i_n_e_):
'Command: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, ...'
3) Type 'x' (ref. 1, p3)
Text displayed immediately:
'Execute what file?'
4) Type 'backup' and push the 'RETURN'-key
Text displayed immediately:
'RC700 Backup program ....
Source drive (4,5)?'
5) Type '4' and push the 'RETURN'-key.
Text displayed immediately:
'Destination drive (4,5)?'
6) Type '4' and push the 'RETURN'-key.
Text displayed immediately:
'Insert source disk-type <RETURN>'
\f
7) Your Master System Diskette is already inserted.
Push the 'RETURN'-key.
Text displayed within appr. 3 secs.:
'Insert destination disk-type <RETURN>'
8) Remove your source diskette from drive 1 and insert an empty
(scratch-)diskette of type 2 in drive 1 and push the
'RETURN'-key.
Text displayed within appr. 3 secs.:
'Insert source disk - type <RETURN>'
9) From now just follow the commands given by the program
(textpart 7 and 8). A copy of your System Diskette is then
generated within appr. 30 passes. When finished the program
asks you to insert your system diskette (your own copy as
well) and type <RETURN>.
Text displayed:
'Insert system disk-type <return>'
10) Push the <RETURN>-key.
Text displayed within appr. 2 secs.: The c_o_m_m_a_n_d_-_p_r_o_m_p_t_-_
l_i_n_e_.
11) At this point you may decide to start using the system
diskette or you may ask for a check-read of your diskette. In
the latter case proceed with the following steps.
12) Type 'F'. (ref 1, p3)
Text displayed within 2 secs. (f_i_l_e_r_-_p_r_o_m_p_t_-_l_i_n_e_ (1)):
'Filer: G(et, S(ave, W(hat, ...'
\f
13) Type '?'. (ref. 1, p2)
Text displayed immediately (f_i_l_e_r_-_p_r_o_m_p_t_-_l_i_n_e_ (2)):
'Filer: B(ad-blks, E(xt-dir, K(runch, ...'
14) Type 'B'. (ref. 1, p25)
Text displayed immediately:
'Bad block scan of what vol?'
15) Type '#4' or 'Sys:' and push the 'RETURN'-key.
Text displayed immediately:
'scan for 1830 blocks? (Y/N)'
16) Type 'y'. A Bad-Block-Scan is now executed.
Text displayed within 1 min.:
'0 bad blocks'
17) Now the execution has finished and you enter the
f_i_l_e_r_-_p_r_o_m_p_t_-_l_i_n_e_ (1) again. To return to the Command-level
type 'Q' (the c_o_m_m_a_n_d_-_p_r_o_m_p_t_-_l_i_n_e_ is displayed). Save your
master diskette and start to use the PASCAL-System on your new
system diskette.
\f
F_ D_._ _ _ _ _ _ _ _ _S_Y_S_T_E_M_ _D_I_S_K_E_T_T_E_ _C_O_P_Y_ _P_R_O_C_E_D_U_R_E_ _(_M_I_N_I_)_ D.
Please notice that in a MINI-diskette system, the diskettes to
use must be preformatted using the formatting procedure described
in app. F.
1) Insert your Loader Diskette (your own copy) in drive 1 (1 of
2) and press the RESET-button.
Text displayed within appr. 10 secs.:
'INSERT PASCAL DISK - TYPE <RETURN>'
2a) Remove your Loader Diskette and insert your Master System
Diskette labelled 1 of 3 in drive 1. Push the 'RETURN'-key
(<-).
Text displayed within appr. 2 secs.:
'READING SECONDARY BOOTSTRAP'
Text displayed within appr. 15 secs. (the c_o_m_m_a_n_d_-_p_r_o_m_p_t_-_
l_i_n_e_):
'Command: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, ...'
2b) Remove the diskette inserted in drive 1 and insert your Master
System Diskette labelled 2 of 3.
3) Type 'x' (ref. 1, p3)
Text displayed immediately:
'Execute what file?'
4) Type 'SYS1:backup' and push the 'RETURN'-key
Text displayed immediately:
'RC700 Backup program ....
Source drive number'
\f
5) Type '4' and push the 'RETURN'-key.
Text displayed immediately:
'Destination drive number'
6) Type '4' and push the 'RETURN'-key.
Text displayed immediately:
'Insert source disk-type <RETURN>'
7) Remove your diskette inserted in drive 1 and insert the one
you want to copy (1 of 3, 2 of 3 or 3 of 3)
Push the 'RETURN'-key.
Text displayed within appr. 5 secs.:
'Insert destination disk-type <RETURN>'
8) Remove your source diskette from drive 1 and insert an
preformatted diskette in drive 1. Push the 'RETURN'-key.
Text displayed within appr. 3 secs.:
'Insert source disk - type <RETURN>'
9) From now just follow the commands given by the program
(textpart 7 and 8). A copy of your System Diskette is then
generated within appr. 5 passes. When finished the program
asks you to insert your system diskette 'SYS:', that is 1 of 3
(your own copy 1 of 3 as well) and type <RETURN>.
Text displayed:
'Insert system disk-type <return>'
10) Insert the diskette labelled 1 of 3 in drive 1 and push the
<RETURN>-key.
Text displayed within appr. 2 secs.: The c_o_m_m_a_n_d_-_p_r_o_m_p_t_-_
l_i_n_e_.
\f
11) At this point you may decide to start using the system
diskette or you may ask for a check-read of your diskette. In
the latter case proceed with the following steps.
12) Type 'F'. (ref 1, p3)
Text displayed within 2 secs. (f_i_l_e_r_-_p_r_o_m_p_t_-_l_i_n_e_ (1)):
'Filer: G(et, S(ave, W(hat, ...'
13) Type '?'. (ref. 1, p2)
Text displayed immediately (f_i_l_e_r_-_p_r_o_m_p_t_-_l_i_n_e_ (2)):
'Filer: B(ad-blks, E(xt-dir, K(runch, ...'
14) Type 'B'. (ref. 1, p25)
Text displayed immediately:
'Bad block scan of what vol?'
15) Type '#4' or 'SYS:' and push the 'RETURN'-key.
Text displayed immediately:
'scan for 280 blocks? (Y/N)'
16) Type 'y'. A Bad-Block-Scan is now executed.
Text displayed within 35 secs.:
'0 bad blocks'
17) Now the execution has finished and you enter the
f_i_l_e_r_-_p_r_o_m_p_t_-_l_i_n_e_ (1) again. To return to the Command-level
type 'Q' (the c_o_m_m_a_n_d_-_p_r_o_m_p_t_-_l_i_n_e_ is displayed). Save your
master diskette. From now repeat the procedure starting with
point 2b) until you have generated all three copies (1 of 3, 2
of 3 and 3 of 3). Hereafter you may start to use the
PASCAL-system on your new diskettes.
\f
F_ E_._ _ _ _ _ _ _ _ _S_Y_S_T_E_M_ _C_O_N_F_I_G_U_R_A_T_I_O_N_ _P_R_O_C_E_D_U_R_E_ _(_M_A_X_I_/_M_I_N_I_)_ E.
The execution time listed in '()' is that for MINI-diskette
systems.
1) Insert your Loader Diskette in drive 1 (1 of 2) and type
<RETURN>.
Text displayed within appr. 8 (10) secs.:
'INSERT PASCAL DISK - TYPE <RETURN>'
2) Remove your Loader Diskette and insert your System Diskette
(in MINI-diskette systems the diskette labelled 1 of 3) in
drive 1. Type <RETURN>.
Text displayed within appr. 2 secs.:
'READING SECONDARY BOOTSTRAP'
Text displayed within appr. 10 (15) secs. (the c_o_m_m_a_n_d_-_p_r_o_m_p_t_-
l_i_n_e_)_ 'Command: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, ...'
3) Type 'F' (ref 1, p3)
Text displayed within 2 secs. (the f_i_l_e_r_-_p_r_o_m_p_t_-_l_i_n_e_ (1)):
Filer: G(et, S)ave, W(hat, N(ew, L(dir, R(em, C(hng, T(rans, ...'
4) Type 'T' (ref 1, p21)
Text displayed immediately:
'Transfer what file?'
5) In MAXI-diskette systems type 'parameter' (refer to chapter ),
for instance: 'cpm2.fp.INTERP'. type <RETURN>.
In MINI-diskette systems remove system diskette 1 of 3 and
insert system diskette 3 of 3. Type 'parameter', for instance:
'SYS2:cpm2.fp.INTERP'. Type <RETURN>.
\f
Text displayed immediately:
'To where?'
6a) Type 'SYSTEM.INTERP' and <RETURN>.
In MINI-diskette systems the following text and action 6b are
added:
Text displayed within appr. 5 secs.:
'Put in SYS:
Type <space> to continue'
6b) Remove the diskette inserted in drive 1 and insert the
diskette 1 of 3 in drive 1. Type <space>.
Text displayed within 3 secs.:
'Remove old SYS:SYSTEM.INTERP?'
7a) Type 'y'.
In MINI-diskette systems the following 2 text-parts and action
7b are added:
Text displayed within appr. 5 secs.:
'Put SYS2: in unit # 4
Type <space> to continue'
7b) Insert the diskette labelled 3 of 3 in drive 1. Type <space>
Text displayed within 1 sec.:
'Put SYS: in unit # 4
Type <space> to continue'
Text displayed within 3 secs.:
'SYS:CPM2.FP.INTERP - -> SYS:SYSTEM.INTERP'
8) Your new system is now configurated and ready for use when
autoloaded (step 1 and 2 above).
\f
F_ F_._ _ _ _ _ _ _ _ _D_I_S_K_E_T_T_E_ _P_R_E_F_O_R_M_A_T_T_I_N_G_ _P_R_O_C_E_D_U_R_E_ _(_M_I_N_I_)_ F.
1) Insert your Master Loader Diskette in drive 1 (1 of 2) and
press the RESET-button.
Text displayed within appr. 10 secs:
'INSERT PASCAL DISK - TYPE <RETURN>'
2) Push the 'ESC'-key.
Text displayed immediately (the u_t_i_l_i_t_y_-_p_r_o_m_p_t_-_l_i_n_e_)_:
'RC700 utility: F(ormat, S(ystem, C(onversion, Q(uit?'
3) Type 'F'.
Text displayed immediately:
'INSERT DISK - TYPE <RETURN>'
4) Remove the diskette inserted in drive 1. and insert an empty
(scratch-)diskette in drive 1. Push the 'RETURN'-key (<-).
Text displayed with appr. 35 secs: The u_t_i_l_i_t_y_-_p_r_o_m_p_t_-_l_i_n_e_.
5) A preformatted Diskette has been generated. Continue from 3)
until a whole set (4 diskettes) has been generated.
\f
«eof»