DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦755b238e2⟧ TextFile

    Length: 121216 (0x1d980)
    Types: TextFile
    Names: »D74«

Derivation

└─⟦a2495fc4f⟧ Bits:30005867/disk10.imd Dokumenter (RCSL m.m.)
    └─⟦this⟧ »D74« 

TextFile

                        5_._9_._7_ _ _C_o_n_n_e_c_t_ _A_c_c_o_u_n_t_ _E_n_t_r_i_e_s_ 
                  
A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ 
                  
Number         : 6 
                  
Designation    : Erase account entry 
 
Reading        : 
 
Writing        : 
 
Conditions for 
activation     : If erase _scan = 1. The adaption point 
                 is activated for each account entry read
                 during the scan.
 
Comm. variables:ae_erased (account entry erased) 
call: 0,1 (0 = not erased) 
answer: 0,1 
cont_scanning (continue the scanning) 
                    call: 1 (wanted) 
                    answer: 0,1 
 
Use            : A possible erasing may be done by means of
                 the communication variable ae _erased 
 
Block reference: B (adp _block _18,29)  
 
Next adaption 
point          : Adp 7 or exit \f

                        5_._9_._7_ _ _C_o_n_n_e_c_t_ _A_c_c_o_u_n_t_ _E_n_t_r_i_e_s_ 
                  
A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ 
                  
Number         : 7 
                  
Designation    : Update balance 
 
Reading        : 
 
Writing        : 
 
Conditions for 
activation     : If new _record _wanted = 0 (not wanted). 
                 An account entry record selected in adp 4
                 by means of recordpos will be available. 
 
Comm. variables:ae_erased (account entry erased) 
call: 0,1 (0 = not erased) 
answer: 0,1 
copy_wanted _in _ta 
                    call: 0 (not wanted) 
                    answer: 0,1 
erase_scan (scan for erasing of account entries)
   call: 0 (not wanted) 
answer: 0,1 
 
Use            : Updating of balance in the selected account
                 entry record. The record can be erased after- 
              words, at once or during an erase scan.
 
Block reference: B (adp _block _18,30)  
 
Next adaption 
point          : Adp 3 \f

         5.9.8          A_c_c_o_u_n_t_ _E_n_t_r_y_ _l_i_n_e_ _f_o_r_ _B_a_t_c_h_ _P_u_r_p_o_s_e_s_ 
 
(tegning 96t)\f

                        5_._9_._8_ _ _A_c_c_o_u_n_t_ _E_n_t_r_y_ _L_i_n_e_ _f_o_r_ _B_a_t_c_h_ _P_u_r_p_o_s_e_s_ 
                  
A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ 
                  
Number         : 1 
                  
Designation    : Read the information 
 
Reading        :From the input buffer
 
Writing        : 
 
Conditions for 
activation     : After interpretation of the line code 
                 (adp 0) 
 
Comm. variables:posting _wanted (voucherline in the terminal
                 area 
call: 1 (wanted) 
                    answer: 0,1 
 
Use            : Reading of information 
 
Block reference: B (adp _block _18,3) 
 
Next adaption 
point          : Exit \f

         5.10           P_r_i_n_t_ _O_u_t_ _A_d_m_i_n_i_s_t_r_a_t_i_o_n_ 
 
L_i_s_t_ _o_f_ _c_o_n_t_e_n_t_s_P_a_g_e_ 
 
Introduction                                           119 
 
Outline                                                122 
 
5.10.1  Print Out Command (UOR)                        123 
 
5.10.2  Print Out Acceptance (UAC)                     128 
 \f

                        5_._1_0_ _ _P_r_i_n_t_ _O_u_t_ _A_d_m_i_n_i_s_t_r_a_t_i_o_n_ 
 
I_n_t_r_o_d_u_c_t_i_o_n_ 
 
These transactions cover the administration of those text
areas that are filled in with the function "print output"
(e.g. invoices - cf. 5.11). 
 
Primitive      The functions are primitive and easy to handle. Apart from
Flexible       that, they are flexible, as a more developed control can be
               implemented in the adaption. 
 
Text areas     The administration in the Skeleton Program is confined to
control those text areas that are to be printed on the prin-
ters and the necessary communication with DUETCOM (by
TELEOP). 
 
Not printers   There is thus no administration of the printers as such, and
neither of the paper type they have mounted. 
 
From among the 2 kinds of printers which DUETCOM administers
(see the TELEOP documentation), the Skeleton Program is pri-
marily based on "selective" (and seperate) printers. See also
section 3.2 (output). 
 
2 transactions The Skeleton Program has 2 transactions: 
 
UOR, print out command  : Print a text area mentioned by
                          name or output type at a printer. 
 
UAC, print out acceptance: Accept an UOR for a certain output
                           type. \f

                        5_._1_0_ _ _P_r_i_n_t_ _O_u_t_ _A_d_m_i_n_i_s_t_r_a_t_i_o_n_ 
 
P_r_i_n_t_ _O_u_t_ _C_o_m_m_a_n_d_ _(_U_O_R_)_ 
 
The transaction effects the print out of a text area. 
 
Text area      In case that the text area is identified by output type, the
identifiedSKP fetches the output form administration record by means
by output      of the key determined in adp 1. The simplest way is to read
type           in the key from the transaction, but it may also be fixed
(programmed) or parameter selected (terminal dependent) or a
combination of both. 
 
                      In adp 1 it can be decided whether the print out is to be
produced centrally or not (comm. variable centralconv). In
the first case the algol8 operation is executed, i.e. the
print area is renamed and a request for central convert is
displayed on the console. It is then the task of operator to
start the convert process (e.g. by means of a UOR command
including the area name). If the central convert is not
wanted, the algol7 operation is executed, i.e. the print out
area is converted by DUETCOM. The parameter printer inf (cf.
algol7 in the TELEOP manual) must be assigned with a legal
value in adp 2, thereby addressing the printer on which the
print out is demanded.
 
                        The only function that the SKP always executes is the fol-
lowing: 
 
2 text areas   2 text areas have been described in the output form admini-
stration record: the first is filled in from "print output",
the second is being printed (or the print out has already
been accepted).\f

                        5_._1_0_ _ _P_r_i_n_t_ _O_u_t_ _A_d_m_i_n_i_s_t_r_a_t_i_o_n_ 
 
Exchange of    If the latest print out h_a_s_ _b_e_e_n_ accepted (by the UAC trans-
text areas     action), this area is marked "after acceptance" and thus
terminated, and following print outs are printed from the
beginning of the other area. If the latest print out h_a_s_ _n_o_t_
b_e_e_n_ accepted, the UOR must be a repeat or resume transaction. 
 
Text area      Also a text area with a definite name can be printed out
identified     without being attached to an output form administration re-
by name        cord. In adp 1 parameters for the print out action are de-
termined, such as the name of the area, which e.g. can be read in
Central con-   from the transaction. Thus the UOR transaction can be used for
vert           print out at the system printer after a message about central
Test print     convert, or for test print outs. 
 
P_r_i_n_t_ _O_u_t_ _A_c_c_e_p_t_a_n_c_e_ _(_U_A_C_)_ 
 
Release of     The purpose of the transaction is to release a text area
text area      that has been printed. This is done by changing the state of
the second text area in the output form administration re-
cord. The transaction is to be used for text areas identi-
fied by output type in the UOR command.\f

                        5_._1_0_ _ _P_r_i_n_t_ _O_u_t_ _A_d_m_i_n_i_s_t_r_a_t_i_o_n_ 
 
O_u_t_l_i_n_e_ 
 
(tegning 101)\f

          5.10.1        P_r_i_n_t_ _O_u_t_ _C_o_m_m_a_n_d_ 
 
(Tegning 102) 
 
 \f

                        5_._1_0_._1_ _ _P_r_i_n_t_ _O_u_t_ _C_o_m_m_a_n_d_ 
 
(Tegning 103) 
 
 \f

                        5_._1_0_._1_ _ _P_r_i_n_t_ _O_u_t_ _C_o_m_m_a_n_d_ 
 
(Tegning 104) 
 
 \f

                        5_._1_0_._1_ _ _P_r_i_n_t_ _O_u_t_ _C_o_m_m_a_n_d_ 
 
A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ 
                  
Number         : 1 
                  
Designation    : Reading of an input line 
 
Reading        :From the input buffer 
 
Writing        : 
 
Conditions for 
activation     : After interpretation of the line code 
                 (adp 0) 
 
Comm. variables: get _outp, get _print, and centr _conv 
        call: 0 (not wanted) 
return: 0,1 
 
Use            : Reading of information and alteration of
                 the communication variables 
 
Block reference: B (adp _block _15,1) 
 
Next adaption 
point          : Adp 2 or exit \f

                        5_._1_0_._1_ _ _P_r_i_n_t_ _O_u_t_ _C_o_m_m_a_n_d_ 
 
A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ 
                  
Number         : 2 
                  
Designation    : Assign printer name 
 
Reading        : 
 
Writing        : 
 
Conditions for 
activation     : The value of the communication variable is
                 one. 
 
Comm. variables: printer _inf 
        call: l6 
return: printer name 
 
Use            : Assignment of printer name by means of
                 printer index 
 
Block reference: B (adp _block _15,2) 
 
Next adaption 
point          : Exit \f

         5.10.2         P_r_i_n_t_ _O_u_t_ _A_c_c_e_p_t_a_n_c_e_ 
 
(tegning 107)\f

                        5_._1_0_._2_ _ _P_r_i_n_t_ _O_u_t_ _A_c_c_e_p_t_a_n_c_e_ 
 
A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ 
                  
Number         : 1 
                  
Designation    : Reading of an input line 
 
Reading        :From the input buffer 
 
Writing        : 
 
Conditions for 
activation     : After interpretation of the line code  
                 (adp 0) 
 
Comm. variables:  
 
Use            : Reading of information 
 
Block reference: B (adp _block _15,3) 
 
Next adaption 
point          : Exit \f

         5.11           P_r_i_n_t_ _O_u_t_p_u_t_ 
 
 L_i_s_t_ _o_f_ _c_o_n_t_e_n_t_s_P_a_g_e_ 
 
Print Output (introduction)131 
 
Flow Diagram133 
 
Adaption Point Description135 \f

                        5_._1_1_ _ _P_r_i_n_t_ _O_u_t_p_u_t_ 
 
Form print     The function "print output" is the Skeleton Program routine
outswhich activates the form print outs from TELEDATA (invoices,
delivery notes, order confirmations, etc.). These (print 
outs) are written in text areas where they are accumulated
until they are to be printed (cf. Print Out Administration).
 
Print channel  The printing is done in the adaption at print channel 1. 
1 
(At print channel 2 the other type of print outs occur - that
is, those that are written on the terminal - answer to inqui-
ries, errors, etc. They have been described elsewhere (see
section 5.4 and section 6). Print outs from TELEOP, DUETCOM,
etc. are not described in this manual). 
 
Activated from Print output is activated in the Skeleton Program under 4
other         other functions:  
transactions 
     - last in the order voucher end (section 5.5) 
     - last in the erase order (section 5.5) 
     - last in the invoice voucher end (section 5.6) 
     - last in the account entry voucher end and in the
       deb/cred entry scan (section 5.9) 
 
         The terminal   The printing is done from records in the terminal area. These 
         area is        records are sorted and then scanned. The set used for the
         scanned        scan is set 23 but another (new) one can be selected in the
                        adaption, if wanted.  
 
The actual scan is placed in adaption point 4 because of
flexibility and economy in block calls. The printing may fill
up to 2 blocks, adaption block 13 and adaption block 14, but
all the adaption points are in adaption block 13.\f

                        5_._1_1_ _ _P_r_i_n_t_ _O_u_t_p_u_t_ 
 
A scan in      An outline of the scan (adaption point 4): 
the adaption    
     next scanning_set 
     while sodaspec = 0 do. 
       "print output from the record" 
       next scanning_set 
 
The area, on which is printed, has been determined from the
output type which is selected in adaption point 2. Then the
Output form    Skeleton Program fetches the corresponding output form admi-
administration nistration record where the text area has been described
with the name and position, from which it is to be written. 
 
The algol operation 5 "opens" and positions in the area and
after the printing, algol operation 6 "closes" (and saves
the position). 
 
Text area      To each output type corresponds a text area in which prin-
per output     ting is conducted (furthermore there is a text area which is
typebeing printed). The output types are specific for each user
User specific  and all the user>s terminals can thus make use of them. 
 
All of the above algorithm (define output type and sorting
parameters, sort terminal area, scan terminal area and
print) can be repeated a couple of times so that by one
execution of "print output" (and one transaction) several
different print outs can be made.\f

                        5_._1_1_ _ _F_u_n_c_t_i_o_n_:_ _P_r_i_n_t_ _O_u_t_p_u_t_ 
 
(tegning 114)\f

                        5_._1_1_ _ _F_u_n_c_t_i_o_n_:_ _P_r_i_n_t_ _O_u_t_p_u_t_ 
 
(tegning 115)\f

                        5_._1_1_ _ _P_r_i_n_t_ _O_u_t_p_u_t_ 
                  
A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ 
                  
Number         : 1 
                  
Designation    : Assign the control parameters 
 
Reading        : 
 
Writing        : 
 
Conditions for 
activation     :  
 
Comm. variables: no _of _scans 
call: 1 
answer: '=0 
 
Use            : Assignment of the comm. variable. 
                 Assign possible scanning sets or set 
restrictions. 
 
Block reference: B (adp _block _13,1) 
 
Next adaption 
point          : Adp 2 or exit \f

                        5_._1_1_ _ _P_r_i_n_t_ _O_u_t_p_u_t_ 
                  
A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ 
                  
Number         : 2 
                  
Designation    : Determine the output type 
 
Reading        : 
 
Writing        : 
 
Conditions for 
activation     : By each scan 
 
Comm. variables:  
 
Use            : Assignment of the output type before the 
                 current scan 
 
Block reference: B (adp _block _13,2) 
 
Next adaption 
point          : Adp 3 \f

                        5_._1_1_ _ _P_r_i_n_t_ _O_u_t_p_u_t_ 
                  
A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ 
                  
Number         : 3 
                  
Designation    : Assign the sorting parameters 
 
Reading        : 
 
Writing        : 
 
Conditions for 
activation     : After fetching the output form administra- 
tion record 
 
Comm. variables: sort_wanted 
                    call: 0 (not wanted) 
                    answer: 0,1 
 
Use            : Assignment of parameters for the sorting
                 procedure (algol 1) 
 
Block reference: B (adp _block _13,3) 
 
Next adaption 
point          : Adp 4 \f

                        5_._1_1_ _ _P_r_i_n_t_ _O_u_t_p_u_t_ 
                  
A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ 
                  
Number         : 4 
                  
Designation    : Scan the terminal area 
 
Reading        : 
 
Writing        : 
 
Conditions for 
activation     : After a possible sorting, after opening 
                 the text area, and after selection of print
                 channel 1. 
After initialization of the scanning set. 
 
Comm. variables:  
 
Use            : Scan of the terminal area. 
                 Printing of the output. 
 
Block reference: B (adp _block _13,4) 
 
Next adaption 
point          : Adp 2 or exit \f

         6.             E_r_r_o_r_ _P_r_o_c_e_s_s_i_n_g_ 
 
L_i_s_t_ _o_f_ _C_o_n_t_e_n_t_s_P_a_g_e_ 
 
Introduction                                           140 
 
6.1  Error Reactions from the DUET system              141 
 
6.2  Error Reactions from the DUET program             142 
 
6.3  Error list - Skeleton Program Data Errors         143 
 
 \f

                        6_._ _ _E_r_r_o_r_ _P_r_o_c_e_s_s_i_n_g_ 
 
I_n_t_r_o_d_u_c_t_i_o_n_ 
 
In this section the error reactions in the running TELEDATA
system are described. 
 
Five types of errors may arise in the running situation: 
 
     1. DUET system errors. 
        Described in the DUET manual, cf. the reference list
        in section 1. 
 
     2. DUET programming errors. 
        Described in the DUET manual, cf. the reference list
        in section 1. 
 
     3. DUET data errors. 
        Described in the DUET manual, cf. the reference list
        in section 1. These error messages can be redefined,
        e.g. if they are required in a different language. 
 
     4. Skeleton Program data errors, cf. section 6.3. 
 
     5. Adaption data errors, cf. the User>s Handbook. 
 
The error processing has been worked out considering the
fact that the running TELEDATA system is an on-line system
where the user receives a prompt reply about a transaction
and so may correct any possible erroneous transaction at
once. No special processing for batch runs, if any, has been
implemented.\f

         6.1            E_r_r_o_r_s_ _f_r_o_m_ _t_h_e_ _D_U_E_T_ _S_y_s_t_e_m_ 
 
P_r_i_n_t_ _o_u_t_ _o_f_ _e_r_r_o_r_ _m_e_s_s_a_g_e_s_ _f_r_o_m_ _t_h_e_ _D_U_E_T_ _s_y_s_t_e_m_ 
 
The DUET interpreter itself makes certain that the DUET sys-
tem errors (error type 1) and the DUET programming errors
(error type 2) are printed on the primary output and that
the message about the occurrence of an error is given to the
DUET data error procedure. 
 
DUET data errors (error type 3) will be printed at channel
2, which has been selected in the Skeleton Program and the
DUET data error procedure will also, when it receives a mes-
sage about a system - or a programming error, print an error
message at channel number 2. 
 
The DUET data error procedure is adaptable as for the writ-
ten text so that error messages can be printed in the local
language. The text is inserted by a re-interpretation of
TELEOP. 
 
About the processing of the primary output and channel num-
ber 2: see the TELEOP MANUAL.\f

         6.2            E_r_r_o_r_s_ _f_r_o_m_ _t_h_e_ _D_U_E_T_ _P_r_o_g_r_a_m_ 
 
S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _E_r_r_o_r_s_ _(_E_r_r_o_r_ _T_y_p_e_ _4_) 
 
The Skeleton Program data errors include all errors registe-
red by the Skeleton Program. 
 
A print out of error messages is performed at the user ter-
minal from block 22 (installation adaption) where the text
can be adapted to the current language. 
 
The reaction to different Skeleton Program data errors ap-
pears from the error list in section 6.3. 
 
A_d_a_p_t_i_o_n_ _D_a_t_a_ _E_r_r_o_r_s_ _(_E_r_r_o_r_ _T_y_p_e_ _5_)
 
Adaption data errors include all errors registered in the
adaption. 
 
The print out of error messages is performed at the user
terminal and should be programmed in the block where the
error has been registered.\f

         6.3            E_r_r_o_r_ _L_i_s_t_:_ _S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _E_r_r_o_r_s_ 
 
The error list of the Skeleton Program data errors contains,
 for each error that is registered by the Skeleton Program,
the following information: 
 
     1. An error number which refers to the entry point in
        block 22 from where the error text is printed out. 
         
     2. The error text which is printed out at the user>s
        terminal, including the error number mentioned under
        1 and perhaps a line code. 
         
     3. One or more block numbers and one or more DUET ope-
        ration numbers for identifying where in the Skeleton
        Program the error has arisen. If the line code is
        indicated, this will be decisive of which block and
        DUET operation the error has been called from.  
         
     4. The Skeleton Program>s reaction to the current er-
        ror. In this case the line code will also decide
        which reaction will be selected out of several pos-
        sible reactions. 
         
      5. Messages, if any.\f

                        6_._3_ _ _E_r_r_o_r_ _L_i_s_t_:_ _S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _E_r_r_o_r_s_ 
 
21 ILLEGAL CODE code'line_code' 
 
O--: 4, D183 (D166)
   : SKP returns to P1 (D160) and continues normally from
     there. 
      
R--: 4, D245 (D207, D235) 
   : SKP returns to P1 (D200) and continues normally from
     there. 
      
N--: 4, D345 or 4, D245 (D307 or D235) 
   : SKP returns to P1 (D300) and continues normally from
     there. 
      
?--: 5, D25 
   : SKP returns to P0 and the control is given to TELEOP. 
      
Comments: 
O--  : = Create structure list 
R--  : = Update structure list 
N--  : = Delete structure list 
?--  : = Structure list inquiries
 
 
22 PART ident'RECORD DOES NOT EXIST line _code' 
     0--: 4, D185 (170) 
        : Normal continuation of the operating sequence 
 
 
23 ident'MASTER MUST NOT BE DELETED line _code' 
     N--: 4, D140, D141, D142, D143 
        : SKP returns to P0 and the control is given to 
          TELEOP.\f

                        6_._3_ _ _E_r_r_o_r_ _L_i_s_t_:_ _S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _E_r_r_o_r_s_ 
 
24 LIST RECORD DOES NOT EXIST 
     R--: 4, D255 (D213) 
        : like R-- 
     ?--: 5, D118, (D117) 
        : The key is printed, SKP returns to P1 (D133) and 
          is terminated normally. 
 
 
25 TERMINAL IN ILLEGAL STATE 
        : 1, D115 
        : SKP returns to P0 and the control is given to TELEOP. 
 
 
26 TERMINAL BLOCKED 
        : 1, D130 
        : Like error no 25 
        : Only >logout> will be accepted. 
 
 
27 TERMINAL IN ILLEGAL STATE state' 
        : 1, D155 
        : SKP returns to P2 (D10) and continues normally with 
          the "terminate transaction" (D300). 
 
 
28 UNKNOWN LINE CODE line code' 
        : 1, D260 
        : SKP continues normally with the "terminate 
          transaction" (D300). 
 
 
29 ILLEGAL PASSWORD password' 
        : 2, D31 
        : SKP returns to P0 and the control is given to TELEOP.\f

                        6_._3_ _ _E_r_r_o_r_ _L_i_s_t_:_ _S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _e_r_r_o_r_s_ 
 
  30 UNKNOWN TESTMODE testmode' 
     : 1, D412 
     : SKP returns to P0 and the control is given to TELEOP.
        
 
31 ILLEGAL VARIABLE NAME testvarcode' 
     : 1, D423 
     : SKP returns to P0 and the control is given to TELEOP.
        
 
32 INPUT LINE INCOMPLETE 
     : 1, D413 
     : SKP returns to P0 and the control is given to TELEOP.
        
 
33 UNKNOWN TRANSACTION linecode'skplinecode' 
     : 2, D5 
     : The block is terminated normally. 
        
 
34 UNKNOWN INFORMATION CODE informationcode' 
     : 1, D415 
     : SKP returns to P0 and the control is given to TELEOP.
 
        
35 PRINTOUT NOT OK 
       : 6, D900 (D258, D540) 
     : SKP returns to P1. 
        
 
36 PRINTOUT ILLEGAL STATE: state'further explanation' 
     : 6, D900 (D258) 
     : SKP returns to P1. \f

                        6_._3_ _ _E_r_r_o_r_ _L_i_s_t_:_ _S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _e_r_r_o_r_s_ 
 
37 NO ACCOUNT-ENTRY LINES CONNECTED 
     : 8, D263 (D262), 8, D623 (D621) 
     : 9, D392 (D390) 
     : SKP continues normally in the operating sequence. 
        
38 PRINTOUT REJECTED 
     : 6, D900 (D380) 
     : SKP returns to P1.
 
 
40 DEB/CRED RECORD PROTECTED line_code' 
 
A    : 8, D130 (D102, D150, D250) 
     : SKP returns to P1 and the block is terminated
       normally. 
        
FA-FI: 9, D120 (D110) 
     : SKP returns to P1 and the block is terminated
       normally. 
        
FV   : 9, D620 (D603) 
     : SKP returns to P1 and the block is terminated
       normally. 
        
FL-FO: 8, D130 (D102) 
     : SKP returns to P1 and the block is terminated
       normally. 
        
Comments: 
       The error may also arise in the deb/cred - and order
       invoicing with the corresponding line codes (F--).\f

                        6_._3_ _ _E_r_r_o_r_ _L_i_s_t_:_ _S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _e_r_r_o_r_s_ 
 
41 ORDER RECORD PROTECTED line_code' 
        
AD-AF: 8, D132 (D150) 
     : SKP returns to P1 and the block is terminated
       normally. 
        
AK-AM: 8, D132 (D250) 
     : Like AD-AF. 
        
FP-FV: 9, D130 (D284) 
     : SKP returns to P1 and the block is terminated
       normally. 
        
Comments: 
       See comments to error 40.
     
        
42 INDICATED ORDER LINE NOT PARENT serial_no' 
        
AN-AQ: 8, D412 (D415) 
     : SKP returns to P1 and the block is terminated
       normally. 
        
FL-FO: 8, D412 (D415) 
     : SKP returns to P1 in block 9 and the block is termi-
       nated normally. 
        
DBB  : 8, D412 (D415) 
     : SKP returns to P1 in block 7 and the block is termi- 
       nated normally. 
        
FP,FV: 9, D299 (D298) 
     : SKP continues normally in the operating sequence. 
        
Comments: 
       See comments to error 40.\f

                        6_._3_ _ _E_r_r_o_r_ _L_i_s_t_:_ _S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _e_r_r_o_r_s_ 
 
44 PART ORDER LINES MISSING line_code' 
        
AR-AU: 8, D780 (D730 and D760) 
     : SKP continues normally in the operating sequence. 
        
FP-FV: 9, D362 (D355 and D361) 
     : SKP continues normally in the operating sequence. 
        
Comments: 
                               See comments to error 40.
      
        
45 ORDER LINE MISSING odl serial no' 
     : 8, D770 (D415, D700) 
     : SKP continues normally in the operating sequence. 
        
Comments: 
       Called from cancellation or order line correction. 
        
26 NO VOUCHER LINES IN THE DEMANDED INTERVAL 
      first_line'last _line' 
     : SKP returns to P1 in block 7 or the block from where
       block 7 has been called.  
        
Comments: 
       Called from "display voucher", which can be called
       from several places.\f

                        6_._3_ _ _E_r_r_o_r_ _L_i_s_t_:_ _S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _e_r_r_o_r_s_ 
 
47 VOUCHER START DOES NOT EXIST line_code' 
     : 8, D220 (D200), 8, D612 (D608), 9, D385 (D384) 
     : 9, D418 (D417), 9, D478, 7, D160 
     : SKP returns to P1. 
        
Comments: 
       One line code may cause a call of the error from
       several blocks.  
        
48 ORDER NOT FOUND 
        
AD-AE: 8, D153 (D150) 
     : SKP returns to P1 and the block is terminated
       normally. 
        
FA-FF: 9, D281 (D280) 
     : SKP returns to P1 and the block is terminated
       normally.
             
        
49 REPEAT NOT ALLOWED 
     : 6, D900 (D330) 
     : SKP returns to P1 
 
        
50 RESUME NOT ALLOWED 
     : 6, D900 (D340) 
     : SKP returns to P1 
 
        
51 NO OUTP.FORM PRESENT AT REP/RES 
     : 6, D900 (D350) 
     : SKP returns to P1 \f

                        6_._3_ _ _E_r_r_o_r_ _L_i_s_t_:_ _S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _e_r_r_o_r_s_ 
 
52 SPECIFIED PRINTER DOES NOT EXIST 
     : 6, D900 (D300, D350) 
     : SKP returns to P1 
 
        
53 ILLEGAL PRINT FUNCTION 
     : 6, D900 (D320, D370) 
     : SKP returns to P1 
 
        
54 TEXTFILE NOT FOUND 
     : 6, D900 (D370) 
     : SKP returns to P1 
 
        
55 NO RESOURCES FOR RENAME 
     : 6, D900 (D370) 
     : SKP returns to P1 
 
        
56 CENTRAL CONVERT NOT SUCCESFUL 
     : 6, D900 (D370) 
     : SKP returns to P1 
 
        
57 PRINTER BUSY 
     : 6, D900 (D300, D390) 
                             : SKP returns to P1 
 
        
58 PRINT NOT OK - ACCEPT REJECTED 
     : 6, D900 (D540) 
     : SKP returns to P1 
        
59 PRINTOUT NOT TERMINATED 
     : 6, D900 (D540) 
     : SKP returns to P1\f

         7.             O_p_e_r_a_t_i_n_g_ _g_u_i_d_e_ 
 
L_i_s_t_ _o_f_ _C_o_n_t_e_n_t_s_P_a_g_e_ 
 
Introduction                                           153 
 
Outline of Compilations                                154 
 
7.1  Translation of the DB Description                 156 
 
7.2  Translation of the SODA-LD Description            158 
 
7.3  Translation of the DUET Program                   160 
 
7.4  Translation of TELEOP                             162 
 
7.5  Test Runs                                         164 
 \f

                        7_._ _ _O_p_e_r_a_t_i_n_g_ _G_u_i_d_e_ 
 
I_n_t_r_o_d_u_c_t_i_o_n_ 
 
In this section is described the execution of the various 
compilations in connection with the establishing of a new
TELEDATA system - e.g. by inserting a new adaption. The sec-
tion contains both an outline of the compilation sequence
and a description of each compilation job, illustrated by
examples. For further details concerning the systems invol-
ved - including possible error reactions - see the respecti-
ve manuals - cf. the reference list, section 1. 
 
Finally, 2 examples of test jobs for off-line execution are
given.\f

                        7_._ _ _O_p_e_r_a_t_i_n_g_ _g_u_i_d_e_ 
 
O_u_t_l_i_n_e_ _o_f_ _C_o_m_p_i_l_a_t_i_o_n_s_ 
 
(tegning 145)\f

                        7_._ _ _O_p_e_r_a_t_i_n_g_ _g_u_i_d_e_ 
 
O_u_t_l_i_n_e_ _o_f_ _C_o_m_p_i_l_a_t_i_o_n_s_ 
 
T_E_L_E_O_P_ 
 
(tegning 146) \f

         7.1            T_r_a_n_s_l_a_t_i_o_n_ _o_f_ _t_h_e_ _D_B_ _D_e_s_c_r_i_p_t_i_o_n_ 
 
E_x_a_m_p_l_e_:_ 
 
     job teledata 1 28xxxx time 15 0 size 100000, 
     temp disc 1500 25 perm dkxxxxxx 200 1 
      
     dblist = set 1 
      
     database80 section.102, 
     descrip.descripfile, 
     sysdok.sysdokfile, 
     list.yes, 
     listout.dblist, 
     run.init 
 
     convert dblist 
     finis 
      
      Comments: 
     The files descripfile and sysdokfile exist permanently
     on the disc in this job. A description of all the para-
     meters to the call of the db translator and possible
     error print outs from the latter exists in the DATABA-
     SE80 manual (cf. the reference list). 
      
     Overleaf the parameters of the standard job are
     described briefly.\f

                        7_._1_ _ _T_r_a_n_s_l_a_t_i_o_n_ _o_f_ _t_h_e_ _D_B_ _D_e_s_c_r_i_p_t_i_o_n_ 
 
section.102 
     Have to be included. 102 indicates the number of the
section in the sysdok file where the db-description has
been stored. 
      
descrip.descripfile 
     May be omitted as the standard name is used. Descripfile
is the name of the file where the translated db-descrip-
tion is to be stored. 
      
sysdok.sysdokfile 
     May be omitted as the standard name is used. Sysdokfile
     is the name of the file where the db-description has
     been stored by means of the SYSDOK system (cf. referen-
     ce list). 
      
list.yes 
     May be omitted. Includes listing of the translated
     sysdok section. 
      
listout.dblist 
     May be omitted. Dblist is the name of the file in which
     the listing is to be placed. 
      
run.init 
     Indicates that a new db-file initialization is wanted.
     The catalogue entry for the db-file (in this case the
descripfile) must exist. This parameter has to be in-
cluded in the first translation of a db-description.\f

         7.2            T_r_a_n_s_l_a_t_i_o_n_ _o_f_ _t_h_e_ _S_O_D_A_-_L_D_ _D_e_s_c_r_i_p_t_i_o_n_ 
      
E_x_a_m_p_l_e_: 
      
     job teledata 2 28xxxx time 14 0 size 125000,  
     buf 10 area 1 perm 1 perm dkxxxxxx 300 2 
      
     sodalist = set 200 dkxxxxxx 
      
     sodald ldtext.ldtext, 
     descrip.descripfile, 
     section.103.1, 
     list.yes, 
     listout.sodalist, 
     vardecl.vardecl 
      
     scope user sodalist 
     finis 
      
Comments: 
     In this job the files: descripfile, ldtext and vardecl
     exist permanently on disc. 
      
     All parameters for the call of the SODA-LD translator
     and error print outs from this, are described in the
     SODA manual (cf. the reference list). 
      
     Overleaf a short explanation of the parameters used in
the example is given.\f

                        7_._2_ _ _T_r_a_n_s_l_a_t_i_o_n_ _o_f_ _t_h_e_ _S_O_D_A_-_L_D_ _D_e_s_c_r_i_p_t_i_o_n_ 
      
ldtext. 
     indicates the name of the area from which the source
     text is to be read. 
      
     If the source text is placed in a sysdok file, this is to
be specified with a "sysdok" parameter and "ldtext" must
not occur. 
 
descrip.descripfile 
     Indicates the name of the file in which a correctly trans-
     lated database description has been stored and in which
the new translated ld-description is to be stored. The
parameter may be omitted in this case as descripfile is
the standard name. 
      
section.103.1 
     Indicates the section in the description file in which
     the interpreted ld-description is to be inserted.  
 
list.yes 
     Causes the creation of an edited listing on a discarea. 
      
listout.sodalist 
     Indicates the name of the area on which the edited lis-
     ting is to be placed. If the area does not exist, it
     will be created as a temporary file, which is printed
automatically on the local printer.
                          
varedecl.vardecl 
     Indicates that an automatically generated declaration
     of the field variables with their respective initializ-
     ation is wanted for TELEOP. "Vardecl" is the name of
     the area in which the result is stored. If the area
     does not exist, it is created temporarily. This para-
     meter is necessary if the variable section has been
     changed (after this, both TELEOP and the DUET program
     are to be re-translated).\f

         7.3            T_r_a_n_s_l_a_t_i_o_n_ _o_f_ _t_h_e_ _D_U_E_T_ _P_r_o_g_r_a_m_ 
 
E_x_a_m_p_l_e_: 
 
     job teledata 3 28xxxx time 10 0 size 125000, 
     perm dkxxxxxx 300 1 
      
     clear user teleprg 
     teleprg = set 100 dkxxxxxx 
     scope user teleprg 
      
     duetabler duettext.teletrim, 
     init.user, 
     descrip.descripfile, 
     oldduet.oldteleprg, 
     newduet.teleprg, 
     change.55.57 
      
     finis 
      
Comments: 
      
All parameters for the call of the DUET translator and error
print outs from this, have been described in the DUET manual
(cf. the reference list). 
      
The parameters for the standard job are described below. 
 
duettext.teletrim 
     Indicates the name of the text area from which the DUET
     program is to be read. If the DUET program is placed in
     a sysdok file, this is indicated by a sysdok parameter
     (see the DUET manual). 
 
init.user 
     Indicates the initials of the person who has activated 
     the DUET translation.\f

                        7_._3_ _ _T_r_a_n_s_l_a_t_i_o_n_ _o_f_ _t_h_e_ _D_U_E_T_ _P_r_o_g_r_a_m_ 
 
descrip.descripfile 
     Indicates the name of the description file in which the
     interpreted ld-description is stored. The parameter may
     be omitted in this case as descripfile is standard. 
      
oldduet.oldteleprg 
     Indicates the name of the "old" duet file. Necessary if
     the newduet parameter is indicated. 
      
newduet.teleprg 
     Indicates the name of the "new" duet file. If this
     parameter is omitted, the oldduet parameter is not to
     be indicated either and no new duet file will be crea-
ted. The translation run is thus reduced to be a
syntactic check of the indicated DUET blocks. 
      
change.55.57 
     Indicates the duet blocks (block 55 and 57) that are to
     be translated. 
      
     This parameter is only allowed if both oldduet and
     newduet are indicated
 
     Instead of change, you may indicate one of the parame-
     ters: insert, delete or translate. The insert parameter
     causes the indicated blocks to be inserted in the duet
     file. Newduet must be indicated. The delete parameter
     causes the indicated blocks to be removed from the duet
     file. Oldduet - newduet must be indicated. The transla-
     te parameter causes the indicated blocks to be checked
     syntactically but not inserted in the duet file.\f

         7.4            T_r_a_n_s_l_a_t_i_o_n_ _o_f_ _T_E_L_E_O_P_ 
 
E_x_a_m_p_l_e_:_ 
 
     job teledata 4 28xxxx time 8 0 size 60000, 
     area 12 buf 12 perm dkxxxxxx 500 1, 
     temp disc 2400 24 
      
     i prim; translate the print system primula 
     i sdtrans; translate the soda transfer procedure
i tduetcode; translate the duetinterpreter 
     teleop = set 480 dkxxxxxx 
     teleop = algol teleoptext message.yes 
      
     scope user teleop 
      
     finis 
      
Comment: 
 
In this job, the presence of quite a few algol text areas
are presupposed. They are all delivered together with the
system, but some can be changed or replaced as a matter of
course. 
 
The following texts are never to be changed: 
 
     prim      :    contains the slangcoded primula system 
                 procedures 
     duettext 1   : the DUET interpreter procedures 
     duettext 2   : the DUET interpreter 
     sodatext 1   : the SODA interpreter 
     sodatext 2   : the SODA interpreter 
     sodatext 3   : the SODA interpreter 
     sodafields   : initialization in the descripfile 
     statustext   : status initialization 
     paramtext    : reading in of fp-parameters 
     sdtrans      : contains the slangcoded soda transfer
                    procedure 
     tduetcode    : contains a part of the duetinterpreter, 
                    slangcoded \f

                        7_._4_ _ _T_r_a_n_s_l_a_t_i_o_n_ _o_f_ _T_E_L_E_O_P_ 
 
     teleoptext   : the algol "frame" 
      
The following texts are changed currently: 
      
     newaktt      : algol operations, DUET-ALGOL; here it is
                    possible to add new operations in ALGOL.
 
     userrortext  : errortexts concerning the algol operati-
                    ons. 
 
     vardecl      : is created by the SODA-LD translator
                    and is changed each time the variable
                    declarations have been altered.\f

         7.5            T_e_s_t_ _R_u_n_s_ 
 
; job for initialization of TELEDATA>s database 
 
job teleinit 28xxxx size 120000 time 8 0, 
perm dkxxxxxx 2500 30 temp disc 2500 25 outp 100000 
 
mode list.yes 
 
; create files to be used by reorg80 
 
reotab = set 1 disc 
newformat = set 1 disc 0 0 0 20.4 
 
; any old files are removed 
 
clear user debcred items orders tdadmin userinf, 
dcstructure partslist orderlines accentry orderref, 
termarea 
 
; create and scope new files 
 
     tdadmin   = set 1 dkxxxxxx 
     debcred     = set 1 dkxxxxxx 
     items       = set 1 dkxxxxxx 
     userinf     = set 1 dkxxxxxx 
     orderlines  = set 1 dkxxxxxx 
     orders      = set 1 dkxxxxxx 
     accentry    = set 1 dkxxxxxx 
     partslist   = set 1 dkxxxxxx 
     dcstructure = set 1 dkxxxxxx 
     orderref    = set 1 dkxxxxxx 
     termarea    = set 1 dkxxxxxx \f

                        7_._5_ _ _T_e_s_t_ _R_u_n_s_ 
 
scope user debcred items orders tdadmin userinf dcstructure
           partslist orderlines accentry orderref 
            
; initialization of the file heads 
reanalyse init.yes 
descripfile = reinsert 
 
; create the necessary areas for the logical file 
; maintenance  
 
rpl00            = copy 0 
rpl01            = copy 0 
rpl02            = copy 0 
 
prinz1           = copy 0 
prinz2           = copy 0 
 
; create and initialize the telestatus 
 
telestatus       = set 1 dkxxxxxx 
telestatus clear.all logmode.0 safemode.1 disclog.logfile 
 func1 
 
; the logical file maintenance is executed and 
; customers, items and terminal 
; administration records are created 
; so that the files are 
; ready for the real test run 
 
teleop input.dbtransact status. statusfile duetfile.duetfile,
descrip.descripfile ldsection 103.1 stacco.no log.no\f

                        7_._5_ _ _T_e_s_t_ _R_u_n_s_ 
 
; from now on the newly initialized files 
; are saved on user level, ready to be used 
; by the following test runs 
 
t1   = set 1 dkxxxxxx 
t2  =set1dkxxxxxx 
t3   =set1dkxxxxxx 
t4   = set 1 dkxxxxxx 
t5   = set 1 dkxxxxxx 
t6   = set 1 dkxxxxxx 
t7   = set 1 dkxxxxxx 
t8   = set 1 dkxxxxxx 
t9   = set 1 dkxxxxxx 
t10  = set 1 dkxxxxxx 
t11  = set 1 dkxxxxxx 
 
; move the contents of the initialized files to the 
; safety files 
 
t1   = move debcred 
t2   = move items 
t3   = move orders 
                    t4   = move tdadmin 
t5   = move userinf 
t6   = move dcstructure 
t7   = move partslist 
t8   = move orderlines 
t9   = move accentry 
t10  = move orderref 
t11  = move termarea 
 
scope user t1 t2 t3 t4 t5 t6 t7 t8 t10 t11  
 
; now the newly initialized files have been generated 
; they can, in future, be moved from the test files 
; if one wants to start all over again. 
 
finis\f

                        7_._5_ _ _T_e_s_t_ _R_u_n_s_ 
 
; example of an off-line test job with max 2 terminals 
job teletest 1 28xxxx size 120000 time 10 0, 
area 36 buf 24 perm dkxxxxxx 400 4 temp disc 3600 24, 
outp 200000 
mode list.yes 
 
; reply and print areas are zerofilled 
 
rpl00     = copy 0 
rpl01     = copy 0 
rpl02     = copy 0 
 
prinz1    = copy 0 
prinz2    = copy 0 
 
; create new terminal areas and output areas 
; for invoicing and scope 
 
clear user wrkfil01 wrkfil02 inv01a inv01b inv02a inv02b 
 
wrkfil01  = set 1 dkxxxxxx 0 0 0 20.4 
wrkfil02  = set 1 dkxxxxxx 0 0 0 20.4 
inv01a    = set 1 dkxxxxxx 
inv01b    = set 1 dkxxxxxx 
inv02a    = set 1 dkxxxxxx 
inv02b    = set 1 dkxxxxxx 
 
scope user wrkfil01 wrkfil02 inv01a inv01b inv02a inv02b 
 
; the safety copy of the data is moved to the test files 
debcred   = move t1 
items     = move t2 
orders    = move t3 
tdadmin   = move t4 
userinf   = move t5 
dcstructure  = move t6 \f

                        7_._5_ _ _T_e_s_t_ _R_u_n_s_ 
 
                        partslist    = move t7 
orderlines   = move t8 
accentry     = move t9 
orderref     = move t10 
termarea     = move t11 
 
; create and initialize telestatus 
statusfile   = set 10 disc 
telestatus clear.all logmode.0 safemode.3 func.1 
 
; introductory moves terminated 
; the test is started 
 
teleop input.testinput status.statusfile ldsection.103.1, 
duetfile.duetfile descripfile.descripfile log.no 
 
; test the achieved results 
 
list rpl01; print out reply area for terminal no 1 
list rpl01; print out reply area for terminal no 2 
 
list testinput; print out the processed transactions
 
; now the testrun 
; has been terminated, please 
; study your output 
; before the next run 
 
finis 
 
 
Note: Another description of how to run a TELEDATA system in
      batch mode is given in the SYSTEM80 - TELEDATA TOOL
      COURSE manual (RCSL 21-T005).\f

         8.             R_e_l_a_t_i_o_n_s_ _t_o_ _O_t_h_e_r_ _S_y_s_t_e_m_s_ 
       
L_i_s_t_ _o_f_ _C_o_n_t_e_n_t_s_:P_a_g_e_ 
       
      Introduction                                     170 
       
      8.1 TELEOP                                       171 
       
      8.2 DUET Interpreter                             176 
       
      8.3 TD Utility                                   178 
       
      8.4 SYSTEM80 Batch Programs                      180 
       
      8.5 Other Systems                                184 
       \f

         8_._ _ _R_e_l_a_t_i_o_n_s_ _t_o_ _O_t_h_e_r_ _S_y_s_t_e_m_s_ 
       
I_n_t_r_o_d_u_c_t_i_o_n_ 
 
The Skeleton Program is closely related to the operative
system TELEOP and the virtual interpreter that executes the
DUET program, the DUET interpreter. Even though these sys-
tems are placed in the same algol program they can be pro-
cessed seperately. 
 
The use of the SYSTEM80 batch programs in connection with TD
is mentioned, as a brief outline of known possibilities and
problems is given. 
 
Finally "other" systems are mentioned. \f

8.1            T_E_L_E_O_P_ 
 
In this section is given an outline of those variables that
are used for the TELEOP-SKP communication, and an abstract
of the TELEOP actions respectively before, during, and after
the processing of each transaction. For further information
see the TELEOP manual. 
 
C_o_m_m_u_n_i_c_a_t_i_o_n_ _V_a_r_i_a_b_l_e_s_:_ _T_E_L_E_O_P_ _-_ _S_K_P_ 
 
The variables are declared in the SODA-LD, where they are
all marked with an *. 
 
Apart from the mentioned variables, certain variables are
used as parameters, calling the algol operations. 
 
Variables which are not moved in any set: 
      
     V70  no_of_ports and 
     V71 current_port: 
             determines the number of the port for the 
             current terminal 
     V74 printer_no 
             by "printer transactions" (see section 3). 
     V180 error number 
    contains the error number, if any, which is
 logged by Teleop in the LOGFILE. 
     
Variables which are moved in set 11: 
 
They are used by TELEOP in the creation of the very first
terminal administration record, which is created from the
"operator terminal".\f

               8_._1_ _ _T_E_L_E_O_P_ 
      
     V190 startposition  : contains the startposition in a
                           text file after an erronous print
                           out. 
     V327 adm_ident1 
     V328 adm_type and 
     V329 adm_ident2     : are all key variables for set 11. 
     V610 user_no        : is user number at this terminal. 
     V663 terminal-type  : indicates whether it is an  admi-
                           nistrative terminal. 
 
Variables which are moved in set 14: 
 
They are all (except the keys and the user number) moved 
back and are thus updated by TELEOP. 
 
     V302 adm_user_no 
     V577 adm14_key_1, 
     V578 adm14_key_2, and 
     V579 adm14_key_3: key variables inserted in the 
                       head of log records
     V644 adm_term_blocking: 
                       blocking, is assigned in case of
                       errors in the sorting. 
      
Description of the terminal area: 
      
     V582 adm_ta_area_name: 
     name 
     V584 adm_ta_segmpos 
      
Description of the reply area (print channel 2). 
      
     V586 adm_rp_area_name: 
     name 
     V588 adm_rpa_segmpos 
     V589 adm_rpa_bytepos: 
                           eof - marking \f

               8_._1_ _ _T_E_L_E_O_P_ 
      
                        T_E_L_E_O_P_ _A_c_t_i_o_n_s_ _B_e_f_o_r_e_ _t_h_e_ _S_K_P_ _i_s_ _A_c_t_i_v_a_t_e_d_ 
      
The following actions are executed each time a transaction
is read and before the control is handed over to the DUET
interpreter which executes the SKP. 
 
The sequence of these points does not correspond with the
real execution. 
 
     - The terminal administration record is fetched (get
       S14) 
      
     - Print channel 2 (reply-zone) is "opened" and positio-
       ned. When running in the on-line mode, the positio-
       ning starts from the beginning; when running in the
off line mode the positioning starts at the eof-mark
(continued writing). 
        
     - Print channel1 (output zones) are n_o_t_ opened (cf.
       section 5.11, print output). 
        
     - DUET>s variables are n_o_t_ zerofilled (only by starting
       TELEOP, that is, before the first transaction). 
        
     - DUET>s print channel = 1 (changed in the SKP). 
        
     - DUET>s error print out channel = 0 (current out, is
       changed in SKP to 2 for data errors). 
        
     - DUET>s test variables are n_o_t_ changed. 
        
     - DUET>s test print out channel = 0 (current out). 
        
     - The current terminal area is "opened" and positioned,
       ready to use DUET>s record operations.\f

               8_._1_ _ _T_E_L_E_O_P_ 
      
                        T_E_L_E_O_P_ _A_c_t_i_o_n_s_ _D_u_r_i_n_g_ _t_h_e_ _E_x_e_c_u_t_i_o_n_ _o_f_ _t_h_e_ _S_K_P_ 
      
     - Logging of record images: each time the DUET operati-
       ons >put> and >delete> are executed, the current re-
       cord may be logged on the LOGFILE. 
        
     - The first time the records are logged in a transacti-
       on, the information in the status area about the
       "current transaction number" is changed, and regis-
       ters that the database is now being updated. 
        
     - Algol operations (DUET - ALGOL). These are originally
       independent but some of the operations use TELEOP>s
       procedures, e.g. message to DUETCOM about the print
       out of a text area (convert). 
        
T_E_L_E_O_P_ _A_c_t_i_o_n_s_ _a_f_t_e_r_ _T_e_r_m_i_n_a_t_i_n_g_ _t_h_e_ _S_K_P_ 
        
It should be pointed out that these actions are executed
without any regard to how the execution of the SKP (actual- 
ly, the DUET program) has proceeded. The state is thus only
characterized by the fact that the DUET interpreter has
terminated the execution of the DUET-program. 
 
     - Replies in the reply zone are only processed if some-
       thing has been written. When running the program in
       on-line mode the text is printed on the terminal by
       DUETCOM (short text: interrupt message, long text:
       convert message). By running the program in off-line
       mode the end position is saved in the terminal admi-
       nistration variables. 
 
 - The terminal is terminated, i.e. the new eof position
   is saved in the terminal administration variables. \f

               8_._1_ _ _T_E_L_E_O_P_ 
      
     - The terminal administration record is moved back with
       put S14. 
        
     - All record transfers to the database are terminated
       (i.e. the buffers are emptied so that the records, if
       any, are forced out on the disc). 
        
     - The information in the status area about the "termi-
       nated transaction number" is updated and registers
       that the database is no longer being updated.\f

         8.2            D_U_E_T_ _I_n_t_e_r_p_r_e_t_e_r_ 
       
This interpreter executes the DUET program and the close re-
lations between them should be obvious. Here, however, 2
points should be mentioned where the relations are not
obvious. 
 
E_r_r_o_r_ _P_r_i_n_t_ _O_u_t_s_ _i_n_ _t_h_e_ _D_U_E_T_ _I_n_t_e_r_p_r_e_t_e_r_ 
 
As it has been described in section 6 there are 3 types of
errors: data errors (from read and get), programming errors
and system errors. 
 
As it has been mentioned above (8.1), a print channel is
initialized to all 3 types of errors before the SKP is acti-
vated. 
 
SKP selects in the start print channel 2 for data errors, so
that error print outs from the DUET interpreter ends up in: 
 
     data errors       :channel 2 
     programming errors:current out + channel 2 
     system errors     :current out +channel 2 
 
For programming - and system errors the print out (the actu-
al text) is standardized, but for data errors it can be
changed (for example to a different language) by means of
corrections made in the Algol text that is used for the
Algol translation of TELEOP. This contains the texts for the
DUET data error print outs (cf. section 7.4). 
 
                        T_e_s_t_ _P_r_i_n_t_ _O_u_t_s_ _f_r_o_m_ _t_h_e_ _D_U_E_T_ _I_n_t_e_r_p_r_e_t_e_r_ 
 
Test print can be activated by: 
 
     - parameters used in the call of the TELEOP program\f

                        8_._2_ _ _D_U_E_T_ _I_n_t_e_r_p_r_e_t_e_r_ 
       
     - in transactions from the operator>s terminal (see the
       TELEOP manual) 
        
     - by assignment of the test variables in the adaption
       (SKP does not execute these assignments) 
        
For the meaning of the test variables, see the respective
manuals (DUET and TELEOP). 
 
Note, that these test variables survive the transactions
until they are re-assigned or until TELEOP terminates the
execution. 
 
In the SKP there has been implemented the possibility of
activating the test print outs selectively per terminal (and
route them out on the terminal) which is a powerful facility
during the testing of the adaption and the localization of
errors. 
 
An exception is the vartrace test print out (cf. the DUET
manual) which cannot be selected seperately per terminal,
but will appear on all terminals when used. 
 
Test print outs from the DUET interpreter are routed to
current out (contrary to primary out, cf. Algol and Boss
manuals), and this is not changed in the SKP. It may be
changed with "select" in the adaption. 
 
Test print outs are always written on current out. 
 
Finally we shall mention the fact that the SKP itself does
not possess built-in test print out facilities. \f

                        8_._3_ _ _T_D_ _U_t_i_l_i_t_y_ 
       
The TD utility programs are used for routine administration
 of a TD system. They cover the functions: control of runs
including automatic recovery, tape administration and safety
dumping, safety checking of disc files, fast copying of disc
files, extraction of log information, extraction of database
information, statistical analysis of the processing of a
transaction, and restablishing. 
 
The following TD utilities are available: 
 
T_e_l_e_a_d_m_ (cf. ref. 12) 
Controls the execution of a run by means of some user speci-
fied command files. 
 
T_e_l_e_s_t_a_t_u_s_ (cf. ref. 12) 
For handling of a status catalogue in the TD system. 
 
T_e_l_e_t_a_p_e_ (cf. ref 12) 
Maintains the tape catalogue of the TD system. 
 
T_e_l_e_m_o_v_e_ (cf. ref. 12) 
Performs a fast moving of any kind of file on disc. 
 
T_e_l_e_c_l_o_c_k_ (cf. ref. 12) 
Calculates the shortclock value or loads it from a file en-
try, stores the shortclock value in a file entry, or makes
comparisons with other file entries. 
 
T_e_l_e_r_e_a_d_c_f_ (cf. ref 12) 
Checks selected parts of a TD database. The program is not
dependent on a particular database configuration, but cer-
tain application dependent record counters are required.\f

         8.3            T_D_ _U_t_i_l_i_t_y_ 
       
T_e_l_e_c_l_e_a_n_c_f_ (cf. ref 12) 
Deletes erase-marked records in selected parts of the data-
base and adjusts certain counter fields, which must be
present. 
 
T_e_l_e_l_o_g_e_x_ (cf. ref 12) 
Extracts records from the LOGFILE generated by Teleop. The
relevant records are transformed into records readable by
the GENIUS system (cf. ref. 16) 
 
T_e_l_e_d_b_e_x_ (cf. ref. 15) 
Extracts information from the TD database and generates re-
cords readable by the GENIUS system (cf. ref. 16) 
 
T_e_l_e_s_t_a_t_a_c_ (cf. ref 14) 
Makes statistical analysis of the times and segment trans-
ports for the processing of transactions in a real-time
system. 
 
T_e_l_e_r_e_e_s_ (cf. ref 13) 
Reestablishes a TD database by means of the LOGFILE and a
safety copy of the database.\f

         8.4            S_Y_S_T_E_M_8_0_ _B_a_t_c_h_ _P_r_o_g_r_a_m_s_ 
       
As there is only limited experience in integrating the
SYSTEM80 and TD, only the existing possibilities and known
problems are mentioned in this section. 
 
D_a_t_a_b_a_s_e_ 
 
It should not provide any problems that the access system is
SODA and the programming language DUET, because the TD data-
base has been described in the DATABASE80 language just as
any S80 database. 
 
The TD database resembles the S80 reference database at file
- and logical file level. The SKP makes certain demands on
the contents and the numbers of the record types (see secti-
on 2.1). The TD use of repeating field groups makes it appa-
rently impossible to share the database, but partly they can
be described as simple field groups (and the SKP can still
be used), and partly, the TD will, according to conventions
for a definite user, have a fixed amount of repetitions per
field group (repeatedly, no SKP demand). 
 
The fact that TD is a multi-user system and SYSTEM80 a sing-
le user system, could cause problems but these are solved in
principle, if a whole TD system is used by a single user. It
remains to divide the responsibility for the maintenance of
the fields between TD and the SYSTEM80 modules. Besides, it
will be necessary to build up a common database which must
satisfy all the demands of the programs. \f

                        8_._4_ _ _S_Y_S_T_E_M_8_0_ _B_a_t_c_h_ _P_r_o_g_r_a_m_s_ 
       
O_p_e_r_a_t_i_n_g_ _A_d_m_i_n_i_s_t_r_a_t_i_o_n_ 
 
Finally, the practical problem consisting of administrating
the daily operations (also by single-user systems) are to be
solved. Included in this is security and logging. TD uses
its own administration system, Teleadm, SYSTEM80 uses KAOS.
Teleadm is very closely related to TELEOP, it runs under S
and is administered by generating some previously programmed
rows of fp-commands. KAOS is a general operating ad-
ministration system; it runs under BOSS and is administered
by generating BOSS jobs from earlier adaptions that are sa-
ved in KAOS logical files. This is just to mention a few
practical differences. In short; the differences are large
and the problems have not been clarified. 
 
C_o_m_m_u_n_i_c_a_t_i_o_n_ 
 
This covers the dispatching/receiving of information from
other systems, including the SYSTEM80 batch systems. 
 
No special functions for this communication have been imple-
mented in the SKP. This must then be done in the adaption.  
 
The communication from the TD can take place in 2 different
ways: 
 
     - by reading the LOGFILE 
 
     - by TD creating the information selectively
 
The reading of the LOGFILE is a historically wellknown and
safe method to register exactly what TD has executed. It is
safe because the TD database is never to be "touched" at
all. But it demands a development of the software for rea-
ding the log (the TD utility program TELELOGEX), a prepara-
tion of lists about what is logged (if anything) by which
transactions, change of format and creation of new records. \f

                        8_._4_ _ _S_Y_S_T_E_M_8_0_ _B_a_t_c_h_ _P_r_o_g_r_a_m_s_ 
       
Furthermore, the method is rather slow as the records in the
LOGFILE are intermingled independently of users and termi-
nals. 
 
A selective creation of the information in TD can take place
by generating either the records or the text for this one
purpose. 
 
The record generation demands a description (DATABASE80 and
SODA-LD) of the records and an implementation in the current
adaption points of: opening and positioning for the current
file (algol operation), creation of records (create, put),
and closing the file (algol operation); furthermore a de-
scription of the file in an administration record (eof-posi-
tion) is demanded by the same method in which the terminal
area is described in the terminal administration record. The
record generation could take place simultaneously with the
function print output (section 5.11). 
 
The text generation would be more simple if it could be li-
mited to the times when the print output is being activated.
It may then be a print out (like any other print out).
 
All in all, the implementation will demand quite a lot of
adaption and furthermore it will strain the on-line functi-
ons. But it will not demand any implementation of a larger,
new module and the created information will be selective,
limited, and user individual. 
 
The communication to TD may, in principle, take place either
at record - or text level. The record reception makes the
same demands as the record generation with regards to de-
scription, reading and administration records; furthermore
transactions, which activate the reading, must be implemen-
ted. \f

                        8_._4_ _ _S_Y_S_T_E_M_8_0_ _B_a_t_c_h_ _P_r_o_g_r_a_m_s_ 
       
Texts can be received like normal transactions. These can
either be processed by activating TELEOP in the off-line
mode or TELEOP can, in the on-line mode, read and process
the transactions in between the on-line transactions (not
implemented at present). 
 
It must be said generally about communication that the tech-
nique exists but some implemantation is needed. There is,
however, no administration of the communication (e.g. of er-
roneously running the same input twice or any other error in
the administration, security at break-down, reestablishment,
restart at the right point etc). 
 
The above remarks apply to communication with all the S80
function modules but especially those of GENIUS and GVINDS.\f

         8.5            O_t_h_e_r_ _S_y_s_t_e_m_s_ 
       
Communication should take place without any merging in the
database. 
 
Moreover the above-mentioned remarks concerning communicati-
on with SYSTEM80 can be repeated.\f

         9              I_n_d_e_x_ 
 
The index includes keywords, definitions, etc. for the text
sections of the manual, and also references to sections with
flow diagrams and adaption point descriptions. References are 
given the form 
 
     volume no.' section no', page no' 
                       
Variable designation, line codes and the like are not - with a
few exceptions - included in the index.\f

                        9_._ _ _I_n_d_e_x_ 
       
account entry                           II  5.6,  107 
                                        III 5.9,   63 
account entry record                    III 5.9,   64 
adaption, data errors                   III 6,    140 
                                        III 6.2,  142 
          reading of input              I   4.2,40 
adaption point description,              
  conventions for                       I   5.0,44 
adaption point graph                    I   5.0,44 
adaption point, next                    I   5.0,44 
addition line                           II  5.5,4 
                                        II  5.6,107 
admin_error_state                       I   5.1.1,49 
administrative transactions             I   5.3,116 
adp 0                                   I   5.1.1,49 
 
back order lines                        II  5.6,107 
basic data, the user>s                  I   5.2,69 
                                        I   5.4,137 
block reference in flow diagram         I   5.0, 44 
  in adaption point description         I   5.0, 44
BOSS                                    III 8.4,  181 
 
cancellation                            II  5.5,4 
                                        II  5.5.9,73 
                                        II  5.6,107 
central convert                         III 5.10, 121 
comment line                            II  5.5,  4 
                                        II  5.6,107 \f

                        9_._ _ _I_n_d_e_x_ 
       
communication variable 
   (Skeleton Program                    I   5.0,44 
                                        II  5.5,  4 
                                        II  5.6,107 
   (TELEOP)                             I   5.1.1,49 
communication with other systems        III 8.4,     181 
compound deb/cred                       II  5.6,107 
   invoicing                            II  5.6.9,174 
conditions for activation               I   5.0,44 
convert text area                       III 5.10,    119 
                                        III 5.10.1,  119 
                                        III 8.1,     174 
create line (invoice)                   II  5.6,107 
                                        II  5.6.3,134 
   (account entry)                      III 5.9,      64 
                                        III 5.9.3,    72 
   (order)                              II  5.5,  4 
                                        II  5.5.6, 43 
create master                           I   5.2.3,89 
   order                                II  5.5,  4 
                                        II  5.5.1, 18 
   structure list                       I   5.2.4,94 
crediting                               II  5.6,107 
 
database -                              I   2,13 
                                        III 8.4,     180 
database 80                             III 8.4,     180 
   description                          I   2.1,14 
                                        III 7.1,     156 
   structure                            I   2.1,14
data error - DUET                       cf. DUET 
           - Skeleton Program           cf. Skeleton Program
           - adaption                   cf. adaption\f

                        9_._ _ _I_n_d_e_x_ 
       
deb/cred entry scan                     III 5.9,      65 
                                        III 5.9.5,    86 
deb/cred order scan                     III 5.7,       6 
                                        III 5.7.5,    36 
debiting                                II  5.6,107 
debitor/creditor invoicing              II  5.6,107 
                                        II  5.6.5,164 
delete master                           I   5.2.5,103 
delete structure list                   I   5.2.6,108 
designation (for adaption point)        I   5.0, 44 
discount record                         II  5.5,  4 
                                        II  5.6,107 
display voucher                         III 5.7,       5 
                                        III 5.7.2,    20 
DUET -                                   
       data errors                      III 6,       140 
                                        III 6.1,     141 
                                        III 8.2,     176 
       errors from the DUET system      III 6,       140 
                                        III 6.1,     141 
       instruction number               I   5.0, 44 
       interpreter                      I   3.1, 30
                                        III 6.1,     141 
                                        III 8,       170 
                                        III 8.2,     176 
       program                          III 7.3,     160 
       program errors                   III 6,       140 
                                        III 6.1,     141 
                                        III 8.2,     176 
       system errors                    III 6,       140 
                                        III 6.1,     141 
                                        III 8.2,     176 
 \f

                        9_._ _ _I_n_d_e_x_ 
       
DUETCOM                                 I   3.1,30 
                                        III 5.10,    119 
                                        III 8.1,     174 
 
entry record                            II  5.6,107 
erase line (invoice)                    II  5.6,107 
                                        II  5.6.6,168 
           (account entry)              III 5.9,      64 
                                        III 5.9.4,    84 
           (order)                      II  5.5,  4 
                                        II  5.5.8,71 
   order                                II  5.5.5, 33 
errors - 
        and warnings, input             I   4.0,38 
                      output            I   3.1, 30 
        processing                      III 6,       139 
        number                          III 6.3,     143 
        text                            III 6.3,     143 
        print-outs                      III 6,       139 
                                        III 8.2,     176 
errors - 
        from the DUET program           III 6,       140 
                                        III 6.2,     142 
 
field groups, repeating                 III 8.4,     180 
flow diagrams, conventions for          I   5.0,44 
form of transaction                     I   4.0, 38 
form print-outs                         III 5.11,    130 
fp-commsnds                             III 8.4,     180 
 
GENIUS                                  III 8.4,     180 
GVINDS                                  III 8.4,     180 
 \f

                        9_._ _ _I_n_d_e_x_ 
       
identification (of the transaction)     I   4.1,39 
initialization (in the Skeleton Program I   5.1, 48 
information code                        I   4.2, 40 
input -                                 I   4, 37 
        structure                       I   4.1, 39 
input - zone                            I   5.1, 48 
installation adaption                   III 6.2,     142 
inquiry transactions                    I   5.4,137 
item line                               II  5.5,  4 
                                        II  5.6,107 
item movement, entering of              II  5.6,107 
item order scan                         III 5.7,       4 
                                        III 5.7.3,    24 
invoice head amendment                  II  5.6,107 
                                        II  5.6.7,170 
invoicing                               II  5.6,107 
 
killing                                 II  5.5,  4 
                                        II  5.5,  4 
                                        II  5.6,107 
                                        III 8.3,    178 
KAOS                                    III 8.4,    180 
 
line code                               I   4.1, 39 
                                        I   4.2, 40 
         reading of                     I   5.1.2, 54 
line number                             II  5.5,  4 
                                        II  5.6,107 
                                        III 5.7,       4 
                                        III 5.9,      63 
logging                                 III 8.1,     171 
                                        III 8.4,     180 
 \f

                        9_._ _ _I_n_d_e_x_ 
       
logical file maintenance                I   4.2,40 
                                        I   5.2, 69 
login                                   III 5.8,      55 
logout                                  I   5.1, 48 
                                        III 5.8,      55 
 
miscellaneous transactions              III 5.7,       4 
mode of operations                      I   5.1.1, 49 
multi-user(-system)                     III 8.4,     180 
 
neutral line                            II  5.5,4 
number (for the adaption point)         I   5.0, 44 
 
off-line run                            I   5.1,48 
operating administration                III 8.4,     180 
operating guide                         III 7,152 
order - 
       entry                            II  5.5,  4 
       invoicing                        II  5.6,107 
                                        II  5.6.4,148 
       head amendment                   II  5.5,  4 
                                        II  5.5.3, 28 
       invoicing, compound              II  5.6,107 
                                        II  5.6.8,172 
       line scan                        III 5.7,       4 
                                        III 5.7.6,    46 
       number                           II  5.5,4 
other systems                           III 8,       170 
                                        III 8.5,     184 
output                                  I   3, 28 
 \f

                        9_._ _ _I_n_d_e_x_ 
       
output form administration record       III 5.10,    118 
                                        III 5.11,    130 
output-type                             I   3.2,31 
                                        III 5.10,    118 
                                        III 5.11,    130 
 
paper type                              III 5.10,    118 
parent deb/cred record                  II  5.6,107 
       line                             II  5.5,  4 
part line                               II  5.5,  4 
parts-list                              II  5.5,  4 
                                        II  5.6,107 
password                                III 5.8,      55 
physical stock count                    III 5.7,       4 
                                        III 5.7.4,    34 
pooling administration                  I   3.4,    
primary output                          III 6.1,     141 
print channel 1                         I   3.2,31 
                                        III 5.11,    130 
                                        III 8.1,     171 
      channel 2                         I   3.1, 30 
                                        III 5.11,    130 
                                        III.6.1,     141 
                                        III 8.1,     171 
printer 
        administration                  I   3.4, 35 
printer,                                 
        central                         = common 
        common                          I   3.2, 31 
                                        III 5.10,    118 
printer - 
        ident.                          I   3.2,31 
        number                          III 5.10,    118
 
 \f

                        9_._ _ _I_n_d_e_x_ 
       
printer, 
        selective                       I   3.2,31 
                                        III 5.10,    118 
        separate                        = selective 
        control of                      I   3.2,31 
print-out (from terminal area)          cf. print output 
print-out acceptance                    III 5.10,    118 
                                        III 5.10.2,  128 
print-out administration                III 5.10,    118 
print-out command                       III 5.10,    118 
print-out order                         I   3.2,31 
print output                            III 5.11,    130 
                                        III 8.4,     180 
priority                                I   5.1.1,49 
production order                        II  5.5,4 
program errors - DUET                   cf. DUET 
protection - by order creation          II  5.5  4 
                                        II  5.5,  4 
           - by invoicing               II  5.6,107 
purchase order                          II  5.5,107 
 
reading (in the adaption point)         I   5.0,44 
references (to manuals)                 I   1.3, 12 
relations (to other systems)            III 8,       169 
relocate stock transaction              III 5.7,    4 
                                        III 5.7.4,    34 
reply area                              I   3.1,30 
                                        III 8.1,     171 
reply zone                              III 8.1,     171 
re-run                                  I   5.0,44 
restrictions (of sets)                  II  5.5,  4 
                                        III 5.7,       4 
 
 \f

                        9_._ _ _I_n_d_e_x_ 
       
s no'                                  cf. set description 
sales order                             II  5.5,  4 
select                                  III 6.1,     141 
serial number                           II  5.5,  4 
                                        II  5.6,107 
                                        III 5.7,       4 
set                                     I   2.2,21 
        , descriptions                  I   2.2, 21 
single user (system)                    III 8.4,     180 
Skeleton Program -                       
     data errors                        III 6.2,     142 
                  error list            III 6.3,     143 
skp_first_char                          I   5.1.8,61 
skp_line_code                           I   2.2, 21 
                                        I   5.1.3, 55 
SODA-LD                                 I   2.2, 21 
                                        III 7.2,     158 
                                        III 8.1,     171 
                                        III 8.4,     180 
sorting (of terminal area)              II  5.5,  4 
                                        III 5.7,       4 
                                        III 5.9,      63 
state check                             I   4.0,38 
status area                             III 8.1,     171 
syntax (input)                          I   4.2,40 
system errors - DUET                    cf. DUET 
system printer                          = printer, common 
SYSTEM S                                III 8.4,     180 
systems, >other>                        III 8,       169 
                                        III 8.5,     184 
SYSTEM80                                III 8,       169 
                                        III 8.4,     180 
 \f

                        9_._ _ _I_n_d_e_x_ 
       
TD utility                              III 8,       169 
                                        III 8.3,     178 
Teleadm                                 III 8.4,     180 
TELELOG                                 III 8.1,     171 
                                        III 8.4,     180 
TELEOP                                  I   3.1,30 
                                        III 5.10,    118 
                                        III 6.1,     141 
                                        III 7.4,     162 
                                        III 8,       169 
                                        III 8.1,     171 
                                        III 8.2,     176 
terminal administration record          I   5.1.1,49 
                                        I   5.3,116 
                                        II  5.5,4 
                                        III 5.8,      55 
                                        III 8.1,     171 
terminal, administrative                I   5.3,116 
terminal area                           I   2.1, 14 
                                        II  5.5,4 
                                        II  5.6,107 
                                        III 5.9,    63 
                                        III 5.11,    130 
                                        III 8.1,     171 
terminal controlling transaction        III 5.8,      55 
terminal ident.                         I   3.2, 31 
test print-outs (from the DUET 
                 interpreter            III 8.2,     176 
test runs                               III 7.5,     164
transaction                             I   1.1, 10 
     , from DUETCOM                     I   3.3, 32 
     , summary                          I   4.3, 42 
transaction information                 I   4.2, 42 
 
 \f

                        9_._ _ _I_n_d_e_x_ 
       
text area                               III 5.10,    118 
                                        III 5.11,    130 
                                        III 8.1,     171 
text crucher                            III 5.8,      55 
 
update line (order)                     II  5.5,  4 
                                        II  5.5.7, 66 
      master                            I   5.2.1,78 
      order                             II  5.5,  4 
                                        II  5.5.2, 24 
      structure list                    I   5.2.2, 82 
use (of adaption point)                 I   5.0, 44 
utility                                 = TD utility 
 
voucher - 
         calculation                    III 5.7,       4 
                                        III 5.7.1,     9 
         line (record)                  II  5.5,  4 
         end - invoice                  II  5.6,107 
                                        II  5.6.2,125 
                                        III 5.7,       4 
             - account entry            III 5.9,      63 
                                        III 5.9.2,    70 
             - order                    II  5.5,  4 
                                        II  5.5.4, 30 
                                        II  5.6,107 
         start - invoice                II  5.6,107 
                                        II  5.6.1,120 
               - account entry          III 5.9,      63 
                                        III 5.9.1,    68 
               - order                  II  5.5,  4 
 
 \f

                        9_._ _ _I_n_d_e_x_ 
       
writing (in the adaption point)         I   5.0,44 
 \f

                        A_p_p_e_n_d_i_x_ _A_: 
       
A_p_p_l_i_c_a_t_i_o_n_ _o_f_ _D_U_E_T_ _B_l_o_c_k_s_ 
 
By coding of the Skeleton Program and assignment of block
number and entry point for the adaption, the following
conventions have been applied. 
 
     Skeleton Program:      block  1-19 
     Installation Adaption: block 20-29 
     User Adaption:         block 50-' 
 
S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ 
 
block no.        Application 
 
   1             Initialization and termination 
                 of the transaction processing. 
 
   2             Terminal controlling transactions. 
 
   3             System transactions 
                 (Z-transactions). 
 
   4             Logical file maintenance. 
 
   5             Inquiry transactions. 
 
   6             Print-out transactions. 
 
   7             Voucher calculation, display 
                 transaction and print output. 
 
   8             Order entry. 
 
   9             Invoicing.\f

block no.        Application 
 
   10            Account entry. 
 
   11            Miscellaneous transactions. 
 
   12            Cancellation (general) 
 
   13-19         Free. 
 
I_n_s_t_a_l_l_a_t_i_o_n_ _A_d_a_p_t_i_o_n_ 
 
Includes adaption, which is common to all users of the
TELEDATA installation in question. 
 
block no.        Application 
 
   20            Terminal controlling transactions. 
 
   21            System transactions. 
 
   22            Error print-outs, Skeleton Program. 
 
   23            Print-out, convert-messages. 
 
   24-29         Free. 
 
U_s_e_r_ _A_d_a_p_t_i_o_n_ 
 
Includes adaption, which is individual for a user (or a group
of users). For this purpose 20 blocks per user (-group) are
applied. By all calls of the user adaption in the Skeleton Pro-
gram the block number is stated as a variable which is assigned
from a corresponding field in the terminal record - i.e. the
terminal administration record contains 20 fields (adp. block
1, ---, a block 20) in which the block numbers for the user>s
adaption are saved.\f

The adaption is distributed in the blocks in the following
way: 
 
Adp. block 1     Conversion of line code. 
 
    -     -   2     Reading of keys, logical file 
                maintenance of master records. 
 
-     -   3     The rest of the logical file 
                maintenance. 
 
-     -   4     Inquiry transactions. 
 
-     -   5     Miscellaneous transactions. 
 
-     -   6     Order entry   I 
                (Create Order, Update Order, 
                Erase Order, Order Head Amendment). 
 
-     -   7     Order entry  II 
                (Create Order Line, Update 
                Order Line). 
 
-     -   8     Order entry III (Empty) 
 
-     -   9     Invoicing I (Voucher Start, 
                Invoice Head Amendment). 
 
-     -  10     Invoice II (Create Invoice Line). 
 
-     -  11     Invoice III (Create Invoice Line) 
 
-     -  12     Invoice IV (Order Invoice, 
                Deb/Cred Invoicing). 
 
-     -  13     Print-outs I (Print Output)\f

Adp. block 14    Print-outs II (Empty) 
 
    -     -   15    Print-out administration. 
 
-     -   16    Cancellation (Erase Order Line, 
                Erase Invoice Line, Cancellation). 
 
-     -   17    Voucher calculation, etc. 
                (Display Voucher, Order Voucher End, 
                Invoice Voucher End, Voucher Calculation). 
 
-     -   18    Account entry (Voucher Start, 
                Entry Line, Erase Entry Line, 
                Customer Entry Scan). 
 
-     -   19    Other transactions (Empty). 
 
-     -   20    Free.\f

           
           \f

                                                 i 
           
          T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_ 
           
          1.  INTRODUCTION ...........................................  1 
           
          2.  LOADING THE SYSTEM .....................................  2 
           
          3.  RECONFIGURING THE PASCAL INTERPRETER ...................  4 
           
          4.  PASCAL SYSTEM UTILITIES ................................  5 
              4.1  BACKUP Utility ....................................  5 
              4.2  BOOTER Utility ....................................  5 
              4.3  CONVERT Utility ...................................  6 
              4.4  DISKSIZE Utility ..................................  6 
           
          5.  LOADER DISKETTE UTILITIES ..............................  7 
              5.1  The SYSTEM Utility ................................  7 
              5.2  The CONFIGURATION Utility .........................  8 
              5.3  The FORMAT Utility ................................  9 
           
          6.  CONTENTS OF DISKETTES .................................. 10 
           
          7.  PERIPHERAL SUPPORT ..................................... 12 
              7.1  Diskette Formats .................................. 12 
                   7.1.1  Loader Diskettes ........................... 12 
                   7.1.2  System Diskettes ........................... 12 
              7.2  Printer Port ...................................... 13 
              7.3  Terminal Port ..................................... 13 
              7.4  Display Handling .................................. 14 
                   7.4.1  Cursor Addressing .......................... 14 
                   7.4.2  Cursor Control ............................. 15 
                   7.4.3  Attributes ................................. 15 
                   7.4.4  Semigraphics ............................... 16 
              7.5  Keyboard .......................................... 18 
           
           
          A_P_P_E_N_D_I_C_E_S_: 
           
          A.  REFERENCES .............................................  21 
           
                   B.  ADDENDUM TO UCSD PASCAL USER'S MANUAL ................... 22 
           
           \f

                                                 ii 
           \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 UCSD Pascal system is delivered on 2 or 3 diskettes. The UCSD
          Pascal loader diskette contains drivers for the RC700 microcom-
          puter hardware and various system utilities (refer to chapter 5).
          The UCSD Pascal system diskette(s) contains the operating system,
          files, editor and other utilities (refer to chapter 6). 
           
                   The system will support one or two diskette drives of the 8" type
          (recommended capacity: 915 k bytes per drive) or the 5 1/4" (re-
          commended capacity: 279 k bytes per drive). The UCSD Pascal sys-
          tem units #4 and #5 are supported as the RC700 diskette units 1
          and 2 respectively. The RC700 Printer Port is supported as the
          UCSD Pascal system unit #6 (printer:). The RC700 Terminal Port is
          supported as the UCSD Pascal system units #7 and #8 (remin: and
          remout:). 
           
          The RC700 Parallel Input/Output Port is not supported. Chapter 7
          contains more detailed information on the peripheral support. 
           
          In chapter 2 you will find instruction on how to load the system
          and get started. 
           
          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. 
           
          CP/M  is a registred trademark of Digital Research. 
           \f

          The distribution system is configurated for use with a Danish
                   keyboard. However this configuration can easily be changed by
          following the procedure outlined in chapter 5 before the system
          is loaded or before the distribution system is copied. 
           
          Do not start using the distribution system before you have famil-
          iarized yourself with this manual and examined the UCSD Pascal
          User's Manual. 
           
          Never write on the original distribution diskettes. These will be
          master copies and will function as last resert backups in the
          event of errors. Start by producing backup copies as explained in
          chapters 4 and 5. You may find it valuable to keep an additional
          backup of the system at a secure place. 
           
                   Your copy of the UCSD Pascal system for the RC700 has a serial
          number and is licensed for your use only on a single RC700 micro-
          computer system. 
           
           \f

F_       2_._ _ _ _ _ _ _ _ _L_O_A_D_I_N_G_ _T_H_E_ _S_Y_S_T_E_M_    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 (loader diskette promptline) will be dis-
             played: 
              
                RC700 PASCAL LOADER vers. dd.mm.yy 
                INSERT PASCAL DISK - TYPE <RETURN> 
              
          2) Insert the Pascal system 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. 
              
          The Pascal system disk (SYS:) must contain the following files: 
           
                SYSTEM.PASCAL   (the operating system) 
                SYSTEM.INTERP   (the Pascal interpreter) 
                SYSTEM.MISCINFO (information about terminal handling) 
           
        The available Pascal programs - for example the compiler - may
          require some additional files to exist on SYS:, see chapter 6. 
           
          The system will be loaded in a configuration corresponding to the
          contents of the loader diskette. When the loader diskette prompt-
          line appears, the possibility to change the configuration is
          available. This is done before the system diskette is loaded and
          is described in further detail in chapter 5. 
           
           \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 one floppy disk drive and has no
          floating point capabilities. 
           
          Three more interpreter module files exist: 
             CPM2.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 (in case it is not present on
          the system disk), naming it SYSTEM.INTERP. The system may now be
          re-booted, thus including the new interpreter module. 
           
          NOTE: With a two drive configuration (CPM2....) a system load
                requires diskettes in both drives in order to prevent the
                system from hanging on a read to the second drive. 
                 \f

F_       4_._ _ _ _ _ _ _ _ _P_A_S_C_A_L_ _S_Y_S_T_E_M_ _U_T_I_L_I_T_I_E_S_    4.
           
          Apart from the standard UCSD Pascal utilities (see ref. 1) the
          RC700 Pascal is supplied with a number of system utilities. They
          are described in the following sections. 
           
           
4_._1_ _ _ _ _ _ _ _B_A_C_K_U_P_ _U_t_i_l_i_t_y_    4.1
           
          The backup program BACKUP.CODE will make a copy of an RC700 UCSD
          Pascal system diskette (note that copies of the loader diskette
          is made as described in section 5.1). The program asks for the
          source- and destination unit numbers for the transfer, and will
          work on both one and two drive systems. The diskette drives have
          unit numbers 4 and 5, ref. 1 p.8. On a single drive system the
          backup process is somewhat tedious as you have to interchange the
          source and destination disks a number of times. 
           
          To execute the backup program, type X and BACKUP at the command
          level. 
           
           
4_._2_ _ _ _ _ _ _ _B_O_O_T_E_R_ _U_t_i_l_i_t_y_    4.2
           
          The bootstrap copies program BOOTER.CODE is described in ref.
          1, p.293. It is used to copy the UCSD Pascal System Secondary
          Bootstrap from one disk drive to another. This must be done
          before a diskette initialized by means of the Z(ero) command (see
          ref. 1, p.29) can be used as system load diskette. The RC700
          BOOTER program asks for source- and destination unit numbers and
          then proceeds to copy the secondary bootstrap (residing on
          cylinder 0) from a system load diskette onto the destination
          diskette. 
           
          To execute the booter program, type X and BOOTER at the command
          level. 
           
           \f

         4_._3_ _ _ _ _ _ _ _C_O_N_V_E_R_T_ _U_t_i_l_i_t_y_    4.3
           
          The convert program is supplied only with the RC700 UCSD Pascal
          5 1/4" diskette systems. It is used to convert old single den-
          sity, double sided system diskettes into the current dual den-
          sity, double sided system diskette format, and requires a two
          drive system for proper operation. The program will ask for the
          number of blocks to convert (normally 280) and will then prompt
          the user to insert the old single density diskette in unit #4 and
          a dual density system diskette in unit #5 as destination drive.
          On completion it is up to the user to change the directory size
          on the dual density diskette in order to use the full capacity of
          558 blocks. 
           
          To execute the convert program, type X and CONVERT at the command
          level. 
           
           
    4_._4_ _ _ _ _ _ _ _D_I_S_K_S_I_Z_E_ _U_t_i_l_i_t_y_    4.4
           
          The disksize utility is described in ref. 1, p.I-11. The
          standard disksizes for the RC700 UCSD Pascal systems are 
           
                558 blocks for 5 1/4" diskettes and 
               1830 blocks for 8" diskettes. 
           
          It is recommended not to change the disk capacity, as several
          utilities will operate with the standard sizes. 
           
           \f

F_       5_._ _ _ _ _ _ _ _ _L_O_A_D_E_R_ _D_I_S_K_E_T_T_E_ _U_T_I_L_I_T_I_E_S_ 5.
           
          The loader diskette of the RC700 UCSD Pascal system contains a
          bootstrap loader and the drivers for the RC700 microcomputer sys-
          tem. It further contains utilities to generate copies of the
          loader diskette itself, to reconfigure the RC700 driver system
          and to format system diskettes. 
           
          The loader diskette utilities are activated by following the pro-
          cedure for loading the system as outlined in chapter 2. When the
          loader diskette promptline appears, press the ESC button instead
          of typing return. This will bring up 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(ONFIGURATION? 
           
          Now type a single letter as indicated to select the required
          utility. Whenever the Utility-promptline is re-displayed, type
          RETURN to get the loader diskette promptline back. 
           
           
5_._1_ _ _ _ _ _ _ _T_h_e_ _S_Y_S_T_E_M_ _U_t_i_l_i_t_y_ 5.1
           
          The SYSTEM utility is used to generate a copy of the loader dis-
          kette. The distribution loader diskette contains the drivers
          configured according to normal RC700 standard. The user has the
          option of reconfiguring the drivers before the copy is made (re-
          fer to section 5.2). In this way the user may generate loader
          diskettes to suit actual requirements, and may produce different
          loader diskettes for different tasks to be run on the same sys-
          tem. 
           
          The diskette types used for the loader diskettes are described in
          section 7.1. Here it should be noted that the diskettes need n_o_t_
          be pre-formatted as this is taken care of by the utility as re-
          quired. 
           
          When the utility is selected by responding with an 'S' to the
          Utility-promptline, the user will be asked to: 
           
               INSERT DISK - TYPE 'RETURN' 
           \f

          Now insert an empty diskette in drive 1 and press the return key.
          When the loader system has been written onto the diskette, return
          will be made to the Utility-promptline and another copy can be
          made, if required. 
           
           
    5_._2_ _ _ _ _ _ _ _T_h_e_ _C_O_N_F_I_G_U_R_A_T_I_O_N_ _U_t_i_l_i_t_y_    5.2
           
          The CONFIGURATION utility is used to make reconfigurations of the
          RC700 drivers. It is possible to reconfigure the following: 
           
               1) Printer Port characteristics 
               2) Terminal Port characteristics 
               3) Conversion tables for keyboard alphabets 
               4) Cursor format on display unit. 
           
          The CONFIGURATION utility is activated by responding with a 'C'
          to the Utility-promptline and is menu driven from there on. When
          the various parameters have been set, return is made to the Util-
          ity-promptline by pressing RETURN. 
           
          The actual reconfigurations take place only when the system is
          loaded from the system diskette. Please note that a reconfigured
          loader diskette may be generated by means of the SYSTEM utility
          once the parameters have been set. When the new loader diskette
          is subsequently used together with the system diskette for load-
          ing, the UCSD Pascal system will appear in the reconfigurated
          form. 
           
          The setting of the configuration parameters is achieved by se-
          lecting options from the menues on display. The first menu to ap-
          pear will offer a choice of the above mentioned reconfiguration
          possibilities. When a selection has been made, another menu will
          appear with a further choice of options, or with a list of poss-
          ible values for the parameter in question. When a parameter has
          been set by typing the number of its desired value, the previous
          menu will be redisplayed for a new selection to be made. The cur-
          rent value of a parameter is indicated by an asterisk to the left
          of the selection number. If no changes are to be made or if a se-\f

          lection is regretted, typing RETURN will cause the previous menu
          to be redisplayed. 
           
          The loader system distributed by RC is configured for a Danish
          keyboard and with a blinking reverse video cursor. The printer
          and terminal part are configured as detailed in sections 7.2 and
          7.3. 
           
           
     5_._3_ _ _ _ _ _ _ _T_h_e_ _F_O_R_M_A_T_ _U_t_i_l_i_t_y_ 5.3
           
          The FORMAT utility is used to format diskettes to be used as sys-
          tem diskettes. The diskettes must be of the 2D type, double si-
          ded, dual density, soft sectored (refer to section 7.1). 
           
          It is advisable to format a batch of diskettes before they are
          used as system diskettes for the RC700 UCSD Pascal system as one
          cannot be certain that the diskettes are correctly formatted by
          the manufacturer in all cases (5 1/4" never are). 
           
          Remove the loader diskette from diskette drive 1 before selecting
          the utility by typing 'F'. Now the prompt will be to: 
           
               INSERT DISK - TYPE 'RETURN' 
           
          Put the diskette to be formatted into diskette drive 1, close the
          door and press RETURN. When the formatting is over, the Utility-
          promptline will be redisplayed and the system will be ready for
          formatting of the next diskette. 
           
           \f

F_       6_._ _ _ _ _ _ _ _ _C_O_N_T_E_N_T_S_ _O_F_ _D_I_S_K_E_T_T_E_S_    6.
           
          The RC700 UCSD Pascal system is distributed on two or three dis-
          kettes. The MAXI diskette system consists of a loader diskette
          and a Pascal system diskette (volume id SYS:). The MINI diskette
          system consists of a loader diskette and two Pascal system dis-
          kettes (volume id SYS: and SYS1:). (Note however that the RC700
          UCSD Pascal Turnkey System on MINI diskette comprises only loader
          diskette and system diskette, SYS:). The Pascal system load dis-
          kette (see chapter 2) is the diskette with the volume id SYS:. 
           
          The following is a list of the files on the distribution disket-
          te(s) with reference to the appropriate documentation: 
           
          SYSTEM.PASCAL          ref. 1           p.5              3) 
          SYSTEM.INTERP          this manual                         3) 
          SYSTEM.MISCINFO        ref. 1           p.259            3) 
          SYSTEM.FILER           ref. 1           p.7         
          SYSTEM.EDITOR          ref. 1           p.31        
          SYSTEM.COMPILER        ref. 1           p.69        
          SYSTEM.SYNTAX          ref. 1           p.70  
          DISKCHANGE.CODE        ref. 1           p.I-9, I-15 
          DISKSIZE.CODE          ref. 1           p.I-11           3) 
          YALOE.CODE             ref. 1           p.57        
          SYSTEM.LINKER          ref. 1           p.77        
          SYSTEM.LIBRARY         ref. 1           p.78        
          SYSTEM.ASSEMBLER       ref. 1           p.129       
          Z80.OPCODES            ref. 1           p.129        
          Z80.ERRORS             ref. 1           p.129       
              8080.ASSEMBLER         ref. 1           p.129       
          8080.OPCODES           ref. 1           p.129       
          8080.ERRORS            ref. 1           p.129       
          LIBRARY.CODE           ref. 1           p.249       
          LIBMAP.CODE            ref. 1           p.309       
          PATCH.CODE             see PATCH.DOC.TEXT 
          PATCH.DOC.TEXT         replaces section 4.4 in ref. 1 
           \f

          CPM1.INTERP            this manual        chapter 3        1), 3)
          CPM2.INTERP            this manual        chapter 3        1), 3)
                   CPM1.FP.INTERP         this manual        chapter 3        1), 3)
          CPM2.FP.INTERP         this manual        chapter 3        1), 3)
           
          MARKDUPDIR.CODE        ref. 1           p.301            1) 
          COPYDUPDIR.CODE        ref. 1           p.301            1) 
          DISASM.II.CODE         ref. 1           p.303            1) 
          OPCODES.II.0           ref. 1           p.303            1) 
          RELOC.CODE             see RELOC.DOC.TEXT                  1) 
          RELOC.DOC.TEXT                                             1) 
          FLIPCODE.CODE          see FLIP.DOC.TEXT                   1) 
                   FLIPDIR.CODE           see FLIP.DOC.TEXT                   1) 
          FLIP.DOC.TEXT                                              1) 
          BOOTER.CODE            this manual        chapter 4        1) 
          BACKUP.CODE            this manual        chapter 4        1) 
          CONVERT.CODE           this manual        chapter 4        1), 2)
           
          Notes: 1) For a MINI diskette system these files will be on the
                    (SYS1:) system diskette 
                     
                 2) MINI diskette system only 
                     
                 3) Files included in the RC700 UCSD Pascal Turnkey System 
           
           \f

F_       7_._ _ _ _ _ _ _ _ _P_E_R_I_P_H_E_R_A_L_ _S_U_P_P_O_R_T_    7.
           
          The following sections contain information about the peripherals
          supported by the RC700 UCSD Pascal system. 
           
           
7_._1_ _ _ _ _ _ _ _D_i_s_k_e_t_t_e_ _F_o_r_m_a_t_s_ 7.1
           
7_._1_._1_ _ _ _ _ _L_o_a_d_e_r_ _D_i_s_k_e_t_t_e_s_ 7.1.1
           
          The 5 1/4" MINI-diskette is a single density, double sided, 128
          bytes per sector, 16 sectors per track floppy disk with 36 cylin-
          ders. 
          Recommended type: Memorex 32013421. 
           
          The 8" MAXI-diskette is a single density, single sided, 128 bytes
          per sector, 26 sectors per track floppy disk with 77 cylinders. 
          Recommended type: 3M 740/2-0. 
           
           
    7_._1_._2_ _ _ _ _ _S_y_s_t_e_m_ _D_i_s_k_e_t_t_e_s_    7.1.2
           
          The 5 1/4" MINI-diskette is a dual density, double sided, 512
          bytes per sector, 9 sectors per track floppy disk with 32 cylin-
          ders. Thus it can hold 558 Pascal blocks (279 k bytes). 
          Recommended type: Memorex 32013421. 
           
          The diskette is formatted with 2 to 1 interleaved sectors and
          zero track to track skew. The first Pascal cylinder is cylinder
          one. 
           
          The 8" MAXI-diskette is a dual density, double sided, 512 bytes
          per sector, 15 sectors per track floppy disk with 62 cylinders.
          Thus it can hold 1830 Pascal blocks (915 k bytes). 
          Recommended type: 3M 743-0-512. 
           
               
          The diskette is formatted with 2 to 1 interleaved sectors and
          zero track to track skew. The first Pascal cylinder is cylinder
          one. 
           \f

          Diskettes originating from other UCSD Pascal systems not having
          the proper interleaving ratio and track to track skew must be
          reformatted using the DISCCHANGE program (see ref. 1) before
          being used with the system. 
           
           
 7_._2_ _ _ _ _ _ _ _P_r_i_n_t_e_r_ _P_o_r_t_    7.2
           
          The RC700 Printer Port is supported as the UCSD Pascal unit #6
          (printer:). The standard configuration is: 
           
               1 stopbit 
               even parity 
               1200 bps 
               7 data bits 
           
          The port can be used for attachment of most printers with a ser-
          ial interface and busy control. The busy handshake mechanism uses
          the V.24 signals RTS and CTS as follows: 
           
           
           
           
           
           
           
           
           
           
           
           
           
           
          Figure 1: Printer port V.24 signals. 
           
           
7_._3_ _ _ _ _ _ _ _T_e_r_m_i_n_a_l_ _P_o_r_t_    7.3
           
          The RC700 Terminal Port is supported as the UCSD Pascal units #7\f

          and #8 (REMIN: and REMOUT:) for asynchronous operation (V.24).
          The standard configuration is: 
           
               1 stopbit 
               even parity 
               1200 bps 
               7 data bits for transmit and receive 
           
          The port characteristics can be adapted to fit almost any requi-
          rements by means of the configuration utility on the loader disk
          (see section 5.2). 
           
          The transmitter part of the terminal port functions exactly as
          the printer port. The receiver port uses the V.24 signal DCD to
          enable receiving. The parity bit is masked off when receiving. 
           
           
7_._4_ _ _ _ _ _ _ _D_i_s_p_l_a_y_ _H_a_n_d_l_i_n_g_    7.4
           
7_._4_._1_ _ _ _ _ _C_u_r_s_o_r_ _A_d_d_r_e_s_s_i_n_g_    7.4.1
           
          Cursor movements on the display can be controlled by absolute
          cursor addressing, where horizontal before vertical addressing is
          used. The cursor movement is made by outputting three characters,
          a control character and two addressing characters: 
           
               Control character:        6 
               First address character:  horizontal position + 32 
               Second address character: vertical position + 32 
           
          It is the programmer's responsibility to see that the values of
          addresses are kept within the following limits: 
           
               0 + 32 <_ vertical position <_ 24 + 32 
               0 + 32 <_ horizontal position <_ 79 + 32 
           
                   The upper left corner of the display has the address (0,0), the
          lower right the address (24,79). 
           
           \f

     7_._4_._2_ _ _ _ _ _C_u_r_s_o_r_ _C_o_n_t_r_o_l_    7.4.2
           
          The characters below will cause the cursor to move as specified: 
           
               5 or 8 - one position to the left (backspace) 
                    9 - four positions forward (tabulation) 
                   10 - one line down (newline) 
                   12 - display cleared and cursor to position (0,0)(clear)
                   13 - return to position 0 on current line (carriage re-
                        turn) 
                   24 - one position to the right (forward space) 
                   26 - one line up 
                   29 - return to position (0,0)(home) 
                   30 - current line erased from cursor position to end of
                        line 
                   31 - display erased from cursor position to end of dis-
                        play 
           
           
7_._4_._3_ _ _ _ _ _A_t_t_r_i_b_u_t_e_s_    7.4.3
           
          A set of attributes is available to be used for characters on the
          display: 
           
               - underline 
               - inverse video 
               - blinking 
               - semigraphic 
           
          The attributes are assigned each character following the "set
          attribute" character until the "reset attribute" character occurs
          or the "set attribute" character is scrolled out of the screen.
          The "set attribute" character is defined as 128 plus the actual
          attribute byte. The "reset attribute" character is defined as
          128. 
           \f

                   The value of the attribute byte can be found by using the table
          below: 
           
               Attribute         Value 
                                 dec.     hex.    bin. 
               blinking           2        2      00000010 
               semigraphic        4        4      00000100 
               inverse video     16       10      00010000 
               underline         32       20      00100000 
           
              The attribute may be mixed in any order to enable e.g. inverted
          semigraphic (128 + 4 + 16 = 148) or blinking semigraphic (128 + 2
          + 4 = 134). 
           
           
    7_._4_._4_ _ _ _ _ _S_e_m_i_g_r_a_p_h_i_c_s_    7.4.4
           
          The semigraphic attribute enables a semigraphic character set as
          shown in fig. 2. 
           \f

F_                  
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
          Figure 2: Semigraphic character set. \f

F_       7_._5_ _ _ _ _ _ _ _K_e_y_b_o_a_r_d_    7.5
           
          The RC700 Microcomputer keyboard exists in two layouts, where
          RC721 keyboards with production number before KBU723 S/N 51, and
          RC722 keyboards before KBU722 S/N 384, follow the layout shown in
          fig. 3. Later productions of RC721/RC722 keyboards follow fig. 4.
           
          The values delivered by the keyboard are used as index into an
          input conversion table in order to produce the character value
          for the UCSD Pascal system. The input conversion table is located
          at address 5A00 Hex in the loader diskette memory image. 
           \f

F_                  
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           \f

F_                  
           \f

F_       A_._ _ _ _ _ _ _ _ _R_E_F_E_R_E_N_C_E_S_    A.
           
          1  RCSL No 42-i1515: 
               UCSD Pascal, User's Manual 
               SofTech Microsystems/RC Computer, 1980 
                
          2  RCSL No 42-i1530: 
               Beginner's guide for the UCSD Pascal System 
               Kenneth L. Bowles 
               Byte Books (McGraw-Hill), 1979 
                
          3  RCSL No 42-i1609: 
               PASCAL, User's Manual and Report 
               Kathleen Jensen and Niklaus Wirth 
               Springer-Verlag, New York, 1975 
                
                \f

F_       B_._ _ _ _ _ _ _ _ _A_D_D_E_N_D_U_M_ _T_O_ _U_C_S_D_ _P_A_S_C_A_L_ _U_S_E_R_'_S_ _M_A_N_U_A_L_    B.
           
          This appendix contains a number of amendments to the UCSD Pascal
          User's Manual, ref. 1. 
           
           \f

F_                  
           \f

F_                  
           \f

F_                  
           \f

F_                  
           \f

F_                  
           \f

F_                  
           \f

F_                  
           \f

F_                  
           \f

«eof»