|
|
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»