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

⟦a4c412d04⟧ TextFile

    Length: 149504 (0x24800)
    Types: TextFile
    Names: »D9«

Derivation

└─⟦e61e7d03c⟧ Bits:30005867/disk01.imd Dokumenter (RCSL m.m.)
    └─⟦this⟧ »D9« 

TextFile

                                                 i 
           
           
          T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_ 
           
          1.  INTRODUCTION ..........................................   1 
           
          2.  CONTROLS ..............................................   2 
           
          3.  OPERATING PROCEDURES ..................................   6 
           
          4.  GENERAL KEYBOARD DESCRIPTION ..........................   8 
              4.1  Character Keys ...................................   8 
              4.2  Program Controlled Keys ..........................   8 
              4.3  Local Control Keys ...............................   9 
           
          5.  RC819 KEYBOARD ........................................  10 
              5.1  Program Controlled Keys ..........................  10 
              5.2  Local Control Keys ...............................  10 
           
          6.  RC822B KEYBOARD .......................................  12 
              6.1  Program Controlled Keys ..........................  12 
              6.2  Local Control Keys ...............................  12 
           
7.  RC828B KEYBOARD .......................................  15 
              7.1  Program Controlled Keys ..........................  15 
              7.2  Local Control Keys ...............................  15 
           \f

                                                 ii 
           \f

         1_._ _ _ _ _ _ _ _ _I_N_T_R_O_D_U_C_T_I_O_N_ 1.
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
          Figure 1: Visual display unit and keyboard. 
           
          The consoles/terminals described in this operating guide are all
          based on the same type of visual display unit whereas the key-
          boards have a different layout and different function keys
          depending on the specific RC product number of the console/
          terminal. 
           
          The visual display unit is referred to as VDU. 
           \f

F_       2_._ _ _ _ _ _ _ _ _C_O_N_T_R_O_L_S_ 2.
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
          Figure 2: Controls. 
           
          POWER ON/OFF                - a mains power switch is located at
                                        the left side of the VDU. 
                                         
                                        In console applications the switch
                                        can be switched to its ON position,
                                        and left in the ON position, at the
                                        first time of operation. The VDU
                                      will then be switched on/off as the
                                      system is switched on/off. 
                                         
          1) Indicators               - when an indicator is lit, the fol-
                                        lowing is ment: 
                                         
               PR (P_rogram R_eady):      the system responds in order to
                                        show its availability to the user. 
                                         \f

                        CD (C_arrier D_etect):     a feature of the communications
                                        equipment, showing that the connec-
                                        tion is established. 
                                         
               RS (R_eady To S_end):      like the CD indicator, but showing
                                        readiness for transmitting from the
                                        keyboard. 
                                         
                                        Both the CD and the RS indicator
                                        should be lit, when the terminal is
                                        on-line. 
                                         
          2) BAUD RATE                - when turning the knob, different
             selector                   speeds in communications can be
                                        selected. 
                                         
                                        Usually to be left untuched by the
                                        operator as the setting is part of
                                        the overall system tuning (determi-
                                        ned by software). 
                                         
          3) Switch selectors         - when pressed inwards the features
                                        are selected as descriebed below.
                                        The switches are self-locking, to
                                        deselect the features, press once
                                        more. 
                                         
               TAPE                   - for maintenance purpose only. 
                                       
                                      Causes all recieved characters to
                                      be displayed including control
                                      characters. The TAPE key on some
                                      keyboards provides the same
                                      feature. 
                                       
               DUP (D_u_p_lex)           - in-position: full duplex; 
                                        out-position: half duplex. 
                                         \f

                        EIA                    - for maintenance purpose only. 
                                         
                                        In-position selects EIA (or V.24)
                                        signals. 
                                         
               SPLIT                  - not used. 
                                         
               not labelled           - not operable. 
                                         
               LOCAL                  - for maintenance purpose only. 
                                         
               PARITY ODD             - in-position : odd parity; 
                                        out-position: even parity. 
                                         
               PARITY ON              - in-position : parity on; 
                                        out-position: parity off. 
                                         
                                        The switches concerned with parity
                                        usually are to be left untuched by
                                        the operator as the setting is part
                                        of the overall system tuning (de-
                                        termined by software). 
                                         
          4) Display Screen Controls  - adjustment of brigthness and con-
                                        trast are provided by these two
                                        control knobs.  
               - knob closest to the     
                 front side:            controls the brightness of the
                                        displayed characters. (Sometimes
                                        labelled BRIGHTNESS.) 
               - knob closest to the     
                 front side:            controls the contrast in displaying
                                        characters. (Sometimes labelled
                                        CONTRAST.) 
                                         \f

                   5) Loudspeaker Adjustment   - the knob is used to adjust the
                                        loudness of the acoustic signal
                                        from the loudspeaker.  
                                         
                                        Note: The knob may be located at
                                        the rear side of the keyboard.  
                                         
                                        The acoustic signal is heard when
                                        receiving a BELL code. 
                                         
                                        On the RC819 and the RC828B it is
                                        also used to produce the key-sound
                                        which is heard when typing a key
                                        (this feature can be switched off).
                                         \f

F_       3_._ _ _ _ _ _ _ _ _O_P_E_R_A_T_I_N_G_ _P_R_O_C_E_D_U_R_E_S_                                             3.
           
          Turn on the mains power with the POWER ON/OFF switch. When
          applied as a console, the power can be controlled via the system
        if the POWER ON/OFF switch is left in the ON position after first
        time of operation.  
           
          The selector switches should normally be positioned as follows: 
           
            TAPE          : out-position 
                     DUP           : in-position, or according to specifications 
                     EIA           : in-position 
                     SPLIT         : out-position 
                     not labelled  : out-position 
                     LOCAL         : out-position 
                     PARITY ODD    : according to specifications 
                     PARITY ON     : according to specifications 
           
          At the time the communications facilities are available for use,
          the CD and ultimately the RS indicators will light. As long as
          the terminal is on-line, these indicators should light. 
           
          The PR indicator will light whenever the system is available for
          terminal operations. How to access the system and further in-
          formation regarding terminal operations will be found in the
          publications concerned with software systems and applications. 
           
          In a first-time operating situation and whenever convinient at
          start of operations the following check procedures are performed:
           
          1. The display is checked by switching the DUP selector to its
             out-position, then select any of the character keys and hold
             that key pressed down along with pressing down the REPT key.
             On the RC819/828B it is sufficient just to keep the character
             key pressed down as these models feature an auto-repeat
             function. 
              \f

                      The screen should now be filled up with that character. (Note:
             After checking, restore DUP selector to correct position.) 
              
          2. Adjust the brightness control until the raster is no longer
             visible and then adjust the contrast control for the most
             pleasing presentation. A moment spent on determining the
             optimum setting for both brightness and contrast controls is
             well spent, since this will reduce operator fatique. Remember
             though, that the setting may need to be changed as the ambient
             light level changes.  
              
             Adjustments of brightness and contrast are provided by the
             control knobs located at the right side of the terminal. 
              \f

F_       4_._ _ _ _ _ _ _ _ _G_E_N_E_R_A_L_ _K_E_Y_B_O_A_R_D_ _D_E_S_C_R_I_P_T_I_O_N_                                     4.
           
          The keyboards differ with respect to the RC product number. The
          different types of keyboards used with the VDU are described in
          the chapters following. 
           
          Commen to all keyboards is the presence of three types of keys: 
           
          - the character keys, 
          - the program controlled keys, and 
          - the local control keys. 
           
           
4_._1_ _ _ _ _ _ _ _C_h_a_r_a_c_t_e_r_ _K_e_y_s_ 
           4.1
          The character keys are functioning as on an ordinary typewriter,
          i.e. pressing a key will transmit the character to the system in
          accordance with the engraving on the key cap. Also the keyboard
          layout is like that of a typewriter. Different layouts may
          appear, depending on the national character set applied.  
           
           
4_._2_ _ _ _ _ _ _ _P_r_o_g_r_a_m_ _C_o_n_t_r_o_l_l_e_d_ _K_e_y_s_ 
           4.2
          It is important to note that the functions of the program con-
          trolled keys will differ from system to system. Specific infor-
          mation regarding function and usage should be found in the publi-
          cations covering software systems and applications. The program
          controlled keys are mentioned for each type of console/terminal
          as they appear in general on that type regardless of possible
          options.  
           \f

         4_._3_ _ _ _ _ _ _ _L_o_c_a_l_ _C_o_n_t_r_o_l_ _K_e_y_s_                                                  4.3
           
          The local control keys are provided in order to enable usual
          typewriter functions, cursor controlling, etc. Note that a
          general-purpose terminal contains few program controlled keys and
          many local control keys opposite to a data entry terminal which
          contains many program controlled keys and few local control keys.
          Some of the local control keys (especially the cursor control
          keys) may as well be affected by the software system applied.  
           \f

F_       5_._ _ _ _ _ _ _ _ _R_C_8_1_9_ _K_E_Y_B_O_A_R_D_ 5.
           
5_._1_ _ _ _ _ _ _ _P_r_o_g_r_a_m_ _C_o_n_t_r_o_l_l_e_d_ _K_e_y_s_ 
           5.1
          ESC (E_s_c_ape) 
          BELL 
          LOCAL ATT 
          DELETE LINE                 - function determined by software  
          RETURN                        system 
          DELETE CHAR 
          RUB OUT 
           
          CTRL                       - used to generate control codes
                                        which are not directly provided on
                                        the keyboard by assigned keys.  
                                         
                                        The CRTL key is pressed down and
                                        kept in the down-position, at the
                                        same time an alphanumeric key is
                                        pressed down - a control code cor-
                                        responding to that alphanumeric
                                        character will then be transmitted.
                                        The alphanumeric character which
                                        has to be used as well as the func-
                                        tions which are caused, are deter-
                                        mined by the software. 
                                         
                                         5.2
5_._2_ _ _ _ _ _ _ _L_o_c_a_l_ _C_o_n_t_r_o_l_ _K_e_y_s_ 
                                         
          SHIFT                       - this key, in conjunction with
                                        alphabetic or numeric keys, will
                                        select the upper legend or the
                                        upper-case character form. 
                                         
          SHIFT LOCK                  - when locked in the down position,
                                        the key will select the upper-case
                                        character legends. The key is self-
                                        locking, to release press once more.
                                         \f

                   PRINT ON                    - this code will cause all received
                                        and transmited data to be directed
                                        to the printer output. 
                                         
                                        The connecting of a terminal prin-
                                        ter to the display terminal is
                                        available as an option.  
                                         
          PRINT OFF                   - this code will remove the printer
                                        output connection. 
                                         
          TAPE                        - for maintenance purposes only. Self-
                                        locking key - to release press once
                                        more.  
                                         
                                        Causes all received character to be
                                        displayed including control charac-
                                        ters. 
                                         
          FF (Form Feed)              - function used with optional
                                        printer; causing form feed. 
                                         
          LF (Line Feed)              - function used with optional
                                        printer; causing line feed. 
                                         
          Auto-repeat                 - the keyboard features an auto-
                                        repeat function, i.e. pressing a
                                        key down for longer than approx.
                                        1 second will cause the character
                                        automatically to be repeated. 
                                         \f

F_       6_._ _ _ _ _ _ _ _ _R_C_8_2_2_B_ _K_E_Y_B_O_A_R_D_ 6.
           
6_._1_ _ _ _ _ _ _ _P_r_o_g_r_a_m_ _C_o_n_t_r_o_l_l_e_d_ _K_e_y_s_ 6.1
           
          ESCAPE
          LINE FEED
          RETURN         - function determined by the software
          RUB OUT           system. 
          BREAK 
          BACK SPACE 
           
CTRL                        - used to generate control codes
                              which are not directly provided on
                              the keyboard by assigned keys. 
                                         
                                        The CTRL key is pressed down and
                                        kept in the down-position, at the
                                        same time an alphanumeric key is
                                        pressed down - a control code cor-
                                        responding to that alphanumeric
                                        character will then be transmitted.
                                        The alphanumeric character which
                                        has to be used as well as the func-
                                        tions which are caused, are deter-
                                        mined by the software.  
                                         
                                         
6_._2_ _ _ _ _ _ _ _L_o_c_a_l_ _C_o_n_t_r_o_l_ _K_e_y_s_ 6.2
                                         
          SHIFT                       - this key, in conjunction with
                                        alphabetic or numeric keys, will
                                        select the upper legend or the
                                        upper-case character form.  
                                         
          ALPHA LOCK                  - when locked in the down position,
                                        the key will select the upper-case
                                        character legends with no effect on
                                        the numeric keys. The key is self-
                                        locking, to release press once more.
                                         \f

                   REPT (R_e_p_eat_)               - when pressed down and kept in the
                                        down position, any other character
                                        key may be pressed down at the same
                                        time and that character will be
                                        repeatedly generated as long as
                                        engaged. 
                                         
          HOME                        - will return cursor to the >home>
                                        position (first character, first
                                        line). 
                                         
          -'                          - causes the cursor to advance one
          (FORWARD CURSOR)              character position to the right. If
                                        there are no character positions
                                        left to the right, the cursor will
                                        advance to the first character
                                        position of the next line.  
                                         
                                        The cursor control codes (FORWARD
                                        CURSOR and the following codes) are
                                        non-destruct codes, i.e. the cursor
                                        may pass an >occupied> position
                                        without deleting the character of
                                        that position.  
                                         
          <-                          - as FORWARD CURSOR, but to the left.
          (BACK CURSOR)                  
                                      - causes the cursor to move up one
          (UP ROW CURSOR)               row. Reaching the first row the
                                        cursor remains there.  
                                         
                                      - as UP ROW CURSOR, but downwards.
          (DOWN ROW CURSOR)             Reaching the last row the cursor
                                        will move the data up one row,
                                        leaving the last row blank. 
                                         \f

          TAB                         - horizontal tab, usually fixed to
                                        every fourth character position.
                                        Tab positions are fixed and do not
                                        depend on the start position of the
                                        cursor.  
                                         
                   ERAS EOL                    - this code will erase all data from
          (E_r_a_s_e to E_nd o_f L_ine)        cursor position to end of line.  
                                         
          ERAS EOS                    - this code will erase all data from
          (E_r_a_s_e to E_nd o_f S_creen)      cursor position to end of screen. 
                                         
          CLEAR                       - this code will erase all data and
                                        home the cursor.  
                                         
          PRINT                       - this code will cause all received
                                        and transmited data to be directed
                                        to the printer output.  
                                         
                                        The connecting of a terminal
                                        printer to the display terminal is
                                        available as an option. 
                                         
          PRINT OFF                   - this code will remove the printer
                                        output connection.  
                                         
          TAPE                        - for maintenance purposes only.
                                        Self-locking key - to release press
                                        once more. 
                                         
                                        Causes all received character to be
                                        displayed including control charac-
                                        ters.  
                                         
          LOAD TAPE                   - for maintenance purposes only. 
                                         \f

F_       7_._ _ _ _ _ _ _ _ _R_C_8_2_8_B_ _K_E_Y_B_O_A_R_D_ 7.
           
  7_._1_ _ _ _ _ _ _ _P_r_o_g_r_a_m_ _C_o_n_t_r_o_l_l_e_d_ _K_e_y_s_                                             7.1
           
          ESCAPE 
          CLEAR 
          SUB FORM 
          DUP 
          CHAR 
          REC                         - function determined by software
          FIELD                         system. 
          REC REL 
          ERROR REL 
          ENTER 
          BY-PASS 
          RECORD 
          LOG IN 
           
           
         7_._2_ _ _ _ _ _ _ _L_o_c_a_l_ _C_o_n_t_r_o_l_ _K_e_y_s_ 7.2
           
          SHIFT                       - this key, in conjunction with alpha-
                                        betic or numeric keys, will select
                                        the upper lengend or the upper-case
                                        character form. 
                                         
           SHIFT LOCK                  - when locked in the down position,
                                        the key will select the upper-case
                                        character legends. The key is self-
                                        locking, to release press once more.
                                         
          Auto-repeat                 - the keyboard features an auto-re-
                                        peat function, i.e. pressing a key
                                        down for longer than approx. 1 se-
                                        cond will cause the character auto-
                                        matically to be repeated.  
                                         \f

                    
           \f

A_P_P_E_N_D_I_X_ _D_:_ _D_I_A_G_R_A_M_ _O_F_ _H_O_W_ _T_O_ _U_S_E_ _T_H_E_ _C_O_D_E_ _P_R_O_C_E_D_U_R_E_ _'_R_E_T_U_R_N_'_


          parameters                           Action
txt1      txt2       check      printout   outputres  cont     Result        Textmode      Text 
   function               bit 0-5   bit 6-11   bit 12     bit 13     bit 14     bit 15 
 
1: No text output         Zero      Zero       C          O          Zero       1        irrelevant    Zero          irrelevant 
   get new input                               (see be-   (see be- 
                                               low)       low) 
 
2: Standard text output   first     second     C          O          P          1        no. to be     Zero          irrelevant 
   get new input          textno.   textno.    (see be-   (see be-   (see be-            output 
                                               low)       low)       low) 
 
3: Param. 'text' output   Zero      Zero       C          O          Zero       1        irrelevant    1             byte 1-80 =
   get new input                               (see be-   (see bbe-                             text to 
                                               low)       low)                                                       output 
 
4: No text output         Zero      Zero       Zero       O          Zero       Zero     irrelevant    Zero          irrelevant 
   termination                                            (see be- 
                                                          low) 
 
5: Standard text output   first     second     Zero       O          P          Zero     no. to be     Zero          irrelevant 
   termination            textno.   textno.               (see be-   (see be-            output 
                                                          low)       low) 
 
6: Param. 'text' output   Zero      Zero       Zero       O          Zero       Zero     irrelevant    1             byte 1-80 =
   termination                                            (see be-                                                   text to 
                                                          low)                                                       output 
 
7: Replace command        R1        R1         Zero       O          Zero       Zero     R1            R2            R2 
   termination            (see be-  (see be-              (see be-                       (see below)   (see below)   (see below)
                          low)      low)                  low) 
 
8: Wait/signal            Zero      semaph.    1          wait = 0   Zero       Zero     irrelevant    Zero          irrelevant 
   semaphore                        ident.                signal = 1 
 \f




















                                RC 3600 DATA ENTRY 
                        RELEASE 2 
                 SUPERVISOR PROGRAMMING GUIDE 




















Second Edition
A/S REGNECENTRALEN              February 1978
     Marketing Department                                     RCSL 43-GL 4351\f

       Author:              Birte Steckhahn
Technical Editor: 

 
 
 
 
 
        
KEY WORDS:          Data Entry, Superivsor programming guide. 
                      
                             

 
 
       ABSTRACT:          This manual describes how to make a supervisor program
                          and explains the environment where the programs are
                     operated. 
                      
                      

SUPPORTING AND REFERENCED DOCUMENTS: 
 
                             
                      
                      
                      
                      
                      
                      
                      
                      
                      
                      

 
Reservation 
 
 
 
 
 
 
Copyright   A/S Regnecentralen, 1977 
Printed by A/S Regnecentralen, Copenhagen\f

                  T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ ________________________________________P_A_G_E_
            
                   
           1   INTRODUCTION                                          5 
            
           2   DISC FILES6 
               2.1 Libraries6 
               2.2 Jobs6 
               2.3 Batches7 
            
           3   CODING OF A SUPERVISOR PROGRAM8 
            
           4   DESCRIPTION OF STANDARD CODE PROCEDURES9 
               4.1 Code Procedure Get Command9 
               4.2 Code Procedure Get Parameter10 
               4.3 Code Procedure Return12 
               4.4 Code Procedure Access15 
               4.5 Code Procedure Allaccess16 
               4.6 Code Procedure Connect File17 
               4.7 Code Procedure Get Next Item18 
               4.8 Code Procedure Get Next Item20 
               4.9 Code Procedure Delay21 
            
           5   PROGRAMMING HINTS23 
               5.1 Printout23 
                   5.1.1 Spool-File23 
                   5.1.2 Hardcopy Devices24 
                   5.1.3 Opening of Actual Device24 
                   5.1.4 How to make the Printout25 
               5.2 Program Termination26 
               5.3 Error Procedures26 
               5.4 Creation of a batch27 
            
           6   OPERATOR COMMUNICATION29 
            
           7   INSTALLATION OF NEW SUPERVISOR PROGRAMS30 

           APP. A  STRUCTURE OF A LIBRARY31 
                  APP. B  STRUCTURE OF A JOB32 
           APP. C  STRUCTURE OF A BATCH33 
                   C.1 Batch Head    33 
                          C.2 Records    34 
                              C.2.1 Data Records    34 
                              C.2.2 Register Records     35 
        C.3 Batch End Mark    36 
                 APP. D  DIAGRAM OF HOW TO USE       
        THE CODE PROCEDURE'RETURN'38\f

                  T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ ________________________________________P_A_G_E_
            
                   
                  APP. E  STANDARD TEXT NUMBERS40 
                  APP. F  PROGRAM EXAMPLE VOLUME41 
           APP. G  PROGRAM EXAMPLE DUMP43 
           APP. H  REFERENCES  46 
APP. I  INDEX47



























                  \f

  F_    1         I_N_T_R_O_D_U_C_T_I_O_N_ 
            
            
           This manual describes how to make a supervisor program to the
           Data Entry System, Release 2, and explains the environment  
           where the programs are operated. 
            
           The Supervisor is a part of RC 3600 Data Entry System, called
NANNY which handles loading of and communication with super- 
visor programs and dialog with the operator, when the key sta-
tion is in supervisor mode. When it receives a command it looks
for the corresponding entry in the RC 3600 file system catalog,
loads the program to the supervisor area in memory, start the
program as a process and sends a message to the process con-
taining the command line typed by the operator. 
 
Before starting to make a supervisor program, it is recommended
to glance through the following sections: 
 
2, 3, 5.1, 5.3, and 6. \f

F_      2         D_I_S_C_ _F_I_L_E_S_ 
 
 
 2.1       L_i_b_r_a_r_i_e_s_ 
            
           The Data Entry System has 5 libraries. They are physically disc
           files containing a group of names. 
            
           The 5 libraries are: 
            
           1.        Job Library 
                     The library contains the names of all the jobs in
                     the system. The name of the file on the disc is
                     JBLIB. The structure of the library, see appendixA.
            
           2.        Format Library 
                     The library contains the names of all the trans-
                     lated formats in the system. The name of the file
                     on the disc is FBLIB. The structure of the library,
                     see appendix A. 
            
           3.        Subprogram Library 
                     The library contains the names of all the trans-
                     lated subprograms in the system. The name of the
                     file on the disc is SPLIB. The structure of the
                     library, see appendix A. 
                      
           4.        Table Library 
                     The library contains the names of all the trans-
                     lated tables in the system. The name of the file on
                     the disc i TBLIB. The structure of the library, see
                     appendix A.  
                      
           5.        Disc-table Library 
                     The librry contains the names of all the created
                     disc-tabels in the system. The name on the file on
                     the disc is DTLIB. The structure of the library,
                     see appendix A. 
                      
                      
 2.2       J_o_b_s_ 
            
           A job is a disc file containing a group of batch names, and for
           each batch name a status word containing a status of the batch. 
           Each job name is included in the job library (JBLIB), and in\f

           each batch belonging to a job is the name mentioned, too.
           Further description of a job file, see appendix B. 
            
            
 2.3       B_a_t_c_h_e_s_ 
            
           A batch is a disc file on the disc containing the data and re-
           gister records together with some informations about the batch,
           such as which job it belongs to. Every record then contains in-
           formation about itself, such as a record status, and a number of
           fields. 
            
           The informations about the batch is placed in the first block
           in the file and this block is called the batch head. The infor-
           mation about a record is positioned at the beginning of the re-
           cord and is called the record head. 
            
           A batch is terminated by a batch end mark. 
            
           The exactly structure of a batch, see appendix C. \f

F_      3         C_O_D_I_N_G_ _O_F_ _A_ _S_U_P_E_R_V_I_S_O_R_ _P_R_O_G_R_A_M_ 
            
            
           All supervisor programs must be coded in the MUSIL programming
           language and compiled using the MUSIL compiler. Output from the
           MUSIL compiler is relocatable binary object code, which can be
           added to the Data Entry System by loading it to disc (see sec-
           tion 7). 
            
           The standard code procedures described in section 4 have been
           implemented in order to make it possible for the Data Entry
           Supervisor to 
                     - transfer command lines and parameters to the super-
                       visor programs, and to get receipts from the pro-
                       grams before removal of the process after program
                       termination. (The procedures 'get command', 'get
                       parameter', and 'return'). 
                        
                     - lookup, delete or insert a name in a library or
                       to search sequential through a library (the pro-
                       cedures 'find item', and 'get next item'). 
                        
                     - read the fields in a batch (the procedures 'access'
                       and 'allaccess'). 
                        
                     - slow down the supervisor program so that keying,
                       rekeying, and editing will be unaffected of the
                       run of a supervisor program ( the procedure 'de-
                       lay'). 
                        
                     - to open a file for the printout (the text that must
                       be written on the hard copy device or on the super-
                       visor key station display) the procedure 'connect
                       file'). 
                        
                  These procedures must be declared and called in the MUSIL pro-
           gram and copied into the program at compilation time. See refe-
           rence 1.\f

F_      4         D_E_S_C_R_I_P_T_I_O_N_ _O_F_ _S_T_A_N_D_A_R_D_ _C_O_D_E_ _P_R_O_C_E_D_U_R_E_S_ 
 
 
 4.1       C_o_d_e_ _P_r_o_c_e_d_u_r_e_ _G_e_t_ _C_o_m_m_a_n_d_ 
 
           This procedure is used to receive a command line from the super-
           visor in the Data Entry System. 
            
           The call of this procedure must be the first statement executed
           in the supervisor program. 
            
           The procedure must be declared as follows: 
            
                     procedure cmnd (var comline: string (112); 
                                     var return:  integer); 
                     comebody; 
            
           P_a_r_a_m_e_t_e_r_s_:_ 
            
           Comline:  Return parameter of type 'string'. 
                      
                     The length of the parameter must be at least 112
                     bytes. 
                      
                     The parameter contains a command line, typed in by
                     the keying operator, and must not be changed by the
                     program. 
                      
                  Return:   Return parameter of type 'integer'. 
                      
                     The parameter contains the message address used by
                     the supervisor. 
                      
                     This parameter must be used when returning to the
                     supervisor (see section 4.3), and when delaying the
                     program (see section 4.9), and the value of the
                     parameter must therefore not be changed by the
                     program. 
                      
                  After a syntax check, made by the supervisor, each parameter to
           the program will be packed in 'comline' as groups of information
           as follows: \f

T_                1.        T_y_p_e_ _o_f_ _p_a_r_a_m_e_t_e_r_ 
                     
                    2 bytes; where 0 = integer parameter 
                               1 = text parameter 
&_                                2 = termination 
 
           2.        T_h_e_ _p_a_r_a_m_e_t_e_r_ 
 
                     2 bytes for integer parameters, and 
                     6 bytes for text parameters, each parameter
                         terminated by at least one null character 
 
           3.        T_e_r_m_i_n_a_t_o_r_ _f_o_r_ _p_a_r_a_m_e_t_e_r_ 
 
                     2 bytes, where 0 = space 
                                           1 = period 
                                    2 = termination 
 
           After a call of the procedure return (see section 4.3) it is
           possible to get an empty command line (i.e. only ENTER has been
                  pressed on the supervisor key station). The contents of 'com-
-0--255-          line' will then be:  0   255   if no syntax check has been made,
-0--2-           or  0   2   after a syntax check (i.e. termination). 
            
            
        4.2       C_o_d_e_ _P_r_o_c_e_d_u_r_e_ _G_e_t_ _P_a_r_a_m_e_t_e_r_ 
            
           This procedure is used to get a single parameter from the com-
           mand line. The first call of this procedure in the program will
           in parameter 'item' return the name of the file that later on
           must be opened for printout (see section 5.1) with the procedure
           'connectfile' (see section 4.6). The parameter 'value' describes
           if the printout is to be produced on a hardcopy device or on the
           supervisor key station display screen. The contents of those two
           parameters must therefore be saved before a new call of the pro-
           cedure 'get parameter'. The subsequent calls will return the pa-
           rameters in the order in which they were typed on supervisor key
           station. 
            
            The procedure must be declared as follows: 
            \f

T_                     procedure gtpm (var comline:  string (112) 
                                     var item:     string (6) 
                                     var value:    integer; 
                                     var kind:     integer; 
                                     var sep:      integer); 
&_                          comebody; 
        
            
           P_a_r_a_m_e_t_e_r_s_:_ 
            
           Comline:  Call parameter of type 'string'. See section 4.1. 
            
           Item:     Return parameter of type 'string'. 
                     The length of the parameter must be at least 6
                     bytes. 
                     The parameter containsa text from the command line
                     if kind = 1. 
                     The text is terminated by at least one null charac-
                     ter. 
                     The first character in a text parameter must be a
                     letter followed by letters or digits. 
                     The first time the procedure is called, this para-
                     meter contains the name of the printout file. 
                      
                  Value:    Return parameter of type 'integer'. 
                     The parameter contains an integer value if kind = 0.
                     An integer parameter may be typed on the supervisor
                     key station either in signed/unsigned decimal repre-
                     sentation, or in octal representation (identified by a
                     preceeding apostrophe). The first time the procedure
                     is called, this parameter indicats whether the print-
                     out must be produced on a hard copy device or on the
                     supervisor keystation display screen: 
                     Value = 0:          printout on display screen. 
                     Value = 1:          printout on hard copy. 
                      
                 Kind:     Return parameter on type 'integer'. 
                     The parameter contains the type of the returned para-
                     meter, where: 
                     Kind = 0 means integer parameter. 
                     Kind = 1 means text parameter. 
                     Kind = 2 means that the procedure has been called
                            too many times (i.e. more that the number of
                            parameters in the command line), or that an
                            empty command line has been received (i.e.\f

                            only ENTER has been pressed on the super-
                            visor key station) after a call of the pro-
                            cedure return (see section 4.3). 
                            
                 Sep:      Return parameter of type 'integer'. 
                            The parameter contains an integer value which indi-
                     cates the terminator of the returned parameter,where:
                             
        T_Sep = 0 means space 
                     Sep = 1 means period 
                            Sep = 2 means termination = last parameter (i.e.  
        &_                          ENTER on the supervisor key station). 
 
 
T_      4.3       C_o_d_e_ _P_r_o_c_e_d_u_r_e_ _R_e_t_u_r_n_ 
 
           This procedure is used to return to the Supervisor in the Data
           Entry System, either to get a new command line from the super-
&_           visor key station or to indicate that the program execution must
           be terminated and the process must be removed from the super-
           visor area in memory. 
            
           In case of termination the call of this procedure must be the
           last statement executed in the supervisor program. 
            
           The procedure must be declared as follows: 
            
 T_                  procedure return (var return:   integer; 
                                       var result:   integer; 
                                       var action:   integer; 
                                       var textmode: integer; 
                                       var text:     string (80 or 160));
        &_                  comebody; 
                  
           P_a_r_a_m_e_t_e_r_s_: 
            
           Return:   Call parameter of type 'integer'. See section 4.1. 
            
           Result:   Call parameter of type 'integer'.  
                     This parameter may contain a number, which may be
                     output on the supervisor key station display screen
                     as an octal number, when a standard text is output
                     (see parameter 'action'). Standard texts, see appen-
                     dix E. Result cannot be output after a text in the
                     parameter 'text'. \f

                 Action:   Call parameter of type 'integer'. 
                     The parameter contains information about a possible
                     standard text to be output on the supervisor key
                     station display screen, special actions to be taken
                            by the supervisor, and about continuation of the pro-
                     gram execution. The information must be packed as fol-
                     lows: 
                     (txt1 shift 10) + (txt2 shift 4) + (check shift 3)+
                     (printout shift 2) + (outputres shift 1) + cont. 
                      
                     txt1:     If a standard text must be output, the num-
                               ber of the first text must be placed here. 
                               txt1 = 0 means that no text is output, a
                               text in the parameter 'text' is output or
                               a semaphore function has to be performed.
                                
txt2:If a standard text is composed of two text
numbers the second text number must be
placed here. If a semaphore function has to
be performed, the ident of the semaphore
must be placed here (first semaphore = 1). 
                               'txt2' = 0 means that only one standard
                               text number is used (indicated in 'txt1'),
                                no text is output, or that a text in the
                               parameter 'text' is output. 
                                
                            check:    = 1 if the program execution must continue
                               ('cont' = 1) and the new input from the
                               supervisor must be syntaxchecked or if a
                               semaphore function has to be performed. 
                               = 0 if no syntax-check of new input or if
                               the program has to terminate ('cont' = 0). 
                                
                            printout: = 1 if 
                               - a printout is produced and must beoutput
                                 to the hard copy device or thesupervisor 
  key station display screen. 
                               - a signal semaphore function has to be
  performed. 
                                
                               = 0 if 
                               - a printout must not be output (forexample
                                 after an error) or a printout has not been
  produced. \f

                                      - a wait semaphore function has to be per-
                                  formed. 
                                 
                            outputres:= 1 means that the number in the parameter
                               'result' must be output on the display
screen after a standard text. 
                               = 0 means that the parameter 'result' must
                               not be output after a standard text, or that
                               a text in parameter 'text' is to be output
                               ('result' cannot be output after such a
text). In this case the contents of 'result'
are irrelevant. 
 
                            cont:     = 1 means that the program execution must
continue. 
= 0 means program termination. 
 
 
                  Textmode: Call parameter of type 'integer'. 
                            This parameter describes the contents of parameter
'text'. 
= 0 means that the contents of 'text' are irrelevant,
because the parameter 'action' is used for receipt
specification. 
= 1 means that byte 1-80 of parameter 'text' contains
a text to be output on the supervisor key station dis-
play screen instead of a standard text. 
= 2 means that byte 1-80 of 'text' contains a text to
be output and byte 81-160 of 'text' contains a replace
command. 
 
                  Text:     Call parameter of type 'string'. 
The length of the string must be 80 or 160 bytes, de-
pending on the value of 'textmode'. 
Both a text to be output on the supervisor key station
display screen and a replace command must be termina- 
ted by a null-character. 
A replace command is a supervisor command, i.e. a call
of another supervisor program with termination of the
first program in the same way as if the first program
terminates, and the operator calls the secondprogram.
 
A replace command cannot change the output device for
the printout. If a program is called with output of
printout on printer via spool-file, and this program\f

terminates with a replace command, the new program
will place the printout on the printer via spool-file,
too. 
 
                  In appendix D a diagram is showing how to use the procedure. 
 
            
T_      4.4       C_o_d_e_ _P_r_o_c_e_d_u_r_e_ _A_c_c_e_s_s_ 
            
           The procedure is used to read transfer fields in the data
           records in a batch. The zone connected to the batch must be
           opened for reading and positioned just after the block with
&_           the batch head, i.e. 
-batchname-                 zone.zname:=   batchname  ; 
                     open (zone, 1); 
                     ! read and check the batchhead! 
                     setposition (zone, 0, 1); 

        
           Between the first and the last call of the procedure the zone
           may not be changed by calling other procedures using the zone. 
            
           The procedure will skip register records and the fields with
           status 'no transfer' (register records and field states are
           described in appendix C). 
              
           The procedure must be declared as follows: 
                      
 T_                  procedure access (file         z; 
                                              var field:   string (80); 
                                       var number:  integer; 
                                       var status:  integer; 
                                       var subname:string (2)); 
                                        
        &_                  comebody; 
              
           P_a_r_a_m_e_t_e_r_s_: 
            
           z:        Call and return parameter of type 'file'. 
                     The parameter must be defined as a disc-file, i.e.
                     kind = 62 and share length = 512.z. zname must be a
                     name of a batch, e.g. n_o_t_ a name of a job or a table. 
                      
             Field:    Return parameter of type 'string'. 
                     The length of the string must be 80 bytes. \f

                     The contents of 'field' is a field with the status
                     transfer, if the parameter 'number' is greater that
                     or equal to zero. 'Number' then indicates number of
                     characters in the field. 
                      
             Number:   Return parameter of type 'integer'. 
                     The parameter describes what has been read: 
-_0                       -0:   a field has been read. 
                                'Number' contains the number of characters  
                           in the field which is placed in 'field'. The  
                           parameter 'status' contains the field status
                             and the parameter 'subname' is undefined. 
                            
                            =-1:  a record head is read. 
                                'Field' is undefined, 'status' contains the
                           record status and 'subname' contains the name
                           of the subformat, which has been used when
                           keying the record. 
                           
                            =-2:  a record end is read. 
                           'Field', 'status' and 'subname' are all
                           undefined. 
                            
                            =-3:  a batch end mark is read. 
                           'Field', 'status' and 'subname' are all
                           undefined. 
                            
                  Status:   Return parameter of type 'integer' 
                     The parameter contains the record status if a re-
                     cord head is read and the field status if a field
                     is read. Otherwise 'status' is undefined. 
                      
                  Subname:  Return parameter of type 'string'. 
                     The length of the string must be 2 bytes. 
                     If a record head is read the parameter in the first
                     byte contains the name of the subformat, which has
                     been used when keying the record. The second byte
                     is a null-character. 
                      
                      
        4.5       C_o_d_e_ _P_r_o_c_e_d_u_r_e_ _A_l_l_a_c_c_e_s_s_ 
            
                  This procedure is used in the same ways as the procedure
           'access', and returns nearly the same. The only differences
                  between 'access' and 'allaccess' are: \f

                     - 'allaccess' is defined with the name allacinstead
                       of access. 
                            - 'allaccess' returns fields with status notransfer,
                       which are ignored by 'access'. 
            
           The procedure is defined: 
                      
        T_                  procedure allac (file         z; 
                                      var field:   string (80); 
                                      var number:  integer; 
           var status:  integer; 
                                      var subname: string (2)); 
        &_                  comebody; 
                   
           P_a_r_a_m_e_t_e_r_s_:_ 
            
           Please consult section 4.4. 
T_       
 
4.6       C_o_d_e_ _P_r_o_c_e_d_u_r_e_ _C_o_n_n_e_c_t_ _F_i_l_e_ 
 
          This procedure is used for opening the file where the printout
           must be placed (a work-file on the disc or one of the hardcopy
&_           devices). 
            
           The procedure looks up the catalog entry given by the name. If
           the entry is found and is a file descriptor (if the name is one
           of the names of hardcopy devices), the information about device
           name, mode, kind, file, block, and give up mask are transferred
           to the zone variables. 
            
           If the name is the name of the work-file, a 'createentry' is per-
           formed (because the entry is deleted by the supervisor before
           calling the program). 
            
           Before return to the MUSIL program the zone is opened with the
           mode specified. 
            
           The procedure must only be called oned in a program. 
            
           The procedure must be declared as follows: 
            
  T_                 procedure connec (file)           z; 
                                       const outmode:  integer; 
                                       const name:     string (6)); 
         &_                 comebody;\f

           P_a_r_a_m_e_t_e_r_s_:_ 
            
           z:        Call and return parameter of type 'file'. 
                     The parameter must be defined as as file with the
                     sharelength = 512. 
            
                  Outmode:  Call parameter of type 'integer'. 
                     The parameter must be set to output mode, i.e. 
                               outmode:= 3; 
                     before call of the procedure. 
                      
                  Name:     Call parameter of type 'string'. 
                     The length of the string must be 6 bytes. 
                     The contents of 'name' must be the name of the file
                     where the printout must be placed, (this name is re-
                     ceived when the procedure 'get parameter' (section
                     4.2) is called the first time). 
        
 
T_ 4.7       C_o_d_e_ _P_r_o_c_e_d_u_r_e_ _F_i_n_d_ _I_t_e_m_ 
 
           This procedure is used to search for a name, to insert a name
&_           or to delete a name in a library or a job. 
            
           The procedure must be declared as follows: 
            
      T_                  procedure fitem (file            z; 
                                      const optype:   integer; 
                                      const length:   integer; 
                                      const name:     string (6)); 
        &_                  codebody; 
                   
           N_O_T_I_C_E_:_ 
           In the MUSIL program there must be two integers defined just
           after the string 'name', for an extraword and a result, because
           the procedure uses those two integers, as they were parameters: 
            
           If z.zname is a name of a job, i.e. 'name' is a name of a batch
           (specified by 'length' = 4, see 'length) the status of the batch
           taken from the job is placed in the first integer, called 'extra-
           word', and the result of the call of the procedure is placed in
           the second integer, called 'result'. 
            \f

                  P_a_r_a_m_e_t_e_r_s_: 
           
           z:        Call parameter of type 'file'. 
                     The parameter must be defined as a disc-file, i.e.
                     kind = 62 and sharelength = 512. 
                     z. zname must be the name of the library or the job,
                     where the procedure must look for 'name', insert it or
                     delete it. The zone must be opened for reading before
                     a call of the procedure. 
                      
           Optype:   Call parameter of type 'integer'. 
                     The procedure first searches through the library or
                     the job for 'name' and then looks at 'optype' to
                     decide the action to be taken: 
                      
                     = 0:   search item: 
                            If 'name' is found, 'result' is set to 0,
                            otherwise to 1. 
                            If 'name' is a batch name the status from
                            thejob is placed in 'extraword'. 
                     = 1:   delete item: 
                            If 'name' is found, the name is deleted and
                            'result' is set to 0, otherwise to 1. 
                             
                            = 2:   insert item: 
                            If 'name' is not found, the name is inserted
                            and if 'name' is a name of a batch, the con-
                            tents of 'extraword' is inserted after 'name'
                            and 'result' is set to 0. If 'name' already
                            exists, 'result' is set to 1. 
                             
                  Length:   Call parameter of type 'integer'. 
                      
                     This parameter describes how many words in the library
                     or the job, the item must use. If z. zname is a name
                     of a job, 'length' must be 4 (3 words for the name and
                     1 word for the status). If z. zname is a name of a li-
                     brary (job, format, subprogram, table, or disc table
                     library), 'length' must be 3. 
                      
                  Name:     Call parameter of type 'string'. 
                      
                     The length of the string must be 6 bytes, and the con-
                     tents must be the name to search, insert or delete in
                     the job or the library. A name must be a letter fol-
                     lowed by not more than 4 letters or digits and termi- \f

                     nated by at least one null-character. 
                      
                 Extraword: This is not a parameter used in the call of the pro-
                     cedure, but is an integer defined just after 'name' in
                     the variable section in the MUSIL program. 
                     If 'length' = 4 the batch status from the job isplaced
                     here if 'optype' = 0, and if 'optype' = 2 the contents
                     of 'extraword' is inserted after 'name'. 
                      
                  Result:   This is not a parameter used in the call of the pro-
                     cedure, but is an integer defined as second integer
                     after 'name'. 
                     The contents of 'result' is 0 if the call of the pro-
                     cedure causes no errors, otherwise 'result' is set to
                     1.
        
        
T_ 4.8       C_o_d_e_ _P_r_o_c_e_d_u_r_e_ _G_e_t_ _N_e_x_t_ _I_t_e_m_ 
        
           This procedure is used to run sequential through a job or a li-
           brary to get all the names one by one, e.g. run through a job in
&_           order to dump all the batches. 
            
           The zone with the job or library name must be opened for read-
           ing and positioned on the first block before the first call of
           the procedure. 
            
           The procedure must be declared as follows: 
            
      T_                  procedure getnex (file            z; 
                                       const length:   integer; 
                                       var name:       string (6); 
                                       var extraword:  integer; 
                                       var status:     integer); 
        &_                  codebody; 
                                        
                  P_a_r_a_m_e_t_e_r_s_:_ 
            
           z:        Call and return parameter of type 'file'. 
                     The parameter must be defined as a disc-file, i.e.
                     kind = 62 and sharelength = 512. z. zname must be the
                     name of the job or the library containing the names to
                     be read. 
                      
                  Length:   Call parameter of type 'integer'. \f

                     This parameter describes how many words in the library
                     or the job one item uses. If z. zname is a name of a
                     job, 'length' must be 4, and if z. zname is a name of
                     library, 'length' must be 3. 
                      
                  Name:     Return parameter of type 'string'. 
                            The length of the string must be 6 bytes. The contents
                     of 'name' after a call of the procedure is the next
                     name read in the job or the library. 
               Extraword:   Return parameter of type 'integer'. 
                     If z. zname is a name of a job, the batch status from
                     the job is placed here. If z. zname is a library name
                     it is undefined. 
                      
                  Status:   Call and return parameter of type 'integer'. 
                     Beforethe first call of the procedure, 'status' may be
                     undefined, but before the second and all the other
                     calls it must have one of the following walues: 
                      
                     =0:  The disc zone has been used for something else,
                          i.e. the zone has been destroyed and the jobor 
                          library name must be inserted in z. zname before 
                          calling the procedure. 
                      
                     =1:  The disc zone has not been used after lastcall. 
                           
                     =-1: This value must be used in the first call with
                          a new job or library name in z. zname afterthe 
                                procedure has been used on one job orlibrary. 
                           
                     When the procedure returns to the MUSIL program,
                     'status' has the values: 
                      
                     =0:  The end of the job or library has not been
                          reached yet. 
                      
                     =1:  The end of the job or library has beenreached. 
                          'Name' and 'extraword' are undefined.  
                      
 
T_      4.9       C_o_d_e_ _P_r_o_c_e_d_u_r_e_ _D_e_l_a_y_ 
            
                 This procedure is used to slow down a supervisor program with
&_           many disc transports in order to let keying operators work with-
           out speed-reduction, so the procedure must be used in programs,\f

           that read or write on the disc. 
            
           The procedure makes the MUSIL program wait a number of timer-
           periodes(one timer-period = 20 milliseconds) standing in mess3
           in a message buffer. The number is calculated by NANNY and de-
           pends on number of key stations in key, rekey and edit mode. The
           procedure is only effective if the supervisor key station has
           come to the supervisor mode by the control command SUPERVISOR
           SLOW. If the control command SUPERVISOR is used, mess3 is always
           set to 0. 
                  The procedure is declared as follows: 
            
                     procedure delay (var delayed: integer; 
                                      var bufaddr: integer); 
                     comebody; 
            
           P_a_r_a_m_e_t_e_r_s_:_ 
            
           Delayed:  Return parameter of type 'integer'. 
                     After a call of the procedure 'delayed' will contain
                     the number of timer-periods the program has waited. 
                      
                Bufaddr:  Call parameter of type 'integer'. 
                     The parameter must contain the address of that message
                     buffer, where mess3 contains the number of timer-
                     periods, the calling program must wait. This address
                     is the return-value of the parameter 'return'  in the
                     code procedure 'get command' (see section 4.1).  \f

F_      5         P_R_O_G_R_A_M_M_I_N_G_ _H_I_N_T_S_ 
 
 
        5.1       P_r_i_n_t_o_u_t_ 
            
           A supervisor program can produce a printout in the form of a
           survey, log, listing, and the like. The section describes the
           administration of the printouts and how to make a printout. 
            
           The printouts can be output in three ways: 
            
    T_          
                                                                 HARDCOPY 
           (3)                                               DEVICE 
            
           SUPERVISOR  WORKFILE        SPOOLFILE 
           PROGRAM       (1),(2)      ON      (2)      ON(2)
                                     DISC             DISC

 (1)
DISPLAY 
                                                             SCREEN 
    &_          
            
           (1) On the supervisor key station display screen. 
           (2) On a hardcopy device (e.g. line printer or operator console
               device) via a so-called spool-file. 
               (3) Directly on a hardcopy device. 
            
           The way printout is to be produced is selected by the operator
           when the supervisor command is entered. 
            
T_           Examples: 
                     SYSTEM DISC         Printout on display screen. 
                      
                     SYSTEM.S DISC       Printout on hardcopy device via
                                         spool-file. 
                          
                     SYSTEM.L DISC       Printout directly on hardcopy
&_                                              device. 
                
T_     5.1.1     S_p_o_o_l_-_f_i_l_e_ 
           The spool-file can contain printouts from several supervisor
           programs and the operator can stop and start printing from the
&_           spool-file. \f

                  This means that the hardcopy device may be used for non-data
           entry functions (for example conversion) simultanously with
           production of some data entry printouts to be printed later. 
            
T_      5.1.2     H_a_r_d_c_o_p_y_ _D_e_v_i_c_e_s_ 
           When a system-tape is installed some catalog entries are created
           to describe hardcopy devices. It can be such as the line printer
&_           or the operator console device (TTY). 
            
           The entries contain information about the device: device name,
           mode, kind, file, block, and giveup-mask. 
            
           The names of the entries are: 
            
                     HCOPY               Normal hardcopy device 
                                         It depends on the actual configura-
                                            tion, but can be the line printer
                                         for instance. 
            
                     HLPT                Line printer 
                      
                     HLPT1               Second line printer 
                      
                     HSP                 Serial printer 
                      
                     HSP1                Second serial printer 
            
                     HCPT                Charaband printer 
            
                     HCPT1               Second charaband printer 
            
                     HTTY                Operator console device (TTY) 
            
           The current hardcopy device can be changed to another one by the
           SPOOL NEWDEVICE - command (see reference 2, section 9). 
            
T_    5.1.3     O_p_e_n_i_n_g_ _o_f_ _A_c_t_u_a_l_ _D_e_v_i_c_e_ 
           When a supervisor program is called, the Supervisor finds out,
           where the printout must be placed. If it is in the work-file,
           this file is deleted and later on created again (by code
&_           procedure 'connect file'). 
           When the code procedure 'get parameter' (section 4.2) is called
           the first time the name of the work-file or the name of the
           catalog entry describing current hardcopy device is returned in
           the parameter 'item'. In parameter 'value' the procedure returns\f

                  if the printout must be written on the display screen or on a
           hardcopy device: 
            
        T_                  value = 0:          display screen 
                          value = 1:          hardcopy device. 
        &_         
           It is necessary to know the length of the lines to be written
           because the display screen has space for 80 characters, and a
           line printer has space for 132 characters. 
            
           To open the file the code procedure 'connect file' is used (see
           section 4.6). This procedure looks up the name in the catalog.
           If the entry is found, it is one of the names mentioned in
           section 5.1.2, and the procedure moves the device name, kind,
           and giveup-mask to the zone and or's the mode found with the
           mode given in the call of the procedure. If the entry is not
           found, it is the name of the work-file, which was deleted when
           calling the supervisor program. The procedure then creates an
           entry as a disc file. Hence it is very important that this
           procedure is called only once in a program. Finally the
           procedure opens the file and positions it at file and block. 
            
T_      5.1.4     H_o_w_ _t_o_ _m_a_k_e_ _t_h_e_ _P_r_i_n_t_o_u_t_ 
           A text string is written in the printout file by using the
           standard procedure OUTTEXT. This procedure stops writing the
&_           text string in the zone, when it meets a null-character, i.e.
           all strings to be used by OUTTEXT must be terminated by at least
           one null-character. The character set to be used must be the
           ASCII code. When the printout is output to the actual device it
           is automatically converted if the output device does not use the
           ASCII code (for example a line printer). The last character to
           be output in the printout before closing the zone must be an end
           medium character: value 25. 
            
           The last statement to be executed in a supervisor program must
           be a cll of the code procedure 'return' (section 4.3) with the
           parameter 'cont' equal to 0. If the program has made a printout
           with the end medium character as the last one, the parameter
           'printout' must be set to one. This informs the Supervisor that
           a printout has been made, and if it is written in the work-file,
           the Supervisor copies the printout from the work-file to the
           display screen or to the spool-file and from the spoo-file to
           the hardcopy device. The copying is stopped when the end medium
           character is met. If the printout is copied to the display
           screen and a line contains more than 80 characters, theSuper-\f

                  visor automatically inserts a 'new line'-character after the
           first 80 characters. 
                  All control characters (i.e. value less than 32 = SP) are
           ignored except 'new line' characters, this means that 'form
           feed' characters, for instance, has not effect. 
            
                 
T_      5.2       P_r_o_g_r_a_m_ _T_e_r_m_i_n_a_t_i_o_n_ 
            
           Before the program returns to the Supervisor by a cll of the
           code procedure 'return' with the parameter 'cont' = 0, all
&_           processes (i.e. driver- and area processes) which have been used
           by the program must be released (i.e. close (zone, 1);). Before
           closing the printout file, an end medium character must be
           OUTTEXTed. When using the code procedure 'return' it is
           important to set the values of the parameters in the right
           manner. 
            
                     Parameter 'action': 
                          'cont'         must be zero 
                          'check'        must be zero 
                          'printout'     must be 1 if a printout with an
                                         end medium character has been
                                              mode, otherwise to zero. 
                               'outputres'    must be set to 1 if 'txt1' and
                                              'txt2' describe standard texts and
                                         if the contents of parameter
                                         'result' must be output on the
                                         display screen after the standard
                                         texts. Otherwise 'outputres' must
                                         be set to zero. 
                                          
                          Parameter 'textmode': 
                                    If the parameter is not initialized in the
                               right way, it may causes some error-messages
                               from the Supervisor. 
                 
            
T_      5.3       E_r_r_o_r_ _P_r_o_c_e_d_u_r_e_s_ 
            
           After an error which cannot be corrected by the operator or no
           correction is wanted, the program execution must be terminated
&_           as described in section 5.2. When the procedure CLOSE is called
           a program loop may occur after an output error because closing
           output zone may result in a new output message which will call\f

           the giveup-procedure again and so on. 
            
                  This program loop can be avoided in two ways: 
            
           1:        The mode in erroneous zone is set to zero before
                     closing the zone. This will prevent further output
                     messages and the procedure CLOSE will only release the
                     process, but some output data may be lost. (This
                     action is shown in the program example in appendix F).
                      
                2:        An error-counter is used to count number of errors.
                     When a zone is opened the counter is set to zero. If
                     the giveup-procedure is called the counter is
                     increased by one and the program tries to close the
                     zone. This may result in one of two things: 
                     - the giveup-procedure is called once more and the
                       counter is increased by one 
                     - the error is corrected and the zone will be closed. 
                      
                     If the error counter then gets greater than for
                     example N the CLOSE-call cannot succeed and it is then
                     skipped. 
                      
                     If a call of CLOSE is succeeded the error-counter is
                     then set to N. (This action is shown in the program
                     example in appendix G, with N = 4). 
                      
                      
T_      5.4       C_r_e_a_t_i_o_n_ _o_f_ _a_ _B_a_t_c_h_ 
            
           If a batch is created by a supervisor program there are diffe-
           rent things to remember: 
&_           (The structure of a batch, see appendix C) 
            
           a) in the batch head: 
              - job name must be a name of a job file. If the job does not
                exist already, the job name must be inserted in the job li-
                brary (JBLIB) and a file with the job name must be created
                and the contents must be set according to the specifica-
                tions given in appendix B. 
              - the format name must be a name of an existing translated
                format if the batch later on must be rekeyed or edited. 
              - the batch name must be the same name as the name of the
                file where the batch is placed. 
              - the batch status word must be set to closed, i.e. bit 0 = 1\f

                (status = 100000DD8UU) or to closed and invalid, i.e. bit 0 = 1
              and bit 12 = 1 (status = 100010DD8UU). If the invalid bit (bit
          12) is set, some of the field in the batch may be invalid. 
              - number of blocks (word 14) and number of records (word 15)
                must be calculated and inserted in the batch head. 
                   - end format (word 26) must be set to 100000DD8UU as if the 'end'-
                statement in the format was executed. 
              - the other words in the batch head must be set to zero. 
            
           b) in the data record head: 
              - subname must be the name of a subformat in the format spe- 
                cified the the batch head. 
              - the length of the record and the record number in the batch
                must be calculated and inserted. 
              - the other bytes must be set to zero. The record status can
                be set to non-zero, if the record must not be dumped.
                (Normally the supervisor program 'dump' will skip records
                with invalid status). 
                 
           c) in the data record end: 
              - subname must be the same as subname in the record head. 
              - record end mark must be one byte with the value 28DD10UU.
           
           d) in the fields: 
              - the field status can be set to non transfer if the data in 
                the field must not be dumped or transferred. 
              - the field end mark must be one byte with the value 27DD10UU. 
            
           e) register records: 
              - the register records may n_o_t_ be made by a supervisor
                  program. 
            
           If a batch, made by a supervisor program, must be corrected with
           EDIT the batch must contain register records. They are made in
           this way: 
            
           1) leave supervisor mode with the supervisor command STOP 
-batchname-       2) key: EDIT   batchname 
           3) key: END 
            
           This will causes the editor to run through the batch and make
           the register records. At the same time the states of the fields,
           the records and the batch will be set according to the format
           (specified in the batch head). 
            
          After this the batch can be corrected with EDIT.\f

  F_    6         O_P_E_R_A_T_O_R_ _C_O_M_M_U_N_I_C_A_T_I_O_N_ 
 
 
           When a supervisor program has been called from the supervisor
                  key station, the communication with the program may be done
           either from the supervisor key station, if the program uses the
           code procedures 'get command', 'get parameter' and 'return', or
           from the RC 3600 operator console device (TTY), if the program
           uses the standard operator communication procedures described in
           reference 1. 
            
             The latter communication is recommended for greater supervisor
           programs such as print image programs, paper tape conversion
           programs etc., because it gives a possibility for temporary
           halts of the program execution caused by the operator. 
            
           When using the code procedures 'get command', 'get parameter',
           and 'return' all the communication between the program and the
           operator is automatically written in the log-file by the
           Supervisor. This means that the supervisor program has not to
           make any action to write in the log-file. (The log-file can be
           dumped and printed by the standard supervisor programs DUMPSTAT
           and LISTLOG, see reference 2, section 9). 
            
           As can be seen in appendix F communications via the key station
           has been made possible by 
                     1)  calling the codeprocedure 'return' with 'cont' = 1
                     2)  calling the codeprocedure 'get command' this will 
                         wait until the operator has answered the question
                         asked for with 'return'. 
                          
                         The answer is given in 'comline' as a return
                         parameter from 'get command' 
                         - if the answer has been syntax-checked by the
                           Supervisor the items from the answer must be
                           picked up by using 'get parameter'. 
                         - if the answer has not been syntax-checked
                           'comline' holds a normal text string. 
                          \f

F_      7         I_N_S_T_A_L_L_A_T_I_O_N_ _O_F_ _N_E_W_ _S_U_P_E_R_V_I_S_O_R_ _P_R_O_G_R_A_M_S_ 
 
 
           A new supervisor program is put into the Data Entry System by
           means of the standard supervisor program PUT. In this way it is
           not necessary to generate a new system tape every time a new
           supervisor program has been made. 
            
           The binary supervisor program (i.e. the output from the MUSIL
           compiler) may be read from either paper tape or magnetic tape. 
            
           The supervisor command for PUT is fully described in reference
           2, section 9. Please consult this description.\f

F_      A_P_P_E_N_D_I_X_ _A_:_ _S_T_R_U_C_T_U_R_E_ _O_F_ _A_ _L_I_B_R_A_R_Y_ 
 
 
           The five libraries in the Data Entry System are structured in
           the same way. Each of them is an extensible disc file containing
           a group of names with the same characteristics. A disc file is a
           collection of blocks. The first two bytes in the first block is
           a counter containing number of names in the library. The first
           two bytes in other blocks are undefined. The rest of each block
           is divided into groups of 6 bytes, each group containing one
           name. One block can in this way contain 85 names (one block =
           512 bytes: two bytes for counter or undefined, 510 bytes for
           names of 6 bytes = 85 names). 
            
           A name consists of a letter followed by not more than 4 letters
           or digits terminated by at least one null-character. 
            
       T_         Examples: 
            
                         name BAJ01                          name B75 
           1. byte    B    A    2. byte       1. byte    B    7    2.byte 
           3. byte    J    0    4. byte       3. byte    5   null  4. byte 
       &_         5. byte    1   null  6. byte       5. byte   null null  6. byte 
            
           When a name is deleted by the code procedure find item (section
           4.7) the first two bytes in the name are overwritten with null- 
           characters and the counter is decreased by one. This makes a
           free space in the library. When a name is inserted in the
           library by the same procedure, it is inserted on the first free
           place (and n_o_t_ after all the other names) and the counter is
           increased by one. 
            \f

F_      A_P_P_E_N_D_I_X_ _B_:_ _S_T_R_U_C_T_U_R_E_ _O_F_ _A_ _J_O_B_ 
 
 
           A job is an extensible disc-file containing a group of batch
           names and for each batch name a status of the batch. 
 
           The first two bytes in the first segment is a counter containing
           number of batches in the job. The first two bytes in the other
           blocks are undefined. The rest of each block is divided into
           groups of 8 bytes, each group containing one batch name and the
           status of the batch. One block can in this way contain 63 batch
           names with states (One block = 512 bytes: two bytes for counter
           or undefined, 510 bytes for names and states of 8 bytes = 63
           names, rest 6 bytes). 
            
           A name in a job (a batch name) is structured in the same way as
           a name in a library (see appendix A). 
            
           The status of a batch in a job tells, if the batch is used for
           keying, rekeying or editing. 
            
        T_                  status = 0:         the batch is not in use. 
                     status = 1:         the batch is used for keying. 
                     status = 2:         the batch is used for rekeying. 
                     status = 3:         the batch is used for keying and
                                         rekeying. 
        &_                  status = 4:         the batch is used for editing. \f

F_      A_P_P_E_N_D_I_X_ _C_:_ _S_T_R_U_C_T_U_R_E_ _O_F_ _A_ _B_A_T_C_H_ 
 
 
           A batch is a disc-file containing the records with the fields.
           The records are stored from the second block and forward in the
           file. The first block contains some information about the batch
           and is called the batch head. The batch is terminated by a batch
           end mark. 
            
           Example: 
            
T_  block 0   block 1    block 2     block 3     block 4       block 5
      
&_batch head  rec 1  rec 2  rec 3  rec 4  rec 5  rec 6  rec 7  batch end mark
 
                 
T_      C.1       B_a_t_c_h_ _H_e_a_d_ 
            
           The contents of the batch head is: 
                      
                  word 0-2:    Job name: the name of the job, to which the
&_                               batch belongs. 
                       word 3-5:    Format name: The name of the translated
                               format to be used when keying, rekeying and
                                    editing the batch. 
                       word 6-8:    Batch name. 
                  word   9:    Batch status (see below). 
                  word  10:    Byte count in old batch last block. 
                  word  11:    Byte count in work batch last block. 
                  word  12:    Block address of last register record. 
                  word  13:    Byte address of last register record. 
                  word  14:    Number of blocks in the batch inclusive the
                               batch head. 
                       word  15:    Number of data records in the batch. 
                  word  16:    Number of rekeyed records. 
                  word  17:    Number of invalid records. 
                  word  18:    Activation time, real time clock 1. 
                  word  19:    Activation tiem, real time clock 2. 
                  word  20:    Block count in old batch. 
                  word  21:    Block count in work batch. 
                  word  22:    Name of current subformat. 
                  word  23:    Current record number in old batch. 
                  word  24:    Current record number in work batch. 
                  word  25:    Maximum number of records in work batch. 
                      word  26:    End format: = 100000DD8UU indicates thatthe\f

                                 'end'-statement in the format is executed. 
 
                         The rest of the batch head is not in use yet, i.e. must 
                  all be zeroes. 
 
           The batch status word is 16 bit, where the value of all the
           bits, except the last one (bit 15) gives a status: 
                   
               all bits = 0:   the batch is empty 
                  bit 0 = 1:   the batch is closed 
                         bit 1 = 1:   the work batch is closed 
                  bit 2 = 1:   the batch is editing. 
                  bit 3 = 1:   the batch is rekeying. 
                         bit 4 = 1:   the batch is keying. 
                  bit 5 = 1:   the batch must be rekeyed (the parameter
                               'rekey' has been used in the 'set'-command).
                       bit 6 = 1:   the batch has been rekeyed.
                  bit 7 = 1:   the batch has been partial rekeyed. 
                       bit 8 = 1:   the batch has been edited. 
                  bit 9 = 1:   the batch has been saved by the supervisor
                               program 'save'. 
                       bit 10 = 1:  the batch has been dumped by the supervisor
                               program 'dump'. 
                       bit 11 = 1:  the batch has been transferred. 
                  bit 12 = 0:  the batch is valid. 
                       bit 12 = 1:  the batch is invalid, i.e. one or more
                               fields are invalid. 
                       bit 13 = 1:  the batch has been sorted. 
                  bit 14 = 1:  the batch must be valid (the parameter
                               'valid' has been used in the
                                    'set'-command). 
                 
            
T_      C.2       R_e_c_o_r_d_s_ 
            
                The are two types of records: data records containing the data
           which has been keyed to the batch, and register records, made by
&_           NANNY as a copy of the register area, and is written in the
           batch for every 10 data records. 
            
T_      C.2.1     D_a_t_a_ _R_e_c_o_r_d_s_ 
           A data record contains a record head, a number of fields and a
&_           record end. 
            \f

    T_         Example: 
                   ________________________________________________________________
                
           rec.      field 1   field 2   field 3   field 4   field 5   rec.
    &_         head                                                        end 
                   
           The contents of the record head is: 
           byte 0:      Subname: the name of the subformat used when keying
                        the record. 
                byte 1-2: The total record length. 
           byte 3-4:    Record number in the batch. 
           byte 5:      Record status: number of invalid fields in the
                        record. 
           byte 6:      Rekeyed. 
           byte 7-8:    Block number of corresponding record in old batch. 
           byte 9-10:   Byte number of corresponding record in old batch. 
            
           The contents of the record end is: 
           byte 0:      Subname the same as byte 0 in the record head. 
           byte 1:      Record and mark: one byte with the value 28DD10UU. 
            
           The contents of a field is: 
           byte 0:      Field status: 
                        bit 7 = 1: invalid 
                        bit 7 = 0: valid 
                        bit 6 = 1: skip 
                        bit 5 = 1: skip by statement 
                        bit 5 = bit 6 = 0: not skip 
                        bit 0 = 0: transfer field 
                        bit 0 = 1: no transfer field 
                         
           byte 1   n:  data (max 80 characters in ASCII code with values 
                        greater than 31DD10UU). 
           byte n + 1:  field end mark, value 27DD10UU. 
                         
           Fields with the status no transfer and fields with the lenght 0 are
           placed as the last fields in the record. 
 
T_      C.2.2     R_e_g_i_s_t_e_r_ _R_e_c_o_r_d_s_ 
A register record contains a record head, a register area and a
&_          record end. 
 \f

T_        Example: 
           
          ________________________________________________________________
 
          rec.                      register area                     reg.
         head                                                        end 
&_
                   
          The contents of the record head is: 
          byte 0: Subname, the ASCII character '?', value 63. 
          byte 1-2:    Total record length. 
          byte 3-4:    Record number in batch. 
          byte 5-6:    Not used for register records. 
          byte 7-8:    Block number of previous register record. 
          byte 9-10:   Byte number of previous register record. 
          byte 11-12:  Register top. 
          byte 13-14:  Number of rekeyed records. 
          byte 15-16:  Number of invalid records. 
           
          The contents of the register area is: 
          word 0:      Pointer to length, and contents of register 01. 
          word 1:      Pointer to length, and contents of register 02. 
           
          And so on to the last pointer to length, type, and contents of
          last register. 
           
          After these pointers each register is described as follows: 
          byte 0:      Length of register X 
          byte 1:      Type of register X. 
2 - n+1 pil       byte 2  n+1: Contents of register X, n = the length of register
                       X. 
           
          The contents of the record end is: 
          byte 0:      Subname, the same byte 0 in the record head, i.e.
                       '?'. 
                byte 1:      Record end mark: one byte with the value 28DD10UU. 
                        
          The register records may n_o_t_ be made by a supervisor program.
          They are made as checkpoints of the current state of the batch
          after keying a number of data records. 
           
           
T_      C.3       B_a_t_c_h_ _E_n_d_ _M_a_r_k_ 
           
&_          The batch end mark is one byte with the value 29DD10UU. \f

          The last bytes in a batch are then: 

                   
T_                           field 27DD10UU  subname  28DD10UU  29DD10UU
           _  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ________________ 

                                   field         rec    batch 
&_                           end           end    end 
                   
          If the batch is empty the second block of the batch contains a
          batch end mark in the first byte, i.e. 
           
      T_                  batch head   29DD10UU 
           
                   ____________________ 

   batch 
                                 end 
           
      &_                  1. block     2. block 
           
           \f

F_      A_P_P_E_N_D_I_X_ _D_:_ _D_I_A_G_R_A_M_ _O_F_ _H_O_W_ _T_O_ _U_S_E_ _T_H_E_ _C_O_D_E_ _P_R_O_C_E_D_U_R_E_ _'_R_E_T_U_R_N_'_ 
 
 








KOPI AF SKEMA FRA MANUSKRIPT SÆTTES IND HER! 

                 (side APP-D - se index - fotograferes ned til 16 cm i bredden)\f

   F_             C:        The new input must be syntax checked: 
                    check = 0: yes 
                    check = 1: no 
                     
                  O:        A printout has been produced and must be copied to
                    hardcopy device via spool-file or to supervisor key
                    station display screen. 
                    printout = 0: no 
                    printout = 1: yes 
                     
                P:        The number in parameter 'result' must be output after
                    txt1 and txt2: 
                    outputres = 0: no 
                    outputres = 1: yes 
                     
                R1:       These three places must be filled in as 4, 5, or 6. 
                     
                R2:       The value of parameter 'textmode' gives the meaning of
                    the contents of parameter 'text': 
                     
                    textmode = 2: byte 1-80 of 'text' is a replace- 
                    command, i.e. a cll of another supervisor program. The
                    command must be terminated by a null-character. 
                     
                    textmode = 3: byte 1-80 of 'text' is a text (termi-
                    nated by a null-character) to be output on the super-
                    visor key station display instead of standard text(s).
                     
                    Byte 81-160 of 'text' is a replace-command (terminated
                    by a null-character). \f

F_      A_P_P_E_N_D_I_X_ _E_:_ _S_T_A_N_D_A_R_D_ _T_E_X_T_ _N_U_M_B_E_R_S_ 
           
           
          In the Data Entry System the following texts with the
          corresponding numbers are available to be used in the code
          procedure 'return': 
           
          Textnumber  Text             Textnumber  Text
            
1          stop             26          length 
           2          printer27next 
           3          break28punch 
           4syntax29transmit 
           5batch30erase 
           6state31dte 
           7error32tape ser 
           8magtape33number 
           9load err34file gen 
          10** supv35informa 
          11not name36real seq 
          12ok37block 
          13cf list38factor 
          14cf list;39load 
          15disc40table 
          16file41full 
          17ident42printout 
          18unknown43in use 
          19exist44format 
          20no room45job 
          21name46subprogr 
          22chars47disctabl 
          23copied48reader 
          24not49library 
          25record\f

F_      A_P_P_E_N_D_I_X_ _F_:_ _P_R_O_G_R_A_M_ _E_X_A_M_P_L_E_ _V_O_L_U_M_E_ 
 
 
          This program example shows the communication between the program
          and the operator by using the code procedures 'get command' and
          'return'. 
           
          The program returns only with 'action' = continue, i.e. no check
          of the new input shall be made, and therefore the code procedure
          'get parameter' is not used. This is done because the operator
          may key letters as well as digits after the text 'magtape
          number =' has appeared on the display screen, so the new input
          may not fullfil the syntax rules. 
           
          In the giveup-procedure for magtape, procedure 'mterror', is
          zmode set to zero before the jump to the call of CLOSE, which
          will release the driver process if an error on the magtape
          occurs. 
           \f

        F_












HER FØLGER 5 SIDER MED UDSKRIFTER\f

F_      A_P_P_E_N_D_I_X_ _G_:_ _P_R_O_G_R_A_M_ _E_X_A_M_P_L_E_ _D_U_M_P_ 
 
          This program example shows how to use all the standard code pro-
          cedures except procedure allaccess (this is used in the same way
          as procedure access), and it shows how to make a printout by  
          'outtext'. 
           
          The main program starts by getting the command line into 'com-
          line'. Then it initializes all the error-counters to 4. When a
          zone is opened the corresponding error-counter is set to zero
          and when the zone is closed, it is set to 4 again. 
           
          The parameter in 'comline' is received by calling the code pro-
          cedure 'get parameter ' (gtpm). First call gives the name of the
          printout file and it is saved in 'lname', which is used in the
          call of code procedure 'connect file' (connec). 
           
          Most of the texts written with 'outtext' are constant texts spe-
          cified in the constant section of the program. They are termi-
          nated by invisible null-characters and 'outtext' will therefore
          stop on these null-characters. But if a constant string is moved
          to another string, this null-character is lost and must be in-
          serted as the last character. When writing the constant line
          'headline' the name from the command line is inserted and to be
          sure that eventual null-characters in the name will not stop
          'outtext' the procedure 'outname' is called to change the null-
          characters to spaces. 
           
          When all of the batches in a job must be dumped, the job is
          opened and the batch names are found one by one by calling the
          code procedure 'get next item' (getnext). If the zone has not
          been destroyed between two calls, the parameter 'res' (correspon-
          ding to 'status') must be 1 before the call (i.e. if the batch
          does not exist as a disc-file or if the batch is used by another
          key station). 
           
          The procedure 'dumpbatch' opens the batch and checks the batch
          head. Then it reads the data in the batch by calling the code
          procedure 'access' (acces), and when a new block is read, the
          program must wait some timer-periods by calling the code proce-
          dure 'delay'. 
           
          Before running to the Supervisor by calling the code procedure
          'return' (retur) the program must release all drivers and area
          processes, but only if the error-counter is smaller than 4. This\f

                  will avoid a program loop if an error has occured. Then the pa-
          rameter 'rtext1' (corresponding to 'action') is packed and the
          call of 'return' will continue = 0 will return to the Supervisor.
           \f

F_










                  HER FØLGER 15 SIDER MED UDSKRIFTER FRA LISC \f

F_      A_P_P_E_N_D_I_X_ _H_:_ _R_E_F_E_R_E_N_C_E_S_ 
 
          1.        MUSIL Programming Guide, RCSL 42-i 0344 
 
          2.        Data Entry, Release 2, Users Guide, part 2 
                                             RCSL 43-GL 4796 \f

F_      APPENDIX I 
 
I_N_D_E_X_ 
 
The references are pointing out page numbers. 
 
 
 
access.............................................4, 12, 13, 14, G-1 
action.............................................  9, 25, F-1, G-1 
adding new supervisor programs (see PUT) 
allac (see allaccess) 
allaccess..........................................  4, 14, 15, G-1 
apostrophe......................................... 7
ASCII code......................................... 24 
   
batch..............................................  3 
  -   creation (see create batch)..................  
      -   end mark.....................................  3, 14, C-1, C-5 
  -   head......................................... 3, 27, C-1 
-   name........................................27, C-1 
  -   status....................................... 27, B-1, C-1, C-2 
  -   structure.................................... C-1 
-   termination (see batch end mark)............. 
block..............................................15, 23 
bufaddr............................................ 21 
         
     catalog entry......................................  15 
check..............................................9, 10, 25, D-1, D-2 
close devices/processes............................25, 26, F-1 
cmnd (see get command) 
      code procedure, standard...........................5 
      coding of supervisor programs......................4 
      combine............................................5, 7, 29, G-1 
      command line.......................................4 
        -     line, empty................................6,8 
      connec (see connectfile) 
     connectfile........................................  4, 6, 15, 24, G-1 
     cont...............................................  9, 10, 11, 25, 29,D-1 
continue execution (see cont) 
control characters.................................  25 
core tables (see table(s)) 
create batch.......................................  27 
create entry.......................................  15 
 

        (husk at rette sidenummereringen før genoptryk !!!!!!!!!!!!!!!!!)\f

        data records.......................................  3, C-3 
 decimal numbers....................................  7 
 delay..............................................  21, G-1 
delayed............................................  21 
 delete in library (see library, delete) 
  -    item (see library, delete) 
 device name........................................  15, 23 
        differences, allaccess and access..................  14 
        disc files.........................................  2 
          -  table.........................................  2 
          -    -   library.................................  2, 18 
        DTLIB (see disc table library) 
        DUMPSTAT..........................................   29 
         
        EDIT...............................................  28 
        empty command line.................................  6, 8 
        end medium.........................................  24, 25 
        error counter......................................  26, G-1 
        error procedures...................................  26 
        extraword..........................................  17, 18, 19, 20 
         
        FBLIB (see format library) 
        field..............................................  13, 15, 28 
          -   end mark.....................................  28, C-4 
          -   status.......................................  13, 14, 28, C-4 
          -   structure....................................  C-4 
        file..15, 23 
          -  descriptor....................................  15 
        find item..........................................  4, 16, A-1 
        fitem (see find item) 
        format.............................................  2 
          -    library.....................................  2, 18 
          -    name........................................  27, C-1 
         
        get command........................................  4, 5, 21, 29, F-1 
         -  new input......................................  8, 10, D-1 
getnex (see get next item) 
get next item......................................  4, 19, G-1 
         -  parameter......................................  4, 6, 16, 24, 29, 
                                                     F-1, G-1 
        give up mask.......................................  15, 23 
 -   -  procedure (see error procedure) 
gtpm (see get parameter) 
 \f

T_hard copy device...................................  4, 6, 10, 15, 22, 
&_                                                     23, 24, 25, D-2 
        HCOPY..............................................  23 
 HCPT...............................................  23 
 HCPT1..............................................  23 
HLPT...............................................  23 
 HLPT1..............................................  23 
HSP................................................  23 
 HSP1...............................................  23 
        HTTY...............................................  23 
         
        insert in library (see library, insert) 
          -    item (see library, insert) 
        install new programs (see PUT) 
        integer parameter.................................   6, 8 
        item...............................................  6, 7, 24 
         
        JBLIB (see job library) 
        job................................................  2, 3, 19 
         -  library........................................  2, 3, 18, 27 
         -  name...........................................  27, C-1 
         -, read...........................................  18 
         -  structure......................................  B-1 
         
        kind...............................................  7, 8, 15, 23 
         
        last parameter (see termination) 
        length.............................................  16, 17, 18, 19 
          -   , printout line..............................  24 
        library............................................  2, 17, 19 
          -    , delete....................................  4, 16 
          -    , insert....................................  4, 16 
          -    , lookup....................................  4 
          -    , read......................................  18, 19 
          -    , search....................................  4, 16 
          -    , structure.................................  A-1 
        LISTLOG............................................  29 
        log file...........................................  29 
lookup in library (see library, lookup) 
 
        mess3..............................................  5, 21 
message address....................................  5 
mode...............................................  15, 23 
MUSIL compiler.....................................  4 
  -   programming..................................  4 \f

T_name...............................................  15, 16, 17, 18, 19, 
&_                                                     20, A-1 
        name definition....................................  A-1 
 NANNY..............................................  21 
 new input (see get new input) 
 -  line...........................................  25 
  -  supervisor program (see PUT) 
no text............................................  9, D-1 
  - transfer field..................................  12, 14, 28 
        null character.....................................  6, 7, 11, 14, 18, 
                                                             24, D-2 
        number.............................................  13, 14 
          -   , decimal....................................  7 
          -   , octal......................................  7, 9 
         
        octal number.......................................   7, 9 
        open printout (see connect file) 
        operator communication.............................  29 
        optype.............................................  16, 17 
        outmode............................................  15, 16 
        output device for printout (see printout) 
        outputres..........................................  9, 11, 25, D-1, D-2 
        outtext............................................  24, 25, G-1 
         
        parameter..........................................  4 
            -    , integer.................................  6, 8 
            -    , last (see termination) 
            -    , termination.............................  6 
            -    , terminator..............................  6 
            -    , text....................................  6, 8 
            -    , type....................................  6 
        period.............................................  6, 8 
        printer............................................  23 
        printout...........................................  6, 9, 10, 12, 15, 16,
             22, 24, 25, D-1, D-2 
           -    , conversion...............................  24 
           -     file name.................................  7 
           -     line, length..............................  24 
print, open (see connect file) 
program example....................................  F-1, G-1 
   -    termination................................  25 
PUT................................................  4, 30 
 
read batch end mark................................  14 \f

        read field.........................................  4, 12, 13 
 -     -   status..................................  13 
 -   in job (see job, read) 
        read in library (see library, read) 
         -   record end....................................14
  -      -   head...................................13
 -      -   status.................................13
  -   subformat name................................13
receipt (see return) 
 receive command line (see get command) 
        record.............................................3, C-3
          -   , data (see data records) 
          -    end mark....................................14, 28, C-3, C-4, C-5
          -    head........................................3, 13, 27, 28, C-3, C-4
          -   , register (see register records) 
          -    status.....................................   3, 13, 14, 27, C-3 
          -    structure...................................  C-3 
        register area......................................  C-5 
          -      records...................................  3, 12, 28, C-4 
        release devices/processes..........................  25 
        reloctable binary object code......................  4 
        remove process.....................................  8 
        replace current supervisor program.................  11, 12, D-1, D-2 
        result.............................................  9, 11, 17, 18, D-1, 
                                                             D-2 
        return.............................................  4, 5, 8, 9, 21, 25, 
                                                             29, E-1, F-1, G-2 
         
        search in library (see library, search) 
          -    item (see library, search) 
        semaphore function.................................  9, 10 
          -       ident....................................  10 
          -      , signal..................................  10, D-1 
          -      , wait....................................  10, D-1 
        sep................................................  7 
        signal semaphore (see semaphore, signal) 
        skip register records (see access) 
        slow down..........................................  4, 21 
        space..............................................  6, 8 
special actions....................................  9 
SPLIB (see subprogram library) 
spool file.........................................  23, 25, D-2 
SPOOL NEWDEVICE....................................  23 
standard code procedures...........................  5 
   -     text......................................  9, 10 \f

        standard text number...............................  E-1 
   -      -   output...............................  D-1 
T_status.............................................  13, 14, 15, 19, 20, 
&_                                                     G-1 
        status word........................................  3
subformat name.....................................  27, 28, C-1, C-3,
                                                       C-4, C-5 
subname............................................  13, 14, 15 
 subprogram.........................................  2 
   -       library.................................  2, 18 
 syntax check.......................................  5, 10, 29 
        SUPERVISOR.........................................  21 
        supervisor display.................................  4, 6, 10 
        SUPERVISOR SLOW....................................  21 
         
        table..............................................  2 
          -   library.....................................   2, 18 
        TBLIB (see table library) 
        termination........................................  6, 8, 11, D-1 
          -        , batch.................................  3 
          -        , program...............................  26 
        terminator, parameter..............................  6, 8 
        text...............................................  9, 10, 11, D-1, D-2 
        textmode...........................................  9, 11, 26, D-1, D-2 
        text parameter.....................................  6, 8 
        timer period.......................................  21 
        transfer field.....................................  13 
        TTY................................................  23 
        txt1...............................................  9, D-1, D-2 
         - 2...............................................  9, 10, D-1, D-2 
        type, parameter....................................  6 
         
        value..............................................  6, 7, 24 
         
        wait semaphore (see semaphore, wait) 
         -  , timer periods................................  21 
        work file..........................................  15, 24, 25 
         
        z..................................................  13, 15, 16, 17, 19 \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.  INSTALLATION ...........................................   2 
           \f

                                                 ii 
           \f

         1_._ _ _ _ _ _ _ _ _I_N_T_R_O_D_U_C_T_I_O_N_ 1.
           
          The present issue of MailMerge 3.0 has been adapted for use on
          your RC700 Microcomputer System. 
           
          The MailMerge option for WordStar 3.0 contains the following: 
           
          - This manual "MailMerge for the RC700 Microcomputer System, In-
            stallation Guide". 
           
          - MicroPro's dokumentation of MailMerge: 
            - Sections No 9, 10 and 11 of the "WordStar, Reference Manual".
           
          - A diskette containing the MailMerge option to WordStar. 
           
          Do not write on the original distribution diskette as it is your
          master copy and serves as last back-up in case of grave errors. 
           
               \f

F_       2_._ _ _ _ _ _ _ _ _I_N_S_T_A_L_L_A_T_I_O_N_ 2.
           
          Start by making a copy of the original distribution diskette. 
           
          Transfer the files from the MailMerge distribution diskette to a
          diskette containing your WordStar 3.0 system. No further instal-
          lation or modification is necessary. 
           
               \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.  CONTROLS ..............................................   2 
           
          3.  OPERATING PROCEDURES ..................................   5 
           
          4.  GENERAL KEYBOARD DESCRIPTION ..........................   7 
              4.1  Character Keys ...................................   7 
              4.2  Program Controlled Keys ..........................   7 
              4.3  Local Control Keys ...............................   8 
           
          5.  RC822 KEYBOARD ........................................   9 
              5.1  Program Controlled Keys ..........................   9 
              5.2  Local Control Keys ...............................   9 
           
          6.  RC828 KEYBOARD ........................................  12 
              6.1  Program Controlled Keys ..........................  12 
              6.2  Local Control Keys ...............................  12 
           \f

                                                 ii 
           \f

         1_._ _ _ _ _ _ _ _ _I_N_T_R_O_D_U_C_T_I_O_N_ 1.
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
          Figure 1: Visual display unit and keyboard. 
           
          The consoles/terminals described in this operating guide are all
          based on the same type of visual display unit whereas the key-
          boards have a different layout and different function keys
          depending on the specific RC product number of the console/
          terminal. 
           
          The visual display unit is referred to as VDU. 
           \f

F_       2_._ _ _ _ _ _ _ _ _C_O_N_T_R_O_L_S_ 2.
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
          Figure 2: Controls. 
           
          POWER ON/OFF                - a mains power switch is located at
                                        the left side of the VDU. 
                                         
                                        In console applications the switch
                                        can be switched to its ON position,
                                        and left in the ON position, at the
                                        first time of operation. The VDU
                                        will then be switched on/off as the
                                        system is switched on/off. 
                                         
          1) Switch selectors         - when pressed inwards the features
                                        are selected as described below.
                                                 The switches are self-locking, to
                                        deselect the features, press once
                                        more.  
                                         \f

               TAPE                   - for maintenance purpose only. 
                                         
                                        Causes all recieved characters to
                                        be displayed including control
                                        characters. The tape key on some
                                        keyboards provide the same
                                        function.  
                                         
               FULL DUP               - in-position : full duplex; 
                                        out-position: half duplex. 
                                         
               DATA RATE              - the switch provides selection
                                        between two preset communications
                                        speeds. 
                                         
                                        Usually to be left untuched by the
                                        operator as the setting is part of
                                        the overall system tuning (deter-
                                        mined by software). 
                                         
               EIA                    - for maintenance purpose only. 
                                         
                                        In-position selects EIA (or V.24)
                                        signals.  
                                         
          2) Indicators               - when an indicator is lit, the
                                        following is ment: 
                                         
               CD (Carrier Detect):     a feature of the communications
                                        equipment, showing that the
                                        connection is established. 
                                         
                       RS (Ready to Send):      like the CD indicator, but showing
                                        readiness for transmitting from the
                                        keyboard.  
                                         
                                        Both the CD and the RS indicator
                                        should be lit, when the terminal is
                                        on-line. 
                                         \f

          3) Display Screen Controls  - adjustment of brightness and
                                        contrast are provided by these two
                                        control knobs.  
               - knob closest to the     
                 front side:            controls the brightness of the
                                        displayed characters. (Sometimes
                                        labelled BRIGHTNESS.) 
               - knob closest to the     
                          rear side:             controls the contrast in displaying
                                         characters. (Sometimes labelled
                                        CONTRAST.) 
                                         
          4) Loudspeaker Adjustment   - the knob is used to adjust the
                                        loudness of the acoustic signal
                                        from the loudspeaker.  
                                         
                                        The acoustic signal is heard when
                                        receiving a BELL code. \f

F_       3_._ _ _ _ _ _ _ _ _O_P_E_R_A_T_I_N_G_ _P_R_O_C_E_D_U_R_E_S_                                             3.
           
          Turn on the mains power with the POWER ON/OFF switch. When
          applied as a console, the power can be controlled via the
          system if the POWER ON/OFF switch is left in the ON position
          after first time of operation.  
           
          The selector switches should normally be positioned as follows: 
           
            TAPE       : out-position 
            FULL DUP   : in-position, or according to specification 
            DATA RATE  : according to specification 
            EIA        : in-position 
              
          At the time the communications facilities are available for use,
          the CD and ultimately the RS indicators will light. As long as
          the terminal is on-line, these indicators should light. 
           
          How to access the system and further information regarding
          terminal operations will be found in the publications concerned
          with software systems and applications. 
           
          In a first-time operating situation and whenever convenient at
          start of operations the following check procedures are performed:
           
          1. The display is checked by switching the FULL DUP selector to
             its out-position, then select any of the character keys and
             hold that key pressed down along with pressing down the REPT
             key.  
              
                      The screen should now be filled up with that character. (Note:
             After checking, restore FULL DUP selector to correct posi-
             tion.) Applicable to RC822 only.  
 \f

          2. Adjust the brightness control until the raster is no longer
             visible and then adjust the contrast control for the most
             pleasing presentation. A moment spent on determining the
             optimum setting for both brightness and contrast controls is
             well spent, since this will reduce operator fatique. Remember
             though, that the setting may need to be changed as the ambient
             light level changes.  
              
             Adjustments of brightness and contrast are provided by the
             control knobs located at the right side of the terminal.  
              \f

F_       4_._ _ _ _ _ _ _ _ _G_E_N_E_R_A_L_ _K_E_Y_B_O_A_R_D_ _D_E_S_C_R_I_P_T_I_O_N_                                     4.
           
          The keyboards differ with respect to the RC product number. The
          different types of keyboards used with the VDU are described in
          the chapters following. 
           
          Commen to all keyboards is the presence of three types of keys: 
           
          - the character keys, 
          - the program controlled keys, and 
          - the local control keys. 
           
           
4_._1_ _ _ _ _ _ _ _C_h_a_r_a_c_t_e_r_ _K_e_y_s_ 
           4.1
          The character keys are functioning as on an ordinary typewriter,
          i.e. pressing a key will transmit the character to the system in
          accordance with the engraving on the key cap. Also the keyboard
          layout is like that of a typewriter. Different layouts may
          appear, depending on the national character set applied.  
           
           
4_._2_ _ _ _ _ _ _ _P_r_o_g_r_a_m_ _C_o_n_t_r_o_l_l_e_d_ _K_e_y_s_ 
           4.2
          It is important to note that the functions of the program con-
          trolled keys will differ from system to system. Specific infor-
          mation regarding function and usage should be found in the publi-
          cations covering software systems and applications. The program
          controlled keys are mentioned for each type of console/terminal
          as they appear in general on that type regardless of possible
          options.  
           \f

         4_._3_ _ _ _ _ _ _ _L_o_c_a_l_ _C_o_n_t_r_o_l_ _K_e_y_s_                                                  4.3
           
          The local control keys are provided in order to enable usual
          typewriter functions, cursor controlling, etc. Note that a
          general-purpose terminal contains few program controlled keys and
          many local control keys opposite to a data entry terminal which
          contains many program controlled keys and few local control keys.
          Some of the local control keys (especially the cursor control
          keys) may as well be affected by the software system applied. 
           \f

F_       5_._ _ _ _ _ _ _ _ _R_C_8_2_2_ _K_E_Y_B_O_A_R_D_ 5.
           
5_._1_ _ _ _ _ _ _ _P_r_o_g_r_a_m_ _C_o_n_t_r_o_l_l_e_d_ _K_e_y_s_ 
           5.1
          ESCAPE 
          LINE FEED 
          RETURN 
          RUB OUT- function determined by the software
          BREAK                         system. 
          BACK SPACE 
           
          CTRL                       - used to generate control codes
                                        which are not directly provided on
                                        the keyboard by assigned keys.  
                                         
                                        The CRTL key is pressed down and
                                        kept in the down-position, at the
                                        same time an alphanumeric key is
                                        pressed down - a control code cor-
                                        responding to that alphanumeric
                                        character will then be transmitted.
                                        The alphanumeric character which
                                        has to be used as well as the func-
                                        tions which are caused, are deter-
                                        mined by the software. 
                                         
                                         
5_._2_ _ _ _ _ _ _ _L_o_c_a_l_ _C_o_n_t_r_o_l_ _K_e_y_s_ 5.2
                                         
          SHIFT                       - this key, in conjunction with
                                        alphabetic or numeric keys, will
                                        select the upper legend or the
                                        upper-case character form. 
                                         
          ALPHA LOCK                  - when locked in the down position,
                                        the key will select the upper-case
                                        character legends with no effect on
                                        the numeric keys. The key is self-
                                        locking, to release press once
                                        more. 
                                         \f

                   REPT (R_e_p_eat_)               - when pressed down and kept in the
                                        down position, any other character
                                        key may be pressed down at the same
                                        time and that character will be
                                        repeatedly generated as long as
                                        engaged. 
                                         
          HOME                        - will return cursor to the >home>
                                        position (first character, first
                                        line). 
                                         
          -'                          - causes the cursor to advance one
          (FORWARD CURSOR)              character position to the right. If
                                        there are no character positions
                                        left to the right, the cursor will
                                        advance to the first character
                                        position of the next line.  
                                         
                                        The cursor control codes (FORWARD
                                        CURSOR and the following codes) are
                                        non-destruct codes, i.e. the cursor
                                        may pass an >occupied> position
                                        without deleting the character of
                                        that position. 
                                         
          <-                          - as FORWARD CURSOR, but to the left.
          (BACK CURSOR)                  
                                      - causes the cursor to move up one
          (UP ROW CURSOR)               row. Reaching the first row the
                                        cursor remains there.  
                                         
                                      - as UP ROW CURSOR, but downwards.
          (DOWN ROW CURSOR)             Reaching the last row the cursor
                                        will move the data up one row,
                                        leaving the last row blank. 
                                         \f

          TAB                         - horizontal tab, usually fixed to
                                        every fourth character position.
                                        Tab positions are fixed and do not
                                        depend on the start position of the
                                        cursor.  
                                         
                   ERAS EOL                    - this code will erase all data from
          (E_r_a_s_e to E_nd o_f L_ine)        cursor position to end of line.  
                                         
          ERAS EOS                    - this code will erase all data from
          (E_r_a_s_e to E_nd o_f S_creen)      cursor position to end of screen. 
                                         
          CLEAR                       - this code will erase all data and
                                        home the cursor.  
                                         
          PRINT                       - this code will cause all received
                                        and transmited data to be directed
                                        to the printer output. 
                                         
                                        The connecting of a terminal
                                        printer to the display terminal is
                                        available as an option. 
                                         
          PRINT OFF                   - this code will remove the printer
                                        output connection.  
                                         
          TAPE                        - for maintenance purposes only.
                                        Self-locking key - to release press
                                        once more. 
                                         
                                        Causes all received character to be
                                        displayed including control charac-
                                        ters.  
                                         
          LOAD TAPE                   - for maintenance purposes only. 
                                         \f

F_       6_._ _ _ _ _ _ _ _ _R_C_8_2_8_ _K_E_Y_B_O_A_R_D_ 7.
           
  6_._1_ _ _ _ _ _ _ _P_r_o_g_r_a_m_ _C_o_n_t_r_o_l_l_e_d_ _K_e_y_s_                                             7.1
           
          ESCAPE 
          CLEAR 
          SUB FORM 
          DUP 
          CHAR 
          REC                         - function determined by software
          FIELD                         system. 
          REC REL 
          ERROR REL 
          ENTER 
          BY-PASS 
          RECORD 
          LOG IN 
           
           
         6_._2_ _ _ _ _ _ _ _L_o_c_a_l_ _C_o_n_t_r_o_l_ _K_e_y_s_ 7.2
           
          SHIFT                       - this key, in conjunction with alpha-
                                        betic or numeric keys, will select
                                        the upper lengend or the upper-case
                                        character form. 
                                         
           SHIFT LOCK                  - when locked in the down position,
                                        the key will select the upper-case
                                        character legends. The key is self-
                                        locking, to release press once more.
                                         \f

«eof»