|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 121216 (0x1d980) Types: TextFile Names: »D74«
└─⟦a2495fc4f⟧ Bits:30005867/disk10.imd Dokumenter (RCSL m.m.) └─⟦this⟧ »D74«
5_._9_._7_ _ _C_o_n_n_e_c_t_ _A_c_c_o_u_n_t_ _E_n_t_r_i_e_s_ A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ Number : 6 Designation : Erase account entry Reading : Writing : Conditions for activation : If erase _scan = 1. The adaption point is activated for each account entry read during the scan. Comm. variables:ae_erased (account entry erased) call: 0,1 (0 = not erased) answer: 0,1 cont_scanning (continue the scanning) call: 1 (wanted) answer: 0,1 Use : A possible erasing may be done by means of the communication variable ae _erased Block reference: B (adp _block _18,29) Next adaption point : Adp 7 or exit \f 5_._9_._7_ _ _C_o_n_n_e_c_t_ _A_c_c_o_u_n_t_ _E_n_t_r_i_e_s_ A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ Number : 7 Designation : Update balance Reading : Writing : Conditions for activation : If new _record _wanted = 0 (not wanted). An account entry record selected in adp 4 by means of recordpos will be available. Comm. variables:ae_erased (account entry erased) call: 0,1 (0 = not erased) answer: 0,1 copy_wanted _in _ta call: 0 (not wanted) answer: 0,1 erase_scan (scan for erasing of account entries) call: 0 (not wanted) answer: 0,1 Use : Updating of balance in the selected account entry record. The record can be erased after- words, at once or during an erase scan. Block reference: B (adp _block _18,30) Next adaption point : Adp 3 \f 5.9.8 A_c_c_o_u_n_t_ _E_n_t_r_y_ _l_i_n_e_ _f_o_r_ _B_a_t_c_h_ _P_u_r_p_o_s_e_s_ (tegning 96t)\f 5_._9_._8_ _ _A_c_c_o_u_n_t_ _E_n_t_r_y_ _L_i_n_e_ _f_o_r_ _B_a_t_c_h_ _P_u_r_p_o_s_e_s_ A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ Number : 1 Designation : Read the information Reading :From the input buffer Writing : Conditions for activation : After interpretation of the line code (adp 0) Comm. variables:posting _wanted (voucherline in the terminal area call: 1 (wanted) answer: 0,1 Use : Reading of information Block reference: B (adp _block _18,3) Next adaption point : Exit \f 5.10 P_r_i_n_t_ _O_u_t_ _A_d_m_i_n_i_s_t_r_a_t_i_o_n_ L_i_s_t_ _o_f_ _c_o_n_t_e_n_t_s_P_a_g_e_ Introduction 119 Outline 122 5.10.1 Print Out Command (UOR) 123 5.10.2 Print Out Acceptance (UAC) 128 \f 5_._1_0_ _ _P_r_i_n_t_ _O_u_t_ _A_d_m_i_n_i_s_t_r_a_t_i_o_n_ I_n_t_r_o_d_u_c_t_i_o_n_ These transactions cover the administration of those text areas that are filled in with the function "print output" (e.g. invoices - cf. 5.11). Primitive The functions are primitive and easy to handle. Apart from Flexible that, they are flexible, as a more developed control can be implemented in the adaption. Text areas The administration in the Skeleton Program is confined to control those text areas that are to be printed on the prin- ters and the necessary communication with DUETCOM (by TELEOP). Not printers There is thus no administration of the printers as such, and neither of the paper type they have mounted. From among the 2 kinds of printers which DUETCOM administers (see the TELEOP documentation), the Skeleton Program is pri- marily based on "selective" (and seperate) printers. See also section 3.2 (output). 2 transactions The Skeleton Program has 2 transactions: UOR, print out command : Print a text area mentioned by name or output type at a printer. UAC, print out acceptance: Accept an UOR for a certain output type. \f 5_._1_0_ _ _P_r_i_n_t_ _O_u_t_ _A_d_m_i_n_i_s_t_r_a_t_i_o_n_ P_r_i_n_t_ _O_u_t_ _C_o_m_m_a_n_d_ _(_U_O_R_)_ The transaction effects the print out of a text area. Text area In case that the text area is identified by output type, the identifiedSKP fetches the output form administration record by means by output of the key determined in adp 1. The simplest way is to read type in the key from the transaction, but it may also be fixed (programmed) or parameter selected (terminal dependent) or a combination of both. In adp 1 it can be decided whether the print out is to be produced centrally or not (comm. variable centralconv). In the first case the algol8 operation is executed, i.e. the print area is renamed and a request for central convert is displayed on the console. It is then the task of operator to start the convert process (e.g. by means of a UOR command including the area name). If the central convert is not wanted, the algol7 operation is executed, i.e. the print out area is converted by DUETCOM. The parameter printer inf (cf. algol7 in the TELEOP manual) must be assigned with a legal value in adp 2, thereby addressing the printer on which the print out is demanded. The only function that the SKP always executes is the fol- lowing: 2 text areas 2 text areas have been described in the output form admini- stration record: the first is filled in from "print output", the second is being printed (or the print out has already been accepted).\f 5_._1_0_ _ _P_r_i_n_t_ _O_u_t_ _A_d_m_i_n_i_s_t_r_a_t_i_o_n_ Exchange of If the latest print out h_a_s_ _b_e_e_n_ accepted (by the UAC trans- text areas action), this area is marked "after acceptance" and thus terminated, and following print outs are printed from the beginning of the other area. If the latest print out h_a_s_ _n_o_t_ b_e_e_n_ accepted, the UOR must be a repeat or resume transaction. Text area Also a text area with a definite name can be printed out identified without being attached to an output form administration re- by name cord. In adp 1 parameters for the print out action are de- termined, such as the name of the area, which e.g. can be read in Central con- from the transaction. Thus the UOR transaction can be used for vert print out at the system printer after a message about central Test print convert, or for test print outs. P_r_i_n_t_ _O_u_t_ _A_c_c_e_p_t_a_n_c_e_ _(_U_A_C_)_ Release of The purpose of the transaction is to release a text area text area that has been printed. This is done by changing the state of the second text area in the output form administration re- cord. The transaction is to be used for text areas identi- fied by output type in the UOR command.\f 5_._1_0_ _ _P_r_i_n_t_ _O_u_t_ _A_d_m_i_n_i_s_t_r_a_t_i_o_n_ O_u_t_l_i_n_e_ (tegning 101)\f 5.10.1 P_r_i_n_t_ _O_u_t_ _C_o_m_m_a_n_d_ (Tegning 102) \f 5_._1_0_._1_ _ _P_r_i_n_t_ _O_u_t_ _C_o_m_m_a_n_d_ (Tegning 103) \f 5_._1_0_._1_ _ _P_r_i_n_t_ _O_u_t_ _C_o_m_m_a_n_d_ (Tegning 104) \f 5_._1_0_._1_ _ _P_r_i_n_t_ _O_u_t_ _C_o_m_m_a_n_d_ A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ Number : 1 Designation : Reading of an input line Reading :From the input buffer Writing : Conditions for activation : After interpretation of the line code (adp 0) Comm. variables: get _outp, get _print, and centr _conv call: 0 (not wanted) return: 0,1 Use : Reading of information and alteration of the communication variables Block reference: B (adp _block _15,1) Next adaption point : Adp 2 or exit \f 5_._1_0_._1_ _ _P_r_i_n_t_ _O_u_t_ _C_o_m_m_a_n_d_ A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ Number : 2 Designation : Assign printer name Reading : Writing : Conditions for activation : The value of the communication variable is one. Comm. variables: printer _inf call: l6 return: printer name Use : Assignment of printer name by means of printer index Block reference: B (adp _block _15,2) Next adaption point : Exit \f 5.10.2 P_r_i_n_t_ _O_u_t_ _A_c_c_e_p_t_a_n_c_e_ (tegning 107)\f 5_._1_0_._2_ _ _P_r_i_n_t_ _O_u_t_ _A_c_c_e_p_t_a_n_c_e_ A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ Number : 1 Designation : Reading of an input line Reading :From the input buffer Writing : Conditions for activation : After interpretation of the line code (adp 0) Comm. variables: Use : Reading of information Block reference: B (adp _block _15,3) Next adaption point : Exit \f 5.11 P_r_i_n_t_ _O_u_t_p_u_t_ L_i_s_t_ _o_f_ _c_o_n_t_e_n_t_s_P_a_g_e_ Print Output (introduction)131 Flow Diagram133 Adaption Point Description135 \f 5_._1_1_ _ _P_r_i_n_t_ _O_u_t_p_u_t_ Form print The function "print output" is the Skeleton Program routine outswhich activates the form print outs from TELEDATA (invoices, delivery notes, order confirmations, etc.). These (print outs) are written in text areas where they are accumulated until they are to be printed (cf. Print Out Administration). Print channel The printing is done in the adaption at print channel 1. 1 (At print channel 2 the other type of print outs occur - that is, those that are written on the terminal - answer to inqui- ries, errors, etc. They have been described elsewhere (see section 5.4 and section 6). Print outs from TELEOP, DUETCOM, etc. are not described in this manual). Activated from Print output is activated in the Skeleton Program under 4 other other functions: transactions - last in the order voucher end (section 5.5) - last in the erase order (section 5.5) - last in the invoice voucher end (section 5.6) - last in the account entry voucher end and in the deb/cred entry scan (section 5.9) The terminal The printing is done from records in the terminal area. These area is records are sorted and then scanned. The set used for the scanned scan is set 23 but another (new) one can be selected in the adaption, if wanted. The actual scan is placed in adaption point 4 because of flexibility and economy in block calls. The printing may fill up to 2 blocks, adaption block 13 and adaption block 14, but all the adaption points are in adaption block 13.\f 5_._1_1_ _ _P_r_i_n_t_ _O_u_t_p_u_t_ A scan in An outline of the scan (adaption point 4): the adaption next scanning_set while sodaspec = 0 do. "print output from the record" next scanning_set The area, on which is printed, has been determined from the output type which is selected in adaption point 2. Then the Output form Skeleton Program fetches the corresponding output form admi- administration nistration record where the text area has been described with the name and position, from which it is to be written. The algol operation 5 "opens" and positions in the area and after the printing, algol operation 6 "closes" (and saves the position). Text area To each output type corresponds a text area in which prin- per output ting is conducted (furthermore there is a text area which is typebeing printed). The output types are specific for each user User specific and all the user>s terminals can thus make use of them. All of the above algorithm (define output type and sorting parameters, sort terminal area, scan terminal area and print) can be repeated a couple of times so that by one execution of "print output" (and one transaction) several different print outs can be made.\f 5_._1_1_ _ _F_u_n_c_t_i_o_n_:_ _P_r_i_n_t_ _O_u_t_p_u_t_ (tegning 114)\f 5_._1_1_ _ _F_u_n_c_t_i_o_n_:_ _P_r_i_n_t_ _O_u_t_p_u_t_ (tegning 115)\f 5_._1_1_ _ _P_r_i_n_t_ _O_u_t_p_u_t_ A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ Number : 1 Designation : Assign the control parameters Reading : Writing : Conditions for activation : Comm. variables: no _of _scans call: 1 answer: '=0 Use : Assignment of the comm. variable. Assign possible scanning sets or set restrictions. Block reference: B (adp _block _13,1) Next adaption point : Adp 2 or exit \f 5_._1_1_ _ _P_r_i_n_t_ _O_u_t_p_u_t_ A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ Number : 2 Designation : Determine the output type Reading : Writing : Conditions for activation : By each scan Comm. variables: Use : Assignment of the output type before the current scan Block reference: B (adp _block _13,2) Next adaption point : Adp 3 \f 5_._1_1_ _ _P_r_i_n_t_ _O_u_t_p_u_t_ A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ Number : 3 Designation : Assign the sorting parameters Reading : Writing : Conditions for activation : After fetching the output form administra- tion record Comm. variables: sort_wanted call: 0 (not wanted) answer: 0,1 Use : Assignment of parameters for the sorting procedure (algol 1) Block reference: B (adp _block _13,3) Next adaption point : Adp 4 \f 5_._1_1_ _ _P_r_i_n_t_ _O_u_t_p_u_t_ A_d_a_p_t_i_o_n_ _P_o_i_n_t_ _D_e_s_c_r_i_p_t_i_o_n_ Number : 4 Designation : Scan the terminal area Reading : Writing : Conditions for activation : After a possible sorting, after opening the text area, and after selection of print channel 1. After initialization of the scanning set. Comm. variables: Use : Scan of the terminal area. Printing of the output. Block reference: B (adp _block _13,4) Next adaption point : Adp 2 or exit \f 6. E_r_r_o_r_ _P_r_o_c_e_s_s_i_n_g_ L_i_s_t_ _o_f_ _C_o_n_t_e_n_t_s_P_a_g_e_ Introduction 140 6.1 Error Reactions from the DUET system 141 6.2 Error Reactions from the DUET program 142 6.3 Error list - Skeleton Program Data Errors 143 \f 6_._ _ _E_r_r_o_r_ _P_r_o_c_e_s_s_i_n_g_ I_n_t_r_o_d_u_c_t_i_o_n_ In this section the error reactions in the running TELEDATA system are described. Five types of errors may arise in the running situation: 1. DUET system errors. Described in the DUET manual, cf. the reference list in section 1. 2. DUET programming errors. Described in the DUET manual, cf. the reference list in section 1. 3. DUET data errors. Described in the DUET manual, cf. the reference list in section 1. These error messages can be redefined, e.g. if they are required in a different language. 4. Skeleton Program data errors, cf. section 6.3. 5. Adaption data errors, cf. the User>s Handbook. The error processing has been worked out considering the fact that the running TELEDATA system is an on-line system where the user receives a prompt reply about a transaction and so may correct any possible erroneous transaction at once. No special processing for batch runs, if any, has been implemented.\f 6.1 E_r_r_o_r_s_ _f_r_o_m_ _t_h_e_ _D_U_E_T_ _S_y_s_t_e_m_ P_r_i_n_t_ _o_u_t_ _o_f_ _e_r_r_o_r_ _m_e_s_s_a_g_e_s_ _f_r_o_m_ _t_h_e_ _D_U_E_T_ _s_y_s_t_e_m_ The DUET interpreter itself makes certain that the DUET sys- tem errors (error type 1) and the DUET programming errors (error type 2) are printed on the primary output and that the message about the occurrence of an error is given to the DUET data error procedure. DUET data errors (error type 3) will be printed at channel 2, which has been selected in the Skeleton Program and the DUET data error procedure will also, when it receives a mes- sage about a system - or a programming error, print an error message at channel number 2. The DUET data error procedure is adaptable as for the writ- ten text so that error messages can be printed in the local language. The text is inserted by a re-interpretation of TELEOP. About the processing of the primary output and channel num- ber 2: see the TELEOP MANUAL.\f 6.2 E_r_r_o_r_s_ _f_r_o_m_ _t_h_e_ _D_U_E_T_ _P_r_o_g_r_a_m_ S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _E_r_r_o_r_s_ _(_E_r_r_o_r_ _T_y_p_e_ _4_) The Skeleton Program data errors include all errors registe- red by the Skeleton Program. A print out of error messages is performed at the user ter- minal from block 22 (installation adaption) where the text can be adapted to the current language. The reaction to different Skeleton Program data errors ap- pears from the error list in section 6.3. A_d_a_p_t_i_o_n_ _D_a_t_a_ _E_r_r_o_r_s_ _(_E_r_r_o_r_ _T_y_p_e_ _5_) Adaption data errors include all errors registered in the adaption. The print out of error messages is performed at the user terminal and should be programmed in the block where the error has been registered.\f 6.3 E_r_r_o_r_ _L_i_s_t_:_ _S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _E_r_r_o_r_s_ The error list of the Skeleton Program data errors contains, for each error that is registered by the Skeleton Program, the following information: 1. An error number which refers to the entry point in block 22 from where the error text is printed out. 2. The error text which is printed out at the user>s terminal, including the error number mentioned under 1 and perhaps a line code. 3. One or more block numbers and one or more DUET ope- ration numbers for identifying where in the Skeleton Program the error has arisen. If the line code is indicated, this will be decisive of which block and DUET operation the error has been called from. 4. The Skeleton Program>s reaction to the current er- ror. In this case the line code will also decide which reaction will be selected out of several pos- sible reactions. 5. Messages, if any.\f 6_._3_ _ _E_r_r_o_r_ _L_i_s_t_:_ _S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _E_r_r_o_r_s_ 21 ILLEGAL CODE code'line_code' O--: 4, D183 (D166) : SKP returns to P1 (D160) and continues normally from there. R--: 4, D245 (D207, D235) : SKP returns to P1 (D200) and continues normally from there. N--: 4, D345 or 4, D245 (D307 or D235) : SKP returns to P1 (D300) and continues normally from there. ?--: 5, D25 : SKP returns to P0 and the control is given to TELEOP. Comments: O-- : = Create structure list R-- : = Update structure list N-- : = Delete structure list ?-- : = Structure list inquiries 22 PART ident'RECORD DOES NOT EXIST line _code' 0--: 4, D185 (170) : Normal continuation of the operating sequence 23 ident'MASTER MUST NOT BE DELETED line _code' N--: 4, D140, D141, D142, D143 : SKP returns to P0 and the control is given to TELEOP.\f 6_._3_ _ _E_r_r_o_r_ _L_i_s_t_:_ _S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _E_r_r_o_r_s_ 24 LIST RECORD DOES NOT EXIST R--: 4, D255 (D213) : like R-- ?--: 5, D118, (D117) : The key is printed, SKP returns to P1 (D133) and is terminated normally. 25 TERMINAL IN ILLEGAL STATE : 1, D115 : SKP returns to P0 and the control is given to TELEOP. 26 TERMINAL BLOCKED : 1, D130 : Like error no 25 : Only >logout> will be accepted. 27 TERMINAL IN ILLEGAL STATE state' : 1, D155 : SKP returns to P2 (D10) and continues normally with the "terminate transaction" (D300). 28 UNKNOWN LINE CODE line code' : 1, D260 : SKP continues normally with the "terminate transaction" (D300). 29 ILLEGAL PASSWORD password' : 2, D31 : SKP returns to P0 and the control is given to TELEOP.\f 6_._3_ _ _E_r_r_o_r_ _L_i_s_t_:_ _S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _e_r_r_o_r_s_ 30 UNKNOWN TESTMODE testmode' : 1, D412 : SKP returns to P0 and the control is given to TELEOP. 31 ILLEGAL VARIABLE NAME testvarcode' : 1, D423 : SKP returns to P0 and the control is given to TELEOP. 32 INPUT LINE INCOMPLETE : 1, D413 : SKP returns to P0 and the control is given to TELEOP. 33 UNKNOWN TRANSACTION linecode'skplinecode' : 2, D5 : The block is terminated normally. 34 UNKNOWN INFORMATION CODE informationcode' : 1, D415 : SKP returns to P0 and the control is given to TELEOP. 35 PRINTOUT NOT OK : 6, D900 (D258, D540) : SKP returns to P1. 36 PRINTOUT ILLEGAL STATE: state'further explanation' : 6, D900 (D258) : SKP returns to P1. \f 6_._3_ _ _E_r_r_o_r_ _L_i_s_t_:_ _S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _e_r_r_o_r_s_ 37 NO ACCOUNT-ENTRY LINES CONNECTED : 8, D263 (D262), 8, D623 (D621) : 9, D392 (D390) : SKP continues normally in the operating sequence. 38 PRINTOUT REJECTED : 6, D900 (D380) : SKP returns to P1. 40 DEB/CRED RECORD PROTECTED line_code' A : 8, D130 (D102, D150, D250) : SKP returns to P1 and the block is terminated normally. FA-FI: 9, D120 (D110) : SKP returns to P1 and the block is terminated normally. FV : 9, D620 (D603) : SKP returns to P1 and the block is terminated normally. FL-FO: 8, D130 (D102) : SKP returns to P1 and the block is terminated normally. Comments: The error may also arise in the deb/cred - and order invoicing with the corresponding line codes (F--).\f 6_._3_ _ _E_r_r_o_r_ _L_i_s_t_:_ _S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _e_r_r_o_r_s_ 41 ORDER RECORD PROTECTED line_code' AD-AF: 8, D132 (D150) : SKP returns to P1 and the block is terminated normally. AK-AM: 8, D132 (D250) : Like AD-AF. FP-FV: 9, D130 (D284) : SKP returns to P1 and the block is terminated normally. Comments: See comments to error 40. 42 INDICATED ORDER LINE NOT PARENT serial_no' AN-AQ: 8, D412 (D415) : SKP returns to P1 and the block is terminated normally. FL-FO: 8, D412 (D415) : SKP returns to P1 in block 9 and the block is termi- nated normally. DBB : 8, D412 (D415) : SKP returns to P1 in block 7 and the block is termi- nated normally. FP,FV: 9, D299 (D298) : SKP continues normally in the operating sequence. Comments: See comments to error 40.\f 6_._3_ _ _E_r_r_o_r_ _L_i_s_t_:_ _S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _e_r_r_o_r_s_ 44 PART ORDER LINES MISSING line_code' AR-AU: 8, D780 (D730 and D760) : SKP continues normally in the operating sequence. FP-FV: 9, D362 (D355 and D361) : SKP continues normally in the operating sequence. Comments: See comments to error 40. 45 ORDER LINE MISSING odl serial no' : 8, D770 (D415, D700) : SKP continues normally in the operating sequence. Comments: Called from cancellation or order line correction. 26 NO VOUCHER LINES IN THE DEMANDED INTERVAL first_line'last _line' : SKP returns to P1 in block 7 or the block from where block 7 has been called. Comments: Called from "display voucher", which can be called from several places.\f 6_._3_ _ _E_r_r_o_r_ _L_i_s_t_:_ _S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _e_r_r_o_r_s_ 47 VOUCHER START DOES NOT EXIST line_code' : 8, D220 (D200), 8, D612 (D608), 9, D385 (D384) : 9, D418 (D417), 9, D478, 7, D160 : SKP returns to P1. Comments: One line code may cause a call of the error from several blocks. 48 ORDER NOT FOUND AD-AE: 8, D153 (D150) : SKP returns to P1 and the block is terminated normally. FA-FF: 9, D281 (D280) : SKP returns to P1 and the block is terminated normally. 49 REPEAT NOT ALLOWED : 6, D900 (D330) : SKP returns to P1 50 RESUME NOT ALLOWED : 6, D900 (D340) : SKP returns to P1 51 NO OUTP.FORM PRESENT AT REP/RES : 6, D900 (D350) : SKP returns to P1 \f 6_._3_ _ _E_r_r_o_r_ _L_i_s_t_:_ _S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ _D_a_t_a_ _e_r_r_o_r_s_ 52 SPECIFIED PRINTER DOES NOT EXIST : 6, D900 (D300, D350) : SKP returns to P1 53 ILLEGAL PRINT FUNCTION : 6, D900 (D320, D370) : SKP returns to P1 54 TEXTFILE NOT FOUND : 6, D900 (D370) : SKP returns to P1 55 NO RESOURCES FOR RENAME : 6, D900 (D370) : SKP returns to P1 56 CENTRAL CONVERT NOT SUCCESFUL : 6, D900 (D370) : SKP returns to P1 57 PRINTER BUSY : 6, D900 (D300, D390) : SKP returns to P1 58 PRINT NOT OK - ACCEPT REJECTED : 6, D900 (D540) : SKP returns to P1 59 PRINTOUT NOT TERMINATED : 6, D900 (D540) : SKP returns to P1\f 7. O_p_e_r_a_t_i_n_g_ _g_u_i_d_e_ L_i_s_t_ _o_f_ _C_o_n_t_e_n_t_s_P_a_g_e_ Introduction 153 Outline of Compilations 154 7.1 Translation of the DB Description 156 7.2 Translation of the SODA-LD Description 158 7.3 Translation of the DUET Program 160 7.4 Translation of TELEOP 162 7.5 Test Runs 164 \f 7_._ _ _O_p_e_r_a_t_i_n_g_ _G_u_i_d_e_ I_n_t_r_o_d_u_c_t_i_o_n_ In this section is described the execution of the various compilations in connection with the establishing of a new TELEDATA system - e.g. by inserting a new adaption. The sec- tion contains both an outline of the compilation sequence and a description of each compilation job, illustrated by examples. For further details concerning the systems invol- ved - including possible error reactions - see the respecti- ve manuals - cf. the reference list, section 1. Finally, 2 examples of test jobs for off-line execution are given.\f 7_._ _ _O_p_e_r_a_t_i_n_g_ _g_u_i_d_e_ O_u_t_l_i_n_e_ _o_f_ _C_o_m_p_i_l_a_t_i_o_n_s_ (tegning 145)\f 7_._ _ _O_p_e_r_a_t_i_n_g_ _g_u_i_d_e_ O_u_t_l_i_n_e_ _o_f_ _C_o_m_p_i_l_a_t_i_o_n_s_ T_E_L_E_O_P_ (tegning 146) \f 7.1 T_r_a_n_s_l_a_t_i_o_n_ _o_f_ _t_h_e_ _D_B_ _D_e_s_c_r_i_p_t_i_o_n_ E_x_a_m_p_l_e_:_ job teledata 1 28xxxx time 15 0 size 100000, temp disc 1500 25 perm dkxxxxxx 200 1 dblist = set 1 database80 section.102, descrip.descripfile, sysdok.sysdokfile, list.yes, listout.dblist, run.init convert dblist finis Comments: The files descripfile and sysdokfile exist permanently on the disc in this job. A description of all the para- meters to the call of the db translator and possible error print outs from the latter exists in the DATABA- SE80 manual (cf. the reference list). Overleaf the parameters of the standard job are described briefly.\f 7_._1_ _ _T_r_a_n_s_l_a_t_i_o_n_ _o_f_ _t_h_e_ _D_B_ _D_e_s_c_r_i_p_t_i_o_n_ section.102 Have to be included. 102 indicates the number of the section in the sysdok file where the db-description has been stored. descrip.descripfile May be omitted as the standard name is used. Descripfile is the name of the file where the translated db-descrip- tion is to be stored. sysdok.sysdokfile May be omitted as the standard name is used. Sysdokfile is the name of the file where the db-description has been stored by means of the SYSDOK system (cf. referen- ce list). list.yes May be omitted. Includes listing of the translated sysdok section. listout.dblist May be omitted. Dblist is the name of the file in which the listing is to be placed. run.init Indicates that a new db-file initialization is wanted. The catalogue entry for the db-file (in this case the descripfile) must exist. This parameter has to be in- cluded in the first translation of a db-description.\f 7.2 T_r_a_n_s_l_a_t_i_o_n_ _o_f_ _t_h_e_ _S_O_D_A_-_L_D_ _D_e_s_c_r_i_p_t_i_o_n_ E_x_a_m_p_l_e_: job teledata 2 28xxxx time 14 0 size 125000, buf 10 area 1 perm 1 perm dkxxxxxx 300 2 sodalist = set 200 dkxxxxxx sodald ldtext.ldtext, descrip.descripfile, section.103.1, list.yes, listout.sodalist, vardecl.vardecl scope user sodalist finis Comments: In this job the files: descripfile, ldtext and vardecl exist permanently on disc. All parameters for the call of the SODA-LD translator and error print outs from this, are described in the SODA manual (cf. the reference list). Overleaf a short explanation of the parameters used in the example is given.\f 7_._2_ _ _T_r_a_n_s_l_a_t_i_o_n_ _o_f_ _t_h_e_ _S_O_D_A_-_L_D_ _D_e_s_c_r_i_p_t_i_o_n_ ldtext. indicates the name of the area from which the source text is to be read. If the source text is placed in a sysdok file, this is to be specified with a "sysdok" parameter and "ldtext" must not occur. descrip.descripfile Indicates the name of the file in which a correctly trans- lated database description has been stored and in which the new translated ld-description is to be stored. The parameter may be omitted in this case as descripfile is the standard name. section.103.1 Indicates the section in the description file in which the interpreted ld-description is to be inserted. list.yes Causes the creation of an edited listing on a discarea. listout.sodalist Indicates the name of the area on which the edited lis- ting is to be placed. If the area does not exist, it will be created as a temporary file, which is printed automatically on the local printer. varedecl.vardecl Indicates that an automatically generated declaration of the field variables with their respective initializ- ation is wanted for TELEOP. "Vardecl" is the name of the area in which the result is stored. If the area does not exist, it is created temporarily. This para- meter is necessary if the variable section has been changed (after this, both TELEOP and the DUET program are to be re-translated).\f 7.3 T_r_a_n_s_l_a_t_i_o_n_ _o_f_ _t_h_e_ _D_U_E_T_ _P_r_o_g_r_a_m_ E_x_a_m_p_l_e_: job teledata 3 28xxxx time 10 0 size 125000, perm dkxxxxxx 300 1 clear user teleprg teleprg = set 100 dkxxxxxx scope user teleprg duetabler duettext.teletrim, init.user, descrip.descripfile, oldduet.oldteleprg, newduet.teleprg, change.55.57 finis Comments: All parameters for the call of the DUET translator and error print outs from this, have been described in the DUET manual (cf. the reference list). The parameters for the standard job are described below. duettext.teletrim Indicates the name of the text area from which the DUET program is to be read. If the DUET program is placed in a sysdok file, this is indicated by a sysdok parameter (see the DUET manual). init.user Indicates the initials of the person who has activated the DUET translation.\f 7_._3_ _ _T_r_a_n_s_l_a_t_i_o_n_ _o_f_ _t_h_e_ _D_U_E_T_ _P_r_o_g_r_a_m_ descrip.descripfile Indicates the name of the description file in which the interpreted ld-description is stored. The parameter may be omitted in this case as descripfile is standard. oldduet.oldteleprg Indicates the name of the "old" duet file. Necessary if the newduet parameter is indicated. newduet.teleprg Indicates the name of the "new" duet file. If this parameter is omitted, the oldduet parameter is not to be indicated either and no new duet file will be crea- ted. The translation run is thus reduced to be a syntactic check of the indicated DUET blocks. change.55.57 Indicates the duet blocks (block 55 and 57) that are to be translated. This parameter is only allowed if both oldduet and newduet are indicated Instead of change, you may indicate one of the parame- ters: insert, delete or translate. The insert parameter causes the indicated blocks to be inserted in the duet file. Newduet must be indicated. The delete parameter causes the indicated blocks to be removed from the duet file. Oldduet - newduet must be indicated. The transla- te parameter causes the indicated blocks to be checked syntactically but not inserted in the duet file.\f 7.4 T_r_a_n_s_l_a_t_i_o_n_ _o_f_ _T_E_L_E_O_P_ E_x_a_m_p_l_e_:_ job teledata 4 28xxxx time 8 0 size 60000, area 12 buf 12 perm dkxxxxxx 500 1, temp disc 2400 24 i prim; translate the print system primula i sdtrans; translate the soda transfer procedure i tduetcode; translate the duetinterpreter teleop = set 480 dkxxxxxx teleop = algol teleoptext message.yes scope user teleop finis Comment: In this job, the presence of quite a few algol text areas are presupposed. They are all delivered together with the system, but some can be changed or replaced as a matter of course. The following texts are never to be changed: prim : contains the slangcoded primula system procedures duettext 1 : the DUET interpreter procedures duettext 2 : the DUET interpreter sodatext 1 : the SODA interpreter sodatext 2 : the SODA interpreter sodatext 3 : the SODA interpreter sodafields : initialization in the descripfile statustext : status initialization paramtext : reading in of fp-parameters sdtrans : contains the slangcoded soda transfer procedure tduetcode : contains a part of the duetinterpreter, slangcoded \f 7_._4_ _ _T_r_a_n_s_l_a_t_i_o_n_ _o_f_ _T_E_L_E_O_P_ teleoptext : the algol "frame" The following texts are changed currently: newaktt : algol operations, DUET-ALGOL; here it is possible to add new operations in ALGOL. userrortext : errortexts concerning the algol operati- ons. vardecl : is created by the SODA-LD translator and is changed each time the variable declarations have been altered.\f 7.5 T_e_s_t_ _R_u_n_s_ ; job for initialization of TELEDATA>s database job teleinit 28xxxx size 120000 time 8 0, perm dkxxxxxx 2500 30 temp disc 2500 25 outp 100000 mode list.yes ; create files to be used by reorg80 reotab = set 1 disc newformat = set 1 disc 0 0 0 20.4 ; any old files are removed clear user debcred items orders tdadmin userinf, dcstructure partslist orderlines accentry orderref, termarea ; create and scope new files tdadmin = set 1 dkxxxxxx debcred = set 1 dkxxxxxx items = set 1 dkxxxxxx userinf = set 1 dkxxxxxx orderlines = set 1 dkxxxxxx orders = set 1 dkxxxxxx accentry = set 1 dkxxxxxx partslist = set 1 dkxxxxxx dcstructure = set 1 dkxxxxxx orderref = set 1 dkxxxxxx termarea = set 1 dkxxxxxx \f 7_._5_ _ _T_e_s_t_ _R_u_n_s_ scope user debcred items orders tdadmin userinf dcstructure partslist orderlines accentry orderref ; initialization of the file heads reanalyse init.yes descripfile = reinsert ; create the necessary areas for the logical file ; maintenance rpl00 = copy 0 rpl01 = copy 0 rpl02 = copy 0 prinz1 = copy 0 prinz2 = copy 0 ; create and initialize the telestatus telestatus = set 1 dkxxxxxx telestatus clear.all logmode.0 safemode.1 disclog.logfile func1 ; the logical file maintenance is executed and ; customers, items and terminal ; administration records are created ; so that the files are ; ready for the real test run teleop input.dbtransact status. statusfile duetfile.duetfile, descrip.descripfile ldsection 103.1 stacco.no log.no\f 7_._5_ _ _T_e_s_t_ _R_u_n_s_ ; from now on the newly initialized files ; are saved on user level, ready to be used ; by the following test runs t1 = set 1 dkxxxxxx t2 =set1dkxxxxxx t3 =set1dkxxxxxx t4 = set 1 dkxxxxxx t5 = set 1 dkxxxxxx t6 = set 1 dkxxxxxx t7 = set 1 dkxxxxxx t8 = set 1 dkxxxxxx t9 = set 1 dkxxxxxx t10 = set 1 dkxxxxxx t11 = set 1 dkxxxxxx ; move the contents of the initialized files to the ; safety files t1 = move debcred t2 = move items t3 = move orders t4 = move tdadmin t5 = move userinf t6 = move dcstructure t7 = move partslist t8 = move orderlines t9 = move accentry t10 = move orderref t11 = move termarea scope user t1 t2 t3 t4 t5 t6 t7 t8 t10 t11 ; now the newly initialized files have been generated ; they can, in future, be moved from the test files ; if one wants to start all over again. finis\f 7_._5_ _ _T_e_s_t_ _R_u_n_s_ ; example of an off-line test job with max 2 terminals job teletest 1 28xxxx size 120000 time 10 0, area 36 buf 24 perm dkxxxxxx 400 4 temp disc 3600 24, outp 200000 mode list.yes ; reply and print areas are zerofilled rpl00 = copy 0 rpl01 = copy 0 rpl02 = copy 0 prinz1 = copy 0 prinz2 = copy 0 ; create new terminal areas and output areas ; for invoicing and scope clear user wrkfil01 wrkfil02 inv01a inv01b inv02a inv02b wrkfil01 = set 1 dkxxxxxx 0 0 0 20.4 wrkfil02 = set 1 dkxxxxxx 0 0 0 20.4 inv01a = set 1 dkxxxxxx inv01b = set 1 dkxxxxxx inv02a = set 1 dkxxxxxx inv02b = set 1 dkxxxxxx scope user wrkfil01 wrkfil02 inv01a inv01b inv02a inv02b ; the safety copy of the data is moved to the test files debcred = move t1 items = move t2 orders = move t3 tdadmin = move t4 userinf = move t5 dcstructure = move t6 \f 7_._5_ _ _T_e_s_t_ _R_u_n_s_ partslist = move t7 orderlines = move t8 accentry = move t9 orderref = move t10 termarea = move t11 ; create and initialize telestatus statusfile = set 10 disc telestatus clear.all logmode.0 safemode.3 func.1 ; introductory moves terminated ; the test is started teleop input.testinput status.statusfile ldsection.103.1, duetfile.duetfile descripfile.descripfile log.no ; test the achieved results list rpl01; print out reply area for terminal no 1 list rpl01; print out reply area for terminal no 2 list testinput; print out the processed transactions ; now the testrun ; has been terminated, please ; study your output ; before the next run finis Note: Another description of how to run a TELEDATA system in batch mode is given in the SYSTEM80 - TELEDATA TOOL COURSE manual (RCSL 21-T005).\f 8. R_e_l_a_t_i_o_n_s_ _t_o_ _O_t_h_e_r_ _S_y_s_t_e_m_s_ L_i_s_t_ _o_f_ _C_o_n_t_e_n_t_s_:P_a_g_e_ Introduction 170 8.1 TELEOP 171 8.2 DUET Interpreter 176 8.3 TD Utility 178 8.4 SYSTEM80 Batch Programs 180 8.5 Other Systems 184 \f 8_._ _ _R_e_l_a_t_i_o_n_s_ _t_o_ _O_t_h_e_r_ _S_y_s_t_e_m_s_ I_n_t_r_o_d_u_c_t_i_o_n_ The Skeleton Program is closely related to the operative system TELEOP and the virtual interpreter that executes the DUET program, the DUET interpreter. Even though these sys- tems are placed in the same algol program they can be pro- cessed seperately. The use of the SYSTEM80 batch programs in connection with TD is mentioned, as a brief outline of known possibilities and problems is given. Finally "other" systems are mentioned. \f 8.1 T_E_L_E_O_P_ In this section is given an outline of those variables that are used for the TELEOP-SKP communication, and an abstract of the TELEOP actions respectively before, during, and after the processing of each transaction. For further information see the TELEOP manual. C_o_m_m_u_n_i_c_a_t_i_o_n_ _V_a_r_i_a_b_l_e_s_:_ _T_E_L_E_O_P_ _-_ _S_K_P_ The variables are declared in the SODA-LD, where they are all marked with an *. Apart from the mentioned variables, certain variables are used as parameters, calling the algol operations. Variables which are not moved in any set: V70 no_of_ports and V71 current_port: determines the number of the port for the current terminal V74 printer_no by "printer transactions" (see section 3). V180 error number contains the error number, if any, which is logged by Teleop in the LOGFILE. Variables which are moved in set 11: They are used by TELEOP in the creation of the very first terminal administration record, which is created from the "operator terminal".\f 8_._1_ _ _T_E_L_E_O_P_ V190 startposition : contains the startposition in a text file after an erronous print out. V327 adm_ident1 V328 adm_type and V329 adm_ident2 : are all key variables for set 11. V610 user_no : is user number at this terminal. V663 terminal-type : indicates whether it is an admi- nistrative terminal. Variables which are moved in set 14: They are all (except the keys and the user number) moved back and are thus updated by TELEOP. V302 adm_user_no V577 adm14_key_1, V578 adm14_key_2, and V579 adm14_key_3: key variables inserted in the head of log records V644 adm_term_blocking: blocking, is assigned in case of errors in the sorting. Description of the terminal area: V582 adm_ta_area_name: name V584 adm_ta_segmpos Description of the reply area (print channel 2). V586 adm_rp_area_name: name V588 adm_rpa_segmpos V589 adm_rpa_bytepos: eof - marking \f 8_._1_ _ _T_E_L_E_O_P_ T_E_L_E_O_P_ _A_c_t_i_o_n_s_ _B_e_f_o_r_e_ _t_h_e_ _S_K_P_ _i_s_ _A_c_t_i_v_a_t_e_d_ The following actions are executed each time a transaction is read and before the control is handed over to the DUET interpreter which executes the SKP. The sequence of these points does not correspond with the real execution. - The terminal administration record is fetched (get S14) - Print channel 2 (reply-zone) is "opened" and positio- ned. When running in the on-line mode, the positio- ning starts from the beginning; when running in the off line mode the positioning starts at the eof-mark (continued writing). - Print channel1 (output zones) are n_o_t_ opened (cf. section 5.11, print output). - DUET>s variables are n_o_t_ zerofilled (only by starting TELEOP, that is, before the first transaction). - DUET>s print channel = 1 (changed in the SKP). - DUET>s error print out channel = 0 (current out, is changed in SKP to 2 for data errors). - DUET>s test variables are n_o_t_ changed. - DUET>s test print out channel = 0 (current out). - The current terminal area is "opened" and positioned, ready to use DUET>s record operations.\f 8_._1_ _ _T_E_L_E_O_P_ T_E_L_E_O_P_ _A_c_t_i_o_n_s_ _D_u_r_i_n_g_ _t_h_e_ _E_x_e_c_u_t_i_o_n_ _o_f_ _t_h_e_ _S_K_P_ - Logging of record images: each time the DUET operati- ons >put> and >delete> are executed, the current re- cord may be logged on the LOGFILE. - The first time the records are logged in a transacti- on, the information in the status area about the "current transaction number" is changed, and regis- ters that the database is now being updated. - Algol operations (DUET - ALGOL). These are originally independent but some of the operations use TELEOP>s procedures, e.g. message to DUETCOM about the print out of a text area (convert). T_E_L_E_O_P_ _A_c_t_i_o_n_s_ _a_f_t_e_r_ _T_e_r_m_i_n_a_t_i_n_g_ _t_h_e_ _S_K_P_ It should be pointed out that these actions are executed without any regard to how the execution of the SKP (actual- ly, the DUET program) has proceeded. The state is thus only characterized by the fact that the DUET interpreter has terminated the execution of the DUET-program. - Replies in the reply zone are only processed if some- thing has been written. When running the program in on-line mode the text is printed on the terminal by DUETCOM (short text: interrupt message, long text: convert message). By running the program in off-line mode the end position is saved in the terminal admi- nistration variables. - The terminal is terminated, i.e. the new eof position is saved in the terminal administration variables. \f 8_._1_ _ _T_E_L_E_O_P_ - The terminal administration record is moved back with put S14. - All record transfers to the database are terminated (i.e. the buffers are emptied so that the records, if any, are forced out on the disc). - The information in the status area about the "termi- nated transaction number" is updated and registers that the database is no longer being updated.\f 8.2 D_U_E_T_ _I_n_t_e_r_p_r_e_t_e_r_ This interpreter executes the DUET program and the close re- lations between them should be obvious. Here, however, 2 points should be mentioned where the relations are not obvious. E_r_r_o_r_ _P_r_i_n_t_ _O_u_t_s_ _i_n_ _t_h_e_ _D_U_E_T_ _I_n_t_e_r_p_r_e_t_e_r_ As it has been described in section 6 there are 3 types of errors: data errors (from read and get), programming errors and system errors. As it has been mentioned above (8.1), a print channel is initialized to all 3 types of errors before the SKP is acti- vated. SKP selects in the start print channel 2 for data errors, so that error print outs from the DUET interpreter ends up in: data errors :channel 2 programming errors:current out + channel 2 system errors :current out +channel 2 For programming - and system errors the print out (the actu- al text) is standardized, but for data errors it can be changed (for example to a different language) by means of corrections made in the Algol text that is used for the Algol translation of TELEOP. This contains the texts for the DUET data error print outs (cf. section 7.4). T_e_s_t_ _P_r_i_n_t_ _O_u_t_s_ _f_r_o_m_ _t_h_e_ _D_U_E_T_ _I_n_t_e_r_p_r_e_t_e_r_ Test print can be activated by: - parameters used in the call of the TELEOP program\f 8_._2_ _ _D_U_E_T_ _I_n_t_e_r_p_r_e_t_e_r_ - in transactions from the operator>s terminal (see the TELEOP manual) - by assignment of the test variables in the adaption (SKP does not execute these assignments) For the meaning of the test variables, see the respective manuals (DUET and TELEOP). Note, that these test variables survive the transactions until they are re-assigned or until TELEOP terminates the execution. In the SKP there has been implemented the possibility of activating the test print outs selectively per terminal (and route them out on the terminal) which is a powerful facility during the testing of the adaption and the localization of errors. An exception is the vartrace test print out (cf. the DUET manual) which cannot be selected seperately per terminal, but will appear on all terminals when used. Test print outs from the DUET interpreter are routed to current out (contrary to primary out, cf. Algol and Boss manuals), and this is not changed in the SKP. It may be changed with "select" in the adaption. Test print outs are always written on current out. Finally we shall mention the fact that the SKP itself does not possess built-in test print out facilities. \f 8_._3_ _ _T_D_ _U_t_i_l_i_t_y_ The TD utility programs are used for routine administration of a TD system. They cover the functions: control of runs including automatic recovery, tape administration and safety dumping, safety checking of disc files, fast copying of disc files, extraction of log information, extraction of database information, statistical analysis of the processing of a transaction, and restablishing. The following TD utilities are available: T_e_l_e_a_d_m_ (cf. ref. 12) Controls the execution of a run by means of some user speci- fied command files. T_e_l_e_s_t_a_t_u_s_ (cf. ref. 12) For handling of a status catalogue in the TD system. T_e_l_e_t_a_p_e_ (cf. ref 12) Maintains the tape catalogue of the TD system. T_e_l_e_m_o_v_e_ (cf. ref. 12) Performs a fast moving of any kind of file on disc. T_e_l_e_c_l_o_c_k_ (cf. ref. 12) Calculates the shortclock value or loads it from a file en- try, stores the shortclock value in a file entry, or makes comparisons with other file entries. T_e_l_e_r_e_a_d_c_f_ (cf. ref 12) Checks selected parts of a TD database. The program is not dependent on a particular database configuration, but cer- tain application dependent record counters are required.\f 8.3 T_D_ _U_t_i_l_i_t_y_ T_e_l_e_c_l_e_a_n_c_f_ (cf. ref 12) Deletes erase-marked records in selected parts of the data- base and adjusts certain counter fields, which must be present. T_e_l_e_l_o_g_e_x_ (cf. ref 12) Extracts records from the LOGFILE generated by Teleop. The relevant records are transformed into records readable by the GENIUS system (cf. ref. 16) T_e_l_e_d_b_e_x_ (cf. ref. 15) Extracts information from the TD database and generates re- cords readable by the GENIUS system (cf. ref. 16) T_e_l_e_s_t_a_t_a_c_ (cf. ref 14) Makes statistical analysis of the times and segment trans- ports for the processing of transactions in a real-time system. T_e_l_e_r_e_e_s_ (cf. ref 13) Reestablishes a TD database by means of the LOGFILE and a safety copy of the database.\f 8.4 S_Y_S_T_E_M_8_0_ _B_a_t_c_h_ _P_r_o_g_r_a_m_s_ As there is only limited experience in integrating the SYSTEM80 and TD, only the existing possibilities and known problems are mentioned in this section. D_a_t_a_b_a_s_e_ It should not provide any problems that the access system is SODA and the programming language DUET, because the TD data- base has been described in the DATABASE80 language just as any S80 database. The TD database resembles the S80 reference database at file - and logical file level. The SKP makes certain demands on the contents and the numbers of the record types (see secti- on 2.1). The TD use of repeating field groups makes it appa- rently impossible to share the database, but partly they can be described as simple field groups (and the SKP can still be used), and partly, the TD will, according to conventions for a definite user, have a fixed amount of repetitions per field group (repeatedly, no SKP demand). The fact that TD is a multi-user system and SYSTEM80 a sing- le user system, could cause problems but these are solved in principle, if a whole TD system is used by a single user. It remains to divide the responsibility for the maintenance of the fields between TD and the SYSTEM80 modules. Besides, it will be necessary to build up a common database which must satisfy all the demands of the programs. \f 8_._4_ _ _S_Y_S_T_E_M_8_0_ _B_a_t_c_h_ _P_r_o_g_r_a_m_s_ O_p_e_r_a_t_i_n_g_ _A_d_m_i_n_i_s_t_r_a_t_i_o_n_ Finally, the practical problem consisting of administrating the daily operations (also by single-user systems) are to be solved. Included in this is security and logging. TD uses its own administration system, Teleadm, SYSTEM80 uses KAOS. Teleadm is very closely related to TELEOP, it runs under S and is administered by generating some previously programmed rows of fp-commands. KAOS is a general operating ad- ministration system; it runs under BOSS and is administered by generating BOSS jobs from earlier adaptions that are sa- ved in KAOS logical files. This is just to mention a few practical differences. In short; the differences are large and the problems have not been clarified. C_o_m_m_u_n_i_c_a_t_i_o_n_ This covers the dispatching/receiving of information from other systems, including the SYSTEM80 batch systems. No special functions for this communication have been imple- mented in the SKP. This must then be done in the adaption. The communication from the TD can take place in 2 different ways: - by reading the LOGFILE - by TD creating the information selectively The reading of the LOGFILE is a historically wellknown and safe method to register exactly what TD has executed. It is safe because the TD database is never to be "touched" at all. But it demands a development of the software for rea- ding the log (the TD utility program TELELOGEX), a prepara- tion of lists about what is logged (if anything) by which transactions, change of format and creation of new records. \f 8_._4_ _ _S_Y_S_T_E_M_8_0_ _B_a_t_c_h_ _P_r_o_g_r_a_m_s_ Furthermore, the method is rather slow as the records in the LOGFILE are intermingled independently of users and termi- nals. A selective creation of the information in TD can take place by generating either the records or the text for this one purpose. The record generation demands a description (DATABASE80 and SODA-LD) of the records and an implementation in the current adaption points of: opening and positioning for the current file (algol operation), creation of records (create, put), and closing the file (algol operation); furthermore a de- scription of the file in an administration record (eof-posi- tion) is demanded by the same method in which the terminal area is described in the terminal administration record. The record generation could take place simultaneously with the function print output (section 5.11). The text generation would be more simple if it could be li- mited to the times when the print output is being activated. It may then be a print out (like any other print out). All in all, the implementation will demand quite a lot of adaption and furthermore it will strain the on-line functi- ons. But it will not demand any implementation of a larger, new module and the created information will be selective, limited, and user individual. The communication to TD may, in principle, take place either at record - or text level. The record reception makes the same demands as the record generation with regards to de- scription, reading and administration records; furthermore transactions, which activate the reading, must be implemen- ted. \f 8_._4_ _ _S_Y_S_T_E_M_8_0_ _B_a_t_c_h_ _P_r_o_g_r_a_m_s_ Texts can be received like normal transactions. These can either be processed by activating TELEOP in the off-line mode or TELEOP can, in the on-line mode, read and process the transactions in between the on-line transactions (not implemented at present). It must be said generally about communication that the tech- nique exists but some implemantation is needed. There is, however, no administration of the communication (e.g. of er- roneously running the same input twice or any other error in the administration, security at break-down, reestablishment, restart at the right point etc). The above remarks apply to communication with all the S80 function modules but especially those of GENIUS and GVINDS.\f 8.5 O_t_h_e_r_ _S_y_s_t_e_m_s_ Communication should take place without any merging in the database. Moreover the above-mentioned remarks concerning communicati- on with SYSTEM80 can be repeated.\f 9 I_n_d_e_x_ The index includes keywords, definitions, etc. for the text sections of the manual, and also references to sections with flow diagrams and adaption point descriptions. References are given the form volume no.' section no', page no' Variable designation, line codes and the like are not - with a few exceptions - included in the index.\f 9_._ _ _I_n_d_e_x_ account entry II 5.6, 107 III 5.9, 63 account entry record III 5.9, 64 adaption, data errors III 6, 140 III 6.2, 142 reading of input I 4.2,40 adaption point description, conventions for I 5.0,44 adaption point graph I 5.0,44 adaption point, next I 5.0,44 addition line II 5.5,4 II 5.6,107 admin_error_state I 5.1.1,49 administrative transactions I 5.3,116 adp 0 I 5.1.1,49 back order lines II 5.6,107 basic data, the user>s I 5.2,69 I 5.4,137 block reference in flow diagram I 5.0, 44 in adaption point description I 5.0, 44 BOSS III 8.4, 181 cancellation II 5.5,4 II 5.5.9,73 II 5.6,107 central convert III 5.10, 121 comment line II 5.5, 4 II 5.6,107 \f 9_._ _ _I_n_d_e_x_ communication variable (Skeleton Program I 5.0,44 II 5.5, 4 II 5.6,107 (TELEOP) I 5.1.1,49 communication with other systems III 8.4, 181 compound deb/cred II 5.6,107 invoicing II 5.6.9,174 conditions for activation I 5.0,44 convert text area III 5.10, 119 III 5.10.1, 119 III 8.1, 174 create line (invoice) II 5.6,107 II 5.6.3,134 (account entry) III 5.9, 64 III 5.9.3, 72 (order) II 5.5, 4 II 5.5.6, 43 create master I 5.2.3,89 order II 5.5, 4 II 5.5.1, 18 structure list I 5.2.4,94 crediting II 5.6,107 database - I 2,13 III 8.4, 180 database 80 III 8.4, 180 description I 2.1,14 III 7.1, 156 structure I 2.1,14 data error - DUET cf. DUET - Skeleton Program cf. Skeleton Program - adaption cf. adaption\f 9_._ _ _I_n_d_e_x_ deb/cred entry scan III 5.9, 65 III 5.9.5, 86 deb/cred order scan III 5.7, 6 III 5.7.5, 36 debiting II 5.6,107 debitor/creditor invoicing II 5.6,107 II 5.6.5,164 delete master I 5.2.5,103 delete structure list I 5.2.6,108 designation (for adaption point) I 5.0, 44 discount record II 5.5, 4 II 5.6,107 display voucher III 5.7, 5 III 5.7.2, 20 DUET - data errors III 6, 140 III 6.1, 141 III 8.2, 176 errors from the DUET system III 6, 140 III 6.1, 141 instruction number I 5.0, 44 interpreter I 3.1, 30 III 6.1, 141 III 8, 170 III 8.2, 176 program III 7.3, 160 program errors III 6, 140 III 6.1, 141 III 8.2, 176 system errors III 6, 140 III 6.1, 141 III 8.2, 176 \f 9_._ _ _I_n_d_e_x_ DUETCOM I 3.1,30 III 5.10, 119 III 8.1, 174 entry record II 5.6,107 erase line (invoice) II 5.6,107 II 5.6.6,168 (account entry) III 5.9, 64 III 5.9.4, 84 (order) II 5.5, 4 II 5.5.8,71 order II 5.5.5, 33 errors - and warnings, input I 4.0,38 output I 3.1, 30 processing III 6, 139 number III 6.3, 143 text III 6.3, 143 print-outs III 6, 139 III 8.2, 176 errors - from the DUET program III 6, 140 III 6.2, 142 field groups, repeating III 8.4, 180 flow diagrams, conventions for I 5.0,44 form of transaction I 4.0, 38 form print-outs III 5.11, 130 fp-commsnds III 8.4, 180 GENIUS III 8.4, 180 GVINDS III 8.4, 180 \f 9_._ _ _I_n_d_e_x_ identification (of the transaction) I 4.1,39 initialization (in the Skeleton Program I 5.1, 48 information code I 4.2, 40 input - I 4, 37 structure I 4.1, 39 input - zone I 5.1, 48 installation adaption III 6.2, 142 inquiry transactions I 5.4,137 item line II 5.5, 4 II 5.6,107 item movement, entering of II 5.6,107 item order scan III 5.7, 4 III 5.7.3, 24 invoice head amendment II 5.6,107 II 5.6.7,170 invoicing II 5.6,107 killing II 5.5, 4 II 5.5, 4 II 5.6,107 III 8.3, 178 KAOS III 8.4, 180 line code I 4.1, 39 I 4.2, 40 reading of I 5.1.2, 54 line number II 5.5, 4 II 5.6,107 III 5.7, 4 III 5.9, 63 logging III 8.1, 171 III 8.4, 180 \f 9_._ _ _I_n_d_e_x_ logical file maintenance I 4.2,40 I 5.2, 69 login III 5.8, 55 logout I 5.1, 48 III 5.8, 55 miscellaneous transactions III 5.7, 4 mode of operations I 5.1.1, 49 multi-user(-system) III 8.4, 180 neutral line II 5.5,4 number (for the adaption point) I 5.0, 44 off-line run I 5.1,48 operating administration III 8.4, 180 operating guide III 7,152 order - entry II 5.5, 4 invoicing II 5.6,107 II 5.6.4,148 head amendment II 5.5, 4 II 5.5.3, 28 invoicing, compound II 5.6,107 II 5.6.8,172 line scan III 5.7, 4 III 5.7.6, 46 number II 5.5,4 other systems III 8, 170 III 8.5, 184 output I 3, 28 \f 9_._ _ _I_n_d_e_x_ output form administration record III 5.10, 118 III 5.11, 130 output-type I 3.2,31 III 5.10, 118 III 5.11, 130 paper type III 5.10, 118 parent deb/cred record II 5.6,107 line II 5.5, 4 part line II 5.5, 4 parts-list II 5.5, 4 II 5.6,107 password III 5.8, 55 physical stock count III 5.7, 4 III 5.7.4, 34 pooling administration I 3.4, primary output III 6.1, 141 print channel 1 I 3.2,31 III 5.11, 130 III 8.1, 171 channel 2 I 3.1, 30 III 5.11, 130 III.6.1, 141 III 8.1, 171 printer administration I 3.4, 35 printer, central = common common I 3.2, 31 III 5.10, 118 printer - ident. I 3.2,31 number III 5.10, 118 \f 9_._ _ _I_n_d_e_x_ printer, selective I 3.2,31 III 5.10, 118 separate = selective control of I 3.2,31 print-out (from terminal area) cf. print output print-out acceptance III 5.10, 118 III 5.10.2, 128 print-out administration III 5.10, 118 print-out command III 5.10, 118 print-out order I 3.2,31 print output III 5.11, 130 III 8.4, 180 priority I 5.1.1,49 production order II 5.5,4 program errors - DUET cf. DUET protection - by order creation II 5.5 4 II 5.5, 4 - by invoicing II 5.6,107 purchase order II 5.5,107 reading (in the adaption point) I 5.0,44 references (to manuals) I 1.3, 12 relations (to other systems) III 8, 169 relocate stock transaction III 5.7, 4 III 5.7.4, 34 reply area I 3.1,30 III 8.1, 171 reply zone III 8.1, 171 re-run I 5.0,44 restrictions (of sets) II 5.5, 4 III 5.7, 4 \f 9_._ _ _I_n_d_e_x_ s no' cf. set description sales order II 5.5, 4 select III 6.1, 141 serial number II 5.5, 4 II 5.6,107 III 5.7, 4 set I 2.2,21 , descriptions I 2.2, 21 single user (system) III 8.4, 180 Skeleton Program - data errors III 6.2, 142 error list III 6.3, 143 skp_first_char I 5.1.8,61 skp_line_code I 2.2, 21 I 5.1.3, 55 SODA-LD I 2.2, 21 III 7.2, 158 III 8.1, 171 III 8.4, 180 sorting (of terminal area) II 5.5, 4 III 5.7, 4 III 5.9, 63 state check I 4.0,38 status area III 8.1, 171 syntax (input) I 4.2,40 system errors - DUET cf. DUET system printer = printer, common SYSTEM S III 8.4, 180 systems, >other> III 8, 169 III 8.5, 184 SYSTEM80 III 8, 169 III 8.4, 180 \f 9_._ _ _I_n_d_e_x_ TD utility III 8, 169 III 8.3, 178 Teleadm III 8.4, 180 TELELOG III 8.1, 171 III 8.4, 180 TELEOP I 3.1,30 III 5.10, 118 III 6.1, 141 III 7.4, 162 III 8, 169 III 8.1, 171 III 8.2, 176 terminal administration record I 5.1.1,49 I 5.3,116 II 5.5,4 III 5.8, 55 III 8.1, 171 terminal, administrative I 5.3,116 terminal area I 2.1, 14 II 5.5,4 II 5.6,107 III 5.9, 63 III 5.11, 130 III 8.1, 171 terminal controlling transaction III 5.8, 55 terminal ident. I 3.2, 31 test print-outs (from the DUET interpreter III 8.2, 176 test runs III 7.5, 164 transaction I 1.1, 10 , from DUETCOM I 3.3, 32 , summary I 4.3, 42 transaction information I 4.2, 42 \f 9_._ _ _I_n_d_e_x_ text area III 5.10, 118 III 5.11, 130 III 8.1, 171 text crucher III 5.8, 55 update line (order) II 5.5, 4 II 5.5.7, 66 master I 5.2.1,78 order II 5.5, 4 II 5.5.2, 24 structure list I 5.2.2, 82 use (of adaption point) I 5.0, 44 utility = TD utility voucher - calculation III 5.7, 4 III 5.7.1, 9 line (record) II 5.5, 4 end - invoice II 5.6,107 II 5.6.2,125 III 5.7, 4 - account entry III 5.9, 63 III 5.9.2, 70 - order II 5.5, 4 II 5.5.4, 30 II 5.6,107 start - invoice II 5.6,107 II 5.6.1,120 - account entry III 5.9, 63 III 5.9.1, 68 - order II 5.5, 4 \f 9_._ _ _I_n_d_e_x_ writing (in the adaption point) I 5.0,44 \f A_p_p_e_n_d_i_x_ _A_: A_p_p_l_i_c_a_t_i_o_n_ _o_f_ _D_U_E_T_ _B_l_o_c_k_s_ By coding of the Skeleton Program and assignment of block number and entry point for the adaption, the following conventions have been applied. Skeleton Program: block 1-19 Installation Adaption: block 20-29 User Adaption: block 50-' S_k_e_l_e_t_o_n_ _P_r_o_g_r_a_m_ block no. Application 1 Initialization and termination of the transaction processing. 2 Terminal controlling transactions. 3 System transactions (Z-transactions). 4 Logical file maintenance. 5 Inquiry transactions. 6 Print-out transactions. 7 Voucher calculation, display transaction and print output. 8 Order entry. 9 Invoicing.\f block no. Application 10 Account entry. 11 Miscellaneous transactions. 12 Cancellation (general) 13-19 Free. I_n_s_t_a_l_l_a_t_i_o_n_ _A_d_a_p_t_i_o_n_ Includes adaption, which is common to all users of the TELEDATA installation in question. block no. Application 20 Terminal controlling transactions. 21 System transactions. 22 Error print-outs, Skeleton Program. 23 Print-out, convert-messages. 24-29 Free. U_s_e_r_ _A_d_a_p_t_i_o_n_ Includes adaption, which is individual for a user (or a group of users). For this purpose 20 blocks per user (-group) are applied. By all calls of the user adaption in the Skeleton Pro- gram the block number is stated as a variable which is assigned from a corresponding field in the terminal record - i.e. the terminal administration record contains 20 fields (adp. block 1, ---, a block 20) in which the block numbers for the user>s adaption are saved.\f The adaption is distributed in the blocks in the following way: Adp. block 1 Conversion of line code. - - 2 Reading of keys, logical file maintenance of master records. - - 3 The rest of the logical file maintenance. - - 4 Inquiry transactions. - - 5 Miscellaneous transactions. - - 6 Order entry I (Create Order, Update Order, Erase Order, Order Head Amendment). - - 7 Order entry II (Create Order Line, Update Order Line). - - 8 Order entry III (Empty) - - 9 Invoicing I (Voucher Start, Invoice Head Amendment). - - 10 Invoice II (Create Invoice Line). - - 11 Invoice III (Create Invoice Line) - - 12 Invoice IV (Order Invoice, Deb/Cred Invoicing). - - 13 Print-outs I (Print Output)\f Adp. block 14 Print-outs II (Empty) - - 15 Print-out administration. - - 16 Cancellation (Erase Order Line, Erase Invoice Line, Cancellation). - - 17 Voucher calculation, etc. (Display Voucher, Order Voucher End, Invoice Voucher End, Voucher Calculation). - - 18 Account entry (Voucher Start, Entry Line, Erase Entry Line, Customer Entry Scan). - - 19 Other transactions (Empty). - - 20 Free.\f \f i T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_ 1. INTRODUCTION ........................................... 1 2. LOADING THE SYSTEM ..................................... 2 3. RECONFIGURING THE PASCAL INTERPRETER ................... 4 4. PASCAL SYSTEM UTILITIES ................................ 5 4.1 BACKUP Utility .................................... 5 4.2 BOOTER Utility .................................... 5 4.3 CONVERT Utility ................................... 6 4.4 DISKSIZE Utility .................................. 6 5. LOADER DISKETTE UTILITIES .............................. 7 5.1 The SYSTEM Utility ................................ 7 5.2 The CONFIGURATION Utility ......................... 8 5.3 The FORMAT Utility ................................ 9 6. CONTENTS OF DISKETTES .................................. 10 7. PERIPHERAL SUPPORT ..................................... 12 7.1 Diskette Formats .................................. 12 7.1.1 Loader Diskettes ........................... 12 7.1.2 System Diskettes ........................... 12 7.2 Printer Port ...................................... 13 7.3 Terminal Port ..................................... 13 7.4 Display Handling .................................. 14 7.4.1 Cursor Addressing .......................... 14 7.4.2 Cursor Control ............................. 15 7.4.3 Attributes ................................. 15 7.4.4 Semigraphics ............................... 16 7.5 Keyboard .......................................... 18 A_P_P_E_N_D_I_C_E_S_: A. REFERENCES ............................................. 21 B. ADDENDUM TO UCSD PASCAL USER'S MANUAL ................... 22 \f ii \f F_ 1_._ _ _ _ _ _ _ _ _I_N_T_R_O_D_U_C_T_I_O_N_ 1. This document is intended as an introduction to the UCSD Pascal system running on the RC700 microcomputer. Only details specific to the RC700 implementation of UCSD Pascal is covered. For detailed information about the UCSD Pascal system and the PASCAL language please refer to the references in appendix A. The system delivered from A/S REGNECENTRALEN af 1979, is a CP/M adaptable UCSD Pascal system from SofTech Microsystems configured to run on the RC700 microcomputer. The UCSD Pascal system is delivered on 2 or 3 diskettes. The UCSD Pascal loader diskette contains drivers for the RC700 microcom- puter hardware and various system utilities (refer to chapter 5). The UCSD Pascal system diskette(s) contains the operating system, files, editor and other utilities (refer to chapter 6). The system will support one or two diskette drives of the 8" type (recommended capacity: 915 k bytes per drive) or the 5 1/4" (re- commended capacity: 279 k bytes per drive). The UCSD Pascal sys- tem units #4 and #5 are supported as the RC700 diskette units 1 and 2 respectively. The RC700 Printer Port is supported as the UCSD Pascal system unit #6 (printer:). The RC700 Terminal Port is supported as the UCSD Pascal system units #7 and #8 (remin: and remout:). The RC700 Parallel Input/Output Port is not supported. Chapter 7 contains more detailed information on the peripheral support. In chapter 2 you will find instruction on how to load the system and get started. The distribution system is configurated for one drive and has no floating point facilities. The configuration may be changed by the user in choosing a suitable interpreter module, see chapter 3. CP/M is a registred trademark of Digital Research. \f The distribution system is configurated for use with a Danish keyboard. However this configuration can easily be changed by following the procedure outlined in chapter 5 before the system is loaded or before the distribution system is copied. Do not start using the distribution system before you have famil- iarized yourself with this manual and examined the UCSD Pascal User's Manual. Never write on the original distribution diskettes. These will be master copies and will function as last resert backups in the event of errors. Start by producing backup copies as explained in chapters 4 and 5. You may find it valuable to keep an additional backup of the system at a secure place. Your copy of the UCSD Pascal system for the RC700 has a serial number and is licensed for your use only on a single RC700 micro- computer system. \f F_ 2_._ _ _ _ _ _ _ _ _L_O_A_D_I_N_G_ _T_H_E_ _S_Y_S_T_E_M_ 2. The UCSD Pascal system is loaded in the following way: 1) Insert the diskette marked 'PASCAL LOADER' into drive 1 and press the 'RESET'-button. The following text (loader diskette promptline) will be dis- played: RC700 PASCAL LOADER vers. dd.mm.yy INSERT PASCAL DISK - TYPE <RETURN> 2) Insert the Pascal system disk (SYS:) into drive 1, and type <return>. After several disk accesses, the Pascal prompt line will appear, and the system is ready for use. The Pascal system disk (SYS:) must contain the following files: SYSTEM.PASCAL (the operating system) SYSTEM.INTERP (the Pascal interpreter) SYSTEM.MISCINFO (information about terminal handling) The available Pascal programs - for example the compiler - may require some additional files to exist on SYS:, see chapter 6. The system will be loaded in a configuration corresponding to the contents of the loader diskette. When the loader diskette prompt- line appears, the possibility to change the configuration is available. This is done before the system diskette is loaded and is described in further detail in chapter 5. \f F_ 3_._ _ _ _ _ _ _ _ _R_E_C_O_N_F_I_G_U_R_I_N_G_ _T_H_E_ _P_A_S_C_A_L_ _I_N_T_E_R_P_R_E_T_E_R_ 3. The initial configuration of the Pascal interpreter (the file SYSTEM.INTERP) is able to handle one floppy disk drive and has no floating point capabilities. Three more interpreter module files exist: CPM2.INTERP 2 drives supported - no floating point capabilities. CPM1.FP.INTERP 1 drive supported floating point included CPM2.FP.INTERP 2 drives supported floating point included The INTERP modules occupies much less memory space than the FP.INTERP modules. To install a new interpreter, enter the F)iler by typing F, and R)emove the file SYSTEM.INTERP. Then T)ransfer the appropriate interpreter file to the system disk (in case it is not present on the system disk), naming it SYSTEM.INTERP. The system may now be re-booted, thus including the new interpreter module. NOTE: With a two drive configuration (CPM2....) a system load requires diskettes in both drives in order to prevent the system from hanging on a read to the second drive. \f F_ 4_._ _ _ _ _ _ _ _ _P_A_S_C_A_L_ _S_Y_S_T_E_M_ _U_T_I_L_I_T_I_E_S_ 4. Apart from the standard UCSD Pascal utilities (see ref. 1) the RC700 Pascal is supplied with a number of system utilities. They are described in the following sections. 4_._1_ _ _ _ _ _ _ _B_A_C_K_U_P_ _U_t_i_l_i_t_y_ 4.1 The backup program BACKUP.CODE will make a copy of an RC700 UCSD Pascal system diskette (note that copies of the loader diskette is made as described in section 5.1). The program asks for the source- and destination unit numbers for the transfer, and will work on both one and two drive systems. The diskette drives have unit numbers 4 and 5, ref. 1 p.8. On a single drive system the backup process is somewhat tedious as you have to interchange the source and destination disks a number of times. To execute the backup program, type X and BACKUP at the command level. 4_._2_ _ _ _ _ _ _ _B_O_O_T_E_R_ _U_t_i_l_i_t_y_ 4.2 The bootstrap copies program BOOTER.CODE is described in ref. 1, p.293. It is used to copy the UCSD Pascal System Secondary Bootstrap from one disk drive to another. This must be done before a diskette initialized by means of the Z(ero) command (see ref. 1, p.29) can be used as system load diskette. The RC700 BOOTER program asks for source- and destination unit numbers and then proceeds to copy the secondary bootstrap (residing on cylinder 0) from a system load diskette onto the destination diskette. To execute the booter program, type X and BOOTER at the command level. \f 4_._3_ _ _ _ _ _ _ _C_O_N_V_E_R_T_ _U_t_i_l_i_t_y_ 4.3 The convert program is supplied only with the RC700 UCSD Pascal 5 1/4" diskette systems. It is used to convert old single den- sity, double sided system diskettes into the current dual den- sity, double sided system diskette format, and requires a two drive system for proper operation. The program will ask for the number of blocks to convert (normally 280) and will then prompt the user to insert the old single density diskette in unit #4 and a dual density system diskette in unit #5 as destination drive. On completion it is up to the user to change the directory size on the dual density diskette in order to use the full capacity of 558 blocks. To execute the convert program, type X and CONVERT at the command level. 4_._4_ _ _ _ _ _ _ _D_I_S_K_S_I_Z_E_ _U_t_i_l_i_t_y_ 4.4 The disksize utility is described in ref. 1, p.I-11. The standard disksizes for the RC700 UCSD Pascal systems are 558 blocks for 5 1/4" diskettes and 1830 blocks for 8" diskettes. It is recommended not to change the disk capacity, as several utilities will operate with the standard sizes. \f F_ 5_._ _ _ _ _ _ _ _ _L_O_A_D_E_R_ _D_I_S_K_E_T_T_E_ _U_T_I_L_I_T_I_E_S_ 5. The loader diskette of the RC700 UCSD Pascal system contains a bootstrap loader and the drivers for the RC700 microcomputer sys- tem. It further contains utilities to generate copies of the loader diskette itself, to reconfigure the RC700 driver system and to format system diskettes. The loader diskette utilities are activated by following the pro- cedure for loading the system as outlined in chapter 2. When the loader diskette promptline appears, press the ESC button instead of typing return. This will bring up the U_t_i_l_i_t_y_-_p_r_o_m_p_t_l_i_n_e_: RC700 UTILITY: F(ORMAT, S(YSTEM, C(ONFIGURATION? Now type a single letter as indicated to select the required utility. Whenever the Utility-promptline is re-displayed, type RETURN to get the loader diskette promptline back. 5_._1_ _ _ _ _ _ _ _T_h_e_ _S_Y_S_T_E_M_ _U_t_i_l_i_t_y_ 5.1 The SYSTEM utility is used to generate a copy of the loader dis- kette. The distribution loader diskette contains the drivers configured according to normal RC700 standard. The user has the option of reconfiguring the drivers before the copy is made (re- fer to section 5.2). In this way the user may generate loader diskettes to suit actual requirements, and may produce different loader diskettes for different tasks to be run on the same sys- tem. The diskette types used for the loader diskettes are described in section 7.1. Here it should be noted that the diskettes need n_o_t_ be pre-formatted as this is taken care of by the utility as re- quired. When the utility is selected by responding with an 'S' to the Utility-promptline, the user will be asked to: INSERT DISK - TYPE 'RETURN' \f Now insert an empty diskette in drive 1 and press the return key. When the loader system has been written onto the diskette, return will be made to the Utility-promptline and another copy can be made, if required. 5_._2_ _ _ _ _ _ _ _T_h_e_ _C_O_N_F_I_G_U_R_A_T_I_O_N_ _U_t_i_l_i_t_y_ 5.2 The CONFIGURATION utility is used to make reconfigurations of the RC700 drivers. It is possible to reconfigure the following: 1) Printer Port characteristics 2) Terminal Port characteristics 3) Conversion tables for keyboard alphabets 4) Cursor format on display unit. The CONFIGURATION utility is activated by responding with a 'C' to the Utility-promptline and is menu driven from there on. When the various parameters have been set, return is made to the Util- ity-promptline by pressing RETURN. The actual reconfigurations take place only when the system is loaded from the system diskette. Please note that a reconfigured loader diskette may be generated by means of the SYSTEM utility once the parameters have been set. When the new loader diskette is subsequently used together with the system diskette for load- ing, the UCSD Pascal system will appear in the reconfigurated form. The setting of the configuration parameters is achieved by se- lecting options from the menues on display. The first menu to ap- pear will offer a choice of the above mentioned reconfiguration possibilities. When a selection has been made, another menu will appear with a further choice of options, or with a list of poss- ible values for the parameter in question. When a parameter has been set by typing the number of its desired value, the previous menu will be redisplayed for a new selection to be made. The cur- rent value of a parameter is indicated by an asterisk to the left of the selection number. If no changes are to be made or if a se-\f lection is regretted, typing RETURN will cause the previous menu to be redisplayed. The loader system distributed by RC is configured for a Danish keyboard and with a blinking reverse video cursor. The printer and terminal part are configured as detailed in sections 7.2 and 7.3. 5_._3_ _ _ _ _ _ _ _T_h_e_ _F_O_R_M_A_T_ _U_t_i_l_i_t_y_ 5.3 The FORMAT utility is used to format diskettes to be used as sys- tem diskettes. The diskettes must be of the 2D type, double si- ded, dual density, soft sectored (refer to section 7.1). It is advisable to format a batch of diskettes before they are used as system diskettes for the RC700 UCSD Pascal system as one cannot be certain that the diskettes are correctly formatted by the manufacturer in all cases (5 1/4" never are). Remove the loader diskette from diskette drive 1 before selecting the utility by typing 'F'. Now the prompt will be to: INSERT DISK - TYPE 'RETURN' Put the diskette to be formatted into diskette drive 1, close the door and press RETURN. When the formatting is over, the Utility- promptline will be redisplayed and the system will be ready for formatting of the next diskette. \f F_ 6_._ _ _ _ _ _ _ _ _C_O_N_T_E_N_T_S_ _O_F_ _D_I_S_K_E_T_T_E_S_ 6. The RC700 UCSD Pascal system is distributed on two or three dis- kettes. The MAXI diskette system consists of a loader diskette and a Pascal system diskette (volume id SYS:). The MINI diskette system consists of a loader diskette and two Pascal system dis- kettes (volume id SYS: and SYS1:). (Note however that the RC700 UCSD Pascal Turnkey System on MINI diskette comprises only loader diskette and system diskette, SYS:). The Pascal system load dis- kette (see chapter 2) is the diskette with the volume id SYS:. The following is a list of the files on the distribution disket- te(s) with reference to the appropriate documentation: SYSTEM.PASCAL ref. 1 p.5 3) SYSTEM.INTERP this manual 3) SYSTEM.MISCINFO ref. 1 p.259 3) SYSTEM.FILER ref. 1 p.7 SYSTEM.EDITOR ref. 1 p.31 SYSTEM.COMPILER ref. 1 p.69 SYSTEM.SYNTAX ref. 1 p.70 DISKCHANGE.CODE ref. 1 p.I-9, I-15 DISKSIZE.CODE ref. 1 p.I-11 3) YALOE.CODE ref. 1 p.57 SYSTEM.LINKER ref. 1 p.77 SYSTEM.LIBRARY ref. 1 p.78 SYSTEM.ASSEMBLER ref. 1 p.129 Z80.OPCODES ref. 1 p.129 Z80.ERRORS ref. 1 p.129 8080.ASSEMBLER ref. 1 p.129 8080.OPCODES ref. 1 p.129 8080.ERRORS ref. 1 p.129 LIBRARY.CODE ref. 1 p.249 LIBMAP.CODE ref. 1 p.309 PATCH.CODE see PATCH.DOC.TEXT PATCH.DOC.TEXT replaces section 4.4 in ref. 1 \f CPM1.INTERP this manual chapter 3 1), 3) CPM2.INTERP this manual chapter 3 1), 3) CPM1.FP.INTERP this manual chapter 3 1), 3) CPM2.FP.INTERP this manual chapter 3 1), 3) MARKDUPDIR.CODE ref. 1 p.301 1) COPYDUPDIR.CODE ref. 1 p.301 1) DISASM.II.CODE ref. 1 p.303 1) OPCODES.II.0 ref. 1 p.303 1) RELOC.CODE see RELOC.DOC.TEXT 1) RELOC.DOC.TEXT 1) FLIPCODE.CODE see FLIP.DOC.TEXT 1) FLIPDIR.CODE see FLIP.DOC.TEXT 1) FLIP.DOC.TEXT 1) BOOTER.CODE this manual chapter 4 1) BACKUP.CODE this manual chapter 4 1) CONVERT.CODE this manual chapter 4 1), 2) Notes: 1) For a MINI diskette system these files will be on the (SYS1:) system diskette 2) MINI diskette system only 3) Files included in the RC700 UCSD Pascal Turnkey System \f F_ 7_._ _ _ _ _ _ _ _ _P_E_R_I_P_H_E_R_A_L_ _S_U_P_P_O_R_T_ 7. The following sections contain information about the peripherals supported by the RC700 UCSD Pascal system. 7_._1_ _ _ _ _ _ _ _D_i_s_k_e_t_t_e_ _F_o_r_m_a_t_s_ 7.1 7_._1_._1_ _ _ _ _ _L_o_a_d_e_r_ _D_i_s_k_e_t_t_e_s_ 7.1.1 The 5 1/4" MINI-diskette is a single density, double sided, 128 bytes per sector, 16 sectors per track floppy disk with 36 cylin- ders. Recommended type: Memorex 32013421. The 8" MAXI-diskette is a single density, single sided, 128 bytes per sector, 26 sectors per track floppy disk with 77 cylinders. Recommended type: 3M 740/2-0. 7_._1_._2_ _ _ _ _ _S_y_s_t_e_m_ _D_i_s_k_e_t_t_e_s_ 7.1.2 The 5 1/4" MINI-diskette is a dual density, double sided, 512 bytes per sector, 9 sectors per track floppy disk with 32 cylin- ders. Thus it can hold 558 Pascal blocks (279 k bytes). Recommended type: Memorex 32013421. The diskette is formatted with 2 to 1 interleaved sectors and zero track to track skew. The first Pascal cylinder is cylinder one. The 8" MAXI-diskette is a dual density, double sided, 512 bytes per sector, 15 sectors per track floppy disk with 62 cylinders. Thus it can hold 1830 Pascal blocks (915 k bytes). Recommended type: 3M 743-0-512. The diskette is formatted with 2 to 1 interleaved sectors and zero track to track skew. The first Pascal cylinder is cylinder one. \f Diskettes originating from other UCSD Pascal systems not having the proper interleaving ratio and track to track skew must be reformatted using the DISCCHANGE program (see ref. 1) before being used with the system. 7_._2_ _ _ _ _ _ _ _P_r_i_n_t_e_r_ _P_o_r_t_ 7.2 The RC700 Printer Port is supported as the UCSD Pascal unit #6 (printer:). The standard configuration is: 1 stopbit even parity 1200 bps 7 data bits The port can be used for attachment of most printers with a ser- ial interface and busy control. The busy handshake mechanism uses the V.24 signals RTS and CTS as follows: Figure 1: Printer port V.24 signals. 7_._3_ _ _ _ _ _ _ _T_e_r_m_i_n_a_l_ _P_o_r_t_ 7.3 The RC700 Terminal Port is supported as the UCSD Pascal units #7\f and #8 (REMIN: and REMOUT:) for asynchronous operation (V.24). The standard configuration is: 1 stopbit even parity 1200 bps 7 data bits for transmit and receive The port characteristics can be adapted to fit almost any requi- rements by means of the configuration utility on the loader disk (see section 5.2). The transmitter part of the terminal port functions exactly as the printer port. The receiver port uses the V.24 signal DCD to enable receiving. The parity bit is masked off when receiving. 7_._4_ _ _ _ _ _ _ _D_i_s_p_l_a_y_ _H_a_n_d_l_i_n_g_ 7.4 7_._4_._1_ _ _ _ _ _C_u_r_s_o_r_ _A_d_d_r_e_s_s_i_n_g_ 7.4.1 Cursor movements on the display can be controlled by absolute cursor addressing, where horizontal before vertical addressing is used. The cursor movement is made by outputting three characters, a control character and two addressing characters: Control character: 6 First address character: horizontal position + 32 Second address character: vertical position + 32 It is the programmer's responsibility to see that the values of addresses are kept within the following limits: 0 + 32 <_ vertical position <_ 24 + 32 0 + 32 <_ horizontal position <_ 79 + 32 The upper left corner of the display has the address (0,0), the lower right the address (24,79). \f 7_._4_._2_ _ _ _ _ _C_u_r_s_o_r_ _C_o_n_t_r_o_l_ 7.4.2 The characters below will cause the cursor to move as specified: 5 or 8 - one position to the left (backspace) 9 - four positions forward (tabulation) 10 - one line down (newline) 12 - display cleared and cursor to position (0,0)(clear) 13 - return to position 0 on current line (carriage re- turn) 24 - one position to the right (forward space) 26 - one line up 29 - return to position (0,0)(home) 30 - current line erased from cursor position to end of line 31 - display erased from cursor position to end of dis- play 7_._4_._3_ _ _ _ _ _A_t_t_r_i_b_u_t_e_s_ 7.4.3 A set of attributes is available to be used for characters on the display: - underline - inverse video - blinking - semigraphic The attributes are assigned each character following the "set attribute" character until the "reset attribute" character occurs or the "set attribute" character is scrolled out of the screen. The "set attribute" character is defined as 128 plus the actual attribute byte. The "reset attribute" character is defined as 128. \f The value of the attribute byte can be found by using the table below: Attribute Value dec. hex. bin. blinking 2 2 00000010 semigraphic 4 4 00000100 inverse video 16 10 00010000 underline 32 20 00100000 The attribute may be mixed in any order to enable e.g. inverted semigraphic (128 + 4 + 16 = 148) or blinking semigraphic (128 + 2 + 4 = 134). 7_._4_._4_ _ _ _ _ _S_e_m_i_g_r_a_p_h_i_c_s_ 7.4.4 The semigraphic attribute enables a semigraphic character set as shown in fig. 2. \f F_ Figure 2: Semigraphic character set. \f F_ 7_._5_ _ _ _ _ _ _ _K_e_y_b_o_a_r_d_ 7.5 The RC700 Microcomputer keyboard exists in two layouts, where RC721 keyboards with production number before KBU723 S/N 51, and RC722 keyboards before KBU722 S/N 384, follow the layout shown in fig. 3. Later productions of RC721/RC722 keyboards follow fig. 4. The values delivered by the keyboard are used as index into an input conversion table in order to produce the character value for the UCSD Pascal system. The input conversion table is located at address 5A00 Hex in the loader diskette memory image. \f F_ \f F_ \f F_ A_._ _ _ _ _ _ _ _ _R_E_F_E_R_E_N_C_E_S_ A. 1 RCSL No 42-i1515: UCSD Pascal, User's Manual SofTech Microsystems/RC Computer, 1980 2 RCSL No 42-i1530: Beginner's guide for the UCSD Pascal System Kenneth L. Bowles Byte Books (McGraw-Hill), 1979 3 RCSL No 42-i1609: PASCAL, User's Manual and Report Kathleen Jensen and Niklaus Wirth Springer-Verlag, New York, 1975 \f F_ B_._ _ _ _ _ _ _ _ _A_D_D_E_N_D_U_M_ _T_O_ _U_C_S_D_ _P_A_S_C_A_L_ _U_S_E_R_'_S_ _M_A_N_U_A_L_ B. This appendix contains a number of amendments to the UCSD Pascal User's Manual, ref. 1. \f F_ \f F_ \f F_ \f F_ \f F_ \f F_ \f F_ \f F_ \f «eof»