|
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: 211328 (0x33980) Types: TextFile Names: »D24«
└─⟦4233bed4d⟧ Bits:30005867/disk04.imd Dokumenter (RCSL m.m.) └─⟦this⟧ »D24«
BOOK-KEEPING POSTINGS LIMITS COMMAND VARIABLES DESCRIPTION COMMENTS MIN. MAX. tpb Test print. ba journal code 1 99 Open book-keeping * Within currentcalen- date * * dar year but earlier than system"sdate. Date Date is typed ddmmyy. bb type 1 2 Debit or credit posting. 1 = debit 2 = credit bc voucher no. 1 999 999 The account no. must account no. 0 9999999 satisfy a reminder sum 1 9999999999 7 check. text code 0 99 text 0 32 chars VAT 0 99999999 VAT code 1 4 bd Debit sum, credit sum and balance appear on terminal display. be Close book-keeping postings. b? Display book-keeping. bx Cancel book-keeping. \f STOCK TRANSACTIONS LIMITS COMMAND VARIABLES DESCRIPTION COMMENTS MIN. MAX. tpl Test print. lat Start stock transactions. lb type 1 7 Entry of stock marking 0 1 transactions. article no. quantity "order ref." "order date" lc Close stock transactions. l? Display stock transactions. lx Cancel stock transactions. \f Program Name: POSTINGS Process Name............. 1.0 INTRODUCTION The following describes the procedure from the loading of the program (see Section 1.2) to the point where the program can be operated. The actual operation of the program POSTINGS is de- scribed in sections 1.1 and 1.2 of this appendix. (This program contains both book-keeping postings and stock transaction rou- tines). P_r_o_g_r_a_m_ _I_n_i_t_i_a_l_i_z_a_t_i_o_n_ N_o_t_e_:_ The following procedure can only be performed from the "process owner terminal", i.e. that terminal where the "process name" in Section 5.2.1 is entered. 1) Where the command to load the program has been given as de- scribed in Section 1.2.1, the following will appear on the terminal display: # postings RC 6000 Invoicing System Version 25.08.1976 postings or stock transaction date: system data' country code' country name' 2) It will take approximately 1 minute for the program to ini- tialize after which the following will appear on the terminal display: initializing end ESC and process name 3) Type: ESC The text att # will appear on the terminal display. RCSL No. 42-i 0827 Page 1 of 22\f 4) Type: process name' RETURN (Process name is given at the beginning of this appendix.) The following will appear on the terminal display: postings or stock transaction system date' # 5) Type: id identification text' The following will now appear on the terminal display: # 6) Proceed to Section 1.1 or 1.2 of this appendix. R_e_m_o_v_i_n_g_ _t_h_e_ _P_O_S_T_I_N_G_S_ _P_r_o_g_r_a_m_ 1) When # appears on the terminal display, Type: luk identification text' RETURN 2) When the # appears on the terminal display, Type: end 3) If the end command is accepted the following will appear on the terminal display: postings or stock transactions terminated end number' # Hereafter a new program can be loaded as described in Section 5.2.1. RCSL No. 42-i 0827 Page 2 of 22 \f 1.1 Book-keeping Postings Routine Insert the paper for book-keeping postings in the printer. 1.1.1 To OBTAIN A TEST PRINT OF A BOOK-KEEPING POSTINGS FORM Type: tpb RETURN 1.1.2 To BEGIN BOOK-KEEPING POSTINGS Type: ba journal code' date' RETURN Journal code must be between 1 and 99. The date must be within the current calender year and earlier than the system"s date. 1.1.3 ENTER TYPE OF POSTINGS - DEBIT OR CREDIT Type: bb type' RETURN If type' = 1 then the following are debit postings. If type' = 2 then the following are credit postings. N_o_t_e_:_ The most appropriate routine, timewise, is to type in all debit postings using the bc command (see 3.1.4), change the type' to credit using the bb command, and then continue with all credit postings. 1.1.4 To ENTER THE POSTINGS Type: bc voucher no.'account no.'sum'"text code'""text'" "vat'""vat code'" RETURN Each posting will be written out consecutively on the printer. Voucher no. The number on the original voucher from which the sum is quoted. Voucher no. must bebetween 1 and 999 999. RCSL No. 42-i 0827 Page 3 of 22\f Account no. Number of the account where the sum is to be debited or credited. If account number is greater than 2 000 000 then the account must exist in the RC account file. If the account number is greater than 1 000 000 but less than 2 000 000 then the amount will be col- lected at account for creditors (account number is fetched from company file field 45). The account number in the posting must pass a remainder 7 check. If account number is less than 1 000 000 it is a posting to a debtor. The debtor must exist in the debtor- file. Sum Sum (including VAT) must be within the limits 1 and 9 999 999 999. TEXT code Text code must lie between 0 and 99. TEXT Maximum 32 characters. VAT VAT must lie within the limits 0 and 99 999999. VAT code 1 incoming VAT sum 2 outgoing VAT sum 3 incoming VAT % 4 outgoing VAT % If VAT is stated then VAT code must also be stated and vice ver- sa. Only one of the variables text code' and text' must be stated. The postings are as follows: VAT code = 0: sum' is posted at account account no' or at account for creditors. VAT code = 1: VAT' is posted at the account which number is fetched from company file field 105. sum' - VAT' is posted at account account no.' VAT code = 2 VAT' is posted at the account which number is fetched from company file field 36. sum' - VAT' is posted at account account no.' RCSL No. 42-i 0827 Page 4 of 22\f VAT code = 3: VAT' amount is calculated at basis on the entered percent. If the entered percent is not among the VAT-percents in company file field 35, 37, 39, 41, or 43 the postings is refused. VAT as amount is posted at account for in- coming VAT. Account no. is fetched from that to the percent corresponding field in company file among field 105-109. sum' - calculated vat is posted at account account no.'. VAT code = 4: VAT' as amount is calculated at basis at the entered percent. If the entered percent is not among the VAT percents in company file field 35, 37, 39, 41, or 43, the posting is refused. VAT as amount is posted at the account for outgoing VAT, which number is fetched from the field in company file following the field containing the percent. sum' - calculated vat is posted at account account no.' If account no is less than 1000000 then it is a posting to a debtor. In this case a possible VAT code is disregarded. If the amount in the posting is equal the balance on the debtor then the following changes are made on the debtor: balance is set to zero, paid in is set to old value plus amount from the posting, paid in date is set to date from the posting, cleaning mark is set to 1. If the amount in the posting is less than the balance, there are several cases to take into consideration. If we yield cash discount in this case and the difference is less than the cash discount then the difference is regarded as cash discount and on the debtor the following changes are made: "paid in"is set to old value + amount from the posting, "paid in date"is set to the date from the posting, "cash discount"is set to balance amount from the posting, "balance"is set to zero, "cleaning mark" ist set to 1. RCSL No. 42-i 0827 Page 5 of 22 \f "Cash discount"is debited at the account for cash discount. If the balance after subtraction of the amount paid in and a possible cash discount is less than limit for small differences (company file field 63) then the rest is written off, and debited account for small differences (account no. in company file field 62). If the balance after subtraction of the amount paid in and a possible cash discount is greater than the limit for small differences we will no yield cash discount. On the debtor the following changes are made: balance is set to old value - amount in the posting, paid in is set to old value + amount in the posting, paid in date is set to date from the posting. If the amount in the posting is greater than the debtors balance, the debtor has paid to much. If the difference is less than the limit for small differences in company file, then the difference is credit account for loss on debtors. If this is not the case, the debtor will remain with a negative balance. If the postings is a debit posting to a debtor, it is regarded as a payment to the debtor. 1.1.5 IF DISPLAY OF BALANCE IS REQUIRED Type: bd RETURN The debit sum, credit sum and the balance will now appear on the terminal display. RCSL No. 42-i 0827 Page 6 of 22\f 1.1.6 To CLOSE A SET OF POSTINGS Type: be RETURN If the balance is zero then book-keeping postings are closed. Hereafter the program may be ended or stock transactions may be entered. If the balance is not zero, it will appear on the terminal dis- play, accompanied by a warning tone. The operator must then, using the commands bb and bc, debit or credit an appropriate account so that the balance becomes zero. If the journal code is identical to that in the company file, field 56 then the debit/credit equality check is not made. There is, therefore, always a possibility of correcting earlier errors. N_o_t_e_: If the text: change diskette appears on terminal display after be command then the flexible disc is full. The program will now stop. the following procedure should then be followed: 1) Remove the flexible disc. 2) Insert new flexible disc which has already been named with flxdope program (see Section 1) and has color blue. 3) Repress WRITE PROTECT pushbutton. Light must be out. Type: da flxname' RETURN This tells the postings program what the flexible disc is called. flxname' should appear on the flexible disc cover. 4) When the # character appears proceed with postings program - i.e. type the last postings once more. 1.1.7 To DISPLAY THE LAST ENTERED POSTINGS Type: b? RETURN Up to ten postings are displayed. RCSL No. 42-i 0827 Page 7 of 22\f 1.1.8 To CANCEL THE LAST ENTERED POSTINGS Type: bx RETURN Only the postings which can be displayed by b? can be cancelled. ry RCSL No. 42-i 0827 Page 8 of 22 \f 1.2 Stock Transactions Insert the paper for stock transactions in the printer. 1.2.1 To OBTAIN A TEST PRINT OF THE STOCK TRANSACTION FORM Type: tpl RETURN The printer should now be adjusted, if required. 1.2.2 To OPEN STOCK TRANSACTIONS Type: lat RETURN 1.2.3 To ENTER THE STOCK TRANSACTIONS Type: lb type'marking'article no.'quantity' "order reference'""delivery date'" RETURN Type from 1 to 7 inclusive (see meaning in RC 4000 User"s Guide) Marking 0 or 1 (see meaning in RC 4000 User"s Guide) Article no. must exist in article file Delivery data written ddmmyy. Validity check made If type = 1, 5 or 6 all variables are compulsory If type = 2, 3 or 7 order no.' and delivery date' are unnecessary If type = 4 then the posting is rejected. The transactions are written out consecutively on the printer so that only one terminal should be active during entry of stock transactions. 1.2.4 To CLOSE STOCK TRANSACTIONS Type: lc RETURN RCSL No. 42-i 0827 Page 9 of 22 \f 1.2.5 To DISPLAY THE LAST ENTERED STOCKTRANSACTIONS Type: l? RETURN Up to ten stocktransactions are displayed. 1.2.6 To CANCEL THE LAST ENTERED STOCKTRANSACTION Type: lx RETURN Transactions can be cancelled from behing. Only transactions that can be displayed by l? can be cancelled. 1.3 Summary of Book-keeping Postings and Stock Transactions The following pages contain a summary of all commands associated with book-keeping postings and stock transactions. The variables associated with the various commands are written in the correct order together with information on the upper and lower limits which these variables can take in practice. The description sec- tion states the function of the command and the comments section informs of any special requirements which may be valid for a par- ticular command or its variables. RCSL No. 42-i 0827 Page 10 of 22\f BOOK-KEEPING POSTINGS COMMAND VARIABLES LIMITS DESCRIPTION COMMENTS MIN. MAX. tpb Test print. ba journal code 1 99 Open book-keeping *Within current calendar date * * year but earlier than sys- tem"s date. Date is typed ddmmyy. bb type 1 2 Debit or credit posting. 1 = debit 2 = credit bc voucher no. 1 999 999 *If the acount no. is greater account no. 0 200 000* than 200 000 then the account sum 1 9 999 999 999 no. must satisfy a remainder 7 text code 0 99 check. text 0 32 chars. VAT 0 99 999 999 VAT code 1 4 bd Debit sum, credit sum and balance appear on termi- nal display. be Close book-keeping postings. bz Display book-keeping. bx Cancel book-keeping. RCSL No. 42-i 0827 Page 11 of 22\f STOCK TRANSACTIONS COMMAND VARIABLES LIMITS DESCRIPTION COMMENTS MIN. MAX. tpl Test print. lat Start stock transactions. lb type 1 7 Entry of stock trans- marking 0 1 actions. article no. quantity "order ref." "order date" lc Close stock transactions. l? Display stock transactions lx Cancel stock transactions. RCSL No. 42-i 0827 Page 12 of 22\f 1.4 Error Messages The following error messages can occur during operation of the postings program. Error messages will have the following general appearance: error error message no.' "error message text line 1'" "error message text line 2'" "error message text line 3'" "figure 1'" "figure 2'" "figure 3'" The following is a numerical list of error messages with further information together with suggestions for remedial action. E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _3_ Text: Command context incorrect. Information: None Cause: e.g. da command used twice. E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_8_ Text: Printer error. E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _4_3_ Text: Incorrect flexible disc. Information: None Cause: Incorrect flexible disc or flxname' used. Remedial action: 1) Insert the correct flexible disc. 2) Type correct da command with correct flxname' variable. RCSL No. 42-i 0827 Page 13 of 22\f E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _4_4_ Text: Incorrect use of flexible disc. Information: None Cause: Flexible disc color (flxcolor' parameter) does not correspond to that typed in. Remedial action: Use the correct flexible disc. E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _4_6_ Text: No room on flexible disc. Information: None Cause: Insufficient storage space available on the flexible disc. Remedial action: Insert another flexible disc with sufficient storage space. E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _4_7_ Text: flx-name format illegal Information: None Cause: The diskettenumber contains other characters than small letters and digits (maybe a space). The diskettenumber must be at exact 6 small letters and digits. Remedial Action: Retype the command with the right number. RCSL No. 42-i 0827 Page 14 of 22\f E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _4_8_ Text: Impossible to create peripheral process. Information: The result of the monitor call. Cause: 1. function forbidden in calling process 2. calling process is not a user, catalog i/o error (3. name conflict) 4. device number does not exist 5. device is reserved by another user (6. name format illegal) This error would only occur if the process was not created cor- rectly. E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_0_1_ Text: Incorrect date. Information: None Cause: The entered date does not comply with the rules for dates (e.g. 310476 or 401399 are incorrect). The correct format is: day'month'year' e.g. 130776. Remedial action: Retype command with the correct date. E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_0_2_ Text: Post-dated postings. Information: None Cause: The entered date must not be post-dated relative to the system date. Remedial action: Retype the command with the correct date. RCSL No. 42-i 0827 Page 15 of 22\f E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_0_3_ Text: Illegal voucher no. Information: None Cause: Typed an illegal voucher no. Remedial action: Type the command with the correct variable. E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_0_4_ Text: Account does not exist in account file. Information: None Cause: Remedial action: 1) Check that account no. is typed correctly in. Or: 2) Note that this account no. must be opened when File Maintenance program is used. E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_0_5_ Text: Incorrect remainder 7 check Information: None Cause: The entered account no. cannot exist because the remainder 7 check is incorrect. Remedial action: Enter the command once more with the correct number, or return the order form to order administration for correction of the order no. RCSL No. 42-i 0827 Page 16 of 22\f E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_0_6_ Text: VAT or VAT code missing. Information: None Cause: If VAT is stated then VAT code must also be stated and vice versa. Remedial action: Type command with both variables. E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_0_7_ Text: VAT pct does not exist in company file Information: None Cause: E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_0_8_ Text: Text or Text code missing. Information: None Cause: One of the variables Text code or Text must be stated. Remedial action: Type command with both variables. E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_0_9_ Text: Article does not exist in article file. Information: None Cause: Error message occurs with command v? "display article". RCSL No. 42-i 0827 Page 17 of 22\f E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_1_0_ Text: Incorrect date. Information: None Cause: The entered date does not comply with the rules for dates (e.g. 310476 or 401399 are incorrect). The correct format is: day'month'year' e.g. 130776. Remedial action: Retype command with the correct date. E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_1_1_ Text: All variables must be stated. Information: None Cause: Some variables missing. Remedial action: Retype command with all necessary variables. E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_1_2_ Text: Marking must be 0 or 1. Information: None Cause: Wrong marking value. Remedial action: Type command with correct marking variable. E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_1_3_ Text: Only one terminal is allowed. Information: None Cause: Attempted use of more than one terminal. Remedial action: None. RCSL No. 42-i 0827 Page 18 of 22\f E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_1_4_ Text: Code must not be 4. Information: None Cause: Wrong value. Remedial action: Type correct value. E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_1_5_ Text: No further lines to cancel. Information: None Cause: Only the lines which can be displayed by l? or b? can be cancelled. Remedial action: E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_1_6_ Text: Posting to a not existing debtor. Information: Cause: Remedial action: E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_1_7_ Text: Debtor disappeared. Information: Debtor number. Cause: Remedial action: RCSL No. 42-i 0827 Page 19 of 22\f E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_1_8_ Text: Error account does not exist in accountreg. Information: Account no. from company file. Cause: Remedial action: E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_1_9_ Text: Collecting account for creditors does not exist in company file. Information: Account no. from company file. Cause: Remedial action: E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_2_0_ Text: Account disappeared. Information: Cause: Program or hardware error. Remedial action: RCSL No. 42-i 0827 Page 20 of 22\f E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_2_1_ Text: Account for VAT does not exist in accountfile. Information: Account no. from company file Accumulated part of VAT. Accumulated cash discount. Accumulated small differences. Cause: Remedial action: E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_2_2_ Text: Account for cash discount does not exist in account file. Information: Account no. from company file. Accumulated cash discount. Accumulated small differences. Cause: Remedial action: E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_2_3_ Text: Account no. for small differences does not exist in company file. Information: Account no. from company file. Accumulated small differences. Cause: Remedial action: RCSL No. 42-i 0827 Page 21 of 22\f E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_2_4_ Text: Account for debtors does not exist in account. file. Information: Account no. from company file. Amount to be posted at the account. Cause: Remedial action: RCSL No. 42-i 0827 Page 22 of 22\f E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_1_0_ Text: Incorrect date. Information: None Cause: The entered date does not comply with the rules for dates (e.g. 310476 or 401399 are incorrect). The correct format is: day'month'year' e.g. 130776. Remedial action: Retype command with the correct date. E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_0_2_ Text: Post-dated postings. Information: None Cause: The entered date must not be post-dated relative to the system date. Remedial action: Retype the command with the correct date. E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_0_3_ Text: Illegal voucher no. Information: None Cause: Typed an illegal voucher no. Remedial action: Type the command with the correct variable. RCSL No. 42-i 0827 Page 13 of 20\f E_r_r_o_r_ _M_e_s_s_a_g_e_ _N_o_._ _2_0_3_ Text: Illegal voucher no. Information: None Cause: Typed an illegal voucher no. Remedial action: Type the command with the correct variable. \f i T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_ 1. GENERAL DESCRIPTION .................................... 1 2. SPECIFICATIONS ......................................... 2 2.1 Performance Specifications ........................ 2 2.2 Electrical Specifications ......................... 2 2.3 Environmental Specifications ...................... 2 2.4 Physical Specifications ........................... 2 2.5 Instruction Execution Times ....................... 2 3. INSTALLATION ........................................... 6 3.1 Installation of CPU811 ............................ 6 3.2 CPU Device Address ................................ 6 3.3 Deskew Delay Adjustments .......................... 8 3.4 PCBA Front Panel Switches ......................... 9 4. TECHNICIAN CONSOLE ..................................... 11 4.1 Installation of Technician Console ................ 11 4.2 Console Commands .................................. 11 4.3 Register Adresses ................................. 13 5. CHECK-OUT PROCEDURES ................................... 15 5.1 Test Operation from OCP ........................... 15 \f ii \f F_ 1_._ _ _ _ _ _ _ _ _G_E_N_E_R_A_L_ _D_E_S_C_R_I_P_T_I_O_N_ 1. CPU811 is a compact medium performance processor for the small and medium size RC8000 models. The entire CPU occupies only a single printed circuit board of approximately 36 x 37 cm. The CPU811 processing unit may be expanded with a hardware float- ing point unit, FPU801, which gives a high reduction in instruc- tion execution times for floating point instructions and integer multiplication. CPU811 is a microprogrammed processor with the microprogram stor- ed in a control store consisting of fast bipolar programable read only memories, PROM's. In addition to the microcode for implemen- tation of the RC8000 instruction set the control store contains diagnostic routines for test of the CPU itself and for test of the main memory. The System Bus, which is an asynchronous unified bus, intercon- nects the processing unit, the main memory and the peripheral de- vice controllers. One System Bus cycle transfers: 23 address bits + 1 parity bit, and 24 data bits + 3 parity bits. \f F_ 2_._ _ _ _ _ _ _ _ _S_P_E_C_I_F_I_C_A_T_I_O_N_S_ 2. 2_._1_ _ _ _ _ _ _ _P_e_r_f_o_r_m_a_n_c_e_ _S_p_e_c_i_f_i_c_a_t_i_o_n_s_ 2.1 Instruction execution times See section 2.5 Microinstr. execution time 200 nsec. Microinstr. word length 35 bits + 1 parity bit Control store size 2048 words x 36 bits Internal interrupt levels 8 External interrupt levels 24 (for device interrupts) Real time clock Resolution 0.1 msec. Stability Better than 4 sec./24 hours Interval timer Interrupt every 25.6 msec. 2_._2_ _ _ _ _ _ _ _E_l_e_c_t_r_i_c_a_l_ _S_p_e_c_i_f_i_c_a_t_i_o_n_s_ 2.2 Supply voltage 5 V DC +_ 5% Current requirement 11 A 2_._3_ _ _ _ _ _ _ _E_n_v_i_r_o_n_m_e_n_t_a_l_ _S_p_e_c_i_f_i_c_a_t_i_o_n_s_ 2.3 Ambient temperature 10-35 C Relative humidity 20-80% without condensation Heat dissipation 55 W 2_._4_ _ _ _ _ _ _ _P_h_y_s_i_c_a_l_ _S_p_e_c_i_f_i_c_a_t_i_o_n_s_ 2.4 Space requirements 1 slot in an RC8000 CPU chassis Weight 1.25 kg (2.8 lbs) 2_._5_ _ _ _ _ _ _ _I_n_s_t_r_u_c_t_i_o_n_ _E_x_e_c_u_t_i_o_n_ _T_i_m_e_s_ 2.5 A number of factors such as memory access time, System Bus load, pending interrupts, etc. may influence the instruction execution times. The listed instruction execution times are based on the\f following assumptions: Main memory: MEM805 or equivalent Normal instruction execution (no exceptions) Not escape mode. Memory address within lower and upper limits. No pending interrupts. System Bus not used by other units. The instruction times apply to direct addressing. Times for ad- dress modifications are listed separately. I_n_s_t_r_u_c_t_i_o_n_ E_x_e_c_u_t_i_o_n_ _T_i_m_e_ _i_n_ __s_e_c_. AM 2.6 AL 2.4 AC 3.0 HL left/right halfword 5.2/5.0 HS 6.8 RL 4.2 RS 5.0 RX 6.0 DL 6.2 DS 6.8 XL left/right halfword 5.2/5.0 XS left/right halfword 7.0/6.8 BZ left/right halfword 4.6/4.4 BL left/right halfword 4.6/4.4 BA left/right halfword 5.4/5.2 BS left/right halfword 5.4/5.2 WA 4.8 WS 4.8 WM without/with FPU 15.0/8.2 WD 18.4 AA 7.2 SS 7.2 CI 8.2 + n x 0.6 1) CF 6.0 + n x 0.4 2) FA without/with FPU FS without/with FPU \f I_n_s_t_r_u_c_t_i_o_n_ E_x_e_c_u_t_i_o_n_ _T_i_m_e_ _i_n_ __s_e_c_. FM without/with FPU FD without/with FPU LA 4.2 LO 4.2 LX 4.2 AS left shift 4.6 + n x 0.6 1) right shift 4.0 + n x 0.4 1) AD left shift 5.2 + n x 0.6 1) right shift 4.4 + n x 0.4 1) LS 4.0 + n x 0.4 1) LD 4.0 + n x 0.4 1) NS left/right halfword 7.8/7.6 + n x 0.6 1) ND left/right halfword 8.8/8.6 + n x 0.6 1) JL without/with link 3.6/3.8 SH no skip/skip 2.8/3.2 SL no skip/skip 2.8/3.2 SE no skip/skip 2.6/3.0 SN no skip/skip 2.6/3.0 SO no skip/skip 2.8/3.2 SZ no skip/skip 2.6/3.0 SX no skip/skip 3.0/3.4 SP no skip/skip 3.8/4.2 RE 38.4 JE without/with link 4.8/5.0 JD without/with link 5.4/5.6 RI 45.4 GP 5.8 GG 5.8 DO 4.6 3) DI 4.6 3) 1) n = number of shifts 2) n = binary exponent of the FP number 3) Time depends on the response time of the addressed device. Specified time is for memory reference. For address modifications add the following times to the instruc- tion times. \f Address After AM, M_o_d_i_f_i_c_a_t_i_o_n_ A_d_d_ __s_e_c_. A_d_d_ __s_e_c_. None 0 0.6 Relative 0.2 0.8 Indexing 0.2 0.8 Relative + Indexing 0.2 1.0 Indirect 3.2 3.0 \f F_ 3_._ _ _ _ _ _ _ _ _I_N_S_T_A_L_L_A_T_I_O_N_3. 3_._1_ _ _ _ _ _ _ _I_n_s_t_a_l_l_a_t_i_o_n_ _o_f_ _C_P_U_8_1_1_ 3.1 The CPU811 may be in any standard RC8000 chassis, e.g. CHS8. If the CPU811 is expanded with the hardware floating point unit FPU801, a common RC8000 CPU-chassis with CPU Bus backplane, e.g. CHS806, is required. Signal cables to Operator's Control Panel (OCP802), Front-End Processor Adapter (FPA), and Technician Con- sole Adapter (TCA801) are connected as shown in fig. 2. The TCA801 is not intended for permanent connection to the CPU as it requires that the chassis is pulled a little out of the cabinet. 3_._2_ _ _ _ _ _ _ _C_P_U_ _D_e_v_i_c_e_ _A_d_d_r_e_s_s_ 3.2 The System Bus address of the CPU is selectable by means of 3 x 2 switches located on the CPU811 printed circuit board. The switch- es control the address bits (16:20) and the parity bit. The re- maining address bits are fixed. Odd parity is used. Figure 1: titel???????????????????????????? The standard CPU address is: 100 000 000 000 000 000 000 000 \f F_ Figure 2: CPU811 interconnections. \f F_ 3_._3_ _ _ _ _ _ _ _D_e_s_k_e_w_ _D_e_l_a_y_ _A_d_j_u_s_t_m_e_n_t_s_ 3.3 The deskew delays for DATARDY, SELIN and ACK are adjusted by means of the potentiometers P1, P2 and P3 on the PCBA. Figure 3: Potentiometers for deskew delay adjustments. The delays are activated by means of a microprogrammed test loop, which continously writes zeroes into memory location 8. A Tech- nician Console (TC) is required to start the loop. The loop is started by typing the following commands at the TC. The commands are terminated by a RETURN T 4 0 <address (SIZEM)> Address (SIZEM) is the microprogram address corresponding to the label SIZEM. Refer to microprogram listing for address. The following procedure is recommended for an initial adjustment of the delays. 1) Turn the potentiometers fully clockwise corresponding to maxi- mum delay. 2) Start the test loop. 3) Adjust the delays according to the figures below. The signals to be measured are available on test pins in position 213. \f P3 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ SELIN, 213-1 1.5 V _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 213-8 1.5 V _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _3_5_ _n_s_e_c_._ _ _ _ _ _ _ P1 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ACK, 213-2 1.5 V _ _ _ _ _ _ _ _ _1_0_0_ _n_s_e_c_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -,MASTER, 213-7 1.5 V _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ P2 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ DATARDY, 213-3 1.5 V _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ DATARDYDEL, 213-6 1.5 V _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 3_._4_ _ _ _ _ _ _ _P_C_B_A_ _F_r_o_n_t_ _P_a_n_e_l_ _S_w_i_t_c_h_e_s_ 3.4 The TEST and TEST MODE switches on the PCBA front panel are used to control execution of the microdiagnostics for CPU and main memory when started by means of the AUTOLOAD push button on the OCP T_E_S_T_ _=_ _O_N_ The microdiagnostics are started when the AUTOLOAD push but- ton is activated. TEST MODE switch selects test mode. T_E_S_T_ _=_ _O_F_F_ Autoload is performed without start of microdiagnostics. Po- sition of TEST MODE switch is irrelevant. \f T_E_S_T_ _M_O_D_E_ _=_ _S_H_O_R_T_ The CPU diagnostic and the short mode memory diagnostic are run before autoload. T_E_S_T_ _M_O_D_E_ _=_ _C_O_N_T_I_N_U_O_U_S_ The CPU and the normal mode memory diagnostics are repeated until stopped by operator intervention or by an error. Detection of an error in the microdiagnostics is indicated by flashing of the AUTOLOADING lamp. \f F_ 4_._ _ _ _ _ _ _ _ _T_E_C_H_N_I_C_I_A_N_ _C_O_N_S_O_L_E_ 4. The technician console may be used to display and modify the con- tents of CPU registers and storage locations. In addition a num- ber of other functions may be controlled from the console. E.g. single instruction stepping and start and control of diagnostic programs. The technician console is not necessary for normal operation of the CPU, but it may facilitate trouble shooting. 4_._1_ _ _ _ _ _ _ _I_n_s_t_a_l_l_a_t_i_o_n_ _o_f_ _T_e_c_h_n_i_c_i_a_n_ _C_o_n_s_o_l_e_ 4.1 A TTY compatible terminal with V.24 interface may be used as a technician console. The terminal must be able to operate at one of the following transmission speeds: 110, 300, 1200, 2400 or 9600 bps. The console is connected to CPU811 by means of an adapter, TCA801, as shown in fig. 2. The flat-cable from the adapter is connected directly to connector 1004 on the PCBA. Transmission speed is selected by means of a rotary switch on the TCA801. The cable type which is used to connect adapter and con- sole depends on the type of the console. For connection of an RC822 or equivalent, cable type CBL447 may be used. 4_._2_ _ _ _ _ _ _ _C_o_n_s_o_l_e_ _C_o_m_m_a_n_d_s_ 4.2 The formats of the console commands are described below. Par- ameters typed by the operator is shown as <parameter>. For some commands, e.g. LOAD NEXT, the processor calculates and displayes a parameter. This is shown as (parameter). Octal number represen- tation is used for addresses and contents of registers and memory locations. In the description of the commands cr = carriage re- turn and sp = space. XR<sp><register address>: EXAMINE REGISTER. Displays the contents of the addressed re- gister. \f LR<sp><register address>: (sp)(sp)<contents><cr> LOAD REGISTER. The addressed register is loaded with <con- tents>. XM<sp><memory address><cr> EXAMINE MEMORY. Displays the contents of the addressed mem- ory location. XN<sp><number of memory locations><cr> EXAMINE NEXT. Displays the selected number of consecutive memory locations following the last referenced location. LM<sp><memory address>:(sp)(sp)<contents><cr> LOAD MEMORY. The addressed memory location is loaded with <contents>. LN<sp>(next memory address)(:)(sp)(sp)<contents><cr> LOAD NEXT. The memory location following the last referenced location is loaded with <contents>. S<cr> SINGLE INSTRUCTION. The instruction addressed by PC is ex- ecuted and the contents of the following registers are dis- played: W0, W1, W2, W3, STATUS, IC, CAUSE and SB. C<cr> CONTINUE. Starts instruction execution in the memory loca- tion addressed by PC. R<sp><control store address><cr> RUN. Starts microinstruction execution in the addressed con- trol store location. X<sp><control store address><cr> EXECUTE SUBROUTINE. Executes the addressed microprogram sub- routine. \f T<sp><test number><cr> TEST. This command is used to start one of the following microprogram tests. T_E_S_T_ _N_o_ T_E_S_T_ 0 CPU test and memory test in normal mode. 1 CPU test. 2 Memory test, normal mode. 3 Memory test, short mode. 4 Initialize registers for test. 5 Clear and size memory. For a detailed description of the test is referred to in the pub- lication: RCSL No 30-M258: CPU811 Microprogrammed Tests, User's Manual O<sp><control store address><cr> LOOP. The command is used to start testloops in the micro- programmed tests in loop mode. The addressed loop is con- tinuously repeated. ESC Activation of the ESCAPE key may be used to cancel a typed command. The processor responds to the command by displaying a ?. Commands using the System Bus indicates a buserror by display- ing a ?. 4_._3_ _ _ _ _ _ _ _R_e_g_i_s_t_e_r_ _A_d_d_r_e_s_s_e_s_ 4.3 Addresses (octal) of CPU registers accessible by means of the XR and LR commands are listed below. The applicable commands are in- dicated for each register. \f A_D_D_R_E_S_S_ C_O_M_M_A_N_D_ R_E_G_I_S_T_E_R_ 0 XR,LR GR(0) = W0 1 XR,LR GR(1) = W1 2 XR,LR GR(2) = W2 3 XR,LR GR(3) = W3 4 XR,LR GR(4) = STAT 5 XR,LR GR(5) = IC 6 XR,LR GR(6) = CAUSE 7 XR,LR GR(7) = SB 10 XR,LR SP(0) = CPA 11 XR,LR SP(1) = BASE 12 XR,LR SP(2) = LLIM 13 XR,LR SP(3) = ULIM 14 XR,LR SP(4) = ILIM COPY 15 XR,LR SP(5) = INF 16 XR,LR GR(10) = PC 17 XR,LR SP(6) = SIZE 20 XR,LR SP(7) = MONT 21 LR SP(16) 22 LR SP(17) 57 LR Clear Interrupt Bit 60 XR SP(16) 61 XR SP(17) 62 XR SP(10) = RTC GR = General Register SP = Scratchpad Memory. \f F_ 5_._ _ _ _ _ _ _ _ _C_H_E_C_K_-_O_U_T_ _P_R_O_C_E_D_U_R_E_S_ 5. Initial check-out of CPU811 and main memory may be performed by means of the microprogrammed tests. The tests may be operated from either the OCP802 or from the Technician Console. Operation from the Technician Console provides better error information and the possibility of looping on errors, etc. The CPU and the normal memory test should be run long enough to ensure at least 2 com- plete passes. The time for a pass depends on the memory size. For a detailed description of the tests and operation of the tests from the Technician Console is referred to: RCSL No 30-M258: CPU811 Microprogrammed Tests, User's Manual. 5_._1_ _ _ _ _ _ _ _T_e_s_t_ _O_p_e_r_a_t_i_o_n_ _f_r_o_m_ _O_C_P_ 5.1 The tests are started in the following way: TEST switch in position ON. TEST MODE switch in position CONTINUOUS. Activate AUTOLOAD push button. The AUTOLOADING lamp will be lit and the CPU test and the normal mode memory test are repeated until an error is detected or until stopped by operator intervention. Detection of an error is indi- cated by flashing of the AUTOLOADING lamp. \f F_ \f \f 1_._ _ _ _ _ _ _ _ _M_A_I_N_ _C_H_A_R_A_C_T_E_R_I_S_T_I_C_S_ 1. 1_._1_ _ _ _ _ _ _ _D_e_s_c_r_i_p_t_i_o_n_ 1.1 The SCC 705/706 is a binary synchronous communication controller consisting of a receiver and a transmitter. Basicly it is two separate controllers each with its own control logics, intended to operate in full or half duplex mode. 1_._2_ _ _ _ _ _ _ _D_a_t_a_ _F_o_r_m_a_t_s_ 1.2 The SCC 705/706 receiver transfers information to the computer memory through the datachannel. Each 16 bit word contains two 6, 7 or 8 bit characters. The bits are received from the modem in serial way with the least signifi- cant bit (LSB) received first. The SCC 705/706 transmitter operates in a similar way but in the other direction of course. M_m_m_ RC3600 TRANSMITTER LOGICS DATACHANNEL SERIAL PARALLEL MODEM TRANSFER TRANSFER 16 BITS WORDS RECEIVER P_p_p_ LOGICS Data Formats Fig. 1.1 \f 1_._3_ _ _ _ _ _ _ _A_p_p_l_i_c_a_b_l_e_ _D_o_c_u_m_e_n_t_s_ 1.3 For further information about the RC3600-computer, refer to RC- 3603 Reference Manual and concerning the technical structure of the datatransmission set refer to C.C.I.T.T Recommendation V.24: "FUNCTIONS AND ELECTRICAL CHARAC- TERISTICS OF CIRCUITS AT THE INTERFACE BETWEEN DATA TERMINAL E- QUIPMENT AND DATA COMMUNICATION EQUIOMENT". \f 2_._ _ _ _ _ _ _ _ _P_E_R_F_O_R_M_A_N_C_E_ _S_P_E_C_I_F_I_C_A_T_I_O_N_S_ 2. 2_._1_ _ _ _ _ _ _ _T_r_a_n_s_m_i_s_s_i_o_n_ _S_p_e_e_d_ 2.1 As the communications controller not contains any clocksource, the transmission speed alone depends on the modem in use. The controller, however, accepts any clockfrequency until 20 kHz. If the modem has option for remote speed selection, e.g. 600/1200 or 4800/9600 BPS then it is possible to select the speed from the controller, either hardwired, or selected by the software. 2_._2_ _ _ _ _ _ _ _I_n_t_e_r_f_a_c_e_ _S_p_e_c_i_f_i_c_a_t_i_o_n_s_ 2.2 All data- and controlsignals between modem and the communications controller is in accordance to the C.C.I.T.T. recommendation V.- 24, which defines the interchange circuits, here the 100-series. Following circuits are present: Circuit 101 - Protective ground or earth - 102 - Signal ground or common return - 103 - Transmitted data - 104 - Received data - 105 - Request to send - 106 - Ready for sending - 107 - Data set ready - 108/2- Data terminal ready - 109 - Data channel received line signal detector - 111 - Data signaling rate selector - 114 - Transmitter signal element timing - 115 - Receiver signal element timing - 125 - Calling indicator \f 3_._ _ _ _ _ _ _ _ _R_E_C_E_I_V_E_R_ _O_P_E_R_A_T_I_O_N_ 3. Setting BUSY causes the receiver to monitor the received bit stream contineously until it receives two consecutive SYN-charac- ters. This synchronizes the receiver to the bit stream. When a character different from the SYN-character is received the recei- ver begins assembling pairs of characters into words which are transferred to the memory locations specified by the address counter. From this point the operation of the receiver depends on the receiver mode specified by bits 4 and 5 of the control word. See also flow diagram on the following page for description of receiver operation. C_o_n_t_r_o_l_ _W_o_r_d_(_4_,_5_)_ _=_ _0_,_0_ When a TERM character is received the receiver sets DONE after reception of further 2 or 3 characters depending on whether the TERM character is stored in the left or right byte of a word. The receiver remains synchronized and reception continues until ter- mination occurs, e.g. by word count overflow. C_o_n_t_r_o_l_ _W_o_r_d_(_4_,_5_)_ _=_ _0_,_1_ In this mode of operation SYN-characters are deleted by the re- ceiver and are not stored. When a TERM-character is received the receiver receives 2 more characters before it terminates recep- tion, sets DONE and clears BUSY. If the last stored word only contains one character, the right byte contains zeros and the character pointer is set to 1. C_o_n_t_r_o_l_ _W_o_r_d_(_4_,_5_)_ _=_ _1_,_0_ If the first character received after synchronization is an EOT- -character, the receiver will resynchronize, i.e. begin to look for 2 consecutive SYN-characters. The received EOT-character is stored in the left byte of the memory location addressed by the address counter. The right byte is set to zero. \f RECEIVER FLOW DIAGRAM \f If an EOT-character is not received as the first character after synchronization, operation of the receiver is identical to the operation for control word (4,5) = 0,0. C_o_n_t_r_o_l_ _W_o_r_d_(_4_,_5_)_ _=_ _1_,_1_ If the first character received after synchronization is an EOT- -character, the receiver will resynchronize, i.e. begin to look for 2 consecutive SYN-characters. The received EOT-character is stored in the left byte of the memory location addressed by the address counter. The right byte is set to zero. If an EOT-charac- ter is not received as the first character after synchronization, operation of the receiver is identical to the operation for control word(4,5) = 0,1. 3_._1_ _ _ _ _ _ _ _D_e_v_i_c_e_ _S_e_l_e_c_t_i_o_n_ 3.1 The receiver is controlled from the CPU by means of I/O instruc- tions. BUSY and DONE are controlled by bit (8) & (9) (Function Field) in all I/O instructions with the selected device code. The device code is alterable from 40 to 74 (octal) and the receiver will always get an even number - the transmitter the following odd number. Interrupt Disable is controlled by interrupt priority mask bit (8). The CLR function (F = 10) clears BUSY and DONE. STRT (F = 01) sets BUSY and clears DONE and a reception will last as long as it is not terminated as described in 3.5. In such case BUSY is cleared and DONE is set causing an interrupt if Interrupt Disable is clear. The P function (F = 11) is not used. The IORST instruction clears BUSY, DONE, and all the control lo- gics. \f M_m_m_ NOVA CPUCORE MEMORY DIA DOB DIB DOC DOA DMA TRANSFER STATUS ADDRESS & WORD CONTROL WORD COUNTERS REGISTER DATA RECEIVER CONTROL RECEIVE REGISTER P_p_p_ MODEM Receiver Survey Diagram Fig. 3.1 3_._2_ _ _ _ _ _ _ _A_d_d_r_e_s_s_ _a_n_d_ _W_o_r_d_ _c_o_u_n_t_e_r_s_ 3.2 3_._2_._1_ _ _ _ _ _A_d_d_r_e_s_s_ _C_o_u_n_t_e_r_ 3.2.1 The DOB AC, REC instruction loads the address counter with the contents of AC - i.e. the 16 bit address for the location in the memory where the first two received characters are to be stored. Fig. 3.2. ______________________________________________________ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _I_n_i_t_i_a_l_ _a_d_d_r_e_s_s_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Fig. 3.2 When the reception begins, the address counter is incremented by one every time two characters are stored as a word in the memory. \f In this way the contents of the address counter is one greater than the address of the previous stored word if termination occurs. This address can be read at any time by DIB AC, REC instruction and thus determine the length of an unknown blok. Fig. 3.3. The DIB instruction will not alter the contents of the address counter. _A_C____________________________________________________ _ _ _ _A_d_d_r_e_s_s_ _o_n_e_ _g_r_e_a_t_e_r_ _t_h_a_n_ _t_h_e_ _l_a_s_t_ _s_t_o_r_e_d_ _w_o_r_d_ _ ____ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Fig. 3.3 3_._2_._2_ _ _ _ _ _T_h_e_ _W_o_r_d_ _C_o_u_n_t_e_r_ 3.2.2 The DOC AC, REC instruction loads the word counter with the con- tents of AC - i.e. the 16 bit negative word count. (two>s comple- ment) Fig. 3.4. _A_C____________________________________________________ _ _ _ _ _ _N_e_g_a_t_i_v_e_ _w_o_r_d_ _c_o_u_n_t_ _(_t_w_o_>_s_ _c_o_m_p_l_e_m_e_n_t_)_ __________ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Fig. 3.4 The word counter is incremented together with the address coun- ter, and if overflow occurs, the reception is terminated. (Ref. 3.5.5.) Before a receiving operation can take place, the word counter must be preset to the desired (negative) block length. \f 3_._3_ _ _ _ _ _ _ _C_o_n_t_r_o_l_w_o_r_d_ _R_e_g_i_s_t_e_r_ The receiver is controled by the contents af the control word register. It is loaded by a DOA AC, REC instruction in the following manner: DOA AC, REC AC _0_ _ _1_ _ _2_ _ _3_ _ _4_ _ _5_ _ _6_ _ _7_ _ _8_ _ _9_ _ _1_0_ _ _1_1_ _ _1_2_ _ _1_3_ _ _1_4_ _ _1_5_ _1_ _ _x_ _ _x_ _ _x_ _ _M_O_D_E_ _ _C_S_L_ _ _ _ _ _ _ _S_Y_N_-_C_H_A_R_A_C_T_E_R_ ___________ Bit 4 and 5 determine the reciever mode. 3_._3_._1_ _ _ _ _ _C_h_a_r_a_c_t_e_r_s_e_t_ _L_e_n_g_t_h_ _(_C_S_L_)_ 3.3.1 The receiver can handle 6, 7 or 8-bit characters i.e. the bits in a received character are right adjusted in the hardware. Bit 6 and 7 in the control word determine the character length both in the receiver and the transmitter. ______________________________ Character length bit(6,7) ______________________________ 6 bits (1.0) ______________________________ 7 bits (0,1) ______________________________ 8 bits (1,1) ______________________________ \f 3_._3_._2_ _ _ _ _ _S_Y_N_ _-_ _C_h_a_r_a_c_t_e_r_ 3.3.2 The SYN - character in the controlword bit 8-15 determines which character the receiver must use for syncronisation. It must be right adjusted with leading zero>s if the character length is 6 or 7 bits. 3_._3_._3_ _ _ _ _ _C_h_a_r_a_c_t_e_r_ _C_l_a_s_s_ _T_a_b_l_e_ 3.3.3 A character may be defined as a TERM-character, an EOT-character, or non of these. Information about the character class is stored in a 256 words by 2 bits Class Table. The table is loaded by means of DOA instructions. DOA AC, REC AC _0_ _ _1_ _ _2_ _ _3_ _ _4_ _ _5_ _ _6_ _ _7_ _ _8_ _ _9_ _ _1_0_ _ _1_1_ _ _1_2_ _ _1_3_ _ _1_4_ _ _1_5_ _ _0_ _ _x_ _ _x_ _ _x_ _ _x_ _ _x_ _ _ _ _ _ _ _ _ _ _ _ _ _C_H_A_R_A_C_T_E_R_ _______________ 1_ _=_ _T_E_R_M_-_C_H_A_R_A_C_T_E_R_ 1_ _=_ _E_O_T_-_C_H_A_R_A_C_T_E_R_ The Class Table can only be loaded when BUSY = 0 and AC bit(0)= 0. Bit(6) A 1 specifies that the character is an EOT-character. Bit(7) A 1 specifies that the character is a TERM-character. Bit(8:15) Contain the bit pattern of the character. \f 3_._4_ _ _ _ _ _ _ _B_i_t_ _a_n_d_ _C_h_a_r_a_c_t_e_r_ _C_o_n_f_i_g_u_r_a_t_i_o_n_ 3.4 3_._4_._1_ _ _ _ _ _B_i_t_p_a_c_k_i_n_g_ 3.4.1 The received bits are packed in characters consisting of either 6, 7, or 8 bits, right justified, depending on the selected cha- racter code as shown in fig. 3.10 ________________________ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ serial _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ received ------' _0_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ bits ________________________ _0_ _ _0_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ Fig. 3.10 3_._4_._2_ _ _ _ _ _C_h_a_r_a_c_t_e_r_p_a_c_k_i_n_g_ 3.4.2 The received characters are then packed two by two in one word, that is stored in the memory. Fig. 3.10. _ _ _ _ _R_e_c_e_i_v_e_d_ _c_h_a_r_a_c_t_e_r_ _ _ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _____________________________________________________ _ _ _ _1_,_s_t_ _c_h_a_r_a_c_t_e_r_ _ _ _ _ _ _ _ _ _ _ _2_,_n_d_ _c_h_a_r_c_t_e_r_ _ _ _ _ _ _ _ _ _ _ _ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 stored word Fig. 3.11 \f 3_._5_ _ _ _ _ _ _ _T_e_r_m_i_n_a_t_i_o_n_ _o_n_ _e_r_r_o_r_s_ 3.5 3_._5_._1_ _ _ _ _ _D_a_t_a_s_e_t_ _N_o_t_ _R_e_a_d_y_ 3.5.1 The receiver stops immediately by setting DONE and clearing BUSY if the modem control signal: Dataset Ready changes from ON to OFF during reception. If the condition is OFF when applying a START pulse to the con- troller BUSY will still be zero, and DONE will be one. 3.5.2 3_._5_._2_ _ _ _ _ _C_a_r_r_i_e_r_ _O_f_f_ The receiver terminates immediately by setting DONE and clearing BUSY, if the modem control signal: "Datachannel received line signal detector" (Carrier on) changes from ON to Off during re- ception. 3_._5_._3_ _ _ _ _ _W_o_r_d_ _C_o_u_n_t_ _O_v_e_r_f_l_o_w_ The receiver word counter has reached the specified number of words in a block, and a termination takes place by setting DONE and clearing BUSY, when the present word has been stored. 3_._6_ _ _ _ _ _ _ _S_t_a_t_u_s_ _R_e_g_i_s_t_e_r_ 3.6 If termination occurs during reception, or the receiver asks for an interrupt by setting DONE even if it is not BUSY, the reason can be read from the status register by a DIA AC, REC instructi- on. _A_C_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _0_ _ _0_ _ _0_ _ _0_ _ _0_ _ _0_ _ _0_ _ _0_ _ _0_ _ _A_ _ _B_ _ _ _C_ _ _ _D_ _ _ _E_ _ _ _F_ _ _ _G_ __ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \f 3_._6_._1_ _ _ _ _ _A_ _C_h_a_r_a_c_t_e_r_p_o_i_n_t_e_r_,_ _b_i_t_(_9_)_ 3.6.1 If the last stored word in normal termination was the left byte only, the characterpointer bit (9) is logical 1. 3_._6_._2_ _ _ _ _ _B_ _T_E_R_M_-_C_h_a_r_a_c_t_e_r_ _R_e_c_e_i_v_e_d_,_ _b_i_t_ _(_1_0_)_ 3.6.2 Rececption of a TERM-Character character sets DONE, and statusbit (10) is then logical 1. 3_._6_._3_ _ _ _ _ _C_ _C_a_r_r_i_e_r_ _O_f_f_,_ _b_i_t_ _(_1_1_)_ 3.6.3 If the modem control signal Carrier On changes from ON to OFF during reception, there will be an interrupt and statusbit (11) is then logical 1. 3_._6_._4_ _ _ _ _ _D_ _D_a_t_a_s_e_t_ _N_o_t_ _R_e_a_d_y_,_ _b_i_t_,_ _(_1_2_)_ 3.6.4 If the modem control signal Dataset Ready changes from ON to OFF during reception there will be an interrupt and statusbit (12) is then logical 1. 3_._6_._5_ _ _ _ _ _E_ _C_a_l_l_i_n_g_ _I_n_d_i_c_a_t_o_r_,_ _b_i_t_ _(_1_3_)_ 3.6.5 If the modem control signal Calling Indicator changes from OFF to ON, whether the receiver is BUSY or not, there will be an inter- rupt and statusbit (13) is then logical 1. 3_._6_._6_ _ _ _ _ _F_ _D_a_t_a_c_h_a_n_n_e_l_ _L_a_t_e_,_ _b_i_t_ _(_1_4_)_ 3.6.6 If the datachannel has been in time to store the received word, statusbit (14) will be logical 1. Darachannel late is not a terminating error. \f 3_._6_._7_ _ _ _ _ _G_ _W_o_r_d_ _C_o_u_t_e_r_ _O_v_e_r_f_l_o_w_,_ _b_i_t_ _(_1_5_)_ 3.6.7 If the word counter reaches the specified number of words, there will be an interrupt, and statusbit (15) is then logical 1. \f 4_._ _ _ _ _ _ _ _ _T_R_A_N_S_M_I_T_T_E_R_ _L_O_G_I_C_ _S_P_E_C_I_F_I_C_A_T_I_O_N_S_ 4. 4_._1_ _ _ _ _ _ _ _D_e_v_i_c_e_ _S_e_l_e_c_t_i_o_n_ 4.1 The transmitter is controlled from the CPU by means of I/O in- structions. BUSY and DONE are controlled by bit (8) and (9) (function Field) in all I/O instructions with the selected device code, The device code is alterable from 41 to 75 (octal) and the transmitter will always get an odd number - the receiver the pre- ceding even number. Interrupt Disable is controlled by interrupt mask bit (8). The CLR function (F = 10) clears BUSY and DONE. STRT (F = 01) sets BUSY and clears DONE and a transmission will last as long as it is not terminated as described in 4.5. In such case BUSY is cleared and DONE is set causing an interrupt Disable is clear. The P function(F = 11) is not used. The IORST instruction clears BUSY, DONE and all the control lo- gics. M_m_m_ CORE NOVA CPU MEMORY DIA DOB DIB DOC DMA TRANSFER STATUS ADDRESS & WORD DATA COUNTERS TRANSMITTER CONTROL TRANSMIT REGISTER P_p_p_ MODEM Transmitter Survey Diagram Fig. 4.1 \f 4_._2_ _ _ _ _ _ _ _A_d_d_r_e_s_s_ _a_n_d_ _w_o_r_d_ _C_o_u_n_t_e_r_s_ 4.2 4_._2_._1_ _ _ _ _ _ _A_d_d_r_e_s_s_ _C_o_u_n_t_e_r_ 4.2.1 The DOB AC, XMT instruction loads the address counter with contents of AC - i.e the 16 bit address pointing at the location of the first two characters that are to be transmitted. Fig. 4.2. _A_C_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _I_n_i_t_i_a_l_ _a_d_d_r_e_s_s_ ______________________ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Fig. 4.2 When the transmission begins, the address counter is incremented by one every time two characters are transferred from the memory to the transmitter register. In this way, the contents of the address counter is one greater than the address of the last transferred word, if termination occurs. Fig. 4.3 This address can be read into the program be a DIB AC, XMT instruction and thus determine the length of an unknown block. The DIB instruction will not alter the contents of the address counter. _A_C_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _A_d_d_r_e_s_s_ _o_n_e_ _g_r_e_a_t_e_r_ _t_h_a_n_ _t_h_e_ _l_a_s_t_ _s_t_o_r_e_d_ _w_o_r_d_ _ _ _ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Fig. 4.3 \f 4_._2_._2_ _ _ _ _ _W_o_r_d_ _C_o_u_n_t_e_r_ 4.2.2 The DOC, XMT instruction loads the word counter with the contents of AC - i.e. the 16 bit negative word count. (two>s complement). Fig. 4.4 _A_C_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _N_e_g_a_t_i_v_e_ _w_o_r_d_ _c_o_u_n_t_ _(_t_w_o_>_s_ _c_o_m_p_l_e_m_e_n_t_)_ _ ________ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Fig. 4.4 The word counter is incremented together with the address coun- ter, and if overflow occurs, the transmission will terminate. (Ref. 4.5.3). Before a transmission can take place, the word counter must be preset to the desired (negative) block length. 4_._3_ _ _ _ _ _ _ _W_o_r_d_ _a_n_d_ _c_h_a_r_a_c_t_e_r_ _c_o_n_f_i_g_u_r_a_t_i_o_n_ 4.3 4_._3_._1_ _ _ _ _ _W_o_r_d_ _c_o_n_f_i_g_u_r_a_t_i_o_n_ 4.3.1 The characters to be transmitted are transferred from the core memory two by two as shown in fig. 4.5. DDDstUUU DDDndUUU _ _ _ _ _1_ _ _c_h_a_r_a_c_t_e_r_ _ _ _ _ _ _ _ _ _ _ _ _2_ _ _c_h_a_r_a_c_t_e_r_ _________ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _ Transferred word Fig. 4.5 The characters are transferred to the transmitter register according to numbering. \f 4_._3_._2_ _ _ _ _ _C_h_a_r_a_c_t_e_r_ _c_o_n_f_i_g_u_r_a_t_i_o_n_ The characters must consist of either 6, 7, or 8 bits, right adjusted as described in 3.3.1 and are then serial transmitted from the register. Fig. 4.6. _ _ _ _ _ _ _ _ _ _ _ _ _ _ __________ serial X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _ transmitted bits Transferred character Fig. 4.6 4_._4_ _ _ _ _ _ _ _T_r_a_n_s_m_i_t_t_e_r_ _C_o_m_m_a_n_d_s_ 4.4 4_._4_._1_ _ _ _ _ _D_a_t_a_t_e_r_m_i_n_a_l_ _R_e_a_d_y_ _C_o_m_m_a_n_d_ 4.4.1 This signal goes ON by applying AC with 1 in bit (15) in a DOA AC, XMT instruction. _A_C_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _X_ _ _ _X_ _ _ _X_ _ _ _X_ _ _ _X_ _ _ _1_ __ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Fig. 4.7 The signal goes OFF again if bit (15) is zero in a DOA AC, XMT instruction, or by an IORST instruction. 4_._4_._2_ _ _ _ _ _T_r_a_n_s_m_i_t_t_e_d_ _s_p_e_e_d_ 4.4.2 When using a modem with two data signaling rates e.g. 600/1200 bps, it is possible to hardwire the transmitter to select the modem clock frequency. \f 4_._5_ _ _ _ _ _ _ _T_e_r_m_i_n_a_t_i_o_n_ 4.5 The transmitter will stay in transmit mode until it is terminated by one of three reasons. In every case BUSY is cleared and DONE is set causing an inter- rupt if Interrupt Disable is clear. The reason for the termination can be read by the program from a Status Register. (Ref. 3.11) 4_._5_._1_ _ _ _ _ _D_a_t_a_ _C_h_a_n_n_e_l_ _L_a_t_e_ 4.5.1 If the datachannel is late in time to transfer the next word, SYNC is lost and the transmission will terminate. 4_._5_._2_ _ _ _ _ _D_a_t_a_s_e_t_ _N_o_t_ _R_e_a_d_y_ 4.5.2 The transmission will terminate if the modem control signal: Dataset Ready changes from ON to OFF during transmission. 4_._5_._3_ _ _ _ _ _W_o_r_d_ _C_o_u_t_e_r_ _O_v_e_r_f_l_o_w_ 4.5.3 The specified number of transmitted words is passed and a termi- nation takes place. 4_._6_ _ _ _ _ _ _ _S_t_a_t_u_s_ _R_e_g_i_s_t_e_r_ 4.6 As mentioned above a termination will clear BUSY and set DONE causing an interrupt. The reason for termination can then be read from a Status Register by a DIA AC, XMT instruction. Fig. 4.8. \f _ _ _A_C_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _0_ _ _0_ _ _0_ _ _0_ _ _0_ _ _0_ _ _0_ _ _0_ _ _0_ _ _0_ _ _0_ _ _ _A_ _ _ _B_ _ _ _0_ _ _ _C_ _ _ _D_ _ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Fig. 4.8 4.6.1 4_._6_._1_ _ _ _ _ _A_ _C_a_r_r_i_e_r_ _O_f_f_,_ _b_i_t_ _(_1_1_)_ If the modem control signal Carrier On changes from ON to OFF then statusbit (11) is logical 1. This statusbit can only be sensed. 4_._6_._2_ _ _ _ _ _B_ _D_a_t_a_s_e_t_ _N_o_t_ _R_e_a_d_y_,_ _b_i_t_ _(_1_2_)_ 4.6.2 If the modem control signal Dataset Ready changes from ON to OFF during transmission, there will be an interrupt and statusbit (12) will be logical 1. 4_._6_._3_ _ _ _ _ _C_ _D_a_t_a_c_h_a_n_n_e_l_ _l_a_t_e_,_ _b_i_t_(_1_4_)_ 4.6.3 If the datachannel is late in time to transfer the next two cha- racters to the transmitter, there will be an interrupt and sta- tusbit (14) will be logical 1. 4_._6_._4_ _ _ _ _ _D_ _W_o_r_d_c_o_u_n_t_e_r_ _O_v_e_r_f_l_o_w_,_ _b_i_t_ _(_1_5_)_ 4.6.4 If the wordcounter reaches the specified number of words, there will be an interrupt, when the present character has been trans- mitted, statusbit (15) will be logical 1. \f 5_._ _ _ _ _ _ _ _ _V_A_R_I_O_U_S_ _I_N_F_O_R_M_A_T_I_O_N_S_ 5. 5_._1_ _ _ _ _ _ _ _T_e_c_h_n_i_c_a_l_ _S_p_e_c_i_f_i_c_a_t_i_o_n_s_ 5.1 The SCC 705/706 communications controller is designed for use in the RC modular system CHS 709. In addition to the normal +5V power supply, both +12V and -12V power supplies must be present in CHS 701. Power consumption: From the +5V bus typ. 2.0 A - - +12V - - 25 mA - - -12V - - 15 mA The mechanical specifications are: Demensions: W x D x H: 380 x 390 x 23 mm Weight: 1.25 kg DDDoUUU Ambient temperature and humidity range: 0- + 45 C and 20 - 80% without condensation. 5_._2_ _ _ _ _ _ _ _D_e_v_i_c_e_ _C_o_d_e_ _S_e_l_e_c_t_ _P_l_u_g_ As mentioned in the logic specifications, it is possible to alter the device code. In position 51 (139 on SCC 702 and 705) on the circuitboard a component adapter is placed in a dual-in-line socket. The device code is changed by soldering as the following sheet shows. \f D_e_v_i_c_e_ _C_o_d_e_ _S_e_l_e_c_t_ _P_l_u_g_ 9 8 9 8 9 8 9 8 10 7 10 7 10 7 10 7 11 6 11 6 11 6 11 6 12 5 12 5 12 5 12 5 13 4 13 4 13 4 13 4 14 3 14 3 14 3 12 3 15 2 15 2 15 2 11 2 16 1 16 1 14 1 10 1 REC: 40 REC: 42 REC: 44 REC: 46 XMT: 41 XMT: 43 XMT: 45 XMT: 47 9 8 9 8 9 8 9 8 10 7 10 7 10 7 10 7 11 6 11 6 11 6 11 6 12 5 12 5 12 5 12 5 13 4 13 4 13 4 13 4 14 3 14 3 14 3 14 3 15 2 15 2 15 2 15 2 16 1 16 1 16 1 16 1 REC: 50 REC: 52 REC: 54 REC: 56 XMT: 51 XMT: 53 XMT: 55 XMT: 57 REC: 60 REC: 62 REC: 64 REC: 66 XMT: 61 XMT: 63 XMT: 65 XMT: 67 REC: 70 REC: 72 REC: 74 NOT XMT: 71 XMT: 73 XMT: 75 USED \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. SYSTEM OUTLINE ........................................ 2 3. XDIF - A DDFR UTILITY PROGRAM ......................... 6 3.1 xdif-Program Call Syntax ......................... 6 3.2 Transfer of Discfiles ............................ 8 3.3 Output from xdif ................................. 10 3.4 Searching Catalogs ............................... 13 3.5 Scopes and Resources ............................. 14 3.6 Examples ......................................... 16 3.6.1 Example 1 ................................. 16 3.6.2 Example 2 ................................. 17 3.6.3 Example 3 ................................. 18 3.6.4 Example 4 ................................. 19 4. DDFR - TRANSFER PROGRAM ............................... 21 4.1 Transfer Message Format .......................... 21 4.2 Transfer Session Example ......................... 26 4.2.1 Block Formats ............................. 26 4.2.2 Normal Execution .......................... 29 4.2.3 Abnormal Termination ...................... 31 4.3 Transfer Result - Answer Formats - Error Codes ... 33 4.4 Operator Messages from DDFR ...................... 40 4.4.1 Start Up Messages ......................... 40 4.4.1.1 Examples ......................... 41 4.4.2 Communication Line Messages ............... 41 4.4.3 DDFR-Internal Errors ...................... 42 5. SYSTEM INSTALLATION ................................... 43 5.1 The DDFR Magtape ................................. 43 5.2 Installation of DDFR ............................. 43 5.2.1 Configuration Parameters .................. 43 5.2.2 Resources Needed to Run DDFR .............. 45 A_P_P_E_N_D_I_X_: A. REFERENCES ............................................ 47 \f ii \f B_l_o_c_k_n_a_m_e_ _ _ _ _ _ _ _ _ _ _ _ _b_l_o_c_k_t_y_p_e_ _ _ _ _ _ _p_a_r_a_m_ _0_ _ _ _ _ _ _p_a_r_a_m_ _1_ _ _ _ _ _ _p_a_r_a_m_ _2_ _ _ _ _ _ _i_n_f_o_r_m_a_t_i_o_n_ _ _ _ _ _ _ _ _ _ dummy 1 - - - empty convention-error 2 ST cause2 terminate2 empty disc-error 3 ST 16 or 25 discstatus empty setposition * - - - empty M_ accept-create 5 aktual copy - last 10 halfwords of entry tail P_ blocklength segments of local files close 6 ST 0 changeresult empty M_ create new 7 max - - transfer description P_ blocklength reject create 8 - cause8 explain8 empty data 9 segment no. - - datasegments a_c_c_e_p_t_ _c_l_o_s_e_ _ _ _ _ _ _ _ _1_0_ _ _ _ _ _ _ _ _ _ _ _ _ _ _S_T_ _ _ _ _ _ _ _ _ _ _ _0_ _ _ _ _ _ _ _ _ _ _ _ _c_h_a_n_g_e_r_e_s_u_l_t_ _e_m_p_t_y_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Table 4.2 Blocktypes This table explains the contents of the different blocktypes used in the DDFR-protocol. *: not implemented -: undefined field ST: segments transferred \f R_e_s_u_l_t_ _ _T_C_ _ _H_O_S_T_ _ _ _ _ _T_E_X_T_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _e_x_p_ _1_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _e_x_p_ _2_ _ _ _ _ _ _ _ _ _ _ 0 0 L Datatransfer complete. The result of local discfile remote discfile changeentry and changeentry base on changeresult changeresult _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _d_i_s_c_f_i_l_e_s_ _a_r_e_ _i_n_ _e_x_p_ _1_,_ _e_x_p_ _2_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1 1 L All busy. Every FDLC-line is occupied no _of _FDLC lines - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _b_y_ _t_r_a_n_s_f_e_r_s_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2 1 L Monitor 70 alarm, user-parameterblock monitor result - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _c_o_u_l_d_ _n_o_t_ _b_e_ _r_e_c_e_i_v_e_d_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _(_s_e_e_ _r_e_f_._ _4_)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 3 1 L Length alarm, user-parameterblock length - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _h_a_s_ _i_n_c_o_r_r_e_c_t_ _l_e_n_g_t_h_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 4 1 L Remote hostid of discfiletransfer is unknown hostid - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _u_n_k_n_o_w_n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 5 1 L FDLC-line is not ready, state of FDLC FDLC-state in DDFR - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _i_s_ _i_n_ _e_x_p_ _1_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 6 1/2 L/R Discfile placed at L/R-Host is used "used by" hostid - in a transfer between L/R-host and the _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _h_o_s_t_ _m_e_n_t_i_o_n_e_d_ _i_n_ _e_x_p_ _1_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 7 1/2 L/R The L/R-host has discovered that the discfile error cause - discfiles does not fulfil all neccesary _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _c_o_n_d_i_t_i_o_n_s_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 8 2 R Local DDFR contains a wrong hostid remote name for R-host - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _f_o_r_ _t_h_e_ _R_-_h_o_s_t_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 9 2 R Remote DDFR contains a wrong hostid for remote name for L-host - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _t_h_e_ _L_-_h_o_s_t_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ changeresult = remove areaprocess-result *100 (Results are explained in ref. 4) + change _entry _tail-result *10 (If newscope was requested by user) + set _entrybase _result (If change was requested by user) changeresult should always be zero! FDLC-state = 1: during initial startup 2: ready (never returned as an error) 3: input, going on 4: line down 5: output going on 6: during reinitialization Discfile error cause is explained in another table. Figur 4.3: Results (continued on next page) \f R_e_s_u_l_t_ _ _T_C_ _ _H_O_S_T_ _ _ _ _ _T_E_X_T_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _e_x_p_ _1_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _e_x_p_ _2_ _ _ _ _ _ _ _ _ _ _ 1_1_ _ _ _ _ _ _7_ _ _ _L_ _ _ _ _ _ _ _ _F_D_L_C_-_l_i_n_e_ _e_r_r_o_r_ _o_n_ _i_n_p_u_t_b_l_o_c_k_ _f_r_o_m_ _F_D_L_C_ _ _F_D_L_C_-_s_t_a_t_u_s_ _ _ _ _ _ _ _ _ _ _ _ _ _-_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12 5 L Datablock expected at local host other received blocktype - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _n_o_t_ _l_e_g_a_l_ _b_l_o_c_k_t_y_p_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 13 5 L Datablock with segment number = X Y-X (0=/5 0) - expected at local host Datablock with segment number = Y _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _r_e_c_e_i_v_e_d_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 14 5 L Datablock received at local host should length mod 512 (0=/5 0) - have a length so that length modolus _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _5_1_2_ _=_ _8_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 15 5 L Datablock received at local host should Y-X (0=/5 0) - contain X segments _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _D_a_t_a_b_l_o_c_k_ _r_e_c_e_i_v_e_d_ _c_o_n_t_a_i_n_e_d_ _Y_ _s_e_g_m_e_n_t_s_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 16 4 L Discerror on outputdiscfile was discerrorstatus - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _d_e_t_e_c_t_e_d_ _a_t_ _t_h_e_ _l_o_c_a_l_ _h_o_s_t_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 17 5 L Closeblock expected at local host other received blocktype - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _n_o_t_ _l_e_g_a_l_ _b_l_o_c_k_t_y_p_e_ _r_e_c_e_i_v_e_d_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 18 6 R Convention block received cause2 terminate2 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _d_a_t_a_b_l_o_c_k_ _(_o_r_ _c_l_o_s_e_)_ _e_x_p_e_c_t_e_d_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 19 4 R Disc-error received from remote host, discerror status - datablock expected _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _d_a_t_a_b_l_o_c_k_ _i_s_ _o_n_ _t_h_e_ _i_n_p_u_t_ _d_i_s_c_ _f_i_l_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 20 5 L Unintelligent response to create _new received blocktype - received create-accept _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _(_o_r_ _c_r_e_a_t_e_-_r_e_j_e_c_t_)_ _e_x_p_e_c_t_e_d_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21 3 L Call-Collision. Two create _new _blocks received blocktype - has been initiated from both ends at = 7 = create _new _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _t_h_e_ _s_a_m_e_ _t_i_m_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cause2 and terminate2 are explained in table 4.2 in section 4.2. The table in this section may explain why the convention-block was generated, if cause2 is interpreted as result, and terminate2 as exp 1. The error-text found in this way explains the situation as seen from the other DDFR>s point of view. Figur 4.3: Results (continued) \f R_e_s_u_l_t_ _ _T_C_ _ _H_O_S_T_ _ _ _ _ _T_E_X_T_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _e_x_p_ _1_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _e_x_p_ _2_ _ _ _ _ _ _ _ _ _ _ 22 5 L Block received from remote host while received blocktype - sending data to host. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _B_l_o_c_k_t_y_p_e_ _i_s_ _n_o_t_ _s_e_n_s_i_b_l_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 23 6 R Convention block received from remote cause2 terminate2 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _h_o_s_t_,_ _w_h_i_l_e_ _s_e_n_d_i_n_g_ _d_a_t_a_ _t_o_ _h_o_s_t_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 24 4 R Discerrorblock received from remote discerrorstetus - host, while sending data to host, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _d_i_s_c_e_r_r_o_r_ _i_s_ _o_n_ _o_u_t_p_u_t_d_i_s_c_f_i_l_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 25 4 L Discerror on inputdiscfile was detected discerrorstatus - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _a_t_ _t_h_e_ _l_o_c_a_l_ _h_o_s_t_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 26 6 R Whole discfile is sent to remote host, cause2 terminate2 close _block is sent accept-close is expected, but convention _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _b_l_o_c_k_ _i_s_ _r_e_c_e_i_v_e_d_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 27 5 L Whole discfile is sent to remote host, received blocktype - close _block is sent accept-close is expected, but another _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _s_i_g_n_a_l_ _i_s_ _r_e_c_e_i_v_e_d_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 28 5 L Whole discfile is sent to remote host, 11 - close _block is sent accept _close is _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _e_x_p_e_c_t_e_d_,_ _b_u_t_ _n_o_t_h_i_n_g_ _r_e_c_e_i_v_e_d_ _i_n_ _1_0_ _s_e_c_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 29 5 L While sending data to remote host, first block type - two response-blocks are received received faster than the sender is able to _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _p_r_o_c_e_s_s_ _t_h_e_m_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 30 5 L While sending data to remote host, illegal blocktype - an illegal blocktype is received received _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _(_b_l_o_c_k_t_y_p_e_ _<_ _0_ _=_'_ _b_l_o_c_k_t_y_p_e_ _=_ _9_9_9_)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 31 6 * While waiting for create _new (in the received blocktype - ready state), some not sensible block _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _i_s_ _r_e_c_e_i_v_e_d_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 32 7 L FDLC-line _error on output datablock to FDLC-status - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _F_D_L_C_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 33 4 R Whole discfile is sent to remote host, local discfile remote discfile close _block is sent accept _close is _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _e_x_p_e_c_t_e_d_,_ _b_u_t_ _d_i_s_c_e_r_r_o_r_ _b_l_o_c_k_ _i_s_ _r_e_c_e_i_v_e_d_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ * This result is never returned directly to the user. It can only appear as a cause2 value in a convention _block (explained in section 4.2). Figur 4.3 Results (continued) \f Discfile explanation e_r_r_o_r_ _c_a_u_s_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _o_u_t_p_u_t_f_i_l_e_ _i_s_ _i_n_v_i_s_i_b_l_e_ _t_o_ _t_h_e_ _u_s_e_r_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _o_u_t_p_u_t_f_i_l_e_ _i_s_ _p_r_o_t_e_c_t_e_d_ _a_g_a_i_n_s_t_ _t_h_e_ _u_s_e_r_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 3_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _i_n_p_u_t_f_i_l_e_ _i_s_ _i_n_v_i_s_i_b_l_e_ _t_o_ _t_h_e_ _u_s_e_r_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 4_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _i_n_p_u_t_f_i_l_e_ _i_s_ _p_r_o_t_e_c_t_e_d_ _a_g_a_i_n_s_t_ _t_h_e_ _u_s_e_r_,_ _a_n_d_ _n_e_w_s_c_o_p_e_ _o_r_ _c_h_a_n_g_e_e_n_t_r_y_ _i_s_ _r_e_q_u_e_s_t_e_d_ _ 5_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _i_n_p_u_t_f_i_l_e_ _a_n_d_ _o_u_t_p_u_t_f_i_l_e_ _i_s_ _s_p_e_c_i_f_i_e_d_ _t_o_ _b_e_ _l_o_c_a_t_e_d_ _a_t_ _t_h_e_ _s_a_m_e_ _h_o_s_t_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 6 neither inputfile nor outputfile is specified to be located at the users computer _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _(_l_o_c_a_l_ _h_o_s_t_)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 7_ _+_ _r_e_m_o_v_e_ _ _ _ _ _ _ _ _ _ _ _e_n_t_r_y_ _d_o_e_s_ _n_o_t_ _e_x_i_s_t_ _w_i_t_h_ _s_p_e_c_i_f_i_e_d_ _s_c_o_p_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 8_ _+_ _r_e_m_o_v_e_ _ _ _ _ _ _ _ _ _ _ _s_i_z_e_ _o_f_ _o_u_t_p_u_t_f_i_l_e_ _i_s_ _l_e_s_s_ _t_h_a_n_ _s_i_z_e_ _o_f_ _i_n_p_u_t_f_i_l_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 9 + remove contents of tail is not as specified in the checkparameter. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _h_o_s_t_i_d_ _i_n_ _t_h_e_ _a_n_s_w_e_r_ _e_x_p_l_a_i_n_s_ _w_h_i_c_h_ _f_i_l_e_ _i_t_ _i_s_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1_0_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _n_e_w_s_c_o_p_e_ _i_s_ _r_e_q_u_e_s_t_e_d_ _f_o_r_ _t_h_e_ _o_u_t_p_u_t_f_i_l_e_,_ _b_u_t_ _t_h_e_ _n_e_w_ _s_c_o_p_e_ _i_s_ _i_l_l_e_g_a_l_ _ _ _ _ _ _ _ _ _ _ _ _ 1_1_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _n_e_w_s_c_o_p_e_ _i_s_ _r_e_q_u_e_s_t_e_d_ _f_o_r_ _t_h_e_ _i_n_p_u_t_f_i_l_e_,_ _b_u_t_ _t_h_e_ _n_e_w_ _s_c_o_p_e_ _i_s_ _i_l_l_e_g_a_l_ _ _ _ _ _ _ _ _ _ _ _ _ _ 72000 + result set catalogbase for own process is not ok, result is explained in ref. 4. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _w_r_o_n_g_ _s_c_o_p_e_ _p_a_r_a_m_e_t_e_r_s_ _o_r_ _D_D_F_R_ _p_r_o_c_e_s_s_ _n_o_t_ _s_t_a_r_t_e_d_ _w_i_t_h_ _s_y_s_t_e_m_-_s_c_o_p_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 52000 + result create area process not ok, result is explained in ref. 4. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _r_e_s_u_l_t_ _=_ _3_ _m_e_a_n_s_ _t_h_a_t_ _t_h_e_ _d_i_s_c_f_i_l_e_ _d_o_e_s_ _n_o_t_ _e_x_i_s_t_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 76000 + result + lookup head and tail of discfile is not ok, but create area process was ok. r_e_m_o_v_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _T_h_i_s_ _r_e_s_u_l_t_ _s_h_o_u_l_d_ _n_o_t_ _o_c_c_u_r_ _(_r_e_s_u_l_t_ _i_s_ _e_x_p_l_a_i_n_e_d_ _i_n_ _r_e_f_._ _4_._)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 8000 + result + reservation of the outputfile was not ok (result explained in ref. 4) r_e_m_o_v_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _r_e_s_e_r_v_e_-_(_a_r_e_a_)_-_p_r_o_c_e_s_s_ _i_s_ _n_o_t_ _p_o_s_s_i_b_l_e_ _i_f_ _t_h_e_ _a_r_e_a_ _i_s_ _r_e_s_e_r_v_e_d_ _b_y_ _a_n_o_t_h_e_r_ _p_r_o_c_e_s_s_._ remove is 10 times the result of remove(area)-process(see ref. 4). Should always be zero. \f F_ 1_._ _ _ _ _ _ _ _ _I_N_T_R_O_D_U_C_T_I_O_N_ 1. This manual contains information about the D_isc to D_isc F_ile R_outer system. Relevant information may be found by people, who are going to use the DDFR functions, operate or install the system. DDFR makes it possible to exchange discfiles between RC8000 com- puters, if they are interconnected via a transmission line, which can be controlled by the FDLC-line control protocol (ref. 1). The functions of DDFR may later be included in a general File Router module that combines the DDFR-facility with PRIMO and other facilities (ref. 2). \f F_ 2_._ _ _ _ _ _ _ _ _S_Y_S_T_E_M_ _O_U_T_L_I_N_E_ 2. DDFR makes it possible to exchange discfiles between RC8000 com- puters via transmission lines. DDFR is a distributed system. It is possible to initiate file transfer between "your own" RC- 8000 and some "other" RC8000 computer connected via an FDLC-like line control protocol. At present it is n_o_t_ possible to initiate transport between two "other" RC8000 computers. The connected computers have a fixed configuration. Computers are identified by their hostid. DDFR in one RC8000 computer knows the hostid of the directly con- nected computers. hostid hostid 128155 hostidhostid 130176 Fig. 1 Four hostcomputers and three communication lines. A process running in jobhost 176 may initiate datatransfer be- tween host 130 and 176 and between host 128 and 176. \f From host 176 it is n_o_t_ possible to exchange data with host 155, because no transmission line exists. From host 176 it is n_o_t_ possible to initiate a datatransfer be- tween host 130 and 155. A process running in host 130 may transfer data from host 155 to host 176 in two steps: 1. request a filetransfer from host 155 to host 130. 2. request a filetransfer from host 130 to host 176. The communication between DDFR-processes in different computers are at present implemented as shown in fig. 2. The transmission speed of such lines is comparable to that of a typical disc: approx 17 msec/block. This has influenced the DDFR implementation in the following way: 1. DDFR c_a_n_n_o_t_ transfer several files in "parallel" (multiplexing) on the same FDLC-line. 2. DDFR can handle input of the next block (from disc or FDLC) in parallel with output (to FDLC or disc) of the previous block. This makes the time for transfer of one file comparable to the time necessary for reading the file from disc. Data can only be transferred if both input and output file exist and are legally accessible to the user that requests the transfer. Inputsize <= outputsize must be fulfilled and further check on entry contents may be specified by the user (see 3.2 and 4.1). \f The existence of the files and the size requirement is necessary because DDFR itself has no resources to create or extend output files. Here follows a description of the DDFR system components. M_m_ ca. 100 m FOA FOC FOA XDIF DDFR FDLC FPAD FPA FPA FPAD FDLC DDFR XDIF ca. 18 m P_p_ CBL Fig. 2 DDFR-system-components. Abbreviations, see below. XDIF: Utility program xdif: (ex_change d_i_sc f_iles) DDFR: D_isc to d_isc f_ile r_outer. FDLC: F_PA d_ata l_ink c_ontrol. FPAD: F_P_A_ d_river complex in RC8000 monitor. FPA: F_rontend P_rocessor A_dapter. FOA: F_iber O_ptic A_dapter. FOC: F_iber O_ptic C_able. CBL: Cable. XDIF is called from an internal process running in RC8000. It sends one output message to DDFR for each file transfer to be executed. The block in the output message is called a transfer description (TD). It specifies an input discfile and an output discfile. One of the files is located at another computer. XDIF receives an answer when the trans- fer is finished. DDFR moves data from the input file to the output file together with DDFR in some other computer. It is checked that the user of DDFR has access rights to the two disc files. Con- trol- and datablocks are exchanged between two DDFR-pro- cesses via the FDLC-module. \f FDLC establishes a logical full duplex communication line be- tween processes in two different RC8000 computers. FDLC uses the FPA-driver complex in the monitor to imple- ment the communication. FDLC supports line initialization and performs error reco- very. Blocks of any length may be transmitted, but FDLC divides larger blocks into subblocks. FDLC is described in ref. 1 and ref. 6. FPAD sets up channel programs to the FPA-hardware, as stated in the message from FDLC. FPA transmits or receives data as stated by the channel pro- gram. CBL the cable that connects two FPA-devices. FOA converts the eletrical signals (used on a normal CBL) to light signals and vice versa. FOC fiber optical cable, which can transmit light signals. FOA + FOC is an alternative to CBL. The CBL cannot be more than 18 m. long. Using FOA + FOC it is possible to connect computers, with an up to 100 m. long FOC. \f F_ 3_._ _ _ _ _ _ _ _ _X_D_I_F_ _-_ _A_ _D_D_F_R_ _U_T_I_L_I_T_Y_ _P_R_O_G_R_A_M_ 3. xdif (ex_change d_i_sc f_ile) is an algol program, which helps the user to define and execute disc-to-disc transfers via DDFR. The program has two functions: a) Transforms program parameters into a number of transport de- scriptions (TD). Each TD defines a transfer of data from one disc file to another. One of the files must be on the compu- ter, where xdif is called; the other file should be placed on a connected computer. These TD>s are sent - one at a time - to DDFR (which performs the actual transfer). The result of each transfer is displayed to the user. b) Scans backing storage catalogs, to find disc files which ful- fil certain scope-conditions. Output from the program is a list of the files that fulfilled the conditions. This listing may be used directly as an xdif-program call, which will request DDFR to transfer the files as described in a). The program functions cannot be mixed in one call of the program. 3_._1_ _ _ _ _ _ _ _x_d_i_f_-_P_r_o_g_r_a_m_ _C_a_l_l_ _S_y_n_t_a_x_ 3.1 The program-call must fulfil the normal fp-syntax rules (ref. 3). The detailed parameter-syntax is described below. The meaning of the parameters is explained in the next sections. Examples of calls are found in 3.6. M_m_m_ 1 <search format' <xdif call' ::= <list'= xdif <main param' P_p_p_ 0 <copy format' M_m_m_ take 1 <main param' ::= .<hostid' .<ddfrproc' P_p_p_ give 0 \f *DDD M_m_m_ scope 1 <search format' ::= .<limit' .<catfile' P_p_p_ base 0 1UUU *DDD inout. <filespec' <copy format' ::= in.<filespec' out.<filespec' out.<filespec' in.<filespec' 1UUU *DDD change <halftail' <filespec' ::= <discfile'.<limit' check <halftail' newscope.<limit' 0UUU catalog system project M_m_m_ max <limit' ::= P_p_p_ user std catbase <basenumber'.<basenumber' 10DDD M_m_m_ .<value' <halftail' ::= P_p_p_ .no 1UUU M_M_ 1 <basenumber' ::= neg. <number' P_P_ 0 <number' and <hostid' are numbers in the range 0 to 8.388.607 <value' is a number in the range 0 to 4095. <list', <ddfrprocess', <catfile' and <discfile' are standardnames: one small letter followed by up to 10 small letters or digits. \f If <list' is specified and the file does not exist a temporary file with the given name is created. Note that a <search format' and a <copy format' cannot be used together. 3_._2_ _ _ _ _ _ _ _T_r_a_n_s_f_e_r_ _o_f_ _D_i_s_c_f_i_l_e_s_ 3.2 xdif may report DDFR to transfer files to/from another computer. This is done when the program is called with parameters as speci- fied by <copy format' in section 3.1. The meaning of the call is as follows: <_m_a_i_n_ _p_a_r_a_m_'_ defines the direction of the dataflow. t_a_k_e_ means that input files are placed on the other computer, and output files on this computer. g_i_v_e_ means that output files are placed on the other computer and input files on this computer. <_h_o_s_t_i_d_'_ is an integer defining the other computer. This value is used by DDFR to select the FDLC-line that connects the other computer. <_d_d_f_r_p_r_o_c_'_ is an optional parameter. It gives the name of the process, in which DDFR is running. Default value is ddfr. xdif sends request for transfer of data to the process with the specified name. <_c_o_p_y_ _f_o_r_m_a_t_'_ specifies pairs of input and output files of the transfer. The i_n_ parameter defines an input file and \f The o_u_t_ parameter defines an output file. Values specifying the files are: <_d_i_s_c_f_i_l_e_'_ gives the file name <_l_i_m_i_t_'_ gives the file scope. Note that <hostid' of the file is implicit defined by the <main- param'. The transfer is not executed by DDFR, if no file with the given name and exact scope exists. Furthermore it is checked that the caller of xdif (the user) has the right to read or write the cor- responding file (according to the max- and standardbase of the user process). After a transfer the last 10 halfwords of the output file, entry- tail, are the same as for the input file; except for a possible change (see below). In connection with the data transfer some utility functions may be performed on the involved files. These are specified after the name and scope of the file(s). As data transfers are initialized from o_n_e_ computer, no explicit agreement between two "user"-processes are necessary to transfer a file. However, there may be a need for some "end-to-end-control" at the "user-process-level". This may be implemented by the user, with the following utility-commands. c_h_e_c_k_._<_h_a_l_f_t_a_i_l_'_. The user wants the last 10 halfwords of the entrytail of the file to be checked for certain values. Up to 10 parameters may be specified for <halftail'. Omitted values are assigned to n_o_. The meaning of <halftail'-parameters are: n_o_ specifies that the corresponding halfword should not be checked. \f <_v_a_l_u_e_'_ specifies that the corresponding halfword should have value checked. If check is specified, the data transfer only takes place if the specified values match the contents of the entrytail. c_h_a_n_g_e_._<_h_a_l_f_t_a_i_l_'_. If the data transfer is executed succesfully, the user wants the last 10 halfwords of the entrytail changed, as specified in <halftail'. Up to 10 parameters may be specified for <halftail'. Omitted pa- rameters are assingned to n_o_. the meaning of <halftail'-parame- ters are: n_o_ specifies that the corresponding halfword should not be changed. <_v_a_l_u_e_'_ specifies that the corresponding halfword should be changed to this value after the data transfer. n_e_w_s_c_o_p_e_._<_l_i_m_i_t_'_ defines a new scope for the file, which should be given to the file after transfer of data. Note that only the scope is changed, but the permanentkey is n_o_t_ touched. <limit' gives the new file scope. 3_._3_ _ _ _ _ _ _ _O_u_t_p_u_t_ _f_r_o_m_ _x_d_i_f_ 3.3 If the parameter to the xdif program is incorrect, no transfer is initiated but an alarm occurs, giving the number of the erroneus parameter. If DDFR does not reply to messages by a normal-answer (monitor- result = 1), the program terminates immediately. This happens when the name of the DDFR-process is wrong (result = 5: unknown is returned). \f Under normal circumstances xdif outputs a number of lines, which explain the xdif interpretation of the next filetransfer-parame- ter set (see example in 3.6). Then the messages requesting the transfer is sent to DDFR, and the answer is awaited. When this arrives, a line is output, giving the first 5 words of the answer (see 3.6). The meaning of the answer values is given in 4.2. If the first word of the answer is not zero, the ok-bit will have the value false when the xdif program terminates. Here follows the exact format of the generated output. The output is in three parts: Output file information, Input file information, and Result information. Output and input information format consist of a fixed and an optional part. Fixed part: M_m_m_ out : <file name' <low base' <high base' <host id' <function' P_p_p_ in : DDD<low base' <high base' 0UU1DDDD0UU5 Optional part, is only output if a change or a check is specified. Optional part: M_m_m_ check : 10 <halfword'.<value' P_p_p_ change : 1 <filename' name of file <low base' <high base' specifies the scope of the file <host id' 0 if own host host number if foreign host \f <function' depending on parameters in the <file spec' bit 1 if change bit 2 if check bit 3 if newscope bit 4 this bit is always set for the output file not for the input file. Specifies that the last 10 halfwords of the entrytail are copied from the input file to the output file, this is done after a possible check but before a possible change. <low base' <high base' only output if newscope is specified in <function' <halfword' specifies the accessed halfword of the entrytail <value' specifies the checked value and the new value of the accessed halfword. Result information format. result : <transferno.'<result'<segments transferred'<host id' <exp1'<exp2' <transfer no.' specifies the file number in a transfer, usually 1 <result' confer table 4.3 <segments transferred' number of transferred segments <host id' indicates own or foreign host. Depending on result (cf. table 4.3) \f <exp1' explanation depending on result (cf. table 4.3) <exp2' explanation depending on result (cf. table 4.3) 3_._4_ _ _ _ _ _ _ _S_e_a_r_c_h_i_n_g_ _C_a_t_a_l_o_g_s_ 3.4 To help the user to transfer a group of files, related to a given scope or disc, xdif has a facility for scanning catalogs. This facility is called via the <search format'. A catalog scan does not initiate any transfers, but it produces an output list that has the exact format of an xdif call. If this call is executed, the filetransfers will be initiated. When using the <search format' the <main param' should be present in the call. It is not used but just copied into the output list for later use in the <copy format'. The meaning of the search parameter is as follows: s_c_o_p_e_ means that all files with the specified <limit' are written in the list. b_a_s_e_ means that all files inside the specified <limit' are written in the output list. <_c_a_t_f_i_l_e_'_ gives the name of the catalog to be searched. If it is left out the main catalog (named >catalog>) of this computer is searched. When a file name is specified, this should be a file containing a catalog, which f.ex. could have been transferred from the other computer in a previous call of xdif: xdif take.101 in.catalog.catalog out.cat.user; get catalog p = xdif take.101 scope.user.cat; search catalog put list in p (see example in 3.6) \f 3_._5_ _ _ _ _ _ _ _S_c_o_p_e_s_ _a_n_d_ _R_e_s_o_u_r_c_e_s_ 3.5 The user of xdif and DDFR should consider the following aspects: DDFR allows a user to initiate a discfile transfer to/from an- other machine, without any activ permission from operating sys- tems or users situated at the remote computer. Instead the scope- rules that normally protects discfiles from unauthorized local access, is also used to allow/forbid access to remote files. This scopecheck performed by DDFR is only sensible if "usercata- logs" on connected machines contains the same specification for a user utilizing the DDFR-facility. DDFR checks whether the user has access-right to a given disc- file. The exact definition of access-rights is given in ref. 4 and ref. 5. N_o_t_e_: A process may have access-right to a discfile, but is un- able to read or write the file without changing its catalogbase. For example a projectfile cannot be read if a userfile of the same name exists, unless the process alters its own catalogbase. The exact definition of access-rights are "slightly broader" than recognized by the "typical" user. DDFR expects that both input and outputfile exists, when a trans- fer is initiated and size of outputfile must be greater or equal to the size of the inputfile. As explained in section 3.2 it is possible to change the entrybase of an involved discfile via the newscope parameter to xdif. The change is done by DDFR after moving the contents of the inputfile to the outputfile. It is also possible to change the last part of the entrytail of the discfiles, if a change parameter is present in the xdif-call. The new entrybase or entrytail given to a discfile is only ac- cepted by DDFR, when the user has write-access-rights to the file. The new scope must not remove this right. \f These limitations to change of scope, and tail of a discfile are quite natural. DDFR is at present not concerned with the permanent-key of the discfile-catalog-entries. This affects the total RC8000 system in two ways first: The monitor refuses to set entrybase of an entry outside the maxbase (projectscope) unless the file has a perma- nent-key = 3. This rule can be suppressed if the user requests DDFR to set the entrybase (new scope parameter). second: The user may request a transfer of data into a non-per- manent file. This leads to reservation of the file by DDFR, which will prevent the operating system BOSS2 from removing the file, if the requesting job is killed during the file transfer. This situation leads to a bossfault. The radical solution to the problem mentioned, is to refuse transfers between non-permanent discfiles. This is not the case at present, but practical experience with DDFR/xdif may change the present standard. All the problems reflected in this section, follows from the fact, that DDFR does not control the backing storage claims of the requesting user. Note once more the important role of the distributed usercatalogs in such a system. \f 3_._6_ _ _ _ _ _ _ _E_x_a_m_p_l_e_s_ 3.6 3_._6_._1_ _ _ _ _ _E_x_a_m_p_l_e_ _1_ 3.6.1 This example moves the local file f to the remote file f. xdif give.102 inout.f.user command typed by the user output from xdif: xdif give.102.ddfr This line specifies the remote host and the posi- tion of input and output. out : f 0 9 102 8 This line specifies the output file. in : f 0 9 0 0 This line specifies the input file. a b c d result : 1 0 1 101 0 -1 This line specifies the result. e f g h i j Output line f a: the name of the file. 0 9 b: the scope of the file specified as two integers. 102 c: the host of the file. Output is placed at the remote host(102), while input is placed at the local host. 8 d: the function field. 8 means copy tail from other file to this file. Result line 1 e: transfer-number. There is only specified one transfer in this example. 0 f: result, meaning explained in table 4.3, zero means transfer completed. 1 g: segment transferred: This file had a size of one segment. 101 h: hostid of the computer where xdif runs. When errors occur, hostid will point to the computer where the error was discovered. M_m_m_ 0 i: exp1 in table 4.3 when result = 0 they will normally be zero. P_p_p_ -1 j: exp2 in table 4.3 \f 3_._6_._2_ _ _ _ _ _E_x_a_m_p_l_e_ _2_ 3.6.2 This example moves the remote file f to the local file p, but it should only be done if the contents field in the entry tail of the file p contains the value 11 (the check-parameter). After the transfer, this value should be changed to 0. lookup p p =set 5 disc d.800408.1713 0 0 11.0 0 ; temp ; 282 35 0 0 9 the user command: xdif take.102 in.f.user out.p.user check.no.no.no.no.no.no.11, change.no.no.no.no.no.no.0 output from xdif: xdif take.102.ddfr out : p 0 9 0 11 a check : 7.11 b change : 7.0 c in : f 0 9 102 0 result : 1 0 1 101 0 0 d lookup p p =set 5 disc d.800408.1709 0 0 0 0 ; temp ; 282 35 0 0 9 a: The function field of the output equals 11. This specifies check, copy, and change of the output file>s entrytail. b: This line appears because check of the entrytail is specified. It tells that among the last 10 halfwords in the tail, the seventh will be checked to contain the value 11. c: This line appears because change of the entrytail is spec- ified. It tells that among the last 10 halfwords in the tail, the seventh will be changed to 0 after the transfer. \f d: contains local change result. Should be zero, which signals that change of the tail (and scope if specified in the call) has been done. This example checks and changes the contents of a local file entrytail. This might be done manually by the utility programs lookup and changeentry. For remote files the utility programs cannot be accessed. 3_._6_._3_ _ _ _ _ _E_x_a_m_p_l_e_ _3_ 3.6.3 This example shows how the main catalog (with scope catalog) is transferred from the remote host to a local userfile called cat. Then a search for all files with userscope is performed in the catalog and the result is put into the file p. Example 4 will show the transfer of the files in the list a: take.102 is copied into the file p. Consequently a take from 102 will be the result if p is later executed. lookup cat cat =set 300 drum d.800408.1716 0 0 0 0 ; user ; 376 3 3 0 9 xdif take.102 in.catalog.catalog out.cat.user the user command xdif take.102.ddfr out : cat 0 9 0 8 in : catalog -8388607 8388606 102 0 result : 1 0 273 101 0 0 p=xdif take.102 scope.user.cat the user>s search command a c=copy p xdif take.102.ddfr , inout.eahstarlib.0.9 , no 1 size= 22 inout.tddfr.0.9 , no 2 size= 88 inout.rcmol.0.9 , no 3 size= 170 inout.tstarlib.0.9 , no 4 size= 21 p segm. 1 323/17505 b c \f b: corresponds to b in example 4. c: - - c - - -. 3_._6_._4_ _ _ _ _ _E_x_a_m_p_l_e_ _4_ 3.6.4 This example executes the commands generated in example 3. i p the user command (contents of p generated by a search command) xdif take.102.ddfr out : eahstarlib 0 9 0 8 in : eahstarlib 0 9 102 0 result : 1 0 22 101 0 0 b c out : tddfr 0 9 0 8 in : tddfr 0 9 102 0 result : 2 0 88 101 0 0 b c out : rcmol 0 9 0 8 in : rcmol 0 9 102 0 result : 3 0 170 101 0 0 b c out : tstarlib 0 9 0 8 in : tstarlib 0 9 102 0 result : 4 7 0 102 52003 0 b d e f transfer 4 line 480-482 b: This number corresponds to b in the previous example. The file transfer number. c: Corresponds to c in example 3. The number of segments in the file. d: The fourth transfer did not succeed. The result is 7. This means that some of the necessary conditions is not fulfilled by the file tstarlib (result codes explained in section 4.3). \f e: The error was discovered at host 102 (the remote host). The error must relate to the file at the remote host. f: For result = 7 this value explains what was wrong (exp1 codes are explained in section 4.3). 52003 means that the file does not exist. Somebody removed it between example 3 and 4. \f F_ 4_._ _ _ _ _ _ _ _ _D_D_F_R_ _-_ _T_R_A_N_S_F_E_R_ _P_R_O_G_R_A_M_ 4. This part of the manual explains the different interfaces between DDFR and the surroundings. These interfaces are: User interface (transfer request interface) DDFR-DDFR protocol Operator interface (parent messages). - An important part of the user interface is the explanation of the different error codes delivered to the user through the xdif program. - The DDFR protocol is explained to give the user some idea of what is going on when files are transferred. This section also provides the reader with the information needed to program an alternative DDFR-program. Such a program may be constructed for other computers that communicate with RC8000 in an FDLC-like manner (cf. ref. 1). - The operator interface - at present - consists of parent messa- ges, displayed on the "DDFR"-console by the operating system s. 4_._1_ _ _ _ _ _ _ _T_r_a_n_s_f_e_r_ _M_e_s_s_a_g_e_ _F_o_r_m_a_t_ 4.1 The normal way to request a file transfer, is to use the xdif- utilityprogram. xdif just converts the parameters into one or more transfer-request-messages, and sends them - one at a time - to DDFR. It is possible to send such a transfer-request - from an internal process - without using xdif. The exact format of such a transfer-request is given below. A transfer request has the form of an output-message. The message just defines a parameter-area to be output to DDFR. The contents of the parameter-area defines the transfer. \f message: 5<12 outfile parameter area to be out- send first para- put to DDFR. to last meters DDFR . It defines the two files . infile involved in a filetrans- . para- fer. . meters Figure 4.1 The parameter area - sent to DDFR by the output-message - speci- fies two discfiles. The first is the outputfile of the transfer, and the second is the inputfile of the transfer. One of the files must be on the computer where the userprocess and the local DDFR is running. The other file must be on another computer, connected to DDFR by some FDLC-line. The dataflow-direction is implicitly defined by the location of the two discfiles. Each of the two discfiles must be described - in the parameter area - as explained below. P_ f_i_e_l_d_ _n_a_m_e_ h_a_l_f_w_o_r_d_ _a_d_d_r_e_s_s_ M_ name _of _file 0-7 dummy 8-9 scope _of _file 10-13 hostid _of _file 14-15 functions 16-17 newscope 18-21 change _value 22-31 change _mask 32-41 check _value 42-51 check _mask 52-61 One filedescription consists of 62 halfwords, so the total para- meterarea sent to DDFR is 124 halfwords. \f The meaning of the different parameter fields is explained below: name _of _file : points to a catalog-entry - in the main catalog - which describes a discfile dummy : irrelevant scope _of _file : two integers which must match with the entry base of the discfile hostid _of _file: hostid of the computer to which the file belongs. hostid may be the exact number or zero. The latter is default for "ownhost" (the computer where the user requests the transfer) functions : DDFR may be requested to perform additional service together with the file transfer. At present four functions are available: 1) copy tail after transfer 2) change scope after transfer 3) check tail before transfer 4) check tail after transfer. Functions are requested by "bitsetting" in the function field. The four least significant bits in the function field are composed as follows: copy _tail shift 3 + change _scope shift 2 + check _tail shift 1 + change _tail shift 0. Parameters which further describe the functions, are present in the last three fields \f copy _tail : if "copy tail after transfer" is wanted, the last 10 halfwords of the entrytail from the "other" file are copied to the last 10 words of the entrytail of "this" file. The copying is done before a possible change of the entrytail. xdif always sets this bit in the function field for the output file. This makes it possible to transfer program files or other files where the entrytail has a special meaning. newscope : if "change scope after transfer" is requested in the function field, this field contains the new entry- base. Only the entrybase can be changed. Changing the permanentkey cannot be done by DDFR, because this involves backing-storage- claims. DDFR changes the entrybase of the discfile if the filetransfer is successfully ended. change _value and change _mask : if "change tail after transfer" is requested in the function field, these fields define the details. It is possible to change parts or all of the last 10 halfwords in the catalogentry that describes the discfile. \f Change _value and change _mask are two 10-halfword-fields. If the da- tatransfer is completed without any errors, the l_a_s_t_ 10 halfwords of the catalogentry will be changed according to the following algo- rithm: if change _requested by function then for hwcount:= 1 step 1 until 10 do for bitcount:= 1 step 1 until 12 do if change _mask(hwcount, bitcount)= 1 then entry(hwcount, bitcount):= change _value(hwcount, bitcount); check _value and check _mask : if "check _tail before transfer" is requested in the function field, these fields define the details. It is possible to check parts or all of the last 10 halfwords in the catalogentry that describe the discfile. The transfer is only exe- cuted if the entry contains the ex- pected values. Check _value and check _mask are two 10-halfwords- fields. The last 10 halfwords of the catalogentry are checked before the transfer is started, according to the following algorithm: if check _requested by function then for hwcount:= 1 step 1 until 10 do for bitcount:= 1 step 1 until 12 do \f if check _mask(hwcount, bitcount)= 1 then if entry(hwcount, bitcount)0=/5 check _value(hwcount, bitcount) then reject _transfer; Note: As can be seen from the above algorithms, as well the chan- ge- as the check-routine works on the "bit-level". When the user requests a transfer using the xdif-program it is only possible to express mask- and valuepatterns on the "half- word-level". This restriction is not serious in most cases. 4_._2_ _ _ _ _ _ _ _T_r_a_n_s_f_e_r_ _S_e_s_s_i_o_n_ _E_x_a_m_p_l_e_ 4.2 This section describes the protocol, that is executed on the FDLC-link (cf. ref. 1), that connects two DDFR-modules. 4_._2_._1_ _ _ _ _ _B_l_o_c_k_ _F_o_r_m_a_t_s_ 4.2.1 DDFR exchanges information in different block-types. These blocktypes are described in the following table. All blocks have a common head, and has the following format: block + 0: param 0 + 2: blocktype + 4: param 1 + 6: param 2 + 8: information The length of a block is 8 halfwords + length of the information-field. \f F_ (skema A) \f F_ The different fields contain: empty: The field is omitted ST: Segments transfered at the moment when the blocktype is generated max blocklength: When a new transfer is started the initiator gives the maximum blocklength that can be used during the transfer. The other DDFR - (the responder) should accept this, or return a smaller value. This is done in the actual blocklength: This blocklength (in segments) is used when data is transfered from inputdisc through the FDLC-link to the output disc. copy segments: Defines the total number of segments to be copied. segment no: Segmentno of the first segment in a datablock. The number defines where the datablock came from, and where to put it. Data is transfered sequentially (increasing segment numbers). change result: Contains the result of a requested change to the catalogentry made after transfer of the data. The value is remove _process _result *100 + change _entry-_result *10 + set _entry _base _result ; the result values can be found in ref. 4. discstatus: If any error occurs during transfer to or from disc, this is signaled to the other DDFR together with the errorstatus. \f param 1 holds the value 16 if the error was on the outputdisc, and 25 for an error on the inputdisc. Transfer description: When a new transfer is initiated all the parameters defining the transport is transferred to the other DDFR. The exact format is TD+ 0: hostid of other DDFR + 2: size of inputfile (if known) + 4: size of outputfile (if known) + 6: outfile parameters as defined by the user (see 4.1)* + 68: in file parameters as defined by the user (see 4.1)* +130: maxbase and standardbase of the userprocess requesting this transfer. * If the file is local, the contents of check _value is replaced with the last 10 halfwords of the entry tail of that file. 4_._2_._2_ _ _ _ _ _N_o_r_m_a_l_ _E_x_e_c_u_t_i_o_n_ 4.2.2 A n_o_r_m_a_l_ session executes as follows: userprocess initiator DDFR responder DDFR xdif program request transfer check parameters against local file and send a "create new" check parameters against local file and return "create reject" or "create accept" \f Now the DDFR which has the inputfile starts sending data, and the DDFR which has the out- putfile receives data. In the following we assume that the inputfile is placed at the initiator. input from disc send datablock receive datablock input from disc output to disc send datablock receive datablock input from disc output to disc M_M_ . . . . P_P_ . . send last datablock receive last datablock change entry and output last datablock to change entrybase disc userprocess initiator DDFR responder DDFR report changeresult in a closeblock receive closeblock change entry and change entryba- se report change _result return local- in the accept _closeblock and remote change result xdif program to the user reports the transfer result Note: The c_l_o_s_e_block is a_l_w_a_y_s_ sent by the h_o_l_d_e_r_ of the i_n_p_u_t_discfile, and the a_c_c_e_p_t_-_c_l_o_s_e_block a_l_w_a_y_s_ sent by the h_o_l_d_e_r_ of the o_u_t_p_u_t_discfile. This final handshake is defined by the dataflow direction and n_o_t_ by the initiator/responder-relationship. \f 4_._2_._3_ _ _ _ _ _A_b_n_o_r_m_a_l_ _T_e_r_m_i_n_a_t_i_o_n_ 4.2.3 Abnormal termination of the transfer may happen in the following situations: 1) The initiator-DDFR refuse to start the transfer because of some error condition. The responder-DDFR knows nothing about the transfer. The error is reported to the user. 2) The responder-DDFR rejects the transfer because of some error conditions. The error is signaled to the initiator DDFR in the reject-create-block, and the user is informed. 3) Call-collision: if two DDFR try to initiate a transfer at exactly the same moment, two create-new-blocks may cross each other on the FDLC-link. This situation is recognized at both ends, and both transfers are rejected to the user. 4) If one DDFR finds a discerror, it is reported to the other DDFR in a discerror block and the transfer is terminated. The initiator DDFR informs the user. 5) If one DDFR finds that the other DDFR fails to communicate ac- cording to the protocol standard it sends a convention-error- block to the other DDFR, and terminates the transfer. If it was the initiator that gave up, it informs the user of the result. 6) If a DDFR receives a convention-error-block it should termina- te the transfer and in case it is the initiator inform the user. 7) If the FDLC-link fails, the transfer is terminated. The initi- ator reports the error to the user. In the list of possible results from DDFR to the user (cf. 4.3), the errors are classified from 1-7 corresponding to the groups mentioned above. \f Errors of class 5 and 6 should not occur. If they do a whole block is lost on the FDLC-link or there is an error in the DDFR-program. N_o_t_e_ that DDFR never returns convention-error on a received convention-error-block, but sometimes reply with a dummy block. DDFR ignores dummy blocks in the "idle" state (no transfer going on). In r_e_j_e_c_t_-_c_r_e_a_t_e_-_b_l_o_c_k_s_ the cause8 and explain8 (cf. table 4.2) may be cause8 explain8 6 area _in _use hostid of user 7 user parameter error error cause 8 hostmix2 wrong hostid 9 hostmix1 wrong hostid These are reported to the user by the initiator-DDFR. Result 8 and 9 occurs if the DDFR-programs disagree about each others hostid (wrong options during system generation). In c_o_n_v_e_n_t_i_o_n_-_e_r_r_o_r_-_b_l_o_c_k_s_ cause2 and terminate2 may be cause2 expected received terminate2 block block 12 datablock other blocktype blocktype 13 datab. segmno=x datab. segmno=y y-x 14 blocklength modulus 512 should be 8 but is not 15 datab. segmlength=x datab. segmlength=y y-x 17 closeblock other blocktype blocktype 27 accept closeblock other blocktype blocktype 28 accept closeblock nothing in 10 sec. 0 29 nothing expected block received blocktype 30 one legal blocktype illegal blocktype blocktype 31 create-new-block other blocktype blocktype \f If the initiator-DDFR s_e_n_d_s_ a convention-error-block, the cause2 is reported to the user as the result (cf. 4.3: answer format). If the initiator DDFR r_e_c_e_i_v_e_s_ a convention-error-block the result defines what was expected, and the cause2 and terminate2 are additional parameters to the result (cf. 4.3: answer format). 4_._3_ _ _ _ _ _ _ _T_r_a_n_s_f_e_r_ _R_e_s_u_l_t_ _-_ _A_n_s_w_e_r_ _F_o_r_m_a_t_s_ _-_ _E_r_r_o_r_ _C_o_d_e_s_ 4.3 As described in section 4.1 the user requests a disc file transfer by sending an output-message to the DDFR-process. The answer from DDFR on the output-message contains several parameters that inform the user of the result of the transfer. These parameters - of course - are only valid if the answer was a normal-answer and not a dummy-answer (ref. 4). Dummy answer = 5 tells the user that the DDFR-process does not exist in this computer. A normal answer has the following format: answer + 0 : Result + 2 : ST (segments transferred) + 4 : Hostid (local or remote) + 6 : exp 1 additional information + 8 : exp 2 to the result-parameter When the xdif-program is used to request transfers, the five parameters are displayed to the user on the current outputfile (cf. section 3.6). The possible answers are in the following table. The Termination Class (TC) in the table explains why an error was reported as explained in section 4.2 (Abnormal Termination). The TC-value may help the user to find out which part of the system that failed during the transfer. \f ST is always reported to the user, and explains how many segments that were transferred before the answer was sent. ST equals zero when the answer contains an error-result of 1 through 9, 20 or 21, because these errors occur before the actual datatransfer is initiated by DDFR. ST equals the size of the input file, if the datatransfer was OK (Result = 0). In case of a discerror, ST is the segmentno of the block transfer that went wrong, and hostid points out the machine (together with Result). In other results ST may vary from zero to size of inputfile. Hostid in the answer is one of the following: L (local) : hostid of the "user machine" is returned R (remote): hostid of the "other machine" is returned. "L- and R-answers" can be found in the table. \f F_ (skema A) \f F_ (skema B) \f F_ (skema C) \f F_ Results of class 5 and 6 should not occur under normal conditions. They report disagreement of the protocol used between two DDFR-components. Result = 7 means that the discfile to be used in the transfer, does not fulfil all necessary conditions. The reason normally is that the user has specified wrong or illegal parameters in the transfer. When result = 7 is returned to the user, hostid tells who discovered the error, and exp1 is a discfile error cause, which explains exactly what is wrong. The possible values for discfile error cause is given in the following table. Some of the errors cannot be generated (5 and 6) if the xdif program is used to request the transfer. Result 1, 2, 3, 4, 10, and 11 are violation of the scope rules that protects backing storage files in the RC8000 system. The rules are explained in ref. 4. If a discfile does not exist, discfile error cause will be 52003 or 7. In the last 4 entries of the table, result means the result delivered by the RC8000 monitor (ref. 4), when some monitor function is called. \f F_ (skema E) \f F_ 4_._4_ _ _ _ _ _ _ _O_p_e_r_a_t_o_r_ _M_e_s_s_a_g_e_s_ _f_r_o_m_ _D_D_F_R_ 4.4 DDFR does not interact with any operator during normal operations. No function carried out by DDFR calls upon operator assistance. However, special situations are reported to an operator. Messages are sent in form of a parent print message. The parent is expected to be the basic operating system called s (ref. 5). The operating system s will print the contents of the message on the terminal where DDFR was started by some operator. The messages from DDFR falls into three groups: 1) start up messages 2) communication line messages 3) DDFR-internal errors. 4_._4_._1_ _ _ _ _ _S_t_a_r_t_ _U_p_ _M_e_s_s_a_g_e_s_ 4.4.1 When DDFR is started, it reports a list of necessary resources if the process where DDFR is running has not been created with the exact amount. After this report, DDFR just enters the normal runmode in case sufficient amounts are present. If not DDFR terminates the start up. The following examples show how the messages look if a) amount is sufficient b) amount is insufficient c) ddfrtest is not ok. ddfrtest is a backing storage area, that is used by DDFR, to output testreports during normal operation. This testreport is only created if requested (see section 5.2). \f 4_._4_._1_._1_ _ _ _E_x_a_m_p_l_e_s_ 4.4.1.1 The note letters confer to description on previous page. ready message ddfr ***size 10214 b) message ddfr ***ddfrtest 41 c) pause ddfr ***init troubles att s remove size 10300 ready att s perm disc 41 1 run ready message ddfr size 10214 a) message ddfr started att s remove size 10214 run ready message ddfr started a) Note that *** are output when there are too few resources. 4_._4_._2_ _ _ _ _ _C_o_m_m_u_n_i_c_a_t_i_o_n_ _L_i_n_e_ _M_e_s_s_a_g_e_s_ 4.4.2 If the communication line to another DDFR-process fails or recovers, then a message is displayed to the operator telling the hostid of the other DDFR-process, and the communication line state. \f Two examples are shown below a) line break down, caused by some error b) later line recovery, when the line is reinitialised by DDFR (this is always tried). message ddfr 17.06 host 102 down a) message ddfr fdlc status-6291454 message ddfr 17.08 host 102 up b) 4_._4_._3_ _ _ _ _ _D_D_F_R_-_I_n_t_e_r_n_a_l_ _E_r_r_o_r_s_ 4.4.3 If DDFR violates the normal protection rules in the RC8000 system, this generates an internal interrupt in the DDFR-process. The interrupt-response-routine in DDFR prints out the first seven words of the interrupt area, which contain the registers as they appear at the moment of the interrupt. DDFR then stops normal processing immediately. Internal errors should not occur. The following example shows the error message as it may appear after a "provoked interrupt" (the break command). att s remove proc ddfr break ready message ddfr 86770 83928 0 0 0 84158 8 pause ddfr ***fault \f F_ 5_._ _ _ _ _ _ _ _ _S_Y_S_T_E_M_ _I_N_S_T_A_L_L_A_T_I_O_N_ 5. 5_._1_ _ _ _ _ _ _ _T_h_e_ _D_D_F_R_ _M_a_g_t_a_p_e_ 5.1 The DDFR system is distributed on a magnetic tape containing the DISC - DISC File Router Package. The package contains the subpackages FDLC and DDFR. For further information consult the package description (ref. 7) for the SW8701/1 DISC - DISC File Router Package. 5_._2_ _ _ _ _ _ _ _I_n_s_t_a_l_l_a_t_i_o_n_ _o_f_ _D_D_F_R_ 5.2 5_._2_._1_ _ _ _ _ _C_o_n_f_i_g_u_r_a_t_i_o_n_ _P_a_r_a_m_e_t_e_r_s_ 5.2.1 DDFR can be configurated and translated if the commandfile mentioned in ref. 7 is executed. To do this some configuration-parameters must be edited as explained. This section explains the meaning of these parameters. testbufsize: This parameter gives the size in segments of the internal testbuffer. A large testbuffer occupies more corestore, but minimize the time "wasted" each time the buffer runs full, and must be written to disc. The value may not be set to zero. testsegments: This parameter gives the size in segments of the discarea used to save the testreport in. The area is used in a cyclic manner. Conse- quently the larger the area is the longer the reports would stay in the file. \f If no testreport is wanted, this parameter is set to zero. thishost: This parameter gives the hostid of the computer where DDFR is running. This number should be unic among DDFR-Hosts. It is recommanded that the host numbers, used in "RCNET- numbering" of the hosts, are also selected as DDFR-host-numbers. blocklength: This parameter gives the maximum blocklength in segments, that can be used in a transfer involving this DDFR. Larger blocklength gives a faster transfer, but requires more corestore. Connections to other hosts: The line !***! should be replaced by parameters which describe the other DDFR- Hosts in the network. Each host is described by its hostid, and the name of the FDLC- process in this computer, that supports the communication link leading to that host. The definition of a host must obey the syntax for the language RCMOL. The general format is: word id<hostid' := <hostid'; text(11) name<hostid' := <fdlcname'; This text should be inserted for each connected host. \f An example with two hosts is given below: word id105 := 105; text(11) name105 := "fdlc105"; word id134 := 134; text(11) name134 := "fdlc134"; Hostnumbers and fdlc-process names can be found in the system-generation descriptions for the monitors running on the involved RC8000 computers. 5_._2_._2_ _ _ _ _ _R_e_s_o_u_r_c_e_s_ _N_e_e_d_e_d_ _t_o_ _R_u_n_ _D_D_F_R_ 5.2.2 Backing storage: If testoutput is generated (testsegments ' 0) one backing storage area (discfile) is created and permanented. The size of the area is: testsegments//testbufsize * testbufsize. Area processes: One area process for each active transfer. This means one area process for each connected computer. One extra area process is needed if test output is generated (testsegments ' 0) Message buffers: One message buffer is needed for communication with internal user processes. Four message buffers are used for each active transfer. One extra message buffer is needed if testoutput is genera- ted (testsegments ' 0). Internal store: The size of the running DDFR-program is less than 5000 halfwords. Each communication line occupies descriptions for one commu- nication line, two coroutines and three databuffers. One set of descriptions occupies less than 200 halfwords. \f Each communication line uses three databuffers. Their size is determined by the configuration parameter called block- length. If testoutput is generated (testsegments ' 0) a testbuffer is allocated. The size of this buffer is describ- ed by the configuration-parameter called testbufsize. If testsegments = 0 the allocated testbuffer occupies zero halfwords. The above statements may be expressed in a formula: size _in _halfwords := 5000 + size _of _testbuffer +(200 + (512 * blocklength * 3)) * no _of _connected _hosts; Resources for FDLC-processes and monitordescriptions are n_o_t_ included in the rules above. E_x_a_m_p_l_e_: DDFR should be installed in a computer with communication lines connected to two other computers. Blocklength used in transfers is set to three segments, and testoutput is generated (testseg- ments := 250 ' 0) via an internal testbuffer of four segments. Backing storage: one area at 250//4*4= 248 segments. Area processes: 2 + one extra = 3 area processes. Message buffers: 4 * 2 + 1 + one extra = 10 message buffers. Internal store: is less than 5000 + (512 * 4) + (200 + (512 * 3 * 3)) * 2 = 5000 + 2048 + 400 + 9216 16500 halfwords code test descr. buffers The minimum size for a DDFR-process without testoutput is aprox. 6500 halfwords. N_o_t_e_: Resources for fpa-drivers in the monitor or FDLC-processes are n_o_t_ included. \f F_ A_._ _ _ _ _ _ _ _ _R_E_F_E_R_E_N_C_E_S_ A. Ref. 1 RCSL No 43-GL 7810: FDLC Reference Manual Ref. 2 RCSL No 31-D 571: PRIMO Ref. 3 RCSL No 31-D 364: Utility Programs, Part 1 Ref. 4 RCSL No 31-D 477 Monitor Manual, Part 2 Ref. 5 RCSL No 31-D 476 Monitor, Part 1 Ref. 6 RCSL No 31-D 592: FDLC User>s Manual Ref. 7 RC Information Note BOL800627 Package Description for SW8701/1 \f «eof»