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