|
|
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: 116736 (0x1c800)
Types: TextFile
Names: »D16«
└─⟦3d57f1d87⟧ Bits:30005867/disk03.imd Dokumenter (RCSL m.m.)
└─⟦this⟧ »D16«
i
T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_
1. GENEREL ............................................... 1
2. LOGIC SPECIFICATION ................................... 2
2.1 Signals .......................................... 2
2.2 Selection ........................................ 2
2.3 Deselection ...................................... 4
3. CABLE CONNECTIONS ..................................... 5
4. PHYSICAL REQUIREMENTS ................................. 6
\f
ii
\f
F_ 1_._ _ _ _ _ _ _ _ _G_E_N_E_R_E_L_ 1.
The LIS701 Lineselctor is a device for connection of up to eight
RC700 microcomputers to two common resources, so as a printer, a
master computer with associated flexible discs or a modem.
The interface used is CCITT V24/ISO2110; The inputs 1 to 8 are of
the type DCE while the outputs A and B are of the type DTE.
With each output A and B is associated a scanner scanning the in-
puts 1 to 8 for a possible request for connection, see figure 1.
A microcomputer requests a connection to one of the outputs spe-
cified by the start up sequence. The request is acknowledged by
the corresponding scanner when the output and scanner are not
engaged in servicing another input.
LED displays on the front at LIS701 indicate the current confi-
guration. Each of the outputs A and B has a seven segment digit
indicating to which input number it is currently connected; when
it is idle, the display is dark.
Figure 1.\f
F_ 2_._ _ _ _ _ _ _ _ _L_O_G_I_C_ _S_P_E_C_I_F_I_C_A_T_I_O_N_ 2.
2_._1_ _ _ _ _ _ _ _S_i_g_n_a_l_s_ 2.1
The LIS701 supports the following CCITT V24 signals:
V24 circuit name pin abbrev. direction *
101 protective ground 1 GND
102 signal ground 7
103 transmitted data 2 TXD out
104 received data 3 RXD in
105 request to send 4 RTS out
106 clear to send 5 CTS in
107 data set ready 6 DSR in
108 data terminal ready 20 DTR out
109 carrier detected 8 CD in
* relative to outputport.
The input signals on ports 1 to 8 are found as output signals on
ports A and B, and vice verca. All the signals except DTR are re-
layed directly through between the interconnected ports (via re-
ceiver and transmitter), but the four signals RTS, CTS, DTR and
CD are used for establishing connection through the LIS.
2_._2_ _ _ _ _ _ _ _S_e_l_e_c_t_i_o_n_ 2.2
A microcomputer connected to an inputport 1 to 8 requests for
connection to one of the ports A or B by rising DTR. The selec-
tion of A or B is accomplished by means of RTS (figure 2). The
state of RTS must be stable at least 100 nanoseconds before
the rising of DTR. The selection sequence is terminated by the
reception of DSR plus one (or both) of the signals CD and CTS.
The state of RTS must not be changed before this time. In the
case the wanted port is busy, no responce will arrive, and DTR
may be dropped anytime.
\f
In the case, the wanted port is ready, the LIS701 will add at
most 10 msec to the duration of the selection phase.
Selection at Port A:
DTR
DSR
CD
RTS
CTS
Selection of Port B:
DTR
DSR
CD
RTS
CTS
Figure 2.
The connection will be maintained by the LIS701 as long as DTR is
high.
The DSR indicates that selection is performed. In the cases where
the microcomputer is not sensitive to DSR, the alternative cri-
terion may be chosen:
\f
selection of Port A is done, when CD goes high.
selection of Port B is done, when CTS goes high.
The signals out of Port A and B are in the off state (TXD circuit
103 is 1), when no connection is established.
When the A-scanner detects a request for connection, the A port
will set DTR (circuit 108) on, and establish connection between
all other circuits, so RTS will (because of the terminal connec-
ted to the input port) not go on until the common resource on
port A responds with CD on.
If a second LIS701 is cascaded to port A, this will have its
A-scanner activated as well.
When the B-scanner detects a request for connection, the B port
will open connection between all circuits but DTR and after a
delay of app. 10 micro second turn DTR on. This delay assures,
that RTS on port B is on before DTR goes on, ensuring that a
cascaded second LIS701 on port B also selects its port B.
Cascading is possible to any level, but because the same port
selection (A or B) ripples through all levels cascading only
increases the number of inputs, not the number of outputs.
2_._3_ _ _ _ _ _ _ _D_e_s_e_l_e_c_t_i_o_n_ 2.3
Deselection is done when DTR is dropped. The deselected scanner
sets all outgoing control signals off and the outgoing data-
signal to 1, and resumes scanning.
Reselection must not be requested (DTR must not be raised) on the
same input, until the deselection is complete.
The deselection is compleete when DSR, CD and CTS are all off, or
max. 1 millisecond after the fall of DTR.
\f
F_ 3_._ _ _ _ _ _ _ _ _C_A_B_L_E_ _C_O_N_N_E_C_T_I_O_N_S_ 3.
The LIS701 is regarded as being put between a RC700 and a re-
source, which is to be shared among several RC700>s.
The cable which before connected RC700 with the resource, is
disconnected from RC700 and connected to one of the outputs A or
B on LIS701, and RC701 is then connected to one of the inputs 1
to 8 of LIS701 via a MF003 cable (Long, Median or Short).
MFXXX
RC700 Resource
MFXXX
MF003
RC700 Resource
LIS701
RC700
Figure 3.
The numbering of the line in plugs is arranged in a way, that
allows straight forward insertion of cables in ascending order.
\f
F_ 4_._ _ _ _ _ _ _ _ _P_H_Y_S_I_C_A_L_ _R_E_Q_U_I_R_E_M_E_N_T_S_ 4.
Power requirement: 220V +_ 10% 50 Hz 15 W
Ambient temperature: 16-32C (60-90F).
Relative humidity: 20-80% (no condensation).
Physical size: 470 mm x 300 mm x 70 mm
\f
INTRODUCTION TO
CF-SYSTEM
First Edition
A/S REGNECENTRALEN March 1978
Information Department RCSL 42-i 0766\f
Author: David Puttick
Editor: Jørgen Winther
Key words: Database Management Information System, Basic Concepts,
System Design, File Organisation, RC 8000, Algol, For-
tran, Standard Procedure, Disc, Indexed Sequential File,
List File, Chains, Introduction.
Abstract: This introduction describes the CF-System as a tool
for database design and application. Basic database
principles are explained followed by a more detailed
description of the CF-System itself.
Supporting documents:
Indexed Sequential Files in RC 4000 Algol
Connected Files System - User's Manual.
RESERVED
Copyright A/S REGNECENTRALEN, 1978
Printed by A/S REGNECENTRALEN, Copenhagen \f
T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_
1 INTRODUCTION Page 5
2 BASIC CONCEPTS 6
2.1 Simple Structure 8
2.2 Connection Structure 10
2.3 Network Structure 11
3 FILE STRUCTURE 15
3.1 Master Files and List Files 15
3.2 Record Structure 16
3.2.1 Master File Records 16
3.2.2 List File Records 17
3.2.3 Headed and Clustered Chains 18
3.3 CF SYSTEM Applications19
3.3.1 Simple Structure 19
3.3.2 Connection Structure 21
3.3.3 Network Structure 24
4 CF-PROCEDURES 28
4.1 Insertion of records 28
4.1.1 Insertion of records in a master file 28
4.1.2 Insertion of records in a list file 28
4.2 Connection of records 29
4.3 Retrieval of records 30
4.4 Deletion of records 31 \f
F_ 1 I_N_T_R_O_D_U_C_T_I_O_N_
What is the CF System?
The CF System (Connected File System) is RC's standard database
system. It consists of a number of ALGOL/FORTRAN standard proce-
dures which can create and process records and the relationships
between records in files on random access backing storage. The
CF System procedures can also handle communication between user
programs and files.
The location of the CF system in an information system is shown
in Figure 1.
USER CF
PROGRAMS SYSTEM
DATABASE
Figure 1. Location of CF System in an Information System.
What is a database?
Finding a suitable definition of a database is a difficult
thing; however, two definitions, - one very general and the
other quite specific - are given below:
'A database is a collection of stored operational data used by
the application systems of some particular enterprise.'
'A database may be defined as a collection of interrelated data
stored together with as little redundancy as possible to serve
one or more applications in an optimal fashion; data is stored
so that it is independent of programs which use the data; a com-
mon and controlled approach is used in adding new data and in
modifying and retrieving existing data within the database.' \f
F_ 2 B_A_S_I_C_ _C_O_N_C_E_P_T_S_
Before embarking on a description of the CF-System itself, we
will begin with a simple introduction to database concepts,
which hopefully will contribute to the understanding of later
chapters.
Consider a company with a number of departments. The ACCOUNTS
department employs SMITH, JONES and BROWN; SALES employs PENNY,
DORE, FORMAN and TOMLINSON; finally PRODUCTION employs THOMPSON,
HAYES, WHITE, COLES and WILLIAMS.
If a simple method of looking up the names of persons employed
in a certain department was required, then we would probably
construct a table as shown in Figure 2.
How do we use this table? If the names of employees in the AC-
COUNTS department were required, then we would search the column
headings until we found our entry point or key, (namely ACCOUNTS),
and then read the list in that column. If, however, we wish to
know which department WHITE, for example, is employed in then we
have no entry point.
T_ ________________________________________________________________
ACCOUNTS SALES PRODUCTION
_ _ _ _ _ _ _ _ _ _e_m_p_l_o_y_s_ _ _ _ _ _ _ _ _ _ _ _ _ _e_m_p_l_o_y_s_ _ _ _ _ _ _ _ _ _ _ _ _ _e_m_p_l_o_y_s_ _______
SMITH PENNY THOMPSON
JONES DORE HAYES
BROWN FORMAN WHITE
TOMLINSON COLES
WILLIAMS
________________________________________________________________
&_ Figure 2. Table showing employees in each department.
We must therefore search each column in turn until we find the
name WHITE and then read the column heading. In other words this
table is designed to be used with DEPARTMENT as entry point.
This could be illustrated as shown in Figure 3.
\f
T_
DEPARTMENT
record type name
EMPLOYS
chain group name
EMPLOYEE
&_ Figure 3. Data-structure diagram.
Here we see that if we start at DEPARTMENT and travel in the
direction of the arrow we obtain information on the EMPLOYEES
employed in that department. This diagram is, in fact, a data-
structure diagram and illustrates the structure of data in the
database - this is true whether the database exists on an EDP
medium or on paper as shown in Figure 2.
If, however, the database is implemented on a computer then
Figure 3 could be redrawn as shown in Figure 4.
T_ Department
records
ACCOUNTS SALES PRODUCTION
SMITH PENNY THOMPSON
JONES DORE HAYES
BROWN FORMAN WHITE
TOMLINSON COLES
WILLIAMS
Employee
Records
&_ Figure 4. Example of a database
This shows that EMPLOYEE records are linked into chains which
are accessed by DEPARTMENT records. The arrows represent links
or pointers leading to the next record in the chain. The arrow\f
in the data structure diagram represents a chain group, of type
EMPLOYS.
We can see, therefore, that Figure 3 also describes the data
structure of Figure 4.
If we compare Figure 3 with Figure 4 we can see that the data
structure diagram represents a typical chain accessed by a DE-
PARTMENT record. Note that the data structure diagram tells us
nothing about the number of chains in the database, or the num-
ber of records in any particular chain.
2.1 S_i_m_p_l_e_ _S_t_r_u_c_t_u_r_e_
The previous example has a very simple data structure, but sup-
pose now that each department consisted of a number of sections
as shown in Figure 5.
_ _ _ _ _ _ _ _ _ _ ________________________________________________________________
T_ ACCOUNTS SALES PRODUCTION
_ _ _ _ _ _c_o_n_s_i_s_t_s_ _o_f_ _ _ _ _ _ _ _c_o_n_s_i_s_t_s_ _o_f_ _ _____ _ _ _ _ _ _ _c_o_n_s_i_s_t_s_ _o_f_ _______________
FINANCIAL
CUSTOMER SUPPLIER SALES COMPONENT SUBASSEMBLIES ASSEMBLY
_ _e_m_p_l_o_y_s_ _ _ _ _e_m_p_l_o_y_s_ _ _ _ _ _e_m_p_l_o_y_s_ _ _ _ _ _e_m_p_l_o_y_s_ _ _ _ _e_m_p_l_o_y_s________ _e_m_p_l_o_y_s_ _ _ _ _
SMITH JONES PENNY THOMPSON WHITE WILLIAMS
BROWN DORE HAYES COLES
FORMAN
TOMLINSON
_________________________________________________________________________
&_ Figure 5. Table showing employees in each section of each
department.
The ACCOUNTS department consists of CUSTOMER ACCOUNTS and SUP-
PLIER ACCOUNTS sections; SALES is not split into sections; PRO-
DUCTION consists of COMPONENT, SUBASSEMBLIES and FINAL ASSEMBLY
sections.
Figure 5 differs from Figure 2 only in that an extra 'layer' of
data is inserted - namely SECTION data. We must still enter the
table through DEPARTMENT name after which we are presented with
another choice - which section? \f
The data-structure diagram for this hierarchicl type of database
is shown in Figure 6.
T_ DEPARTMENT
consists
of
SECTION
employs
EMPLOYEE
&_ Figure 6. Example of a hierarchical data-structure.
Here there are two chain group types: consists of and employs.
The corresponding database is shown in Figure 7.
T_ ACCOUNTS SALES PRODUCTION
CUSTOMER SALES COMPONENT
SMITH THOMPSON
BROWN PENNY HAYES
DORE
SUPPLIER FORMAN SUBASSEMBLIES
JONES TOMLINSON WHITE
COLES
'consists of' chainsFINAL ASSEMBLY
'employs' chains
WILLIAMS
&_ Figure 7. Database of Figure 6. \f
T_ 2.2 C_o_n_n_e_c_t_i_o_n_ _S_t_r_u_c_t_u_r_e_
Another data-structure can be illustrated by the following exam-
ple. In addition to the break-down of the PRODUCTION department
&_ into sections we wish to be able to find the names of employees
who can perform a particular task. Figure 8 shows how this could
be achieved by means of a table.
T_ TASK
TASK A TASK B TASK C
can be per- can be per- can be per-
formed by formed by formed by
SECTION
COMPONENT employsTHOMPSON THOMPSON
HAYES HAYES
SUB-ASSEMBLIES employs WHITEWHITE
COLES
FINAL ASSEMBLY employs WILLIAMS
Figure 8. Table showing employees in PRODUCTION department and
&_ the TASKS which they can perform.
The table of Figure 8 shows that THOMPSON in the COMPONENT sec-
tion can perform TASKS A and B whereas HAYES can perform TASKS A
and C; and so on for the SUB-ASSEMBLIES and FINAL ASSEMBLY sec-
tions.
The data structure diagram is shown in Figure 9.
T_
SECTION TASK
employscan be
performed by
EMPLOYEE
&_ Figure 9. Data Structure Diagram.
The corresponding database is illustrated in Figure 10.
\f
T_ COMPONENT SUBASSEMBLIES FINAL ASSEMBLY
THOMPSON WHITE WILLIAMS
HAYES COLES
TASK A TASK B TASK C
&_ Figure 10. Database of Figure 9.
Because of the chaining technique used in the database (see
Figure 10) it is not necessary to repeat names of employees as
it is in Figure 8.
In this database there are two 'ways in' i.e. SECTION and TASK.
One of these will be chosen according to the information re-
quired.
2.3 N_e_t_w_o_r_k_ _S_t_r_u_c_t_u_r_e_
The last example of data structure, which is the most difficult
to explain and understand, can be illustrated by a parts list
example.
Consider a product, A, made up of parts B and C which in turn
consists of parts as shown in Figure 11.
T_ A
B C
C D E F
E F
&_ Figure 11. Parts list for product A.
There are two types of information we could be interested in -
let us take, for example, part B. We could ask, 'what is part B
a part of?' or 'what does part B consist of?'. We could describe
the parts list in a table as shown in Figure 12. \f
The table is constructed as follows:
We start at the top row 'PART' is a part of.
First, A is a part of - A is a part of itself only, because it
is the finished product so we write nothing in column A.
T_ PART A B C D E F
is a part of
A consists of AB AC
B consists of BC BD
C consists of CE CF
D consists of
E consists of
F consists of
&_ Figure 12. Parts list/consists of table for Figure 11.
B is a part of - if we look at Figure 11 we can see that B is a
part of A, so we write A in column B, row A.
C is a part of - again referring to Figure 11 we can see that C
is a part of A. Write A in column C, row A.
C is also a part of B. Write B in column C, row B.
D is a part of B. Write B in column D, row B. Note that here we
could also say that D is a part of A. This is, however, redun-
dant information - the relationship, D is a part of A, is impli-
cit in the table: i.e. D is a part of B and B is a part of A.
E is a part of C. Write C in column E, row C.
F is a part of C. Write C in column F, row C.
The table is completed by performing the same operation for A
consists of, B consists of, and so on.
Remember that, in order to avoid the redundancy mentioned above,
only a single level break-down or build-up is valid. \f
We can see that the body of the completed table in Figure 12
expresses relationships. For example, BC tells us that B con-
sists of C, or conversely, that C is a part of B.
Note that one of two possible conventions must be chosen for
writing these relationships i.e. either superordinate/subordi-
nate (BC), or subordinate/superordinate (CB). We have chosenthe
former.
It is a simple step from the table of Figure 12 to the data-
structure diagram of Figure 13. The corresponding database
T_
PART PART
consists is a
of part of
RELATIONSHIP
&_ Figure 13. Data-structure diagram of Figure 12.
is shown in Figure 14. We see immediately that PART records A,
B, C etc. exist both as access to chains of type 'consists of'
and as access to chains of type 'is a part of'. In other words,
PART records are identical whether a 'consists of' chain or 'is
a part of' chain is required, so why not combine these records
T_ A B C D E F is a part of
A AB AC
B BC BD
C CE CF
D
E
F
consists of
&_ Figure 14. Database of Figure 12. \f
and avoid redundancy? Each PART record will then have two chains
attached to it as shown in Figures 15 and 16.
T_
PART
consists is a
of part of
RELATIONSHIP
&_ Figure 15. Modified data-structure diagram.
T_ Convention:
Consists of is a part of
A B C D E F
AB
AC BC
BD
CE
CF
&_ Figure 16. Modified database.
This completes the description of basic database concepts. Basi-
cally all databases have a structure built up of the simple data
structures described in the foregoing. Remember that the data
structure says nothing about the size of the database. A very
large database can have a simple data structure.
In the description of the CF-System which follows, other symbols
are used to describe the data structure, but the principles
learned in this chapter still apply. \f
F_ 3 F_i_l_e_ _S_t_r_u_c_t_u_r_e_
3.1 M_a_s_t_e_r_ _F_i_l_e_s_ _a_n_d_ _L_i_s_t_ _F_i_l_e_s_
The CF-System consists of a number of RC 8000 ALGOL/FORTRAN
standard procedures which can create and process records and the
relationships between these records in files on random access
backing storage. The CF System can also handle communication
between user programs and files.
CF-SYSTEM stores the data associated with a user system in mas-
ter files which contain records for entities, such as: items,
customers, machines, orders, etc. - in other words physical and/
or abstract elements. The various elements are linked together
by means of relationships. These relations are stored in list
files, where the records contain information on the interconnec-
tion elements of in the master files.
A master file is organized indexed sequentially.
Record length is fixed or variable.
A reference to a record in a file is made through the record's
key.
A key is a unique identification of an element. In the following
description of the CF System the symbols shown in Figure 17 are
used to denote a master file and a record in the master file.
Note that a master file corresponds to a group of one heading
type in our table analogy of the previous chapter. If we
consider for example, the table of Figure 8, then TASK would be
one master file, and SECTION the other. Similarly, TASK A would
be a record in the TASK master file and SUB-ASSEMBLIES a record
in the SECTION master file.
T_ Master Master
file file
name
Master
file
record
&_ Figure 17. \f
The length of a list file record can be fixed or variable. Re-
ference to a record in a list file can only be made via other
records. The symbols shown in Figure 18 will be used to denote a
list file and a list file record. Again, returning to the table
analogy in Figure 8, all the names in the body of the table
would constitute a list file of name EMPLOYEE. Similarly,
WILLIAMS would be a record in the EMPLOYEE list file.
T_ List List
filefile
name
List file
record
&_ Figure 18.
The method shown in Figure 19 is used to illustrate the connec-
tion of records in a list file into chains.
T_ Chain
mother
record daughter
records
- this symbol indicates end of chain.
&_ Figure 19. Connection of records into a chain.
3.2 R_e_c_o_r_d_ _S_t_r_u_c_t_u_r_e_
3.2.1 M_a_s_t_e_r_ _F_i_l_e_ _R_e_c_o_r_d_s_
Master file records consist of a user part and a chain part (see
Figure 20). The user part contains user's data (such as keys)
and a length indication of the user part. The chain part con-
tains as many mother chain fields as there are chain groups con-
nected to the master file. A mother chain field contains the re-
cord num ber of the first record in the associated chain of re-
cords in the corresponding list file. Several list files can be
connected.
\f
T_ User Part Chain Part
Length Keys Data Mother Chain Field
first
record
number
Figure 20. Structure of a master file record.
&_
3.2.2 L_i_s_t_ _F_i_l_e_ _R_e_c_o_r_d_s_
List file records also consist of a user part and a chain part
(see Figure 21). The user part contains user's data and, if
variable record length is utilized, a length indication and
record number.
T_
User Part Chain Part
Length and Data Mother chain Daughter chain
record number fields fields
First NextMother
record recordreference
number number
&_ Figure 21. Structure of List File Record
The chain part contains a reference to the next record in the
chain. If this record is the first record in the chain (i.e. a
chain in another list file) then the reference will be located
in a mother chain field; if not then it will be located in a
daughter chain field.
A mother chain field contains the number of the first record in
the record chain located in another list file. A daughter chain
field contains the record number of the next list file record in
the current chain (possibly an indication of end of chain) i.e.
a daughter chain field contains a reference to the next record
in the chain in the same list file. The daughter chain field can
also contain a reference back to the mother record for the cur-
rent chain - this is called a mother reference. (A list file re-
cord can contain several mother chain fields and several daugh-\f
ter chain fields.) If the mother record is situated in a master
file, then the mother reference is the key for that record in
the master file to which the list file record is chained. If the
mother record is situated in a list file then the mother referen-
ce is the record number of that mother record.
T_
3.2 H_e_a_d_e_d_ _a_n_d_ _C_l_u_s_t_e_r_e_d_ _C_h_a_i_n_s_
If the daughter chain fields in a list file contain a reference
to the mother record for the chain, then the chain group is said
&_ to be headed. This characteristic is illustrated with a double
line over the connection line between the two files in the file
structure (see Figure 22).
T_ Symbol denoting
a headed chain group
Master List file
file containing headed
chains
&_ Figure 22. Headed Chains.
A chain group is said to be clustered if the records in a chain
are placed physically sequential. This is indicated by a double
line in the chain direction (see Figure 23).
T_ Symbol denoting
a clustered chain group
List List
file file
&_ Figure 23. Clustered Chain Group.
The seek time from record to record is less in a clustered chain
than in a non-clustered chain. Therefore, it is usual to cluster
chains which are most often used.
It should be emphasised, however, that only one chain group per
list file can be clustered. \f
3.3 C_F_ _S_Y_S_T_E_M_ _A_p_p_l_i_c_a_t_i_o_n_s_
3.3.1 S_i_m_p_l_e_ _S_t_r_u_c_t_u_r_e_
A list file can be used to illustrate events or supplementary
information on a given element. Production orders associated
with a specific item, where the production orders contain quan-
tity and time schedule information, can, for example, be illu-
strated in this way.
This use of CF-SYSTEM is called a simple structure and is used
to illustrate variable properties of an element. The chain part
contains only one reference to the next record or end of chain
indication (see Figures 24 to 26).
T Items Production
master file orders list
file
&_ Figure 24. File Structure/Data Structure Diagram
T_ Item Production Production Production
order order order
&_ Figure 25. Chain Structure
T_ User Part Chain Part
Data Daughter Chain Field
Next record no.
in chain
&_ Figure 26. List File Record Structure \f
A special case of a simple structure occurs when two list files
are linked/chained together.
For example, if one considers the operations necessary to pro-
duce a specific item, then the tools required to perform these
operations could be collected in a list file connected to the
operations file (see Figure 25). Figure 27 shows items located
in a master file and the operations and tools in a list file
each. The records of the operations list file have a mother
chain field and a daughter chain field (see Figure 28 and 29).
Chain a contains operations per produced item and chain b
contains tools per operation.
T_Items
master a operations b tools
file list file list file
&_Figure 27. File Structure/Data Structure Diagram
T_
Mother DaughterOperations list file
chain chain
field field Operation records
Item record
a1 a2 a3 chain a
chain b3
chain b2
chain b1
Item master
file
Tool list file chains b
Tools records
&_ Figure 28. Chain Structure
\f
T_ User Part Chain Part
Data MotherDaughter
Chain Field Chain Field
First record Next record
in chain b in chain a
&_ Figure 29. Record Structure of Operations List File
T_ User Part Chain Part
Data Daughter Chain
Field
Next record in
chain b
&_ Figure 30. Record Structure of Tools List File
3.3.2 C_o_n_n_e_c_t_i_o_n_ _S_t_r_u_c_t_u_r_e_
If a linking of records in two different master files is require
then a connection structure is formed, as shown in Figure 31.d
The records of the list file contain two daughter chain fields,
one for each master file (see Figures 32 and 33). With this
method of chaining, list file records can be referenced via both
master files.
By scanning the records in a chain entered via one master file,
keys to records in the other master file can be found. The refe-
rence to these keys is situated in the corresponding mother re-
ference fields. \f
T_ Master
File 1
Chain group a
List
File
Chain group b
Master
File 2
&_ Figure 31. File Structure/Data Structure Diagram
T_ b chains
Master File 1
List File
a chains
Master File 2
&_ Figure 32. Chain Structure
The right-hand chain field belongs to chains a, the left-hand
chain field to chains b. \f
T_ User Part Chain Part
Data Daughter
chain field
Next record Mother reference Next record Mother reference
in chain a to master file 1 in chain b to master file 2
& Figure 33. Record Structure in the List File
An example of the use of a connecting list file is given in the
following:
In order to be able to produce production schedules a company
wishes to place information on its items (products), its ma-
chines and the relations between these two in its database. The
relations must describe the machines used to produce a finished
item, and the finished items processed by a specific machine.
Let us assume that the company produces two products P1 and P2
on machines M1, M2 and M3. As illustrated by the diagram in
Figure 34 P1 is produced on machines M1 and M3, whereas P2 is
produced on M2 and M3.
T_
M1 P1
M3
M2P2
&_ Figure 34. Production of P1 and P2
Products and machines are situated in separate master files, and
the relations between them in a combination (compound ??) list
file interposed between the master files. Figures 33 and 34 illu-
strate the file structure and chain structure.
It can be seen that the user part of a master file record uses
item (product) number/machine number as key. The chain partof
list file records contains two daughter chain fields. Reference
to the two master files (mother references) is made through item
number and machine number. The left-hand chain fields belong to
chains containing information on 'machines on which an item is
produced' (chain a). The right-hand chain fields belong tochains
describing 'items produced on a machine' (chain b). \f
T_
Item
master file
Operations
List
File
Machine
master file
&_ Figure 33. File Structure/Data Structure Diagram
T_
P1 P1 M1 P1 M3
P2 chain a P2 M2 P2 M3
chain b
M1 M2 M3
&_ Figure 34. Chain Structure.
3.3.3 N_e_t_w_o_r_k_ _S_t_r_u_c_t_u_r_e_
If linking of records in a single master file is required, e.g.
to describe the breakdown of an item into components (see Figure
35), the same technique is used. But here the two daughter chain
fields refer to the same master file. If 'parts list' chains and
'where used' chains are used, then file structure and record
structure would be as illustrated in Figures 36 and 38. \f
T_ Item
Master FileA
'where used' 'partslists'
chains chains
B
List
File
CD
Figure 36. File Structure/Data Figure 35. Item Network
&_ Structure Diagram
T_
A A B A C
&_
B B C B D
C
T_
D
&_ Figure 37. Chain Structure \f
T_ User Part Chain Part
Quantity Daughter Chain
Field
Next record in Reference to Next record in Reference to
chain a mother record chain b mother record
&_ Figure 38. List File Record Structure
The chains using the left-hand chain field belong to 'parts
list' chains where a single level break-down is achieved. The
chains using the right-hand chain field belong to 'where used'
chains. By scanning a 'parts list' chain in the list file, via
an item number, keys to components one level down can be found.
The same is true, but in the opposite direction, for 'used in'
chains.
C_o_n_c_l_u_s_i_o_n_
In this chapter we have seen a number of basic file/data struc-
tures. A database which constitutes the basis of a large inte-
grated system will normally have a very much more complicated
file structure. Figure 39 shows RC System 80 database system for
integrated production and financial control.
This database is included to show how a complex data structure
can be built up from the basic data structures previously
discussed. \f
F_
TEGNING SÆTTES IND HER
Figure 39. RC System 80 Database Structure. \f
F_ 4. C_F_-_P_r_o_c_e_d_u_r_e_s_
A number of procedures are available in the CF System, whereby
records can be retrieved, inserted, connected or deleted. These
four functions are described in the following and the most im-
portant procedures named:
4.1 I_n_s_e_r_t_i_o_n_ _o_f_ _r_e_c_o_r_d_s_
4.1.1 I_n_s_e_r_t_i_o_n_ _o_f_ _r_e_c_o_r_d_s_ _i_n_ _a_ _m_a_s_t_e_r_ _f_i_l_e_
Records are inserted in a master file by means of the procedure:
insert_m (zm, record)
zm is the particular master file and record the specific record
to be inserted.
4.1.2 I_n_s_e_r_t_i_o_n_ _o_f_ _r_e_c_o_r_d_s_ _i_n_ _a_ _l_i_s_t_ _f_i_l_e_
Records are inserted in a list file by means of the procedure:
insert_l (zl, chain, ic mode, record)
zl is the particular list file.
chain is the specific chain into which the record is to be
inserted.
ic mode is the position in the chain
record is the specific record.
Figure 40 illustrates the chain structure before and after inser-
tion.
\f
T_ n1
Before n2 n2
Insertion
n3
new
record
n1 n2
After n3
Insertion
n3
n2
&_ Figure 40. Insertion of a record in a list file.
Insertion of a new record in a chain between n1 and n2 occurs as
follows:
CF-System first finds a vacant record number for the new record.
This occurs according to a clustering strategy whereby CF-System
tries to find a record number such that the new record is placed
in the same physical block as n1. The record is then inserted in
the chain by transferring the record number in n1's chain field
to the chain field of the new record (n3). The record number in
n1's chain field is then altered to the new record number (n3).
4.2 C_o_n_n_e_c_t_i_o_n_ _o_f_ _r_e_c_o_r_d_s_
If a record of an existing chain is to be linked to another
chain then the following procedure must be used:
connect (zl, chain _1, chain _2, icmode)
zl is the list file in which the record in question is situated
chain 1 is the chain whose last accessed record is to be linked
to another chain (chain 2)
icmode is the positionin chain_2 where the last record accessed
in chain _1 is to be placed. \f
T_
Before Last accessed
Linking record in chain 1
Chain_1
Chain_2
After
Linking Chain_1
Chain_2
&_ Figure 41. Linking of records.
The connect procedure is similar to the insert _l procedure. The
main difference is in the allocation of a record number for the
record to be inserted. In the insert l procedure the record
number is chosen according to a clustering strategy whereby the
CFSystem tries to place the new record in the same physical
block as the previous record in the chain (the records are said
to be clustered). In the connect procedure the record number for
the record which is to be linked to chain _2 was decided when the
record was linked to chain _1. Therefore, records cannot be
clustered.
4.3 R_e_t_r_i_e_v_a_l_ _o_f_ _r_e_c_o_r_d_s_
To use the database it is often necessary to retrieve records in
master and list files. Retrieval of a master file record having
a specific key can be achieved as follows:
get _m (zm, key)
zm specifies the master file and key the specific key. \f
The procedure:
next _m (zm)
retrieves the next record in the master file.
Retrieval of a list file record having a given record number can
be achieved as follows:
get_numb_l (zl, rec_no)
zl specifies the list file and rec _no the given record number.
Retrieval of a record in a list file according to its position
in the chain can be achieved as follows:
get_l (zl, chain, gmode)
zl specifies the list file,
chain, the chain in question
and gmode the record in the chain.
For example, gmode = 1 gives the first record, gmode = 2 gives
the next record after the last accessed record and gmode = 3
gives the last record accessed in the chain. The order of re-
cords in a chain is determined by the order in which they are
added to the chain.
4.4 D_e_l_e_t_i_o_n_ _o_f_ _r_e_c_o_r_d_s_
When information in a database becomes obsolete then a deleting
procedure is required.
If a master file record with its associated chains is to be de-
leted then the following procedure is used:
delete_m (zm)
zm specifies the master file in question.
The master file record hereby deleted will be the current record
in the file in question.
Delete _m can be a hazardous procedure as records thus deleted
could be members of chains to other master file records.
To delete a record in a list file, together with its associated\f
chains (i.e. all records for which that list file record is a
mother), the following procedure is used:
delete _l (zl, chain)
zl gives the list file in question,
chain, the chain from which the record is accessed.
The list file record which is deleted is the record last accessed
in the chain. Figure 42 illustrates the delete _l procedure.
T_
TEGNING
&_ Figure 42. Deleting Records
If list file record n2 only occurs in a single daughter chain
then n2 is deleted by changing the record number in record n1's
chain field to record number n3.
Because CF-System uses one-way chains, a record, if it belongs
to several chains, cannot be deleted immediately. Therefore, a
list file record is 'marked for deletion' when its removal is
required. In Figure 43 record 5 is 'marked for deletion' while
running through chain II. The next time chain II is run through
the pointers will be diverted around record 5. Only when the
last chain (chain III) is run through and the corresponding\f
pointers (in chain III) are diverted around record 5 will the
record be physically erased.
T_
1 2 3 I
4 5 6 II
III marked for deletion
After running through chain II:-
1 2 3 I
4 5 6 II
III
After running through chain III:-
1 2 3 I
4 5 6 II
&_ Figure 43. The Deleting Process.
To delete all records in a chain and all records having a mother
record in that chain the following procedure is used:
delete_chain (z, chain)
z indicates the file containing the mother record for the chain
in question
Contrary to delete_m and delete_l the mother record is not de-
leted. Note that a mother record cannot be deleted without con-
sequences for the associated daughter records. \f
Introduction
READER'S COMMENTS to CF-System
RCSL 42 - i 0766
A/S Regnecentralen maintains a continual effort to improve the
quality and usefulness of its publications. To do this effective-
ly we need user feedback - your critical evaluation of this
manual.
Please comment on this manual's completeness, accuracy,organiza-
tion, usability, and readability:
_________________________________________________________________
_________________________________________________________________
_________________________________________________________________
Do you find errors in this manual? If so, specify by page.
_ _ _ ______________________________________________________________
_________________________________________________________________
_________________________________________________________________
_________________________________________________________________
How can this manual be improved?
_ _ _ ______________________________________________________________
_________________________________________________________________
_________________________________________________________________
_________________________________________________________________
Other comments?
_ _ _ ______________________________________________________________
_________________________________________________________________
_________________________________________________________________
_________________________________________________________________
_________________________________________________________________
_________ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ________________________________
Please state your position: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ __ __ __ __ __ __ __ __ __ __
Name: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Organization: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ __ __
Address:_________________ _ _ _ Department: _ __ __ __ __ __ __ __ __ __ __ __
_________________ _ _ _ _______________________
_________________________________ _ _ _ _ _ _ _ _ _ _
Date: _____ _ _ _ _ _ _ _ _ ____
RETURN LETTER - CONTENTS AND LAYOUT\f
- - -- - - - - - - - - - - - - -- - Fold here - - - - - - - - - - - -- -
- - - - - - -- - Do not tear - Fold here and staple - - - - - -- - - -
Affix
postage
here
_ _ _ _ _ _ _ _ _ _ __ __ __ __ __ __ __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ __ __ __ __ __ __ __ __ __ _ _ _ _ _ __ __ __
A/S REGNECENTRALEN
Information Department
Falkoner All 1
DK-2000 Copenhagen F
Denmark\f
\f
i
T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_
1. INTRODUCTION ........................................... 1
2. CHARACTER CODES ........................................ 2
3. THE DISPLAY ............................................ 3
3.1 The Output Stream ................................. 4
4. THE KEYBOARD ........................................... 6
4.1 Key Designations .................................. 7
4.2 Displayable Character Keys ........................ 8
4.3 Control Character Keys ............................ 8
4.4 Edit Keys ......................................... 9
4.5 Attention Keys .................................... 10
5. MODES OF OPERATION ..................................... 12
5.1 Output Mode ....................................... 12
5.2 Normal Input Mode ................................. 12
5.3 Field Input Mode .................................. 13
5.4 Single Character Mode ............................. 14
6. STANDARD STREAM INTERFACE ROUTINES ..................... 15
6.1 PROCEDURE open _stream ............................. 15
6.2 PROCEDURE closestream ............................. 15
6.3 FUNCTION read ..................................... 15
6.4 FUNCTION write .................................... 16
6.5 FUNCTION streamresult ............................. 16
7. STREAM INTERFACE EXTENSION ROUTINES .................... 17
7.1 FUNCTION read _field ............................... 17
7.2 FUNCTION read _character ........................... 17
7.3 FUNCTION sense _keyboard ........................... 17
7.4 PROCEDURE read _display _field ...................... 18
7.5 PROCEDURE set _cdp ................................. 18
7.6 PROCEDURE read _cdp ................................ 18
7.7 PROCEDURE set _cursor _mode ......................... 18 \f
ii
T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _(_c_o_n_t_i_n_u_e_d_)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_
A. REFERENCES ............................................. 19
B. CHARACTER CODE SETS .................................... 20
B.1 Standard Danish ................................... 20
B.2 Danish Public Sector .............................. 20
B.3 Swedish ........................................... 20
B.4 German ............................................ 20
B.5 English (UK) ...................................... 20
B.6 English (US) ...................................... 20
\f
F_ 1_._ _ _ _ _ _ _ _ _I_N_T_R_O_D_U_C_T_I_O_N_ 1.
The RC700/855 console is an abstract bidirectional stream device
supporting keyboard input with echo on a CRT-display as well as
output to the display. Associated with the keyboard and display
is also an audible alarm signal.
The console is implemented on both the RC700 and the RC855 as
part of the PI-1 machine I/O system, ref. 1. The functional
characteristics of the RC700 display are directly reflected in
properties of the console, whereas the RC855 implementation of
the console may be described as an emulation of RC700
characteristics on the somewhat more general hardware of the
RC855.
Important features of the RC700/855 console are:
- a number of presentation attributes available on a field basis,
- conversion between internal character codes (derived from ISO-
646, ref. 4) existing in a number of national versions and
character codes appropriate for the actual RC700 and RC855 key-
board and CRT devices,
- a number of modes of operation allowing varying degrees of
application program control over keyboard input and the
associated echo,
- general stream interface, cf. ref. 1, for simple operations
with more elaborate functions available as extensions to the
standard stream interface routine repertoire.
In order to ensure proper operation of the console there should
only be one process incarnation calling the console interface
routines. In particular this is important for the input routines.
Chapters 2-5 contain a general description of the console, and
the specific effects of each interface routine are documented in
chapters 6 and 7, with the standard stream interface routines in
chapter 6 and the extensions in chapter 7.
\f
F_ 2_._ _ _ _ _ _ _ _ _C_H_A_R_A_C_T_E_R_ _C_O_D_E_S_ 2.
Characters are passed to and from the console as bytes in the in-
put and output byte-streams. D_i_s_p_l_a_y_a_b_l_e_ _c_h_a_r_a_c_t_e_r_s_ (alphameric
and special symbols) always have codes in the range 32-126
according to the national version of the ISO 646-compatible char-
acter code set in question. Conversion tables to support the
proper national version are initialized by the basic system (ref.
2). Six different national versions are supported, as shown in
Appendix B.
In general character codes in the range 0-31 (control characters)
may be typed in as CTRL combinations, but only while the console
is in single character or output mode, and they are not echoed by
the console. The control characters CR(13) and ESC(27) are ex-
ceptions from this rule, cf. chapter 4. Only the following con-
trol characters are supported in the output stream: BEL(7),
LF(10), FF(12) and CR(13).
The output stream may, in addition to displayable characters and
the three above mentioned control characters, contain attribute
characters with codes in the range 128-191.
The input stream consists of lines of characters. Each line con-
tains a number of displayable characters and is terminated by an
attention status code in the range 129-166 or one of the special
control characters CR and ESC.
\f
F_ 3_._ _ _ _ _ _ _ _ _T_H_E_ _D_I_S_P_L_A_Y_ 3.
The CRT-display of the RC700/RC855 console holds a p_i_c_t_u_r_e_
consisting of 25 lines of 80 characters. Every character occupies
a display position (line, column), where 0 <_ line <_ 24 and
0 <_ column <_ 79. The display positions, and consequently the
characters in the display picture, are ordered as follows:
- the h_o_m_e_ _p_o_s_i_t_i_o_n_ (0,0) is the first position,
- within a line, ordering is by column,
- for 0 <_ i < 24, the display position following (i,79) is
(i+1,0)
- the display position (24,79) is the l_a_s_t_ _p_o_s_i_t_i_o_n_.
Operations on the console always relate to the c_u_r_r_e_n_t_ _d_i_s_p_l_a_y_
p_o_s_i_t_i_o_n_, in the following abbreviated CDP.
A c_u_r_s_o_r_ is displayed in the CDP when the console is in the
normal input, field input, or single character mode. The cursor
may be displayed as an underline or a block, blinking or not
blinking, depending on the c_u_r_s_o_r_ _m_o_d_e_, which may be altered
dynamically.
The display may be divided into p_r_e_s_e_n_t_a_t_i_o_n_ _f_i_e_l_d_s_ by writing
a_t_t_r_i_b_u_t_e_ _c_h_a_r_a_c_t_e_r_s_ into the picture. An attribute character,
which is itself displayed as a blank, determines the presentation
characteristics of the following field. A presentation field
consists of all characters between two subsequent attribute
characters. Attribute characters may occur in the output stream,
but cannot be typed in from the keyboard.
Attribute characters are coded as shown in fig. 1. Thus the value
of an attribute character is always in the range 128-191.
M_ MSB _7_ _6_ _5_ _4_ _3_ _2_ _1_ _0_ _ LSB effect if bit is 1
P_ _1_ _0__ __ __x__ __ __ __
highlight
blink
semigraphic
inverse
underline
Figure 1: Attribute character coding.
\f
Semigraphic representation is presently not supported on the
RC855.
Scrolling of the display picture occurs
- when CDP is advanced beyond the last position of the display;
this may occur either in normal input mode or during output,
and after scrolling CDP will be (24,0),
- when an LF character is output while CDP is in line 24,
- when the NEWLINE edit key is pressed in the normal input mode
and CDP is in line 24.
Scrolling causes the picture to "roll up" one line and the bottom
line to be cleared. The line number of every character in the
picture, including attribute characters, is decremented by one,
except in the top line which vanishes, and CDP will be in line 24
following the scroll operation.
3_._1_ _ _ _ _ _ _ _T_h_e_ _O_u_t_p_u_t_ _S_t_r_e_a_m_ 3.1
Provided there is only one process incarnation calling the con-
sole interface routines, processing of the output stream will
only occur while the console is in the idle or program interrupt
mode. Since there is no console echo in these modes no risk
exists to unintentionally mix output and keyboard echo characters.
The output stream which is written using the procedure write (cf.
section 6.4) may contain the control characters BEL, LF, and CR,
displayable characters, and attribute characters. The characters
in the output stream are processed one at a time, sequentially.
A displayable or attribute character is processed as follows: The
character is written into the picture at the CDP, overwriting
whatever character may be occupying that position. This may cause
the creation of a presentation field in case an attribute char-
acter is written in a position previously occupied by a display-
able character. It may also cause the concatenation of two adja-
cent presentation fields if an attribute character is overwritten
with a displayable character. Subsequently CDP is advanced to the\f
next position. If CDP is in column 79, it is not actually moved
to the next line until the next displayable or attribute char-
acter is processed, or the console enters an input mode. This
special treatment of the end-of-line situation allows a character
to be written into the last position without causing scrolling.
It also avoids the extra line feed which would otherwise occur
when a CR-LF sequence is processed following a character written
in the last position of a line.
A control character in the output stream is processed as follows:
BEL: The audible alarm is sounded.
LF: CDP is moved one line down, except if it is already in line
24 in which case scrolling occurs as described above.
FF: CDP becomes the home position, and blanks are written in
all character positions.
CR: CDP is moved to column 0 of the current line.
\f
F_ 4_._ _ _ _ _ _ _ _ _T_H_E_ _K_E_Y_B_O_A_R_D_ 4.
Three different basic keyboard models are used with the RC700/855
console: the RC721 and RC722 which may be connected to the RC700,
and the RC805 which is used with the RC855. The keyboards are
shown in figs. 2-4.
Figure 2: RC721 keyboard, UK-ASCII version.
Figure 3: RC722 keyboard, Danish version.
Figure 4: RC805 keyboard, UK-ASCII version.
\f
Each of the basic keyboard models exists in a number of national
versions. Only the repertoire of displayable character keys and
the positions of the keys differ from one national version to
another. The control, attention, and edit keys are the same for
all versions of one basic keyboard model.
The number of available attention and edit keys differs consider-
ably between the basic keyboard models. Thus some of the func-
tions described in the following cannot be achieved with all key-
boards. Of this the application programmer should be aware. If,
for example, the invokation of an application function is assign-
ed to a particular attention key which is only available on the
RC805 keyboard it should be possible to obtain the same function
by, say, typing in a command string, at least in so far as the
application is required to support the more primitive keyboards.
4_._1_ _ _ _ _ _ _ _K_e_y_ _D_e_s_i_g_n_a_t_i_o_n_s_ 4.1
In the discussion which follows each key is referred to by its
d_e_s_i_g_n_a_t_i_o_n_. In fact key designations refer to "logical keys",
and most physical keys provide two logical keys, one of which is
typed by pressing the key alone, and the other by pressing the
key while a SHIFT key is held down. Often the designation (both)
of a key will be engraved upon it. There are some exceptions,
though:
- small case letters,
- SHIFT+PAi on the RC722 or RC805 keyboard yields PAi+5,
- SHIFT+d on the RC805 where d is 1-9 in the numeric key pad
yields PFd,
- key designations in the form of natural language phrases,
usually abbreviated, such as DEL LINE, will not be the same as
the corresponding engraving on Danish versions of the RC805.
\f
- The key with the engraving <- on the RC721 or RC722 is the CR
key, whereas the key with the same engraving on the RC805 is
the NEWLINE key,
- on the RC805 the CR key appears as SEND,
- on the RC805 the RUBOUT key appears as DEL CHAR or SLET TEGN,
- DEL LINE and DEL DATA are typed on the RC722 as SHIFT+ <- and
SHIFT+CLEAR, respectively.
The total repertoire of keys falls in four categories, each of
which is described in one of the following sections.
4_._2_ _ _ _ _ _ _ _D_i_s_p_l_a_y_a_b_l_e_ _C_h_a_r_a_c_t_e_r_ _K_e_y_s_ 4.2
All keyboards contain keys for 95 different displayable charac-
ters, including blank (SPACE), alphameric symbols, and a number
of special symbols. The repertoire of displayable characters and
their internal codes vary with the national versions of the key-
boards.
Displayable character keys may be used to enter characters in all
modes of operations except idle mode.
4_._3_ _ _ _ _ _ _ _C_o_n_t_r_o_l_ _C_h_a_r_a_c_t_e_r_ _K_e_y_s_ 4.3
The keyboards contain only two genuine control character keys, CR
(code 13) and ESC (code 27). These two characters may be used to
terminate normal or field input mode in the same fashion as an
attention status, cf. section 4.5.
All control characters, i.e. codes in the range 0-31 may be keyed
in as CTRL combinations: pressing a displayable character key
while the CTRL key is held down yields the code of the display-
able character modulo 32. However, in general control characters
can only be entered in the single character or output mode.
\f
4_._4_ _ _ _ _ _ _ _E_d_i_t_ _K_e_y_s_ 4.4
A number of edit keys are available for the operator to perform
editing functions on the display picture while the console is in
the normal or field input mode. The normal editing functions
which are initiated by pressing an edit key are described below.
K_e_y_ _d_e_s_i_g_n_a_t_i_o_n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _f_u_n_c_t_i_o_n_
<- CDP is moved to the preceeding position. If CDP
is in the home position nothing happens.
-> CDP is moved to the following position. If CDP
is in the last position nothing happens.
CDP is moved one line up, or from line 0 to
line 24.
CDP is moved one line down, or from line 24 to
line 0.
CDP is moved to the home position.
<- The character at the CDP is deleted, all fol-
lowing characters in the same line are moved
one position to the left, and a blank is in-
serted in the last position of the line.
-> The character at the CDP and all following
characters, except the last one, in the same
line are moved one position to the right. The
last character in the line vanishes, and a
blank is inserted at the CDP.
RUBOUT CDP is moved to the preceeding position and a
blank is inserted at the new CDP.
CLEAR CDP is moved to the home position and blanks
are written in all positions of the picture.
\f
NEWLINE CDP is moved to the first position of the next
line. If CDP is in line 24 scrolling occurs as
described in chapter 3.
DEL LINE The character at the CDP and all following
characters in the same line are overwritten
with blanks.
DEL DATA The character at the CDP and all following
characters in the picture are overwritten with
blanks.
4_._5_ _ _ _ _ _ _ _A_t_t_e_n_t_i_o_n_ _K_e_y_s_ 4.5
Pressing an attention key generates an attention status in the
console. This may be used to terminate normal or field input
mode, but an attention status may also be entered in single char-
acter or output mode. The range of attention status values is
129-166 so that an attention status is easily distinguishable
from a control or display character code. The attention keys sup-
ported by the RC700/855 console and the associated status values
are shown in the table below. No attention keys are available on
the RC721.
k_e_y_ _d_e_s_i_g_n_a_t_i_o_n_ _ _ _ _a_t_t_e_n_t_i_o_n_ _s_t_a_t_u_s_ _ _ _a_v_a_i_l_a_b_i_l_i_t_y_
PF1 130 RC722,RC805
PF2 131 do.
PF3 132 do.
PF4 133 do.
PF5 134 do.
PF6 135 do.
PF7 136 do.
PF8 137 do.
PF9 138 RC805
PF10 139 do.
PF11 140 do.
PF12 141 do.
PF13 147 do.
PF14 148 do. \f
k_e_y_ _d_e_s_i_g_n_a_t_i_o_n_ _ _ _ _a_t_t_e_n_t_i_o_n_ _s_t_a_t_u_s_ _ _ _a_v_a_i_l_a_b_i_l_i_t_y_
PA1 142 RC722,RC805
PA2 143 do.
PA3 144 do.
PA4 150 do.
PA5 151 do.
PA6 162 do.
PA7 163 do.
PA8 164 do.
PA9 165 do.
PA10 166 do.
PRINT 153 RC805
RESET 155 do.
\f
F_ 5_._ _ _ _ _ _ _ _ _M_O_D_E_S_ _O_F_ _O_P_E_R_A_T_I_O_N_ 5.
Input characters read from the console are normally taken from
the l_i_n_e_ _i_n_p_u_t_ _b_u_f_f_e_r_. This buffer is set up in the call of
open _stream (cf. section 6.1) and must be 81 characters long.
The way the line input buffer is used and the type of input and
edit functions allowed differ in the four modes of console oper-
ation described in the following.
5_._1_ _ _ _ _ _ _ _O_u_t_p_u_t_ _M_o_d_e_ 5.1
When the console is not actively performing an input function, it
is in the output mode.
In output mode, updating of the display picture occurs only as a
result of output stream processing. Processing of the output
stream, on the other hand, occurs only in output mode.
The operator may temporarily suspend output processing or abort
it. Whenever an LF character is processed, the console tests
whether a SPACE or ESC character has been typed in. In case of
SPACE, output processing is suspended until another SPACE char-
acter is typed. In case of ESC, the call of write (cf. section
6.4) is aborted.
When the console is not processing output, it is possible to test
whether a character or attention status has been entered from the
keyboard (call of sense _keyboard, cf. section 7.3). Edit keys are
ignored.
5_._2_ _ _ _ _ _ _ _N_o_r_m_a_l_ _I_n_p_u_t_ _M_o_d_e_ 5.2
In normal input mode displayable characters may be entered into
the display picture and the full range of picture editing func-
tions (edit keys) are available to the operator.
\f
When a displayable character is typed it is entered into the pic-
ture at the CDP, and CDP is advanced to the next position. The
latter may cause scrolling as explained in chapter 3.
All edit keys are functional as described in chapter 4.
Normal input mode is entered when the line input buffer is ex-
hausted during normal stream input (call of read, cf. section
6.3), and left when an attention key, CR or ESC is pressed. At
this time all displayable characters, except trailing blanks, in
the line of the CDP are transferred to the line input buffer,
followed by the attention status or terminating control char-
acter. Reading of the stream may then proceed.
The process incarnation calling read will be waiting while the
console is in the normal input mode.
5_._3_ _ _ _ _ _ _ _F_i_e_l_d_ _I_n_p_u_t_ _M_o_d_e_ 5.3
A call of read _field (cf. section 7.1) places the console in the
field input mode. The call defines an i_n_p_u_t_ _f_i_e_l_d_ starting at the
current DP and with length equal to the value of the 'fieldsize'
parameter, which must be in the range 1-80. Thus an input field
may span two subsequent lines of the display picture. However, a
field cannot extend beyond the last character position.
In field input mode displayable characters may be entered into
the field, and editing may take place within the field, using the
following edit keys: <-, -> , RUBOUT, <-, and ->. The insert
(-> ) and delete ( <-) functions work to end of field rather than
end of line.
Field input mode is terminated when an attention key, CR or ESC
is pressed. The contents of the input field and the attention
status or terminating control character are then transferred to
the result parameters of the call of read _field.
\f
It is not possible for the operator to move CDP (the cursor)
outside of the input field by means of an edit key. If an attempt
is made the alarm is sounded. When a displayable character is
typed into the last position within the field CDP becomes the
first position following the field (in this special case, the
home position follows the last position), the alarm is sounded,
and an end-of-field situation exists. In this situation the only
acceptable keyboard inputs are <-, RUBOUT, or a field input mode
termination key. An attempt to enter any other key is responded
to with alarm.
The process incarnation calling read _field will be waiting while
the console is in the field input mode.
5_._4_ _ _ _ _ _ _ _S_i_n_g_l_e_ _C_h_a_r_a_c_t_e_r_ _M_o_d_e_ 5.4
A call of read _character (cf. section 7.2) places the console in
the single character mode. In this mode a single character,
either displayable or control character, may be typed in, or an
attention status may be entered.
The process incarnation calling read _character waits until this
happens, and then receives the character code or attention status
as result.
Edit keys typed while the console is in the single character mode
are ignored.
The console does not provide echo in single character mode, i.e.
any desired output must be generated by the application program.
\f
F_ 6_._ _ _ _ _ _ _ _ _S_T_A_N_D_A_R_D_ _S_T_R_E_A_M_ _I_N_T_E_R_F_A_C_E_ _R_O_U_T_I_N_E_S_ 6.
The description of the general stream interface routines given in
ref. 1 is not repeated here. In the following those details of
the interface routines are described which are specific to the
console. The descriptions here employ the same type of Pascal-
like notation as those in ref. 1. The precise routine names and
parameter specifications used for either PASCAL80 or assembler
coding are found in ref. 2 and ref. 3, respectively.
M_M_m_m_ 6.1 PROCEDURE open _stream(VAR s: stream; pathname: pathname-type; 6.1
P_P_p_p_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
m_o_d_e_:_ _s_t_r_e_a_m_m_o_d_e_;_ _V_A_R_ _b_u_f_f_e_r_s_:_ _b_u_f_f_e_r_p_o_o_l_)_;_
The 'pathname' leading to the console is "/console". Regardless
of the value of 'mode' the stream is opened in the bidirectional
mode. 'buffers' should consist of one buffer of length 81 bytes.
Console output is not buffered, but always written directly into
the display picture.
6_._2_ _ _ _ _ _ _ _P_R_O_C_E_D_U_R_E_ _c_l_o_s_e_s_t_r_e_a_m_(_V_A_R_ _s_:_ _s_t_r_e_a_m_;_ _V_A_R_ _b_u_f_f_e_r_s_:_ _b_u_f_f_e_r_p_o_o_l_)_;_ 6.2
No details specific to console.
6_._3_ _ _ _ _ _ _ _F_U_N_C_T_I_O_N_ _r_e_a_d_(_V_A_R_ _s_:_ _s_t_r_e_a_m_;_ _a_d_d_r_:_ _a_d_d_r_e_s_s_;_ 6.3
c_o_u_n_t_:_ _i_n_t_e_g_e_r_)_:_ _i_n_t_e_g_e_r_;_
If the line input buffer is empty when read is called the console
enters normal input mode, cf. section 5.2. When this mode is left
the console enters output mode, and the call proceeds as one of
the two cases described below.
If at least 'count' characters are present in the line input buf-
fer the first 'count' of these are transferred to memory loca-
tions starting at 'addr', and the result will be equal to
'count'.
\f
If the line input buffer contains fewer than 'count' characters
all of these will be transferred to memory locations starting at
'addr', thereby emptying the line input buffer. In this case the
result will be equal to the number of transferred characters.
6_._4_ _ _ _ _ _ _ _F_U_N_C_T_I_O_N_ _w_r_i_t_e_(_V_A_R_ _s_:_ _s_t_r_e_a_m_;_ _a_d_d_r_:_ _a_d_d_r_e_s_s_;_ 6.4
c_o_u_n_t_:_ _i_n_t_e_g_e_r_)_:_ _i_n_t_e_g_e_r_;_
The bytes written to the output stream are processed as described
in sections 3.1 and 5.1. If output is aborted by an ESC char-
acter, the result of write will be less than 'count'.
6_._5_ _ _ _ _ _ _ _F_U_N_C_T_I_O_N_ _s_t_r_e_a_m_r_e_s_u_l_t_(_V_A_R_ _s_:_ _s_t_r_e_a_m_)_:_ _i_o_r_e_s_u_l_t_;_ 6.5
The following results may occur: ???
\f
F_ 7_._ _ _ _ _ _ _ _ _S_T_R_E_A_M_ _I_N_T_E_R_F_A_C_E_ _E_X_T_E_N_S_I_O_N_ _R_O_U_T_I_N_E_S_ 7.
The interface routines which are only used for the console have
no stream parameter since only one stream, the console stream,
can be affected by these routines.
M_M_m_m_7.1 FUNCTION read _field(addr: address; init: 0..2; 7.1
P_P_p_p_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
f_i_e_l_d_s_i_z_e_:_ _1_._._8_0_)_:_ _1_2_9_._._1_6_6_;_
A call of read _field causes the line input buffer to be cleared
and the console to enter field input mode, cf. section 5.3.
Before this happens, the characters in the input field are set as
follows:
init = 0: no change
init = 1: all blanks
init = 2: overwritten with characters taken from memory lo-
cations starting at 'addr'.
When field input mode is terminated the characters in the input
field are transferred to memory locations starting at 'addr', the
console enters output mode, and read _field returns with the at-
tention status or mode terminating control character as result.
M_M_m_m_7.2 FUNCTION read _character: byte; 7.2
P_P_p_p_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
A call of read _character causes the line input buffer to be
cleared and the console to enter single character mode, cf.
section 5.4. When a control character, displayable character, or
attention status is keyed in, the console enters output mode, and
read _character returns with the character code or attention
status as result.
M_M_m_m_7.3 FUNCTION sense _keyboard: byte; 7.3
P_P_p_p_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
If no control character, displayable character, or attention
status has been keyed in, the result will be 255. Otherwise, the
character code or attention status is returned, and the console
enters idle mode.
\f
M_M_m_m_7.4 PROCEDURE read _display _field(addr: address; fieldsize: 0..1999); 7.4
P_P_p_p_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
A call of read _display _field causes a number of characters given
by the value of 'fieldsize' to be transferred from the display
picture, starting at CDP, to memory locations, starting at
'addr'.
M_M_m_m_7.5 PROCEDURE set _cdp(line: 0..24; column: 0..79); 7.5
P_P_p_p_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
A call of setcdp causes CDP to be moved to position ('line',
'column').
M_M_m_m_7.6 PROCEDURE read _cdp(VAR line: 0..24; VAR column: 0..79); 7.6
P_P_p_p_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
The result parameters 'line' and 'column' are set to reflect the
CDP.
M_M_m_m_7.7 PROCEDURE set _cursor _mode(cm: 0..3); 7.7
P_P_p_p_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
A call of set _cursor _mode causes the cursor presentation mode to
be set according to the value of 'cm' as shown below:
v_a_l_u_e_ _ _ _c_u_r_s_o_r_ _p_r_e_s_e_n_t_a_t_i_o_n_
0 underline, no blinking
1 underline, blinking
2 block, no blinking
3 block, blinking
\f
F_ A_._ _ _ _ _ _ _ _ _R_E_F_E_R_E_N_C_E_S_ A.
1 RCSL No 31-D665:
The PI-1 Machine I/O System
2 RCSL No 31-D615:
The PI-1 Machine, Reference Manual
3 RCSL No 31-D652:
PI-1 PASCAL80, Reference Manual
4 ISO-646:
7-bit Coded Character Set for Information Processing
Interchange
5 RCSL No 31-D622:
RC700 Console Driver, Reference Manual
\f
F_ B_._ _ _ _ _ _ _ _ _C_H_A_R_A_C_T_E_R_ _C_O_D_E_ _S_E_T_S_ B.
B_._1_ _ _ _ _ _ _ _S_t_a_n_d_a_r_d_ _D_a_n_i_s_h_ B.1
B_._2_ _ _ _ _ _ _ _D_a_n_i_s_h_ _P_u_b_l_i_c_ _S_e_c_t_o_r_ B.2
B_._3_ _ _ _ _ _ _ _S_w_e_d_i_s_h_ B.3
B_._4_ _ _ _ _ _ _ _G_e_r_m_a_n_ B.4
B_._5_ _ _ _ _ _ _ _E_n_g_l_i_s_h_ _(_U_K_)_ B.5
B_._6_ _ _ _ _ _ _ _E_n_g_l_i_s_h_ _(_U_S_)_ B.6
\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. OPERATIONS ............................................ 2
2.1 POWER Switch ..................................... 2
2.2 BRIGHTNESS Control Knob .......................... 2
2.3 CONTRAST Control Knob ............................ 2
2.4 H. HOLD Control Knob ............................. 2
2.5 V. HOLD Control Knob ............................. 2
3. ADJUSTMENT ............................................ 3
4. CONNECTION TO RC702 ................................... 5
5. SPECIFICATIONS ........................................ 6
6. CIRCUIT DESCRIPTION ................................... 7
\f
ii
\f
F_ 1_._ _ _ _ _ _ _ _ _G_E_N_E_R_A_L_ _D_E_S_C_R_I_P_T_I_O_N_ 1.
RC752 Video Display Monitor is normally used in connection with
the RC702 Microcomputer system, but may also be used by other
computer systems. The RC752 is designed by:
Nippon Electric Co., Ltd.
Tokyo,
Japan.
This manual is based on the service manual for NEC (Nippon Elec-
tric Co., Ltd.), Model JB-1201M(A). The RC752 is a special ver-
sion of JB-1201M(A) and the corrections to this service manual
are made by NEC and by RC Computer.
The technical name for RC752 is VDU752.
\f
F_ 2_._ _ _ _ _ _ _ _ _O_P_E_R_A_T_I_O_N_S_ 2.
In sections 2.1 to 2.3 the switches and controls on the front of
the video monitor are explained. Sections 2.4 to 2.5 explain the
switches and controls on the back of the video monitor.
2_._1_ _ _ _ _ _ _ _P_O_W_E_R_ _S_w_i_t_c_h_ 2.1
The picture will appear after approximately 10 seconds when the
power switch is turned to the right, and will disappear when the
switch is turned to the left.
2_._2_ _ _ _ _ _ _ _B_R_I_G_H_T_N_E_S_S_ _C_o_n_t_r_o_l_ _K_n_o_b_ 2.2
The further to the right the knob is turned, the brighter the
picture becomes. Adjustment needed is depending on ambient
lighting conditions.
2_._3_ _ _ _ _ _ _ _C_O_N_T_R_A_S_T_ _C_o_n_t_r_o_l_ _K_n_o_b_ 2.3
The further to the right the knob is turned, the more emphasized
is the contrast between black and white. Do not overemphasize the
contrast; it may strain your eyes.
2_._4_ _ _ _ _ _ _ _H_._ _H_O_L_D_ _C_o_n_t_r_o_l_ _K_n_o_b_ 2.4
If stripes appear on the screen, turn the knob slowly until the
stripes disappear and a normal picture appears.
2_._5_ _ _ _ _ _ _ _V_._ _H_O_L_D_ _C_o_n_t_r_o_l_ _K_n_o_b_ 2.5
If the picture moves upward or downward, turn this knob slowly
until a normal picture appears.
\f
F_ 3_._ _ _ _ _ _ _ _ _A_D_J_U_S_T_M_E_N_T_ 3.
The locations of the main part on the circuit board are shown in
fig. 1.
The following adjustment may be done:
+_B_ _A_d_j_u_s_t_m_e_n_t_:_ _V_R_6_0_1_ _(_+_B_ _A_D_J_)_
Connect a DC voltmeter (range: 15 to 20V) to TP91 on the printed
circuit board and the ground, and adjust VR601 until the
voltmeter reads +12V.
H_o_r_i_z_o_n_t_a_l_ _W_i_d_t_h_ _A_d_j_u_s_t_m_e_n_t_:_ _L_5_0_3_ _(_H_._ _w_o_d_t_h_ _c_o_i_l_)_
(1) Display a character signal (e.g. for the letter H) fully on
the CRT screen, and adjust the brightness and contrast to the
best.
(2) Turn the hexagonal core of L503 until the optimum horizontal
amplitude is obtained.
V_e_r_t_i_c_a_l_ _H_e_i_g_h_t_ _A_d_j_u_s_t_m_e_n_t_ _(_V_R_4_0_1_ _V_._ _H_E_I_G_H_T_)_.
V_e_r_t_i_c_a_l_ _L_i_n_e_a_r_i_t_y_ _A_d_j_u_s_t_m_e_n_t_ _(_V_R_4_0_2_ _V_._ _L_I_N_)_
(1) Display a character signal (e.g. the letter H) fully on the
CRT screen, and adjust the brightness and contrast to the
best.
(2) Turn VR401 and VR402 until the optimum vertical amplitude and
linearity are obtained.
F_o_c_u_s_ _A_d_j_u_s_t_m_e_n_t_ _(_V_R_9_0_1_)_
Bring the picture to the best focus by adjusting VR901.
\f
F_ 4_._ _ _ _ _ _ _ _ _C_O_N_N_E_C_T_I_O_N_ _T_O_ _R_C_7_0_2_ 4.
The power cable from RC752 is connected to RC702 to the Monitor
Power Jack, which can only supply one RC752.
The signal from RC702 is supplied to RC752 using a coax cable and
more than one monitor may be connected to the same signal.
The connections are made the following way:
RC702 IN OUT
75 Ohm High
RC752
RC702 IN OUT IN OUT IN OUT
75 Ohm High 75 Ohm High 75 Ohm High
The signal cable supplied together with RC752 is named CBL919.
\f
F_ 5_._ _ _ _ _ _ _ _ _S_P_E_C_I_F_I_C_A_T_I_O_N_S_ 5.
Picture Tube : C1270P4Y ARU
12" diagonal and 90
deflection
Phosphor : Yellow (P4Y)
Video Input Signal : Composite Video signal
Polarity : Negative sync.
Level : 1.0 V p-p
Impedance : 75 Ohm (switchable to
higher impedance)
Input Terminal : BNC jacks
Active Display Area : 230 (W) x 165 (H) mm
Scanning Frequency
Horizontal : 15.4 KHz (64.9 uS)
Vertical : 50 Hz (20 uS)
Active Video Period
Horizontal : 48.1 uS
Vertical : 17.9 mS
Video Bandwidth : 30 Hz - 20 MHz (+_ 3 dB)
Display Characters : 80 characters with 25 lines
5 x 7 dot matrix (7 x 11
dot/cell)
Controls
Inside : H. width, V. height, V.
lin., focus, Sub bright-
ness
Outside : Brightness, Contrast, H.
hold, V. hold
Operating Ambient Temperature : 0C - +40C
Power Supply : 15 V DC
Power Consumption : 15 W
Dimensions : 360 (W) x 296 (H) x 330 (D)
mm
Weight : 5 kg
Note: The above specifications are subject to change without
further notice.
\f
F_ 6_._ _ _ _ _ _ _ _ _C_I_R_C_U_I_T_ _D_E_S_C_R_I_P_T_I_O_N_ 6.
The rest of the manual is a part of the original NEC manual and
contains the following parts:
A. Block Diagram
B. Circuit Explanation, 6 pages
C. Circuit Diagram, 1 page A3
D. Drawings of Printed Circuit Boards
E. Thoubleshooting
\f
«eof»