WRITE-PROTECT APPARATUS FOR BIT MAPPED MEMORY

Abstract: A pattern write protect system (23) approximates a memory area (31) for data entry with a multiplicity of rectangles and determines when a point for entry is within the window by establishing a relative position of the address point coordinates to the coordinates of the sides of the rectangles. A less than/greater than signal for each address coordinate relative to the sides of each rectangle is derived. These signals are summed and the resulting sum signals are then multiplied to provide an enable gate signal.

Description: The invention pertains generally to the field of electronic graphic systems and more particularly to write-protecting areas or patterns of a bit mapped memory used in these graphic systems. Graphic systems typically use full field or bit mapped memories configured in an X, Y plane format to hold information for utilisation in the generation of a graphic display. These memories are X and Y addressed for entering one bit of data at each addressed point. Data stored in this manner is subsequently displayed on a CRT as an X, Y plane graphic. A vector generator, directed by a central processing unit (CPU) software, creates a display for entry into the bit map memory. In a real time graphic system, speed or execution time is an important factor. This speed may be achieved by using a set of routines each configured to draw different parts of the display. These routines are repeated for each frame of the display system with only the input data altered to reflect dynamic changes. This procedure, however, may cause segments of one routine to be drawn over an area controlled by another routine when the input coordinates are changed. In the prior art this over lapping is eliminated with software having limits set therein which, when exceeded, cause unwanted segments of a routines display to be erased. These prior art remedies, however, require additional execution time, thus adversely affecting the speed of the display system. Some prior write-protect circuits use a PROM mask. These masks require large PROM sizes, extra chips to latch addresses and to multiplex output signals, and exhibit slow access times. A need exists for a write-protect system capable of detecting when a write operation is inside or outside of a specified area or pattern with sufficient speed to respond within a single write operation. JP-A-59 059 669 which is equivalent to US-A-4 736 200 (published on 05 April 1988 after the priority date of the present specification) and was published on 01 June 1984, discloses a graphic processing apparatus with a clipping circuit which comprises a clip register storing coordinates of points defining a display designation clip area. The contents of the clip register and an address supplied to a bit map memory are compared by a comparator. Control operation for clipping is performed such that only data falling within the clip area is written in the bit map memory in accordance with the comparison result of the comparator. The present invention is defined in the appended claims and in accordance therewith pattern write protection for bit map memories is accomplished by providing interior/exterior detection for a multiplicity of defined rectangles. The detection circuits are combined to provide an output that indicates whether a write attempt is being made inside or outside of a desired pattern. This output signal is coupled to the bit map memory enable terminal, thus permitting data entry only when the write attempt is within the specified pattern. Combinational logic is used for detector circuits, requiring only three gate delays between the address input terminals and the enable terminal of the bit memory. Apparatus in accordance with the present invention will now be described in greater detail, by way of example, with reference to the accompanying drawings, in which:- Figure 1 is a partial block diagram of a graphic display system, Figure 2 is an illustration of a vertical situation display window, Figure 3 is an approximation to the window of Figure 2 formed by superposing three rectangles, Figure 4 illustrates the window formation of Figure 3, Figure 5 is a logic diagram of an interior/exterior detector for a pattern formed with N rectangles, and Figure 6 is a logic diagram for an interior/exterior detector for the pattern of Figure 4 with specified rectangular boundries. Referring to Figure 1, a block diagram of apparatus for entering data into a bit mapped memory to establish therein a graphic display in X-Y format is presented. Data from a central processing unit 11 is coupled via a data bus 12 to a vector generator 13, wherefrom vector data and address codes are coupled via line 15 and buses 16, 17 to a bit mapped memory 14. Vector data on line 15 is stored in the bit mapped memory 14 at points determined by the X address code on the bus 16 and the Y address code on the bus 17, each X, Y address having one bit of vector data stored therein. The vector generator 13 additionally provides an enable signal coupled to an OR gate 21 via a line 22 and a position signal to a pattern write protect circuit 23 via a line 24. The pattern write protect circuitry 23 couples a low level signal to the OR gate 21 via a line 25 when the vector data on line 15 is for entry within a permissible region of the X-Y display and a high level signal to the OR gate 21 otherwise. When a low level signal is coupled from the OR gate 21 to the enable terminal of the bit mapped memory 14, the vector data on the line 15 may be written therein at the addressed position. In Figure 2 a representation of a vertical situation display is shown. This display contains a window having a periphery 31 within which a Roll Pitch Indicator 32 is displayed. To prevent the deletion of data that is displayed outside the window, the Roll-Pitch Indicator 32 must be contained within the periphery 31. The periphery 31 may be approximated by superposing a multiplicity of rectangles as shown in Figures 3 and 4. In these figures X coordinates increase to the right and Y coordinates increase down as shown in Figure 3. By superposing three rectangles I, II and III, having the corner coordinates shown, the window periphery may be approximated as shown in Figure 4. The pattern write protect circuit 23 of Figure 1 performs to ensure that the Roll-Pitch indicator 32 is displayed solely within the periphery of the window 31. Though Figures 3 and 4 show an approximation to the window by superposing three rectangles, it should be evident that a finer approximation to the window periphery may be obtained by using additional rectangles. The coordinates of each point on the Roll-Pitch Indicator 32, originating in the vector generator 13, are coupled to the pattern write protect circuit 23 wherein a comparison with the coordinates of the rectangles approximating the window periphery 31 is made. In Figure 5 a circuit is shown wherein each point on the Roll-Pitch Indicator 32 is compared with the boundary coordinates of the rectangles that are used to approximate the window periphery 31. A comparator 35 provides a low level signal when the X coordinate of the point is equal to or greater than the X coordinate of the line X₁₀, while a comparator 36 provides a low level signal when the X coordinate of the point is equal to or less than the coordinate of the line X₁₁. Similarly, a comparator 37 provides a low level signal when the Y coordinate of the point is equal to or greater than the Y coordinate of the Y₁₀ and a low level signal when the Y coordinate of the point is equal to or less than the Y coordinate of the line Y₁₁. Thus four low level signals are coupled to an OR gate 39 to provide a low level output signal therefrom. If a point on the Roll-Pitch Indicator 32 is not within the rectangle I, at least one output signal of the comparators 35 - 38 will be at a high level, thereby establishing a high level signal at the output terminal of the OR gate 39. Similar comparisons are made for all the rectangles approximating the window periphery 31 to provide low level signals at OR gates having input terminals coupled to the comparators for each rectangle when a point on the Roll-Pitch Indicator 32 is within that rectangle. The output terminals of each OR gate, such as 39, 40, and 41, are coupled to the input terminals of an AND gate 42. If the point on the Roll-Pitch Indicator 32 is in any one of the rectangles approximating the periphery 31, that point is within the window boundary and is eligible for display. Since the AND gate 42 provides a low level signal at the output terminal thereof when at least one input terminal has a low level signal coupled thereto, it is evident that a low level signal at the output terminal of the AND gate 42 indicates that the point is within the window boundary. The output terminal of the AND gate 42 is coupled to one input terminal of the OR gate 21, the second input terminal of which, as previously stated, is coupled to receive enabling signals from the vector generator 13. The OR gate 21 therefor provides a low level signal to enable the bit mapped memory 14 during the generation of the Roll-Pitch Indicator 32 for each point generated that is within the periphery 31 of the window, otherwise a high level signal is provided to the enable terminal of the bit mapped memory 14 and the point is not entered for subsequent display. Refer now to Figure 6 wherein a preferred embodiment of a comparator for the three rectangle approximation to the window is shown. This comparator forms a sum of products (SOP) of selected bits from the address of each point. Each boundary may require more than one selected bit of the boundary for proper comparison and thus may require more than one product for each coordinate. Consider the boundaries for the three rectangles of Figure 4 as shown in Table 1. Each boundary is represented by a nine-bit binary number as shown in the Table. It should be evident that all X coordinate values, within the coordinate range of interest, that are less than the X value of the boundary X₁₀ show zeros for the binary digits X₈ and X₇. By inverting these binary digits and multiplying in an AND gate 51 a high level signal will be provided when ever an X coordinate is less than the X value of the boundary X₁₀ and a low level signal will appear at the output terminals of the AND gate 51 when the X-coordinate exceeds the value of the boundary X₁₀. It is further evident from Table I that points having X coordinates that are less than the coordinate of the X boundary X₁₁ will have at least one zero for the X₈ and X₇ digits. Coupling these digit levels to an AND gate 52 therefore provides a low level signal at the output terminal of the AND gate 52 which persists until the X coordinate of the point exceeds the X₁₁ position. At this time a high level signal exists for both the X₈ and X₇ digits, causing a high level signal to appear at the output terminal of the AND gate 52. AND gates 53, 54, 55 and 56 provide the logic for the determination that the Y coordinate of the point is greater than the value Y₁₀ and less than the value Y₁₁. Coupling inverted digits Y₈ and Y₇ to the AND gate 53 provides a low level signal for all binary values greater than 001111111 and the product of the inverted digits Y₈, Y₆ and Y₅ given by the AND gate 54 provides a high level signal for all digital values between 001111111 and 010100000 and thereafter a low level signal. Thus the AND gates 53, 54 both provide low level signals for all values greater than Y₁₀, while at least one provides a high level signal for values less than Y₁₀. Logic for the upper boundary of the Y coordinates is provided by AND gates 55, 56. Binary digits Y₈ and Y₇ are coupled to the input terminals of the AND gate 55 while binary digits Y₈ and Y₆ are coupled to the input terminals of the AND gate 56. The AND gate 55 provides low level signals for all digital values equal to or less than 101111111 after which a high level signal will appear for coordinate values up to and including 111111111. The AND gate 56 will provide high level signals between the binary numbers 111111111 and 101000000 inclusive and a low level signal for all binary values of interest above and below this range. Though both the AND gates 55 and 56 provide low level signals for the Y coordinate of the point greater than the 111111111, high level signals are provided by the AND gates 53 and 54 for the remainder of the binary values of interest. The output terminals of the AND gates 51 - 56 are coupled to an OR gate 57, the output terminal of which is coupled to an input terminal of an AND gate 58. When the X and Y coordinates of a point are within the boundaries of the rectangle I, the OR gate 57 couples a low level signal to the AND gate 58, otherwise the OR gate 57 couples a high level signal to the AND gate 58. Similarly, low and high level signals are respectively coupled from an OR gates 61 and 62 to the AND gate 58 to indicate the location of a point relative to the rectangles II and III. Should at least one low level signal be coupled to the AND gate 58, thereby indicating a point that is within at least one of the rectangles, the AND gate 58 couples a low level signal to one terminal of the OR gate 21, the other terminal of which is coupled to receive the write enable signal from the vector generator 13. Thus the OR gate 21 couples a low level signal to the bit mapped memory 14 when a write enable signal is received from the vector generator 13 and a point for entry into in the memory is within one of the rectangles representative of the display window.

Claims: An apparatus for enabling data entry to a memory unit (14), arranged in accordance with a defined coordinate system, at selected coordinate locations within a boundary specified to define a data entry window (31) within said memory unit (14), the apparatus having means (13) for providing address coordinate signals of data for entry into the memory unit, characterised in that the apparatus comprises write protect means (23) coupled to receive the address coordinate signals and arranged to approximate the window with a multiplicity of overlapping planar geometrical figures (I,II,III) each having a predetermined boundary in said memory for providing an enabling signal to said memory unit that permits entry of data when the address coordinate signal of the data is within at least one of the multiplicity of planar geometrical figures. Apparatus in accordance with claim 1, wherein the address coordinate signals are binary signals containing a multiplicity of binary digits and the write protect means includes first product means (51-56) for multiplying a selected binary digit of an address coordinate signal by at least one other selected binary digit of that address coordinate signal to provide location signals representative of the address coordinate of the data entry relative to boundaries of the geometrical figures, sum means (57,61,62) coupled to receive the location signals for providing position signals representative of the address coordinate of the data entry relative to each of the geometrical figures, and second product means (58) coupled to receive the position signals for providing a signal representative of the address coordinate relative to the data entry window. Apparatus in accordance with claim 2, wherein the first and second product means are AND gates and the sum means is an OR gate. Apparatus in accordance with any of the preceding claims, wherein the geometrical figures are rectangles.

Inventors: MULKERN, JOSEPH
Applicants: HONEYWELL INC.
Application year: 1985
Main classification: G09G1
IPC codes: G09G1, G06T11, G06F3, G06F12, G09G5, G06T1