1,248,690. Data storage. BUNKER-RAMO CORP. 18 April, 1969 [9 May, 1968; 16 Sept., 1968], No. 19952/69. Heading G4C. In a system for assembling data in a store each character position in the store includes bit positions for the character and at least one additional bit position for control purposes. In the preferred embodiment there are two control bits per character position. A system is described for assembling data in a circulating delay line store, the data being of two types " fixed form" data, such as that shown in Fig. 2 which might for example be the printed legends that occur on a form, and " variable " data which might for example be the data that is subsequently added to form, the system having the facility that " tab points " can be established within the store, these being character positions within the store which may be jumped to-as on a typewriterfor the entry of data. Thus, if for example the form data shown in Fig. 2 has been established in the store, and if each word such as " name " is followed by a tap point, then the appropriate variable data to complete the form may be entered sequentially each item merely being separated by a tab instruction. The contents of the store are displayed, as in Fig. 2, on a cathode ray tube, and data may be entered either from a data processor or from a keyboard. Typically form data may come from the processor and the variable data from the keyboard. The contents of the store, i.e. the completed form, can then be transferred to the processor. Data representation.-Data is stored in the circulating delay line serially by bit and serially by character. Each character position within the store contains 7 bit positions, the first a " cursor " bit, the second a " mark " bit, and the remaining five "character" bits. The system described is adapted for use with two c.r.t. displays, the characters for the two displays being interleaved within the store. Thus Fig. 3 shows a sequence of characters in the store including the word "name"; which is in the B section of the store. Every " form " character has a " 1 " for its mark bit-this being denoted by a box in Fig. 3-and the character immediately following form data also has a " 1 " for its mark bit. A character position is designated a tab point by having a mark bit of " 1 " and by the next character position having a mark bit of " 0 ". Thus the character position immediately following form data (which has a mark bit of " 1 ") will generally be a tab point, because it wil generally be followed by a character with a mark bit of " 0 ". However, tab points can clearly be established anywhere outside the field occupied by form data. Within any one frame of data, such as Fig. 2, only one of the cursor bit positions will contain a " 1". The character position in which this "1" occurs is the one into which, or from which, the next character will be read, and it is indicated by a special mark on the c.r.t. display so that a keyboard operator knows where the next character he keys will enter the store. Transfers from processor to store.-Data from the processor enters a small buffer store before being entered into the store. The data may comprise instruction characters or ordinary characters. Both types of characters are five bits long, the cursor and mark bits only being used within the circulating store. Form data has to be preceded and followed by the instructions SO and SI. Variable data will generally be preceded by the instruction " Tab ". Assuming that the cursor bit occupies the very first character position of the frame (top left in Fig. 2) the transfer of form data is as follows. As each complete character enters the buffer store from the processor it is examined to see if it is one of the special instruction characters. For the transfer under consideration the first character will be the instruction SO. When it is recognized it sets various triggers and causes itself to be erased from the buffer. Subsequent characters in the buffer, supposing that they are not instruction characters, are then entered sequentially into the store starting at the character position occupied by the " 1 " cursor bit. The cursor bit is erased (i.e. set to " 0 ") and a cursor bit of " 1 " is not re-entered until the transfer is complete-thus being indicated by a " buffer empty " signal-and a cursor bit of "1" is then entered into the next character position. Also during the entry of data following the instruction SO, every character is given a mark bit of " 1 " to indicate that it is form data. Eventually, the instruction SI will be detected indicating the end of the form data. It causes itself to be entered into the character position next to the last form character. If a "tab" instruction is received in the buffer from the processor, it causes the cursor bit in the store to be erased and the mark bits in every following pair of words to be examined (by reading them into a two bit shift register) and when a tab point is found, which requires a mark bit of " 1" followed by a mark bit of " 0 ", the cursor bit is re-entered. Thus a " tab " instruction shifts the cursor bit to the next tab point. Transfers from keyboard to store.-These transfers are generally similar to those described above, for example depression of a tab key causes the cursor bit to be shifted to the next tab point, and the operator can see this happen on the c.r.t. display, but there are two additional facilities. Firstly, the keyboard cannot overright form data, if this is attempted the cursor jumps to the next tab point, and secondly, a " scan " key can be depressed causing, whilst it is held depressed, the cursor bit to advance one character position for each cycle of the store (about 100/sec.), but if when the scan key is released the cursor bit is in a form character position it immediately jumps to the next tab point. Transfer from store to processor.-Depression of the appropriate key will cause either the A or B section of the store to be transmitted to the processor. However, cursor and mark bits are not transmitted and nor are blank character positions. The processor therefore needs to know where the tab points were in order to recognize when the field from which the data is being transmitted changes. This is achieved by detecting the tab points in the data in the circulating store and inserting a five-bit tab point character in the data stream that passes to the processor, before the character position in which it occurs.