|
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: 99840 (0x18600) Types: TextFile Names: »D22«
└─⟦3d57f1d87⟧ Bits:30005867/disk03.imd Dokumenter (RCSL m.m.) └─⟦this⟧ »D22«
i T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_ 1. GENERAL ............................................... 1 2. OPERATING OF MCS-85 ................................... 2 2.1 What It Does ..................................... 2 2.2 The Buttons and Displays ......................... 2 3. USING TCP702 FOR A SYSTEM WITHOUT DMA ................. 16 4. USING TCP702 FOR A SYSTEM WITH DMA .................... 19 5. DIAGRAMS .............................................. 21 \f ii \f 1_._ _ _ _ _ _ _ _ _G_E_N_E_R_A_L_ 1. TCP702 is a Technician Control Panel, which may be used for RC700 or RC850 micro computer systems. The unit is build around INTEL's MCS-85 System Design Kit. This description consists of the following parts: 1. OPERATING OF MCS-85. 2. USING TCP702 for a system without DMA. 3. USING TCP702 for a system with DMA. 4. CIRCUIT DIAGRAMS for TCP702. 5. CIRCUIT DIAGRAM for MIC702, when the DMA controller is replaced. 6. TIMING DIAGRAMS. \f F_ 2_._ _ _ _ _ _ _ _ _O_P_E_R_A_T_I_N_G_ _O_F_ _M_C_S_-_8_5_ 2. 2_._1_ _ _ _ _ _ _ _W_h_a_t_ _I_t_ _D_o_e_s_ 2.1 The things you can do with the basic SDK-85 kit are: Examine the contents of all memory and register locations Deposit program steps or data in RAM or register locations Execute programs or subroutines upon command Reset (start) the monitor upon command Interrupt and start operation at a location you specify upon command The keyboard and display on the board are selected by a jumper wire. Keyboard/display operation are described separately in the following paragraphs. 2_._2_ _ _ _ _ _ _ _ _ _ _T_h_e_ _B_u_t_t_o_n_s_ _a_n_d_ _D_i_s_p_l_a_y_s_ 2.2 Keyboard/display operation is done by pressing keys on the keypad. Responses are displayed either by echoing the key pressed or by prompting you with a message or prompt. When the RESET button is pressed, the monitor is ready to accept com- mands. For numeric arguments, the valid range is from 1 to 4 hexadecimal digits for address information and 1 to 2 hex digits for register and memory data. M_ Longer numbers may be entered, but such numbers will be M_m_ 16 8 P_P_p_ evaluated modulo 2 or 2 respectively, i.e., only the last four or the last two digits entered will be accepted. \f As noted, the number system being used in the SDK-85 is the hex- adecimal, or base-16 number system. Fig. 1 lists the hexadecimal, decimal (base 10), and binary (base two) equivalents. The table also shows how each hex digit will appear in the sevensegment LED displays. Figure 1: Number systems. Whenever the monitor expects a command, the display shows a dash ("-") at the left edge of the address field (possibly along with an error message). When the monitor expects a parameter, a deci- mal point will be displayed at the right edge of the field into which the argument will be placed. A parameter will be either an address or a byte of data which is used during the execution of a command. \f In the descriptions of the command modes, upper case letters and numbers enclosed in boxes represent keyboard keys. Words or phra- ses in lower case enclosed in brackets "<'" describe the nature of the command parameters you may input. The () in the Format Statement indicates an optional argument. R_E_S_E_T_: The RESET key causes a hardware reset, and starts the monitor. The message "-80 85" will be displayed across the address and data field of the display if you are in display-keyboard mode. The monitor is ready to accept a command after a reset, and saves no information about the state of any user program before the reset. S_U_B_S_T_I_T_U_T_E_ _M_E_M_O_R_Y_: M_m_m_ SUBST NEXT NEXT EXEC <address> (<data>) (<data>) ... P_p_p_ MEM The substitute memory command allows you to read the contents of ROM memory and to examine and modify the contents of RAM memory locations. The address argument denotes the contents of the memory address to be examined, and may be from 1 to 4 hex digits. If you enter longer numbers, only the last 4 digits entered are used). As soon as the number is terminated by the NEXT key, the contents of that location are shown in the data field, along with a decimal point at the right edge of the field. Entering a new number will cause that number to be displayed in the data field; however, the con- tents of the memory location will not be changed until an EXEC or NEXT key is pressed. \f Pressing NEXT will place the contents displayed in the datafield into the displayed memory address. Then the address and contents of the next higher memory location will automatically be shown. Pressing EXEC will place the contents displayed in the data field into the memory address displayed in the address field, and will also terminate the command. Pressing NEXT while the address FFFF is being displayed will cause address 0000 to be displayed. Whenever the command changes the contents of a memory location, it also verifies that the change has occurred correctly. If the contents of the location do not agree with what the new value should be (i.e., if the memory location is in ROM or is non- existent), an error message is generated. \f F_\f E_X_A_M_I_N_E_ _R_E_G_I_S_T_E_R_S_: M_m_m_ EXAM NEXT NEXT EXEC <reg> (<data>) (<data>) ... P_p_p_ REG The examine command allows you to display and modify the contents of the 8085 CPU registers. Pressing the EXAM REG key blanks both the address and data fields, and displays a decimal point at the right edge of the address field. At this point, you must press a register key (register names are denoted by legends on the key- board). Any other key will generate an error response. If a register key is pressed, the name of the register will appear in the address field, and the contents of the register will appear in the data field, along with a decimal point at the right hand edge. Entering a number will cause the number to be displayed in the data field; however, the contents of the re- gister will not be changed until an EXEC or NEXT key is pressed. Pressing NEXT will place the contents displayed in the data field into the register named in the address field, then will display the name and contents of the next register in sequence (See Table 2). Pressing EXEC will place the contents displayed in the data field in the register named in the address field, and will also terminate the command. Pressing NEXT while register PCL is being displayed has the same effect as pressing EXEC. The format for the I register is the lower 4 bits of the accumu- lator following execution of a RIM instruction. A "1" in an interrupt mask field denotes a masked condition. A "0" must be entered to use that interrupt. \f The format for the I register is: Figure 2: Register display sequence. The flag byte contains the 8085 CPU's condition flags. \f The format for the flag byte is: For more information about the 8085>s flags and interrupt mask feature, consult the MCS-85 User>s Manual. \f G_O_: GO (<address>) EXEC Pressing the GO key causes the contents of the program counter (PCH and PCL) to be displayed in the addressed field, along with a decimal point at the right edge of the field. The program coun- ter is available for change, and any number entered (a number is optional) becomes the new contents of the program counter. Pressing the EXEC key transfers control of the CPU to the address in the address field (contents of the program counter). Before the transfer of control, the address and data display fields are cleared, and an >E> is displayed at the left edge of the address field. Pressing any other key but EXEC generates an error message. The monitor regains control of the CPU only after a RESET or after execution of an RST 0, REST 1, or JMP 0 instruction in program. I_M_P_O_R_T_A_N_T_: Note that because of the way the GO and SINGLE STEP commands are implemented in the Monitor, GO and SINGLE STEP will not work unless the 8085>s stack pointer is pointing to an existing portion of RAM memory. If at any time these two commands don>t seem to be working, set SPH to 20 and SPL to C2 using EXAM REG, then try it again. (Locations 20C2 to 20FF are reserved for the monitor program, therefore the stack pointer must be set to 20C2 or lower so as not to interfere with the monitor.) \f GO COMMAND EXAMPLE \f S_I_N_G_L_E_ _S_T_E_P_: M_m_m_ SINGLE NEXT NEXT EXEC (<address>) ... P_p_p_ STEP Pressing the SINGLE STEP key causes the contents of the program counter (PCH and PCL) to be displayed in the address field of the display along with a decimal point at the right hand edge of the field. The data field contains the contents of the address deno- ted by the contents of the program counter. The program counter is made available for change, and any number entered (a number is optional) becomes the new contents of the program counter. Pressing the NEXT key causes the CPU to execute the one instruc- tion pointed to by the program counter. After execution the moni- tor regains control of the CPU, and the address and data fields show the new contents of the program counter (address of next instruction to execute) and contentes of the byte addressed by the program counter, respectively. The decimal point is turned on at the right hand edge of the address field, indicating that the program counter is available again. If the EXEC key is pressed, no instruction is executed. The ad- dress displayed in the address field is made the contents of the program counter and the single step command is terminated. You may now examine or modify registers and memory locations to ver- ify program execution. Pressing the SINGLE STEP key takes you back to the single step mode, and subsequent pressing of the NEXT key allows you to continue, instruction by instruction, through your program. Single stepping is implemented in the SDK-85 hardware by re- peatedly interrupting the processor. Since interrupts cannot be recognized during the E1 and D1 instructions of the 8085, single step will not stop at either of these instructions. \f SINGLE STEP EXAMPLE V_E_C_T_O_R_ _I_N_T_E_R_R_U_P_T_: The VECT INTR key is similar to the GO key in the respect that it takes control away from the monitor and gives it to another pro- gram. The interrupt key causes immediate recognition of RST 7.5 interrupt and control passes to location 3C in the monitor. This location contains an unconditional branch to instruction location 20CE in user RAM. You may place any instruction you wish in Loca- tions 20CE thru 20DO (e.g., a branch to a keyboard interrupt rou- tine). The monitor does not regain control without specific ac- tion (a RESET command, or a RST 0, RST 1, or JMP 0 program in- struction). In branching back to the monitor, unless the RST 1 instruction is executed, the monitor loses all past information about the user program. \f Since an interrupt is recognized by the hardware, the monitor cannot clear the display; thus the display may remain unchanged after interrupt. I_M_P_O_R_T_A_N_T_: Two conditions must be satisfied for the Vector Inter- rupt feature to be enabled: 1. Interrupts must be enabled (by executing an EI instruction). 2. RST 7.5 must be unmasked (mask reset by the SIM instruction or by modifying the I-Register). P_R_O_G_R_A_M_ _D_E_B_U_G_G_I_N_G_ _-_ _T_h_e_ _U_s_e_ _o_f_ _B_r_e_a_k_p_o_i_n_t_s_ Along with the "cold start" reset caused when the RESET button is pressed, the monitor also implements a "warm start" procedure. Execution of an RST 1 instruction will cause the monitor to enter this "warm start" routine. The monitor will display the same mes- sage as a RESET (>-80 85>), but all registers and user memory will be preserved in the state they were in at the time of execu- tion of the RST 1. No system reset or initialization will be per- formed. By placing RST 1 instructions at key RAM locations where you want to examine the CPU status, you can break from your program and then examine and set memory locations and registers, or single- step a portion of your program. To resume execution of the user program, press GO. The PC value of the next instruction appears in the address field of the display. Then press EXEC to continue execution. \f E_r_r_o_r_ _C_o_n_d_i_t_i_o_n_s_ _-_ _I_l_l_e_g_a_l_ _K_e_y_ If a key is pressed which is illegal in its context (e.g., a command key is pressed when the monitor is expecting a number), the command is aborted and an error message is generated. This message takes the form "-Err", displayed in the address field. The monitor is then ready to accept a command. The error message will be cleared when a command key is pressed. Therefore, you can cancel a command before you press NEXT or EXEC by pressing any illegal key instead. M_e_m_o_r_y_ _S_u_b_s_t_i_t_u_t_i_o_n_ _E_r_r_o_r_s_ If the substitute memory command determines that the contents of a memory location were not changed correctly (i.e. location is in ROM or is nonexistent), the command is aborted and an error message is generated. This message also takes the form "-Err", displayed in the address field. The monitor is then ready to accept a new command. The error message will be cleared when a command key is pressed. \f F_ 3_._ _ _ _ _ _ _ _ _U_S_I_N_G_ _T_C_P_7_0_2_ _F_O_R_ _A_ _S_Y_S_T_E_M_ _W_I_T_H_O_U_T_ _D_M_A_ 3. You may want to use TCP702 to troubleshoot a system, where the DMA controller is not installed. Before turning the power on, the following actions have to be done: 1. The addressing of the RAM-memory (for the system under test) is changed, so that the area goes from 16K to 64K. In case of RC702 this may be done by replacing the DIL circuit in POS25 with "DMA ADDR STRAP" shown below. 2. The DMA controller AM9517A-4 is replaced with the >DMA STRAP>, shown below. In case of RC702 the DMA controller is situated in POS68. 3. The DMA controller has a aid register of the type SN74LS373N, which is removed. In case of RC702 this circuit is in POS56. 4. The cable from TCP702 is connected. In case of RC702 to J8 and to the reset connecter, which may be connected to the switch on the front of RC702. In case of RC850 a special connection board is used. AID TOOL TO TCP702. \f After switching on the power do: 1. Push the RESET KEY two or three times. The display will now show - 8085. 2. Inset the value 01 into address 2009. 3. Using the GO KEY start the TCP702 from address 1000. The display will now show E. The TCP702 is now started in the program, which makes it a technician panel to RC702 or RC850. The computer in the system under test is now stopped. TCP702 has the following functions (to systems without DMA): Pressing this key sends a reset pulse to the system. Stops the system and shows address and data of last executed instruction. Starts the CPU in the system from the address shown on the display. The CPU in the system has to be stopped. When pressing this key the system makes a M_e_m_o_r_y_ _S_t_e_p_. \f The CPU in the system has to be stopped. When pressing this key the system makes an I_n_s_t_r_u_c_t_i_o_n_ _S_t_e_p_. The steps are from one M1 cycle to the next. Two-bytes OP-code instructions, starting with CB, DD, ED, or FD make a M1 cycle for each byte fetched. This key may be used as described in chapter 1. Now the memory sensed or written in is the memory of the system under test. \f F_ 4_._ _ _ _ _ _ _ _ _U_S_I_N_G_ _T_C_P_7_0_2_ _F_O_R_ _A_ _S_Y_S_T_E_M_ _W_I_T_H_ _D_M_A_ 4. When TCP702 is used to a system with the DMA in function, one of the DMA channels are used, when reading or writing in the systems memory. Connect TCP702 as described in section 2. After switching on the power do: 1. Push the RESET KEY two or three times, the display will now show - 8085. 2. Inset the value 00 in address 2009. 3. Using the GO KEY start the TCP702 from address 1000. The display will now show E. The TCP702 is now started in the program which makes it a technician panel to RC702 or RC850. The computer in the system under test is now stopped. TCP 702 is now used the following way: Pressing this key sends a reset pulse to the system. Pressing this key starts the CPU in the system. Now the CPU in the system may work with the TCP702 connected as a supervisor. Errors in the system may result in a HALT instruction, which generates an interrupt request to the TCP702. Upon this interrupt the TCP702 senses the contents of address 8003 in the system and shows this byte on the data display. This is described more in detail in the manual for the testprogram. \f The following two functions may also be used: Pressing this switch stops the system and shows address and data of the last executed instruction. This key is used as described in chapter 1. \f F_ 5_._ _ _ _ _ _ _ _ _D_I_A_G_R_A_M_S_ 5. \f F_\f F_\f F_\f F_\f F_\f F_\f F_\f F_\f F_\f COMPUTERISED TELEPHONE DIRECTORY ENQUIRY SYSTEM First Edition A/S REGNECENTRALEN April 1978 Information Department RCSL 42-i 0792\f Author: N.K. Butler Text Editor: Inga Marcussen KEY WORDS: RC 8000, RC Computer Network, Telephone Directory Enquiry System. ABSTRACT: This manual describes a computerised Telephone Directory Enquiry System, based on twin RC 8000s and a Data Network of RC mini computers. Users of this manual ... Copyright A/S Regnecentralen, 1978. Printed by A/S Regnecentralen, Copenhagen.\f Table of contents 1 INTRODUCTION page 5 1.1 A flexible system5 1.2 Background5 1.3 Benefits6 2 MODE OF OPERATION AT A TELEPHONE OPERATOR"S STATION9 2.1 Search10 2.2 Identification13 2.2.1 The paging Process14 2.3 Examples of Search and Identification enquiries16 3 THE STRUCTURE OF THE COMPUTER SYSTEM22 3.1 Data Network22 4 COMPUTER FILES REQUIRED IN A DIRECTORY ENQUIRY SYSTEM25 4.1 Phoneticisation File25 4.2 Place Table25 4.3 Search Files26 4.3.1 Main Divisions26 4.3.2 Sub Divisions26 4.3.3 Indexes26 4.3.4 Subfiles26 4.4 Subscriber File27 5 THE SEARCH PROCESS28 5.1 The Programs used in the Search Process29 6 UPDATING OF THE FILES30 7 CAPACITY OF THE ENQUIRY SYSTEM32\f 1 Introduction 1.1 A Flexible System A/S Regnecentralen (RC) is a Danish computer manufacturer which has gained extensive knowledge in the design and implementation of a computerised Telephone Directory Enquiry System, called the DQ system. The basic concept of the DQ system, namely: a) High performance through tailor-made operating systems with virtually zero overhead; b) Modularity in the construction of the application software system; c) Randomised subscriber access keys and d) Phoneticised access key tables makes the system adaptable to almost any telephone enquiry environment. Clearly there will be many differences from company to company, both in organisation of the telephone number system and distri- bution of subscribers, but the system can be tailored to meet various requirements. 1.2 Background A pilot study was carried out at the Aalborg office of the Jutland Telephone Company (JTAS) from the middle of 1973 until September 1974. The company"s large mainframe computer was used, but the short response times required placed a relatively large strain on the system. In other respects the results were encouraging and so the company decided to invite tenders for a computer-based Directory Enquiry System for the whole area. Following a two-stage selection process the contract for the supply of the hardware and software was awarded to RC in April 1975. \f A working group, made up of members of both companies, prepared a detailed description of the software system required. The computer configuration supplied by RC consists of twin RC 8000 medium-range computers with on-line disc storage at the central site, connected through a data network to each of the local enquiry offices. The data network is controlled by a dupli- cated RC mini-computer at the central site with further RC mini- computers at the nodes serving the local enquiry offices. The first RC 8000 was delivered in the summer of 1976 together with the software and the second RC 8000 was delivered in Novem- ber 1976. The change-over from the manual look-up system to the computer-based system was accomplished at each of the four local offices by February 1977. 1.3 Benefits The computerised Telephone Directory Enquiry System, which is not just an automation of the manual listing system, will bring many benefits, not only to the subscribers who will find that more of their enquiries can be answered in a shorter time and to the telephone operators who will find the system easy to use, but also to the Telephone Company itself which could make substantial savings by doing away with the conventional telephone directories - For the subscriber there will be a marked reduction in the overall time taken to handle an enquiry and enqui- ries which were impossible to answer before can be answered by the DQ system. - At JTAS the total time taken per enquiry, (i.e. from the time a caller is first connected to the enquiry office until he is disconnected), has decreased by almost a third, while the number of enquiries which cannot be answered successfully has been halved. - For the telephone operator the system will prove less frustrating and tiring to use than manual look-up methods and automated listing systems. \f Because the DQ system is designed specifically to suit the local environment, the problems of defining such search parameters as place name or correctly spelling a surname are reduced to a minimum. Any number of parameters can be entered in any order and may be abbreviated or spelled fully for refined searches in large geographical search areas. Due to the structuring of the files in the DQ system it is not usually necessary to enter more than two other paramete besides locality to enable the system to select the required subscriber. The format of the response screen can be arranged according to the wishes of the telephone company but in any event the operators will find the presentation of the subscriber details both clear and easy to read so that the columns can be scanned quickly to make the final selection. Potential savings in Annual Expenditure are enormous since the DQ system can completely replace the normal telephone directories. Studies have shown that on average a subscriber refers to the telephone directories only 8 times a year. The cost of printing and distributing the directories each year is an ever-increasing expense. Trade Direc- tories (Yellow Pages), - on the other hand - which are paid for by the subscribers, are referred to more often and should continue to be produced each year.\f Fig. 1 Layout of the RC 810 Keyboard\f 2 Mode of operation at a Telephone Operator"s Station As has just been mentioned the DQ system can be designed to meet almost any Telephone Company"s specific requirements. Within any company the bulk of the enquiries will be of two types, either a) a SEARCH for a subscriber"s telephone number, or b) an enquiry about a subscriber having a particular number. The latter type of enquiry is called an IDENTIFICATION. However, the system can also be designed to allow the operators to cope with other kinds of enquiries such as a simple request for an area code or the provision of special numbers, e.g. emergency numbers. The successful implementation of a computerised Directory Enquiry System depends on the operators being able to use the system with ease. The following section describes the way in which enquiries are handled at an operator"s position and shows that the procedure is relatively simple. Each operator sits in front of a Visual Display terminal which has an attached keyboard. Directory enquiries are received in the normal way by the operator who wears a conventional headphone set. In a SEARCH the operator keys in the search parameters as the caller gives the information. These may be entered in any order and are shown on the first line of the screen. The only stipu- lationis that the town, place or area must be entered and at least one of name or address or occupation. On the keyboard is a set of function keys for entering each search parameter. (Fig. 1). For example, if the number of JOHN GREY in SMALLFORD is requested the operator first presses the function key marked F for first name and then types in JOHN, next the function key marked N for Name (or Surname) is pressed and GREY is typed in and finally the function key marked D for district is pressed and SMALLFORD is typed in. The entry on the first line of the screen looks like this: * F JOHN *N GREY * D SMALLFORD \f Depending upon the size and complexity of the file structure, the system may search upon shortened versions of each name. (At JTAS it is the first 4 letters). In the IDENTIFICATION type of enquiry where the telephone number is supplied, the operator presses the function key marked T for Telephone and types in the number. The entry on the first line would look like this: * T 6963624 In general, superfluous elements of the search criteria are stripped away before a search is executed on meaningful elements. Superfluous elements could be - The first 0 in a telephone enquiry. - "Street", "East", "West" etc. in an address - Characters exceeding a certain threshold, say four. The basic idea of the system is that if the total data supplied by the subscriber can possibly lead to a successful search it will do so, regardless of how incomplete the individual criteria may be,e.g. - missing surname, - missing or poorly defined address, - uncertainty about district or even geographical whereabouts. 2.1 Search The full set of special function keys which may be used in a SEARCH are as follows: D District - Place/Town/Area Name. M_a_n_d_a_t_o_r_y_. N Surname (s) F First Name (s) S Street Name H House number - only when street name is present. Two numbers entered means that all houses in that range will be searched. C Company or Institution T Area Code - May be given to clarify the place name. O Occupation E Exact spelling of Surname.\f When the input line is complete the operator presses the SEND function key and the contents of the line are transmitted to the computer. Before a search of the files can be made the software must first decode the string of characters into meaningful search parameters and then, where relevant, pre-process then by using Place Table references and Phoneticisation tables. F_i_g_ _2_ L_a_y_o_u_t_ _o_f_ _t_h_e_ _r_e_s_p_o_n_s_e_ _i_t_e_m_s_ _t_o_ _a_ _s_e_a_r_c_h_ _e_n_q_u_i_r_y_ (One line per subscriber) Field 1 Field 2 Field 3 Field 4 Field 5 Field 6 Field 7 Area No. Surname First Occupa- Street Place Remarks + Tele- Name tion Name + Name phone House Number Number (7Chars) (15Chars) (7Chars) (7Chars) (14Chars) (7Chars) (1Char) Mark for Marks for cut-off Calling Number Example of a response line: 6143225 Johnson Peter Dentist 14 High St Littlet + T The database is searched for all subscribers who match the specified search parameters and details of these subscribers are then shown on the screen, one line per subscriber. (See Fig. 2). The first line of the screen is always reserved for the input search parameters and these are shown throughout the enquiry process. If there are more subscribers than can be shown on one screen the second line is used for the text "Page X of Y pages". Otherwise the second line is used for the first subscriber. The details about a subscriber are placed in fixed fields in the line so that when there are several subscribers it is easy for the operator to scan the columns. The telephone number always occurs in the first field, the other fields may be organised in \f different orders according to which search parameters are given in the enquiry input line. e.g. If Street Name is given but not Surname, then Street Name is considered to be the most important and will appear in the second field after Telephone number, followed by Surname, Occupation, Forenames, etc. Following each main field there is a spare single-character field which can be used to indicate whether the field has been cut-off, this is done by showing a + sign. In the case of the telephone number an asterisk * may be shown, which indicates that the subscriber has more than one number and that the number shown is the main calling number. At the end of the line is a "Remarks" field where one of the following letters may be shown against an entry: T Additional information is available either as supple- mentary text, or in the form of additional entries. S Secret Number. (No number is shown initially). R Reserved Number for an installation which has not been completed. A Alternative Number, covered by a main calling number. If the operator wishes to see the secret number, it is necessary to return to the first line containing the input search para- meters and type in the letter "S" in the paging field, then depress the "PAGE" function key. The secret number will then be shown in the first field for the subscriber entry, where pre- viously no number was shown, but the letter "S" will still be shown in the "Remarks" field of that line as a reminder to the operator. This feature should be limited to a few positions such as those of the Supervisors or other authorised operators. \f 2.2 Identification This type of enquiry is used in the following situations: - Where it is necessary to know the details about a subscriber with a given number. e.g. Name and Address. -Where, in connection with a SEARCH, the operator needs to see what exists as supplementary text. - Where the operator wishes to check on a line in a SEARCH response, possibly where the cutting-off has been fairly severe. In each of these situations, the function key "T" is depressed, followed by the typing of the required telephone number which must always include the area code. On the first line of the screen the entry would look like this example: * T 5617319. By pressing the SEND function key the request is sent to the computer. Once the programs have decoded the string of input characters and it is known that it is an Identification Enquiry a search is made directly in the Subscriber file and the main entry for the number is shown on the screen. Fig. 3 shows the format of the main entry. The full directory entry is shown without any cutting down of any of the items. If there are other directory entries for this number, they are indicated together with the total number of such entries. If there is supplementary text, this is indicated together with the number of pages. If the given telephone number is the main calling number but there are other numbers covered by it, the message "MAIN NUMBER - THERE ARE ALTERNATIVE NUMBERS" is shown. These numbers may be uncovered by typing in the letter "A" in the paging field on the first line. If the number requested is a secret number, the message "SECRET NUMBER" is shown. The details can be uncovered (by a Supervisor or an authorised operator) by typing in the letter "S" in the paging field on the first line and pressing the "SEND" key.\f If the number requested is an alternative number, covered by a main calling number, the message "ALTERNATIVE NUMBER - MAIN NUMBER IS XXXXX" is shown. F_i_g_._ _3_ F_o_r_m_a_t_ _o_f_ _t_h_e_ _s_c_r_e_e_n_ _f_o_r_ _t_h_e_ _r_e_s_p_o_n_s_e_ _t_o_ _a_n_ _I_d_e_n_t_i_f_i_c_a_t_i_o_n_ E_n_q_u_i_r_y_. * T 6963624 <Surname (s)> <First Name(s)> <Occupation> <House Number> <Street> <Place Name> <Post Number> <Post district> **** Extra Entries: <Actual Entry is the Main Entry> 1 2 3 The Entry Has <N> Pages of Supplementary Text Main Number - There Are Alternative Numbers. 2.2.1 T_h_e_ _P_a_g_i_n_g_ _P_r_o_c_e_s_s_ By using the paging field with a particular subscriber number entered the operator can page through all the entries on that number. Figure 4 illustrates the possible sequences of paging on a number which has: a) A main entry with 2 pages of supplementary text. b) Extra Entry 1 with 1 page of supplementary text. c) Extra Entry 2 with 3 pages of supplementary text. d) Extra Entry 3 with no supplementary text. \f * T<Telephone Number> Paging with a blank paging field Main Entry Extra Entry Extra Entry ExtraEntry 1 2 3 Suppl. Suppl. Suppl. Text Text Text 1 1 1 Suppl. Suppl. Text Text 2 2 Paging with "T" in the paging field. Suppl. Text 3 Fig. 4 IDENTIFICATION PAGING POSSIBILITIES H_o_r_i_z_o_n_t_a_l_ _P_a_g_i_n_g_ By using the "PAGING" key with a blank PAGING field in the input line one moves horizontally across the figure, i.e. one pages through all the EXTRA ENTRIES: V_e_r_t_i_c_a_l_ _P_a_g_i_n_g_ At any stage the insertion of a "T" in the PAGING field in the input line will cause one to move vertically downwards in the figure, i.e. paging from one page of supplementary text to the next for a particular entry. \f When a particular page of supplementary text or a particular extra entry is required, the operator pages through until it is reached. On average it takes about 1/2 second to find and display the next screen from the instant the "PAGE" key has been depressed. There is no fixed sequence for paging, the only requirement is that one starts with a normal Identification Enquiry. 2.3 Examples of SEARCH and IDENTIFICATION enquiries a) S_e_a_r_c_h_ _t_y_p_e_ _e_n_q_u_i_r_i_e_s_ Fig. 5 Shows an enquiry for a subscriber whose surname is JONES living in LONGDALE. F_i_g_u_r_e_ _5_._ * N JONE * D LONGDALE 6137011 Jones Pauline 178 Green St. Longdal 6191186 Jones H F Solicit+ 23 The Ridings Longdal 6175974 Jones, Price Nigel Account+9 Market Sq. Longdal 6103336 Joan"s Salon Hairdre+ 14 High St. Longdal Fig. 6 Shows a search for the STARLIGHT TRAVEL AGENT IN MAINTOWN. F_i_g_u_r_e_ _6_._ * N STAR TRAV * D MAIN 6133777 Star Travel Bureau Travel + Station St. Main T 6121822 Starlight Travel AgentsTravel + 11 South Road Main T \f Fig. 7Shows a search for a person called P. SKOV living in VIBY and is taken from JTAS. This example is chosen to illustrate the use of the phoneticisation tables. The object of phoneticisation is to ensure that all pos- sible spellings of the name which sound the same, or similar, are included in the search. In the case of the Danish name SKOV, names spelt with SKOV, SKAV, SCHA, SCHO, SCHJ, SCHU, SKJE, etc. must also be include be- cause they are pronounced like SKOV. It is preferable to have a selection with too many, apparently super- fluous candidates than to omit relevant possibilities. Place Names also present a problem because adjacent areas could contain the required place when officially they may have other names Toftelund Viby Langbaek In this example someone living in Viby could also be considered as living in Toftelund or Langbaek districts. \f F_i_g_u_r_e_ _7_ Search for P Skov living in Viby * N SKOV *FP * D VIBY Page 1 of 2 pages 6179931 Hansen og Skov Poul Bispevænget 13 Stavtru Secret Jøst Schacht Preben Storskovvej 21 Viby C S 6392454 Schandorff P Storeman Nordbyvej 176 Viby 6387756 Schajdt Jensen P N Nordborggade 3 Århus C 6419266Schou Per Lawyer Sondervangen 8 Viby C T 6818173 Schou Peter Service+ Ornslevvej 6B Viby C T 6773928 Schou Poul Directo+ Hørhavevej 37 Højøjer 6183334 Schou Preben Optici+ Nordrupsvej 19 Stavtru 6392177 Schouw H P Pharmac+ C Jensenve+ 4 Viby 6493138 Schultz C P Pension+ Augustenbor+ 7 Århus C 6201889 Skjerk P Typeset+ P Slotsvej 55 Højøjer 6315648 Skjold Madsen Pia Søndrering+59 Århus C 6290013 Skjoldborg Per Central+ Hørsevænget1 Travnje 6686143 Skjodt A P Jenstrupve+ 13 Travnje *N SKOV * F P * D VIBY Page 2 of 2 pages 6800819 Skjodt Poul P Service Holmevej 14 Højøjer 6328777 Skov Rasmussen Per Student Strandvejen 188 Århus C 6504307 Skov Jensen PEP Service Mathildelund 48 Viby 6162698 Skov Poul Butcher Randbjerg 119 Højøjer 6174200 Skov Karl P Painter Rosendalsvej 73 Stavtru 6636261 Skov Hellemann Per Garage Nørrebrog+5 Århus C 6819055 Skoved P HorseTr+Sondre Ring+10 Højøjer 6543507 Skovgaard Ander+ Laurids Rundhøjalle 63 Travnje 6422290 Hendroff Skjorth Preben Bank Cle+ Laerkevej 9 Viby \f Fig. 8 Shows a search for a subscriber living in HIGH STREET, BRADBURY whose house number lies in the range 20-30. F_i_g_u_r_e_ _8_ * D BRADBURY * S HIGH * H 20 30 6260241 21 High St. Bradbury Cycles Cyclesh+ BrBradbur+ T 6260083 23 High St. Laughton James Butcher Bradbur+ T 6261858 24 High St. Adams J F Bradbur+ 6262854 25 High St. Meredith Christi+ Bradbur+ 6263590 26 High St. Byrd Colin Electri+ Bradbur+ 6262389 27 High St. The Singing Kettle Restaur+ Bradbur+ 6260828 28 High St. High St Autos Car Dea+ Bradbur+ T 6261045 29 High St. Peters Trevor Bradbur+ 6263666 30 High St. Sparrow B L F Bradbur+ b) I_d_e_n_t_i_f_i_c_a_t_i_o_n_ _E_n_q_u_i_r_y_ Figures 9 and 10 Show an enquiry with an Identification enquiry and a page of supplementary text belonging to it. F_i_g_u_r_e_ _9_ I_d_e_n_t_i_f_i_c_a_t_i_o_n_ _E_n_q_u_i_r_y_ * T 6217749 The All-Clear Cleaning Company 12 East End Maintown *** Extra Entries: The Actual Entry is the Main Entry 1 2 The Entry Has 2 Pages of Supplementary Text. \f F_i_g_u_r_e_ _1_0_ * T 6217749T All-Clear Cleaning - Rentals - Office Equipment 11 Grove Road 231188 44 Black Bridge Lane Smalltown 5119284 - Home Equipment 12 East End 217749 ***Supplementary Text Pages: Actual Page Number is 2 1 2 \f F_i_g_u_r_e_ _1_1_ _B_a_s_i_c_ _M_a_c_h_i_n_e_ _c_o_n_f_i_g_u_r_a_t_i_o_n_ \f 3 The structure of the computer system Fig. 11 shows the Basic Machine configuration. The central computer site contains two identical, independent RC 8000 systems, sharing one Peripheral Processor. This minicomputer can be connected to one or other of the RC 8000 computers, and is primarily used in connection with updating the data base from magnetic tape. Each RC 8000 is connected through a high-reliability switch to the data network. 3.1 Data Network As well as serving the Directory Enquiry System terminals, the data network, which is a Packet Switching Network, can also be used for other real time applications, such as maintaining customer records & service orders. When there is a mainframe computer to perform the telephone company"s administrative data processing, it is possible to link the Front-End system via a direct channel interface to the mainframe. Thus terminals may be used anywhere in the network for access to the administrative computer system and/or the DQ system. At JTAS the network consists of three "ring connections" of mini computers including the nodes serving the local offices, and connected to the Front-End system at the central site via two alternate routes (see Fig. 12). Each local computer serves clusters of Visual Display Units and serial printers. The commu- nication channels should be of high speed, at JTAS their speed is 48 K bits per sec. For the purposes of the Directory Enquiry System at JTAS, RC supplied a terminal with a special keyboard, known as the RC 810 (see Fig. 1). The format of the screen ranges from 16 lines of 64 characters to 25 lines of 80 characters. Besides controlling the communications between the terminals of the Directory Enquiry centres and the two RC 8000 systems, the hardware in the data network also performs these two important additional functions: \f L_o_a_d_ _S_h_a_r_i_n_g_ The Front-End system keeps a record of the number of enquiries being handled by each of the RC 8000 systems and ensures that the load is being equally shared. If for any reason one of the RC 8000 systems is down, the enquiries are automatically sent to the other system. O_p_e_r_a_t_i_o_n_ _o_f_ _c_o_n_s_o_l_e_s_ The Front-End system controls the operation of the RC 8000 system consoles. The control is performed through the data network rather than through the single Device Controller, so that continuous realtime operation is guaranteed through the automatic switching possibilities built into the data network. \f F_i_g_u_r_e_ _1_2_ _T_h_e_ _J_T_A_S_ _N_e_t_w_o_r_k_\f 4 Computer files required in a Directory Enquiry System Four types of files are used by the system: - Phoneticisation tables - Place table - Search files - Subscriber file including supplementary text. All files are organised in Index-Sequential mode, which means that for each logical file there is an index set which requires a separate disc reference if the file address is not already known by the system. 4.1 Phoneticisation Tables This is a table set which contains groups of names. The names are grouped according to the way in which they are pronounced, or should be pronounced, regardless of their spelling. The table is used as a dictionary when inserting new names in the combined Search and Phoneticisation Indexes. One of the interesting things about this philosophy is that the system may be optimised almost endlessly without influencing its performance. 4.2 Place Table This file contains place names or standard abbreviations of place names and their corresponding conversion to one or more exchange number series. Each exchange number series is represented by the following information: Addresses in Search File Index First and last addresses in the Subscriber File. The more frequently used place names are held in the core memory so that about 60% of all references can be handled without disc access. \f 4.3 Search Files 4.3.1 M_a_i_n_ _D_i_v_i_s_i_o_n_s_ The main file is physically subdivided in sections each contain- ing information about 100.000 subscribers. At JTAS - as mentioned previously - all telephone numbers have seven digits, one area code digit followed by six digits: 6123456. 61 is called the AB number, consequently the sections are called AB sections. In other telephone companies there will probably be a different organisation of the subscriber numbers by area, etc. but in principle there should be no allocation which presents too many problems when designing the file structure. Clearly a hierarchical structure is the simplest to handle. 4.3.2 S_u_b_ _D_i_v_i_s_i_o_n_s_ Each AB section contains both index and file, these are again divided into four subsections, one for each main criterion: name, street, occupation and first name. 4.3.3 I_n_d_e_x_e_s_ By using the phoneticisation tables during the daily updating the Search Indexes are phoneticised which for example means that both Brown and Braun point to the same file address. 4.3.4 S_u_b_f_i_l_e_s_ Depending on the information available in the Subscriber File every subscriber is represented in one or several of the four subsections: Name: address in subscriber file + INITIALS Street: - - - - + HOUSENUMBER Occupation:- - - - First Name: - - - - Within each subsection the subscribers are sorted in phonetic groups and within each group in subscriber file address order. This means that all Browns and Brauns are treated as one group. \f 4.4 Subscriber File This file is organised by telephone number order and contains the actual directory entries for each number - namely, the main entry, extra entries and supplementary text. The entry for each subscriber contains the following items: a) Flags, i.e. S for Secret Number, or A for Alternative Numbers. b) Pointers to the following fields: c) First Name(s). d) Surname(s) or company/institution Name. e) Occupation/trade. f) Street or road name. g) House number. h) House letter. i) Floor. j) Place name. k) Postal code. l) Postal district name. m) Alternative number. If the place name is not given the post district name will be used as place name on the response screen. Each alternative num- ber has an independent entry in the file, but the item contents consist only of the main calling number. \f 5 The Search Process An I_d_e_n_t_i_f_i_c_a_t_i_o_n_ _T_y_p_e_ _E_n_q_u_i_r_y_ means that the search is made directly in the subscriber file through the index. A S_e_a_r_c_h_ _T_y_p_e_ _E_n_q_u_i_r_y_ starts with a Place Table reference, either in core memory or on disc. If the telephone area code has not been entered using * T, the search process is automatically carried out in the local area. From the Place Table reference the relevant AB index addresses and subscriber file limits are found. The search begins by first sorting the input parameters (criteria) into the same sequence as the search files on the disc. This means that only one movement of the reading head across the disc will be necessary, resulting in approximately half the normal time required for a disc access. Using the search index address found in the place table and the criteria from input the system locates the corresponding lists of candidates in the search file. The total number of candidates is counted and if more than the pre-specified maximum, either 3 or 4 screens), a message is sent to the screen saying "Too Many Candidates". In order to reduce the number of candidates the operator can use the function key marked C. If the required subscriber is a company or institution then the C key is pressed and all subscribers in the original selection who are n_o_t_ companies or institutions are eliminated. If the required subscriber is a person then the C key is used together with the MINUS sign key. This removes all companies or institutions from the original selection. The operator has a further possibility of specifying the sub- scriber more precisely and this is by giving the exact spelling of the surname. By using the key marked E and typing in the correct spelling, the list of candidates can be shortened. Other- wise the actual entry for each subscriber is obtained from the subscriber file and the items are sorted according to the order of the input parameters. The output line for the response screen is generated and when the screen is full, or there are no more subscribers, the full screen is transmitted. \f F_i_g_u_r_e_ _1_3_. The division of the Search Process Front-End input system search search file reference subscriber file output 5.1 The Programs used in the Search Process The search process may be considered as four separate processes, each with its own suite of programs (See Fig. 13). (i) I_n_p_u_t_ The program takes the input enquiry line, decodes it and checks the parameters, sorts them according to the sequence of search files and consults the Place Table reference file. Any errors which are detected are shown on the screen in an appropriate error message. (ii) S_e_a_r_c_h_ The program takes each parameter from the sorted enquiry, and consults the combined search index Phoneticisation/Synonymisation tables before accessing the search file and selecting the file addresses of possible candidates. (iii) R_e_f_e_r_e_n_c_e_ This program accesses the file address of the Subscriber file for each candidate and obtains the entry. (iv) O_u_t_p_u_t_ This program takes each subscriber entry, sorts the items according to the sequence of input parameters, generates each line and transmits the screen to the display. \f 6 Updating of the files Daily updates which have been made to the database of the admin- istrative system and which concern the Subscriber Directory files in the Enquiry System, are copied onto Magnetic Tape (s) and brought to the central computer site. Here the updating of the Enquiry System data files is carried out in batch mode each night. The updating is a serial process and is carried out on one of the RC 8000"s at a time while the other is running the Enquiry Service. The first process in the updating is a check on the incoming transactions, after which they are sorted according to telephone number and transaction type. The subscriber file which is held on a separate disc is merged with the transactions file, whereupon the additions, deletions and changes are made. The result of this process is: 1) A Master File of the new Subscriber file including the updated entries. 2) A Working File containing the Search File Transactions. 3) A Working File containing address modifications to the Search File resulting from the changes which have been made in the Subscriber File. Two copies of the new Subscriber File are taken, ready for the next day"s operation, then the updating of the Search File is started. A search file transaction contains the following details: Criterion Type AB Number Key Address of the entry in the Subscriber File House Number/Initials Addition/Deletion The transactions are sorted according to type of criterion, so that the updating of the search file is carried out in the order in which the individual Search Files are held on the disc. \f The updating of the Search File is carried out in the same way as the Subscriber file, by merging the transactions file with the Search File. In the case of a key not being found in the Search File, e.g. a new name may have been entered which has not occurred before in the Search File, then the set of key values (phoneti- cally similarly sounding) will be taken from the Phoneticisation File and inserted in the Index to the Search File. Once the updating of the Search File has been completed and two copies have been made for use on the enquiry system, the old version and the new version of the Master File are locked away together with the magnetic tapes containing the day"s transaction. \f 7 Capacity of the Enquiry System The existing Directory Enquiry System at JTAS is capable of han- dling up to 10,000 enquiries per hour with at least 95% of them having a response time of less than 3 seconds. With the present configuration at JTAS the maximum number of sub- scribers which can be held on the file is 2 million. As there are currently no more than 750,000 in the JTAS area, there is ample spare capacity for the needs of the foreseeable future. By virtue of the fact that an Enquiry System is configured on a modular basis it is possible to specify configurations which can meet the requirements of almost all Telephone Companies, regard- less of their size. \f i T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_ 1. GENERAL DESCRIPTION .................................... 1 2. SPECIFICATIONS ......................................... 2 2.1 Performance Specifications ........................ 2 2.2 Electrical Specifications ......................... 3 2.3 Environmental Specifications ...................... 3 2.4 Physical Specifications ........................... 3 \f ii \f F_ 1_._ _ _ _ _ _ _ _ _G_E_N_E_R_A_L_ _D_E_S_C_R_I_P_T_I_O_N_ 1. The RC3796B connects the RC3600 system to an IBM 360/370 channel, over the IBM standard channel interface as defined in the 'IBM System/360 and System/370 I/O Interface Channel to Control Unit OEM Manufacturers Information GA22-6974-3'. The RC3796B consists of an FPA705 placed in the controller chassis and an FPA706B placed in a CHS711 chassis containing plugs for the IBM channel bus cables. The FPA modularity features the possibility to connect several RC3600 systems to the same IBM channel and also several IBM chan- nels to the same RC3600. In the former case, it is recommended to place the CHS711 chassis in a cabinet separate from the RC3600 cabinets, also the powering at the CHS711 should be controlled by the EPO system (by means of a PDP708) of the attached channel. \f F_ 2_._ _ _ _ _ _ _ _ _S_P_E_C_I_F_I_C_A_T_I_O_N_S_ 2. 2_._1_ _ _ _ _ _ _ _P_e_r_f_o_r_m_a_n_c_e_ _S_p_e_c_i_f_i_c_a_t_i_o_n_s_ 2.1 The burst data rate, i.e. the data rate obtained if data blocks of infinite length were used, is determined by the slowest of the participants (the channel or the FPA705 - RC3600). The FPA705 - RC3600 data rate is max. 400 kbytes/sec. The FPA706B adds 5.7 secs. to the transfertime per byte so maximum obtained data transfer rate is 1_7_5_ _k_b_y_t_e_s_/_s_e_c_. where one byte contains 8 bits + parity. When attached to byte multiplexer channels, the speed is entirely determined by the speed of the channel. The overhead for RC3600 response when using the RC3796 Driver is typical 2.5 msecs. per operation. When a protocol with a syn- chronizing operation plus a transfer operation is used and block sizes of 2 kbytes are transferred, the maximum transfer rate is calculated as 2000/t, where t is the time used to transfer 2000 bytes: t = 2 x 2.5 + 2000/175 = 5 + 11.4 = 16.4 msecs. Under these circumstances max. transfer rate is: 2_0_0_0_/_1_6_._4_ _=_ _1_2_2_ _k_b_y_t_e_s_/_s_e_c_. C_a_u_t_i_o_n_: When connected to a byte multiplexer channel, the FPA706B forces burst mode from Initial Selection and until channel end is presented. This may cause over- run on fixed speed, non buffered devices. \f 2_._2_ _ _ _ _ _ _ _E_l_e_c_t_r_i_c_a_l_ _S_p_e_c_i_f_i_c_a_t_i_o_n_s_ 2.2 Power requirements FPA705: 5 V, 5 A from Controller Chassis FPA706B: 5 v, 6.5 A from CHS711 CHS711: 220 V +_10% 50 Hz 220 W Grounding: All systems plus CHS711 should be grounded common to the attached IBM Systems. 2_._3_ _ _ _ _ _ _ _E_n_v_i_r_o_n_m_e_n_t_a_l_ _S_p_e_c_i_f_i_c_a_t_i_o_n_s_ 2.3 Ambient temperature: 16-32C (60-90F) Relative humidity: 20-80% (no condensation) Heat dissipation FPA706B: 220 W FPA705: Included in RC3600 system figures. 2_._4_ _ _ _ _ _ _ _P_h_y_s_i_c_a_l_ _S_p_e_c_i_f_i_c_a_t_i_o_n_s_ 2.4 Mounting FPA705: 1 slot in Controller Chassis FPA706B: 1 slot in CHS711 CHS711: Mounted in a cabinet containing 1 OCP702 and 1 PDP708. \f F_ \f \f F_ . PROGRAMMABLE MICROPROCESSOR . ERGONOMIC DESIGN . STANDARD CHARACTER FONT AND USER DEFINED CHARACTER FONT . HIGH-SPEED COMMUNICATIONS \f F_ G_E_N_E_R_A_L_ The RC853 Directory Assistance terminal is a terminal of the RC850 terminal system. The RC853 terminal succeeds the RC810 DA terminal in RC directory inquiery systems. The ergonomic design of the RC853 DA terminal have substantially improved the operator>s place of work. The noiseless display is based on a large, 38 cm screen and allows for height adjustment and tilting by simple lever action. The detachable, low-profile keyboard as well permits the operators to arrange for the proper working conditions individually. The terminal features a 128-character ASCII character set in ROM. Further 256 characters can be user-defined and loaded into RAM memory to meet local application needs. In addition a 4-character shadow mask can be superimposed on each character position to create general deviations in the character presentation. Other attribute functions provide further ways to control the display- ing of the character positions. Special customer support with respect to character sets and keyboard layouts will be facilita- ted upon agreement. Built-in diagnostic procedures are automatically executed at each terminal start-up. The standard communications interface to the host system is the RC-CIRCUIT connection. A 2-wire, half-duplex connection (max. 1500 m) transformer coupled at both ends, using normal twisted pair of cables. Transmission speed 250 k bits per sec. Optional- ly a high-speed serial I/O connection (max. 100 m) is available. Tansmission speed 200 k bytes per sec. S_P_E_C_I_F_I_C_A_T_I_O_N_S_ CPU: Z80A (4 MHz). Self-test feature. Memory: RAM: 64 Kb, dynamic MOS; EPROM: 16 Kb, as program memory within the 64 K address space or as program load media for the RAM - mode defined by software. \f Keyboard-processor: Intel 8084 mask programmed. Display capacity: 2000 characters in 25 lines 80 charac- ters each; refresh memory: separate 2 K x 16 bit RAM; refresh rate: 50/60 Hz, phaselocked to mains. Attribute functions on each character position. Display screen: 15-inch (38 cm), non-glare. Character image: Generation: 14 x 16 dot matrix; size: 6 x 3 mm (h x w). Character set: 128 characters from ROM, ASCII alphabet; 256 characters from changeable character generator (RAM), customer definable and loadable; 4-character shadow mask customer defin- able and loadable. Cursor: Blinking underlining or inversion of characters, selectable by user. Cursor control: fully controlled by software. Attribute functions: Blinking, inverse video, high intensity, non-displayed fields, shadow mask con- trol (applicable to all displayed cha- racters), changeable character generator control. Keyboard: Up to 145 keys. Special directory assi- stance design. Optional customer demands upon agreement. Keyboard features: N-key rollover, auto repeat, adjustable key-sound and alarm (may be silenced completely). Indicators: Up to 8 indicators can be installed. Data format: Serial, asynchronous, synchronous. CIRCUIT connection: 2-wire, half-duplex, transformer coupled at both ends, 1500 m. I/O connect. (optional): 4-wire, high-speed serial, transformer coupled at both ends, 100 m. LINE I connection: CCITT V.24/X.26 (optionally X.21/X.24), ISO 2110 socket, 25 m. LINE II connection: CCITT V.24/X.26, ISO 2110 socket; hard copy printer connection, 25 m. \f Transmission speeds: CIRCUIT: 250 k bps; I/O connection: 200 K bytes per sec; LINE I and LINE II: 110 to 9600 bps, selectable by software, individual to each line; Power requirements: 110/220 V AC +_ 10%, 50 Hz +_ 2 Hz (60 Hz optio- nal), 100 W. Temperature, amb.: 10-35C (50 - 95F). Humidity, relative: 0-95%, non-condensing. Heat dissipation: 360 kJ/h (86 kcal/h, 340 BTU/h). DIMENSIONS Display Keyboard Height: 39-49 cm (15.4-19.4 in.) 8 cm (3.15 in.) Width: 47 cm (18.5 in.) 52 cm (20.5 in.) Depth: 33 cm (13 in.) non-tilted 27 cm (10.6 in.) Weight: 20 kg (44 lb) 3 kg (6.6 lb) RCSL 42-i1407 \f Ballerup, marts 1981 Til: RC kunder Vedr.: RC8000 System, Betjeningsvejledninger, ajourføring. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Medfølgende eksemplar(er) af betjeningsvejledning(er) bedes indsat i dokumentationsmappen, benævnt: RC8000 SYSTEM - BETJENINGSVEJLEDNING - DLI 012. Vejledningen(erne) indsættes i mappens sektion 2, og ordnes efter RC produktnummer. Med venlig hilsen, A/S REGNECENTRALEN af 1979 \f Ballerup, marts 1981 Til: RC kunder Vedr.: RC8000 System, Betjeningsvejledninger, ajourføring. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Medfølgende eksemplar(er) af betjeningsvejledning(er) bedes indsat i dokumentationsmappen, benævnt: RC8000 SYSTEM - BETJENINGSVEJLEDNING - DLI 012. Vejledningen(erne) indsættes i mappens sektion 3, og ordnes efter RC produktnummer. Med venlig hilsen, A/S REGNECENTRALEN af 1979 \f F_ i F_O_R_E_W_O_R_D_ First edition: RCSL No 42-i1714. This document contains a survey of COMAL80 on the RC700 microcomputer, Piccolo. COMAL80 was proposed by a working group including manufacturers, schoolteachers and university people in Denmark during 1979/80. The language implemented by RC Computer is a superset of the COMAL80 which again can be seen as an extension to BASIC. COMAL80 however contains facilities which makes it more comparable to PASCAL than to BASIC. There will be facilities in COMAL80 which are not described in this document. For instance there will be statements/functions for accessing the RS232-port on the Piccolo which makes it pos- sible to use devices connected by the user (such as plotters, digitizers, etc.) and to communicate with other Piccolo-systems in a transparent mode or by means of a protocol for transmission of binary data. It should be mentioned that: Variable-names may consist of up to 16 characters; that arithmetic operations are carried out to a significans of 13 decimal digits, and that numbers are in the range 10E-128 < n < 10E127. The proposal published by the COMAL80 working group contains more details about the language. It may be ordered from RC Computer (RCSL No 42-i1516). Erik Jeppesen A/S REGNECENTRALEN af 1979, March 1981 Second edition: RCSL No 42-i1780. Some minor changes and extensions concerning the file system. Erik Jeppesen A/S REGNECENTRALEN af 1979, July 1981 \f F_ ii \f iii T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_ 1. COMAL80 STATEMENTS .................................... 1 2. COMAL80 FUNCTIONS ..................................... 7 3. COMAL80 FILE STATEMENTS ............................... 9 4. SYSTEM COMMANDS ....................................... 11 \f iv \f 1_._ _ _ _ _ _ _ _ _C_O_M_A_L_8_0_ _S_T_A_T_E_M_E_N_T_S_ 1. F_o_r_m_a_t_/_D_e_s_c_r_i_p_t_i_o_n_ U_s_e_ M_m_m_ <var> <var> := <expr> ; := <expr> ... P_p_p_ <svar> <svar> Assigns the value of an expression to a STATEMENT variable. or COMMAND <name>: A label that can be referenced by a goto- STATEMENT statement. CASE <expr> OF WHEN <expr> ,<expr> ... <statements-1> M_ . . P_ . WHEN <expr> ,<expr> ... <statements-n> OTHERWISE <statements> ENDCASE The expression following CASE is evaluated and STATEMENT compared with the expressions following WHEN. If there is a match in the i'th WHEN statement, statements-i are executed. If no match is found the statements following OTHERWISE are executed if specified. If OTHERWISE is not specified and no match is found then an error occurs. \f CHAIN <filename> Runs the SAVE'd program referred to by the STATEMENT filename when the statement is encountered in the user's program. M_m_m_ <val> <val> DATA ... P_p_p_ <slit> <slit> Provides values to be read into variables STATEMENT appearing in READ statements. <array>(m) <array>(m) DIM <array>(<row>,<col>) , <array>(<row>,<col>) ... <svar> (m) OF <expr> <svar>(m) OF <expr> Defines the size of numeric arrays, stringSTATEMENT variables and string arrays. or COMMAND END Terminates the execution of a program. STATEMENT <var> <var> <svar> <svar> EXEC <name> ( <array> , <array> ...) <sarray> <sarray> <expr> <expr> Executes a procedure defined by PROC-ENDPROC. STATEMENT FOR <control var>:= <expr1> TO <expr2> STEP <expr3> DO <statement> Executes a single statement a number of times. STATEMENT \f FOR <control var>:= <expr1> TO <expr2> STEP <expr3> DO <statements> NEXT <control var> FOR begins a FOR-NEXT loop and defines the STATEMENT number of times a block of statements is to be executed. NEXT is the last statement in the loop and changes the value of the control variable. <var> <var> <svar> <svar> GLOBAL <array> , <array> ... <sarray> <sarray> <proc name> <proc name> Makes variables in a closed procedure global. STATEMENT GOTO <name> Transfers control unconditionally to the state-STATEMENT ment following the label-statement specified by <name>. IF <expr> THEN <statement> Executes a single statement depending on whether STATEMENT an expression is true or false. IF <expr> THEN <statements> ENDIF Executes a block of statements depending on STATEMENT whether an expression is true or false. IF <expr> THEN <statements-1> ELSE <statements-2> ENDIF Executes statements-1 if an expression is true, STATEMENT otherwise statements-2. \f M_m_m_ <var> <var> , INPUT <slit>: , ... P_p_p_ <svar> <svar> ; Assigns values entered from the keyboard to STATEMENT numeric or string variables. MARGIN <expr> Defines the number of characters to be outputSTATEMENT before a new-line is automatically generated. or COMMAND M_m_m_ , , PRINT <expr> <expr> ... P_p_p_ ; ; Prints specified items on the selected output STATEMENT device.or COMMAND PRINT USING <format>: <expr>,<expr> ... , Outputs the items in the argument list using a STATEMENT specified format. REF<var> REF<var> M_m_m_ REF<svar> REF<svar> PROC <name> ( , ...) CLOSED P_p_p_ REF <array>(,) REF <array>(,) REF <sarray>() REF<sarray>() <statements> ENDPROC <name> Defines a procedure or a function. When the STATEMENT procedure or function is called, control is transferred to the first statement following PROC. ENDPROC is the last statement in a procedure or function and returns control to the first statement following the EXEC statement (procedure call) or to the statement containing the function call. \f RANDOMIZE Causes the random generator to start at a random STATEMENT point in the sequence of random numbers generated by the RND function. M_m_m_ <var> <var> READ , ... P_p_p_ <svar> <svar> Reads in values from DATA statements and assigns STATEMENT the values to the variables listed in the statement. REPEAT <statements> UNTIL <expr> Executes a block of statements repetitively untilSTATEMENT an expression is true. The block of statements is always executed at least once. RESTORE <name> Resets the data element pointer to the beginning STATEMENT of the data list or to a labelled DATA statement. SELECT OUTPUT <device> Selects the device or file to which output from STATEMENT a program (PRINT or PRINT USING statement) shallor COMMAND be directed. STOP Terminates execution of the current program. STATEMENT WHILE <expr> DO <statement> Executes a single statement repetitively whileSTATEMENT an expression is true. If the expression is false the first time the WHILE statement is executed then the statement following DO is not executed. \f WHILE <expr> DO <statements> ENDWHILE Executes a block of statements repetitivelySTATEMENT while an expression is true. If the expression is false the first time WHILE is encountered, the block of statements is not executed even once. ZONE <expr> Sets the zone spacing between elements output by STATEMENT PRINT statements. or COMMAND \f F_ 2_._ _ _ _ _ _ _ _ _C_O_M_A_L_8_0_ _F_U_N_C_T_I_O_N_S_ 2. ABS(<expr>) Returns the absolute (positive) value of the argument. AT(<expr>,<expr>) Used in PRINT statements to position the cursor to the XY- position evaluated from the arguments. ATN(<expr>) Calculates the angle, in radians, whose tangent is the argument. CHR0S5 (<expr>) Returns the character corresponding to the number found as the argument modulo 256. COS(<expr>) Calculates the cosine of an angle which is expressed in radians. EOD A Boolean function that assumes the value true when the last item in the DATA element list has been read, otherwise false. EOF(<expr>) A Boolean function that assumes the value true when the last record in a file has been read, otherwise false. EXP(<expr>) Calculates the value of e (2.71828) to the power of the argument. INT(<expr>) Returns the value of the nearest integer not greater than the argument. \f M_m_m_ <svar> LEN( ) P_p_p_ <slit> Returns the current number of characters in a string. LOG(<expr>) Calculates the natural logarithm of the argument. M_m_m_ <svar> ORD( ) P_p_p_ <slit> Returns the ordinal number of the first character of a string. RND Produces a pseudo random number in the range 0 to 1. SGN(<expr>) Returns the algebraic sign of the argument. SIN(<expr>) Calculates the sine of an angle which is expressed in radians. SQR(<expr>) Computes the square root of the argument. TAB(<expr>) Used in PRINT statements to tabulate the printing position to the column number evaluated from the argument. TAN(<expr>) Calculates the tangent of an angle which is expressed in radians. \f F_ 3_._ _ _ _ _ _ _ _ _C_O_M_A_L_8_0_ _F_I_L_E_ _S_T_A_T_E_M_E_N_T_S_ 3. CLOSE <expr> Dissociates a filename and a file number (seeSTATEMENT OPEN) so that the file can no longer beor COMMAND referenced. The CLOSE form of the statement closes all open files. COPY <filename1>,<filename2> Copies the contents of <filename1> toSTATEMENT <filename2>. or COMMAND CREATE <filename>,<size>,<recl> Creates a file in a directory. STATEMENT or COMMAND DELETE <filename> Deletes a file in a directory. STATEMENT or COMMAND DIR <unitno> Lists the names of all files in the directory toSTATEMENT the selected output device. or COMMAND DISMOUNT <unitno> Dissociates the diskette in the specified drive STATEMENT from the file system by closing the directory,or COMMAND so that the diskette may be removed. M_m_m_ <var> <var> INPUT FILE <expr>: , ... P_p_p_ <svar> <svar> Reads data in ASCII form from a sequentialSTATEMENT access file to the variables in the argumentor COMMAND list. MOUNT <unitno> Associates the file system with the diskette in STATEMENT the specified drive by opening the directory. or COMMAND \f READ M_m_m_ WRITE OPEN <expr>,<filename>, P_p_p_ APPEND RANDOM <recl> Associates a filename with a user file number soSTATEMENT that the file can be referenced in other fileor COMMAND statements. OPEN also specifies how the file is to be used. PREFIX <sexpr> Specifies a string by which the filename in aSTATEMENT file-statement is prefixed, e.g. unitnumber. or COMMAND M_m_m_ <expr> , <expr> , PRINT FILE <expr>: ... P_p_p_ <sexpr> ; <sexpr> ; Outputs data in ASCII form to a sequentialSTATEMENT access file.or COMMAND M_m_m_ <expr> <expr> PRINT FILE <expr> USING <format>: , ... , P_p_p_ <sexpr> <sexpr> Outputs data in ASCII form to a sequential file, STATEMENT using a specified format. or COMMAND M_m_m_ <var> <var> READ FILE <expr>,<recno>: , ... P_p_p_ <svar> <svar> Reads data in binary format from a sequentialSTATEMENT access file or a record of a random access or COMMAND file to the variables in the argument list. RENAME <filename1>,<filename2> Renames a file in a directory. STATEMENT or COMMAND <expr> <expr> WRITE FILE <expr>,<recno>: , ... <sexpr> <sexpr> Outputs data in binary format to a sequentialSTATEMENT access file or record of a random access file. or COMMAND \f F_ 4_._ _ _ _ _ _ _ _ _S_Y_S_T_E_M_ _C_O_M_M_A_N_D_S_ 4. M_m_m_ <line1>, AUTO P_p_p_ <line1> ,<line2> Provides automatic line numbering for program entering. BYE Leaves COMAL-80. CON Continues execution from where the program was stopped. M_m_m_ <line1>, DEL P_p_p_ <line1>,<line2' Deletes one or more statements in a program. ENTER <filename> Merges the statement lines from the file or device specified by a filename into the current program area. M_m_m_ <line1>, LIST P_p_p_ <line1>,<line2> Outputs part or all of the currently loaded program in ASCII format to the selected output device. LOAD <filename> Loads a previously SAVE'd program in binary format from the specified file or device into the program area. \f NEW Clears the program and data areas and closes any open files. M_m_m_ <line1>, RENUMBER P_p_p_ <line1>,<line2> Renumbers the statements in the current program. RUN Clears the data area and executes the current program from the lowest numbered statement. SAVE <filename> Writes the statements in the program area in binary format to the specified file or device. SIZE Returns the size of the program and data areas and the size of free memory space. \f «eof»