-
Die vorliegende Erfindung betrifft einen graphischen
Anzeigeregler zum Steuern eines Anzeigespeichers und Zeichnen
von Figuren auf einen Schirm in einer gerastert
abgetasteten Anzeige, und insbesondere einen solchen Regler mit
einer Begrenzungsfunktion zum Abschneiden oder Begrenzen
eines Zeichenbereichs von Figuren auf einem Anzeigeschirm.
-
Eine Begrenzungsfunktion wird dazu verwendet, Figuren nur
in einem innenliegenden (oder außenliegenden) Bereich eines
Rechtecks zu zeichnen, das eine Diagonale hat, welche durch
zwei Koordinatendaten auf einem Anzeigeschirm definiert
ist. Dieses Rechteck wird im Folgenden
"Begrenzungsrechteck" genannt. Wenn die Figurendaten eines ersten
Bereichs unter Verwendung der Begrenzungsfunktion auf einen
zweiten Bereich übertragen werden, der einen Teil aufweist,
welcher in einem Zeichnen-möglich-Bereich enthalten ist,
welcher durch das Begrenzungsrechteck definiert ist,
sollten nur Daten des Teils des zweiten Bereichs durch die
Figurendaten des ersten Bereichs ersetzt werden. Gemäß dem
Stand der Technik werden die Koordinatendaten jedes Punktes
mit den vorstehend erwähnten zwei Koordinatendaten
verglichen, um den Teil des zweiten Bereichs zu detektieren, der
den Zeichnen-möglich-Bereich, welcher durch das
Begrenzungsrechteck definiert ist, überlappt, und die Daten des
Teils des zweiten Bereiches werden Bit für Bit durch
Figurendaten des ersten Bereichs ersetzt. Aus diesem Grund ist
eine beträchtlich lange Prozeßzeit erforderlich.
-
Durch die US-A-4736200 ist ein graphischer Apparat mit
einer Begrenzungsfunktion bekannt. Er hat ein Grenzregister,
das Koordinaten der Punkte speichert, welche einen
vorbestimmten bezeichneten Begrenzungsbereich in der
Koordinatenebene definieren. Der Inhalt des Begrenzungsregisters
wird mit den Adressen eines Bitkartenspeichers, der ein
graphisches Muster speichert, das logisch der
Koordinatenebene entspricht, verglichen, um zu bestimmen, ob die
Adresse in den bezeichneten Begrenzungsbereich fällt. In
Übereinstimmung mit dem Vergleichsergebnis werden nur
Daten, die in den bezeichneten Begrenzungsbereich fallen,
gesteuert durch eine Speichersteuerung, in den
Bitkartenspeicher, eingeschrieben.
Zusammenfassung der Erfindung
-
Daher ist es ein Ziel der vorliegenden Erfindung, einen
graphischen Anzeigeregler zu schaffen, der eine
Begrenzungsfunktion mit hoher Geschwindigkeit ausführt. Ein
anderes Ziel der vorliegenden Erfindung ist es, einen
graphischen Anzeigeregler zu schaffen, der ohne komplizierten
Schaltungsaufbau Figurendaten mit hoher Geschwindigkeit auf
einen Zeichnen-möglich-Bereich überträgt, der durch ein
Begrenzungsrechteck definiert ist.
-
Gemäß der vorliegenden Erfindung hat ein graphischer
Anzeigeregler eine Funktion zum Übertragen von Abbildungsdaten
auf einen Zielbereich 203 mit einem Teil 203-1, der in
einem Zeichnen-möglich-Bereich 201 enthalten ist, welcher
durch ein Begrenzungsrechteck 200 definiert ist, dessen
Diagonale durch erste und zweite Koordinatendaten Xmin,
Ymin; Xmax, Ymax definiert ist, wobei der Regler besteht
aus einer Speichereinrichtung 33-36 zum temporären
Speichern dritter Koordinaten (X'min, Ymin) relativ zu den
ersten Koordinatendaten und vierter Koordinatendaten (Xmax,
Ymax) relativ zu den zweiten Koordinatendaten, und eine
Vergleichereinrichtung 30 zum Vergleichen der
Koordinatendaten, die die jeweiligen der Wörter bezeichnen, welche den
Zielbereich bilden, mit den dritten und vierten
Koordinaten,
um ein Vergleichsergebnis 01, 02 zu erzeugen, der
dadurch gekennzeichnet ist, daß das von der
Vergleichereinrichtung erzeugte Vergleichsergebnis einen ersten Status
einnimmt, in welchem das bezeichnete Wort innerhalb des
Zeichnen-möglich-Bereichs ist oder einen zweiten Status
einnimmt, in welchem die bezeichneten Daten außerhalb des
Zeichnen-möglich-Bereichs sind, oder einen dritten Status
einnimmt, bei dem das bezeichnete Wort eine Grenze des
Zeichnen-möglich-Bereichs enthält, und daß der Regler
weiterhin aufweist eine erste
Information-Erzeugungseinrichtung 70, 80, 90, 110; 120, 130; 140, 150, 160, 170, 300,
310, die auf das Vergleichsergebnis und auf Information
anspricht, welche für die Grenze des
Zeichnen-möglich-Bereichs repräsentativ ist, um eine erste Information zu
erzeugen, die alle Bits des bezeichneten Wortes bezeichnet,
wenn das Vergleichsergebnis den ersten Status einnimmt,
keine Bits des bezeichneten Worts bezeichnet, wenn das
Vergleichsergebnis den zweiten Status einnimmt, und das Bit
oder die Bits des bezeichneten Worts, das oder die im
Zeichnen-möglich-Bereich enthalten sind, bezeichnet, wenn
das Vergleichsergebnis den dritten Status einnimmt, eine
zweite Informations-Erzeugungs-Einrichtung 60, 70, 80, 100,
110; 120, 140, 150, 160, die auf die Position des
bezeichneten Wortes und Information anspricht, die für die Grenze
des Zielbereichs repräsentativ ist, um eine zweite
Information zu erzeugen, die alle Bits des bezeichneten Wortes
bezeichnet, wenn das bezeichnete Wort die Grenze des
Zielbereichs nicht enthält und das Bit oder die Bits des
bezeichneten Worts bezeichnet, die im Zielbereich enthalten sind,
wenn das bezeichnete Wort die Grenze des Zielbereichs
enthält, und eine Schreibeinrichtung 180, 190, die an die
ersten und zweiten Informations-Erzeugungseinrichtungen
gekoppelt ist, um Figurendaten in das Bit oder die Bits
einzuschreiben, welche durch beide, die erste und zweite
Information in jedem Wort des Zielbereiches bezeichnet sind.
-
Bei der vorliegenden Erfindung werden die Koordinatendaten
jedes Wortes, nicht jedes Bits, des Zielbereichs mit den
ersten und zweiten Koordinatendaten verglichen, die zur
Definition des Begrenzungsrechteckes verwendet werden, und
die Daten jedes Wortes, nicht jedes Bits, des Zielbereichs
werden kontrolliert, ob sie durch die Figurendaten ersetzt
werden sollen oder nicht. Dadurch wird die Prozeßzeit
verkürzt. Darüberhinaus werden die erste Information, die für
die Begrenzungsmasken-Information repräsentativ ist, und
die zweite Information, die für die
Zeichenmaskeninformation repräsentativ ist, unabhängig voneinander erzeugt.
Wenn das Vergleichsergebnis angibt, daß die
Koordinatendaten des Wortes des Zielbereichs innerhalb des
Zeichnen-möglich-Bereichs, der durch das Begrenzungsrechteck definiert
ist, liegen, bezeichnet die erste Information alle Bits,
deren Daten in das Wort eingeschrieben werden dürfen. Wenn
zu diesem Zeitpunkt die zweite Information ähnlich alle
Bits bezeichnet, deren Daten wiedereingeschrieben werden
dürfen, werden die Daten aller Bits dieses Wortes wieder
eingeschrieben oder durch die zu zeichnenden Figurendaten
ersetzt. Auf der anderen Seite werden für den Fall, daß die
zweite Information mehrere Bits bezeichnet, nicht alle
Bits, deren Daten geschrieben werden, sondern nur die
Daten, die durch die Figurendaten ersetzt werden,
wiedereingeschrieben. Wenn das Vergleichsergebnis ergibt, daß die
Koordinatendaten des Wortes des Zielbereichs außerhalb des
Zeichnen-möglich-Bereichs liegen, bezeichnet die erste
Information kein Bit, dessen Datum wiedereingeschrieben
werden darf, weil dieses Wort ausserhalb des Zeichnen-möglich-
Bereichs liegt. Die Daten aller Bits dieses Wortes werden
dabei nicht wiedereingeschrieben, und zwar ungeachtet der
zweiten Maskeninformation. Wenn das Vergleichsergebnis
angibt, daß die Koordinatendaten des Wortes des Zielbereichs
die gleichen wie die Grenze des Zeichnen-möglich-Bereichs
sind, bezeichnet die erste Information eine Vielzahl von
Bits, aber nicht alle Bits, die innerhalb des
Zeichnen-möglich-Bereichs
liegen. Als Ergebnis werden ein oder mehrere
Bits des Wortes, die sowohl durch die erste Information als
auch die zweite Information bezeichnet sind, durch die
Figurendaten wiedereingeschrieben. Somit sind nur die Daten
des Teils des Zielbereichs, der in dem
Zeichnen-möglich-Bereich enthalten ist, welcher durch das Begrenzungsrechteck
definiert ist, durch die zu zeichnenden Figurendaten
wiedereingeschrieben.
Kurze Beschreibung der Figuren
-
Die vorstehenden und andere Ziele, Vorteile und Merkmale
der vorliegenden Erfindung werden in der folgenden
Beschreibung anhand der begleitenden Figuren im einzelnen
erläutert. Es zeigt:
-
Fig. 1 ein Blockschaltbild, das eine Ausführungsform der
vorliegenden Erfindung repräsentiert;
-
Fig. 2 eine schematische Darstellung einer Beziehung
zwischen einem Begrenzungsrechteck, einem Datenquellenbereich
und einem Datenbestimmungs-Bereich;
-
Fig. 3 ein Blockschaltbild, welches eine
Koordinaten-Rechenschaltung wie in Fig. 1 gezeigt, darstellt;
-
Fig. 4 ein Blockschaltbild, das einen in Fig. 1 gezeigten
Begrenzungsvergleicher darstellt;
-
Fig. 5 ein Blockschaltbild, das eine in Fig. 1 gezeigte
Wortdetektorschaltung darstellt;
-
Fig. 6 ein Blockschaltbild, das eine in Fig. 1 gezeigte
Anzeigespeicher-Datenrechenschaltung darstellt; und
-
Fig. 7 ein Blockschaltbild, das eine andere Ausführungsform
der vorliegenden Erfindung darstellt.
Detaillierte Beschreibung der Erfindung
-
Bezugnehmend auf Fig. 1 empfängt ein graphischer
Anzeigeregler 1 gemäß einer Ausführungsform der vorliegenden
Erfindung Instruktionen von einem Hauptrechner 2 und leitet
einen Anzeigespeicher 3. Der Regler 1 bzw. die Steuerung
zeichnet weiterhin verschiedene Figuren auf einem
Anzeigeschirm
einer Kathodenstrahl-Röhre CRT 4 unter Verwendung
der Datenkammer, die im Anzeigespeicher 3 gespeichert sind.
Die CRT 4 wird vom Regler 1 mit synchronisierenden Signalen
versorgt. Der graphische Anzeigeregler 1 hat einen
Programmgeber 10, der unterschiedliche Zeitschaltsignale und -
daten erzeugt, um die Instruktionen vom Hauptrechner 2
auszuführen. Der Regler 1 hat weiterhin einen
Begrenzungsvergleicherabschnitt 5 in Übereinstimmung mit der vorliegenden
Erfindung. Bevor die Beschreibung einer Konstruktion und
einer Operation des Begrenzungsvergleicher-Abschnitts 5
durchgeführt wird, wird im Folgenden die
Begrenzungsfunktion bezogen auf die Operation der Figurendatenübertragung
anhand der Figur 2 beschrieben.
-
Fig. 2 zeigt einen Anzeigeschirm der Kathodenstrahlröhre 4
und eine Horizontalrichtung des Anzeigeschirms ist als X-
Achse definiert, und eine Vertikalrichtung desselben ist
als Y-Achse definiert. Jeder der Punkte des Anzeigeschirms
entspricht einem der Bits des Anzeigespeichers 3. Daher
kann das in der Fig. 2 gezeigte Diagramm als eine
Speicherkarte des Anzeigespeichers 3 betrachtet werden und jedes
Bit des Anzeigespeichers 3 hat individuelle
Koordinatendaten am Anzeigeschirm. Der Anzeigespeicher 3 besteht aus
einer Vielzahl von Worten, von denen jedes aus 16 Bits
aufgebaut ist. Die Koordinatendaten jedes Wortes oder jedes Bits
repräsentieren auch die Adressendaten desselben. In der
Fig. 2 repräsentiert jeder der Buchstaben W&sub1; bis W&sub1;&sub0; jede
der Grenzen der Worte, die in Richtung der X-Achse
angeordnet sind. Das Begrenzungsrechteck 200 ist als ein Rechteck
definiert, das eine Diagonallinie aufweist, deren eines
Ende an der ersten Begrenzungskoordinate (Xmin, Ymin)
positioniert ist, und deren anderes Ende an einer zweiten
Begrenzungskoordinate (Xmax, Ymax) positioniert ist. Im
Innenbereich 201 des Begrenzungsrechteckes 200 ist ein
Zeichnen-möglich-Bereich vorgesehen. Das heißt, Figuren können
nur innerhalb dieses Zeichnen-möglich-Bereichs 201
gezeichnet
werden. Falls gewünscht, kann ein Außenbereich des
Begrenzungsrechteckes 200 als ein Zeichnen-möglich-Bereich
verwendet werden. Wie in der Fig. 2 gezeigt, liegt die
linke Seite des Begrenzungsrechteckes 200 von der
Wortgrenze W&sub1; um die Anzahl von Bits entfernt, die als erste
Versetzdaten "LINKS" repräsentiert sind, und die rechte
Seite des Begrenzungsrechteckes liegt von der Wortgrenze W&sub7;
um die Anzahl von Bits entfernt, die als zweite
Versetzdaten "RECHTS" repräsentiert sind. Ein Sourcebereich 202
umfaßt Figurendaten, die übertragen werden sollen, und diese
Figurendaten werden auf einen Zielbereich 203 in
Abhängigkeit von einer Bit-Blockier-übertragungs-Instruktion, die
vom Hauptrechner 2 zugeführt wird. Dieser Zielbereich 203
ist ein rechteckiger Bereich mit einer Diagonallinie,
welche durch zwei Koordinaten repräsentiert durch Xs, Ys und
Xe, Ye definiert ist, und hat die gleiche Größe wie der
Source-Bereich 202. Darüberhinaus hat der Zielbereich 203
einen Teil 203-1, der durch Schräglinien bezeichnet ist,
und in dem Zeichnen-möglich-Bereich enthalten ist, welcher
durch das Begrenzungsrechteck 200 definiert ist. Die linke
Seite des Zielbereiches 203 ist von der Wortgrenze W4 um
die Anzahl der Bits entfernt, die als dritte Versatzdaten
"DS" repräsentiert sind, und die rechte Seite desselben hat
zur Wortgrenze W&sub1;&sub0; einen Abstand um die Anzahl der Bits,
die als vierte Versetzdaten "DE" repräsentiert sind. Da nur
der Teil 203-1 des Zielbereiches 203 in dem
Zeichnen-möglich-Bereich 201 enthalten ist, werden nicht alle
Figurendaten des Sourcebereiches 202 auf den Zielbereich 203
übertragen, sondern nur die Daten des Teils 203-1 des
Zielbereiches 203 werden eingeschrieben oder durch die
Figurendaten des entsprechdenden Teils des Sourcebereiches 202
ersetzt.
-
Um diese Datenübertragung mit hoher Geschwindigkeit
durchzuführen, führt der Begrenzungs-Durchführungsabschnitt 5
des graphischen Anzeige-Reglers 1 gemäß Fig. 1 eine
Datenverarbeitungs-Operation in Worteinheiten durch und erzeugt
eine Begrenzungsmasken-Information und
Zeichenmasken-Information unabhängig voneinander. Die
Begrenzungsmasken-Information wird durch eine Koordinaten-Rechenschaltung 20,
einen Begrenzungsvergleicher 30, eine Wählsteuerung 50,
Register 70, 80, 90, 110, 120 und 130, Vervielfacher 140 und
160, einen Masken-ROM (Festspeicher)-160 und ein
Begrenzungsmasken-Register 170 erzeugt.
-
Die Koordinaten-Rechenschaltung 20 berechnet die
X-Koordinaten und Y-Koordinaten-Daten eines Startbits LSB jedes
Wortes, nicht diejenigen jedes Bits, im Zielbereich 203.
Die Konstruktion der Schaltung 20 ist in der Fig. 3
gezeigt. Als Ausgangskoordinatendaten schreibt der
Programmgeber 10 einen Wert der X-Koordinatendaten Xs in ein
Register 22 und einen Wert der Y-Koordinatendaten Ys in ein
Register 23, und zwar jeweils über einen Vervielfacher 201.
Die X-Koordinatendaten Xs' repräsentieren das Startbit des
Wortes, welches das Bit hat, das durch die X-Koordinaten-
Daten Xs bezeichnet ist. Die Koordinatendaten Xs' werden
durch Ändern von weniger signifikanten Bits der Koordinate
Xs in "0000" erhalten. Die Anfangs-X-Koordinatendaten X's
und Y's repräsentieren einen Punkt E, der in der Fig. 2
gezeigt ist. Die Inhalte der Register 22 und 23 werden über
einen Vervielfacher 26 in Zeitmultiplexbetrieb einem
Begrenzungsvergleicher 30 und weiter einem Addierwerk 28
zugeführt. Wenn der Vervielfacher 26 den Inhalt des Registers
22 wählt, wählt ein Vervielfacher 27 ein Register 24 und
überträgt den Inhalt desselben auf das Addierwerk 28. Das
Register 24 speichert einen Wert von 16 in Dezimal, das
heißt 10 (H)" bezeichnet eine hexadezimale Repräsentation.
Das Addierwerk 28 addiert den Inhalt des Registers 24 auf
den Inhalt des Registers 22 und führt das Resultat über den
Vervielfacher 21 zurück zum Register 24. Wenn der Inhalt
des Registers 22 die X-Koordinatendaten erreicht, die das
letzte Wort in derselben Horizontallinie des Zielbereiches
203 repräsentieren, wählt der Vervielfacher 26 den Inhalt
des Registers 23. Der Vervielfacher 27 wählt somit ein
Register 25, welches einen Wert 1 speichert. Das Addierwerk
28 addiert den Inhalt des Registers 23 und führt das
Resultat zurück zum Register 23. In das Register 22 werden
danach wieder die Anfangsdaten Xs' eingeschrieben. Somit
werden die X-Koordinatendaten und Y-Koordinatendaten, die das
Startbit jedes Wortes bezeichnen, welches im Zielbereich
203 enthalten ist, durch die Koordinatenrechenschaltung 20
berechnet und dann der Reihe nach dem
Begrenzungsvergleicher 30 zugeführt.
-
Der Begrenzungsvergleicher 30 vergleicht die
X-Koordinatendaten X und Y-Koordinatendaten Y, die von der Koordinaten-
Rechenschaltung 20 zugeführt worden sind, mit den ersten
und zweiten Begrenzungskoordinatendaten Xmin, Ymin und
(Xmax und Ymax) um das Wort oder die Worte des
Zielbereiches 203 zu detektieren, die in dem
Zeichnen-möglich-Bereich enthalten sind. Da die X-Koordinatendaten X, die von
der Schaltung 20 zugeführt worden sind, das Startbit jedes
Wortes im Zielbereich 203 bezeichnen, wird das erste
Begrenzungs-X-Koordinatendatum Xmin vorzugsweise in ein
erstes virtuelles X-Koordinatendatum Xmin umgewandelt,
welches das Startbit (LSB) des Wortes bezeichnet, welches das
Bit hat, welches durch die erste Begrenzungs-X-Koordinate
Xmin bezeichnet ist. Auf ähnliche Art und Weise wird das
zweite Begrenzungs-X-Koordinatendatum Xmax vorzugsweise in
ein zweites virtuelles X-Koordinatendatum X'max
umgewandelt, welches das Startbit (LSB) des Wortes bezeichnet,
welches das Bit aufweist, welches durch das zweite
Begrenzungs-X-Koordinatendatum Xmax bezeichnet ist. Die ersten
und zweiten virtuellen X-Koordinatendaten X'min und Xmax
werden durch Ändern der Werte der weniger signifikanten
vier Bits der ersten und zweiten
Begrenzungs-X-Koordinatendaten Xmin bzw. Xmax in "0000" erhalten. Das heißt, der
Begrenzungsvergleicher 30 verwendet ein virtuelles
Begrenzungsrechteck,
welches durch vier Punkte A, B, C und D, wie
in der Fig. 2 gezeigt, definiert ist, um eine
Vergleichsoperation in Worteinheiten durchzuführen. Somit führt der
Begrenzungsvergleicher 30 die folgenden vier arithmetischen
Operationen bezogen auf die X- und Y-Koordinatendaten jedes
Wortes des Zielbereiches 203 aus.
-
X - Ymin, Y - Ymax
-
X - X'min, X - X'max
-
Wie in der Figur 4 gezeigt schreibt der Programmgeber 10 in
einem Anfangszustand das erste virtuelle X-Koordinatendatum
X'min, das zweite virtuelle X-Koordinatendatum X'max, das
erste Begrenzungs-Y-Koordinatendatum Ymin und das zweite
Begrenzungs-Y-Koordinatendatum Xmax jeweils in die Register
33, 34, 35 und 36. Die errechneten X-Koordinaten und
Y-Koordinaten-Daten X und Y, die von der
Koordinaten-Rechenschaltung 20 erzeugt worden sind, werden jeweils in die
Register 31 und 32 eingeschrieben. Ein Vervielfacher 37 führt
die Inhalte der Register 31 und 32 im Zeitmultiplex-Betrieb
einem ersten Satz Eingangsanschlüsse I&sub1; eines Subtrahierers
39 zu. Wenn der Vervielfacher 37 den Inhalt des Registers
31 wählt, leitet ein Vervielfacher 38 die Inhalte der
Register 33 und 34 einem zweiten Satz Eingangsanschlüsse I&sub2; des
Subtrahierers 39 in Zeitmultiplexbetrieb zu. Wenn der
Vervielfacher 37 das Register 32 wählt, leitet der
Vervielfacher 38 die Inhalte der Register 35 und 36 im
Zeitmultiplexbetrieb dem Subtrahierer 39 zu. Der Subtrahierer 39 hat
erste und zweite Ausgangsanschlüsse O&sub1; und O&sub2;. Der erste
Ausgangsanschluß O&sub1; nimmt nur dann logisch "1" ein, wenn
das erste Datum DI&sub1;, das dem ersten Eingangsanschluß I&sub1;
zugeführt worden ist, größer als das zweite Datum DI&sub2; ist,
welches dem zweiten Eingangsanschluß I&sub2; zugeführt worden
ist, und der zweite Ausgangsanschluß O&sub2; nimmt logisch "1"
nur dann ein, wenn die ersten und zweiten Daten DI&sub1; und DI&sub2;
einander gleich sind. Der Begrenzungsvergleicher 30 führt
die erste Vergleichsoperation bezogen auf die
Y-Koordinatendaten durch und danach bezüglich der X-Koordinatendaten.
Somit detektiert der Begrenzungsvergleicher 30 das Wort
oder die Worte im Zielbereich 203, die innerhalb des
virtuellen Begrenzungsrechteckes, definiert durch die Punkte A,
B, C und D wie in der Fig. 2 dargestellt, enthält.
-
Die Wählschaltung 50 (Fig. 1) empfängt und speichert die
Vergleichsergebnisse des Begrenzungsvergleichers 2 und
erzeugt Wählsteuersignale, um die Vervielfacher 140 und 150
zu steuern. Die Steuerung 50 empfängt weiterhin
Detektionsausgänge einer Wortdetektorschaltung 40, die später
beschrieben wird, und ein Steuersigna1 30-1, welches
repräsentiert, daß der Begrenzungsvergleicher 30 die
Vergleichsoperation durchführt, vom Begrenzungsvergleicher 30. Wenn
die Steuerung 50 mit dem Steuersignal 30-1 gespeist wird,
empfängt sie nicht die Detektionsausgänge von der Schaltung
40. In diesem Zustand wählt der Vervielfacher 140 nur die
Register 70, 80 und 90, und der Vervielfacher 150 wählt
eines der Register 110, 120 und 130 in Abhängigkeit von den
Wählsteuersignalen, die von der Steuerung 50 zugeführt
worden sind.
-
Da der Begrenzungsvergleicher 30 das virtuelle
Begrenzungsrechteck verwendet, das durch die Punkte A, B, C und D, wie
in der Fig. 2 gezeigt, definiert ist, wenn das
X-Koordinatendatum X mit dem ersten oder zweiten virtuellen
X-Koordinatendatum X'min oder X'max übereinstimmt, ist eine
Korrektur erforderlich, um die wahre Begrenzungsmaskeninformation
zu erhalten. Zu diesem Zweck werden die ersten und zweiten
Versatzdaten links und rechts jeweils von dem Programmgeber
10 in die Register 90 und 130 eingeschrieben. Die Register
70 und 110 speichern einen Wert "0" und die Register 80 und
120 speichern einen Wert "F" (beispielsweise "1111"). In
Übereinstimmung mit den Vergleichsausgängen vom
Begrenzungsvergleicher 30 werden die Vervielfacher 140 und 150
durch die Wählsteuerung 150 wie in der folgenden Tabelle 1
gezeigt, gesteuert.
Tabelle 1
Y-Koordinaten-Vergleich
X-Koordinaten-Vergleich
Ausgang MPX 140
Ausgang MPX 150
unabhängig vom Signal-Pegel
"LINKS"
"RECHTS"
-
Die Ausgangsdaten der Vervielfacher 140 und 150, das heißt
8 Bitdaten insgesamt, werden dem Masken-ROM-160 als
Adresseninformation zugeführt. Ausgehend davon, daß die Anzahl
der Bits, die durch die ersten Versatzdaten "LINKS"
repräsentiert sind, 5 ist und die Anzahl repräsentiert durch die
zweiten Versatzdaten "RECHTS" 10 ist, erzeugt der Masken-
ROM 160 eine Begrenzungsmasken-Information bestehend aus 16
Bits und wie in der folgenden Tabelle 2 angegeben in
Abbängigkeit von der Adresseninformation, die von den
Vervielfachern 140 und 150 zugeführt worden ist.
Tabelle 2
Ausgang am MPX 140
Ausgang am MPX 150
Begrenzungsmaskeninformation vom Masken-ROM 160
"LINKS"
"RECHTS"
-
In der Tabelle 2 repräsentiert "0" der
Begrenzungsmaskeninformation die Information Zeichnen-unmöglich. Das heißt,
die Daten des entsprechenden Bits des Zielbereiches 203
müssen nicht wiedereingeschrieben werden oder durch die
Figurendaten des Sourcebereiches 202 ersetzt werden.
Andererseits repräsentiert "1" der Begrenzungsmaskeninformation
die Information Zeichnen-möglich, bei der die Daten des
entsprechenden Bits des Zielbereiches 203 durch die
Figurendaten des Sourcebereiches 202 wiedereingeschrieben
werden dürfen. Im einzelnen eine Tatsache, daß das errechnete
Y-Koordinatendatum Y des Wortes im Zielbereich 203 kleiner
als das erste Begrenzungs-Y-Koordinatendatum Ymin oder
größer als das zweite Begrenzungs-Y-Koordinatendatum Xmax
ist, wodurch repräsentiert ist, daß alle Bits dieses Wortes
außerhalb des Zeichnen-möglich-Bereiches 201 liegen. Daher
nehmen alle Bits der Begrenzungsmasken-Information "0"
(d.h. die Zeichnen-unmöglich-Information) ungeachtet des X-
Koordinatendatums X des Wortes ein. Wenn Y ≥ Ymin und Y ≤
Ymax ist, ist das Wort im Zielbereich 203 innerhalb des
Zeichnen-möglich-Bereiches 201, bezogen auf die
Y-Koordinate anwesend und daher wird die
Begrenzungsmasken-Information durch das X-Koordinatendaten-Vergleichsergebnis
bestimmt. Das Bestimmungsergebnis ist wie folgt (siehe auch
Tabelle 1 und Tabelle 2):
-
(l) X > X'min und X < X'max
-
Da alle Bits des Wortes des Zielbereiches 203 in dem
Zeichnen-möglich-Bereich enthalten sind, nehmen alle Bits der
Begrenzungsmasken-Information die
Zeichnen-möglich-Information, d.h. alle "1" ein.
-
(2) X = X'min und X < X'max
-
Da das Wort des Zielbereiches 203 die linke Seite des
Zeichnen-möglich-Bereiches 201 enthält, sind die Daten vom
Startbit (LSB) bis zum Bit, welches durch das erste
Versatzdatum, (d.h. das erste Korrekturdatum) "LINKS"
bezeichnet ist, "0" (die Zeichen-unmöglich-Information) und die
verbleibenden Bits nehmen "1" ein.
-
(3) X > X'min und X = X'max
-
Da das Wort des Zielbereiches 203 die rechte Seite des
Zeichnen-möglich-Bereiches 201 umfaßt, nehmen die Daten vom
Startbit (LSB) zum Bit, welches durch das zweite
Versatzdatum (d.h. das zweite Korrekturdatum) "RECHTS" bezeichnet
ist, "1" ein, und die verbleibenden Daten nehmen "0" ein.
-
(4) X = X'min und X = X'max
-
Da das Wort des Zielbereiches 203 sowohl die linke als auch
die rechte Seite des Zeichnen-möglich-Bereiches 201 enthält
sind die Daten vom Startbit (LSB) bis zum Bit, welches
durch das erste Versatzdatum "LINKS" bezeichnet ist, "0"
und die Daten von dem Bit als nächstes zum durch das erste
Versatzdatum "LINKS" bezeichnete Bit bis zu dem Bit,
bezeichnet durch das zweite Versatzdatum "RECHTS" bezeichnet
ist, sind "1", wobei die verbleibenden Bits "0" einnehmen.
-
(5) X < X'min oder X > X'max
-
Da das Wort des Zielbereiches 203 außerhalb des
Zeichnenmöglich-Bereiches 201 vorliegt, nehmen alle Bits der
Begrenzungsmaskeninformation "0" ein.
-
Somit wird die Begrenzungsmaskeninformation vom Masken-ROM
160 in Abhängigkeit von der Beziehung zwischen dem
Zeichnen-möglich-Bereich 201 und dem Ort jedes Wortes des
Zielbereiches 203 erzeugt. Da der Masken-ROM 160 verwendet
wird, wird eine unterschiedliche
Begrenzungsmaskeninformation ohne eine komplizierte Schaltungskonstruktion erzeugt.
Der Ausgang des Vervielfachers 140 wird dem ROM 160 als
signifikantere Adresseninformation und der Ausgang des
Vervielfachers 150 demselben als weniger signifikante
Adresseninformation zugeführt.
-
Das Steuersignal 30-1 vom Begrenzungsvergleicher 30 wird
weiterhin dem Begrenzungsmasken-Register 170 als ein
Speichern-möglich-Signal zugeführt. Das Register 170 speichert
die Begrenzungsmasken-Information in Abhängigkeit von
Änderung des Signals 30-1 von einem aktiven Pegel in einen
inaktiven Pegel, das heißt, wenn der Begrenzungsvergleicher
30 die Koordinatendaten-Vergleichsoperation mit Bezug auf
ein Wort im Zielbereich 203 beendet. Die im Register 170
gespeicherte Begrenzungsmasken-Information wird einer UND-
Gate-Schaltung 180, bestehend aus sechszehn UND-Gates,
zugeführt.
-
Wenn der Begrenzungsvergleicher 30 die Koordinatendaten-
Vergleichsoperation beendet, das heißt, wenn das
Steuersignal auf einen inaktiven Pegel geändert worden ist,
empfängt die Wählsteuerung 50 die Detektionsausgänge der Wort-
Detektorschaltung 40 anstatt der Ergebnisse vom Vergleicher
30. Somit startet eine Verarbeitungs-Operation zum Erzeugen
der Zeichenmasken-Information. Die
Zeichenmasken-Information wird dazu verwendet, den Zielbereich 203 zu definieren
und wird durch die Wort-Detektorschaltung 40, die
Wählsteuerung 50, die Register 60, 70, 100 und 120, die
Vervielfacher 140 und 150 und den Masken-ROM 160 erzeugt. Die
Register 80, 90, 110 und 130 werden nicht verwendet.
-
Die Wort-Detektorschaltung 40 detektiert, welche Anzahl von
Worten im Zielbereich 203 verarbeitet ist und führt die
Detektionsausgänge der Steuerung 50 zu. Wie in der Fig. 5
gezeigt, hat die Schaltung 40 ein Wortnummernregister 42, in
welchem die Anzahl der Worte in horizontaler Richtung des
Zielbereiches 203 von dem Programmgeber 10 über einen
Vervielfacher 42 in einem Anfangszustand eingeschrieben wird.
Ein Steuersignal, das zum Steuern des Vervielfachers 41
verwendet wird, damit die Daten vom Programmgeber 10 auf
das Register 42 übertragen werden, wird dem ersten
Ausgangsanschluß O&sub4;&sub1; der Schaltung 40 zugeführt. Demgemäß
nimmt der Ausgangsanschluß 0&sub4;&sub1; nur dann logisch "1" ein,
wenn das erste Wort (d.h. das Wort am linken Ende) in
horizontaler Richtung des Zielbereiches 203 verarbeitet ist.
Der Inhalt des Registers 42 wird einem Eingangsende eines
Subtrahierers 44 zugeführt, dessen anderes Ende von einem
Register 43 mit einem Wert "1" gespeist wird. Der
Subtrahierer 44 subtrahiert den Inhalt des Registers 43 vom
Inhalt des Registers 42 und leitet das Ergebnis zurück zum
Register 42. Das Subtraktionsergebnis des Subtrahierer 44
wird weiterhin einem Null-Detektor 45 zugeführt, der an
einem zweiten Ausgangs-Anschluß 0&sub4;&sub2; logisch "1" erzeugt, wenn
das Ergebnis des Subtrahierers 44 Null ist. Demgemäß nimmt
der zweite Ausgangs-Anschluß 0&sub4;&sub2; logisch "1" ein, wenn das
letzte Wort (d.h. das Wort am rechten Ende) in
Horizontalrichtung des Zielbereiches 203 verarbeitet ist. Wenn die
Worte (d.h. die dazwischenliegenden Worte) mit Ausnahme der
ersten und letzten Worte in Horizontalrichtung des
Zielbereiches 203 verarbeitet sind, nehmen beide, der Ausgangs-
Anschluß 0&sub4;&sub1; als auch O&sub4;&sub2; logisch "0" ein. Obwohl nicht
dargestellt wird logisch "1" vom zweiten Ausgangs-Anschluß
O&sub4;&sub2; dem Programmgeber 10 zugeführt, sodaß der Programmgeber
10 die Anzahl der Worte über den Vervielfacher 41 in das
Register 42 einschreibt, wenn die Verarbeitungsoperation
bezogen auf das letzte Wort in Horizontalrichtung des
Zielbereiches 203 beendet ist. Zu diesem Zeitpunkt schreibt der
Programmgeber 10 weiterhin den Anfangs-X-Koordinaten-Wert
X's in das Register 22 (siehe Fig. 3) der
Koordinaten-Rechenschaltung 20.
-
Die Wählsteuerung 50 empfängt die Detektionsausgänge der
Wortdetektorschaltung 40 und erzeugt Wählsteuersignale für
die Vervielfacher 140 und 150, die ihrerseits jeweils eines
der Register 60 und 70 und eines der Register 100 und 120
auswählen.
-
Da die Datenverarbeitungsoperation in Worteinheiten
durchgeführt wird, ist die Korrektur unter Verwendung der
dritten und vierten Versatz-Daten "DS" und "DE" erforderlich,
um die Zeichenmaskeninformation zu erhalten. Zu diesem
Zweck werden die dritten und vierten Versatzdaten "DS" und
"DE" jeweils durch den Programmgeber 10 in die Register 60
und 100 eingeschrieben.
-
In Übereinstimmung mit den Detektorausgängen der
Wort-Detektorschaltung 40 werden die Vervielfacher 140 und 150
durch die Wählsteuerung 50 gesteuert, wie dies in der
folgenden Tabelle 3 gezeigt ist.
Tabelle 3
verarbeitetes Wort
Ausgang am MPX 140
Ausgang am MPX 150
1. Wort (Wort am linken Ende)
letztes Wort (Wort am rechten Ende)
andere Worte (dazwischenliegende Worte)
-
Die Ausgänge der Vervielfacher 140 und 160, d.h. acht
Bitdaten insgesamt werden dem Masken-ROM 160 als
Adresseninformation zugeführt. Angenommen, daß ein Wert der dritten
Versatzdaten "DS" acht ist und daß die vierten Versatzdaten
"DE" vier sind, erzeugt der Masken-ROM die Zeichenmasken-
Information bestehend aus 16 Bits und wie in der folgenden
Tabelle 4 angegeben.
Tabelle 4
Ausgang MPX 140
Ausgang MPX 150
Zeichenmaskeninformation vom Masken-ROM 160
-
In der Tabelle 4 repräsentiert "0" der
Zeichenmasken-Information die Information Zeichnen-unmöglich und "1"
repräsentiert die Information Zeichnen-möglich. Genauer gesagt,
wenn das erste Wort in horizontaler Richtung des
Zielbereiches 203 verarbeitet wird, umfaßt dieses Wort die linke
Seite des Zielbereiches 203. Demgemäß sind die Daten vom
Startbit (LSB) bis zum Bit, welches das Versatzdatum "DS"
bezeichnet, "0" und die verbleibenden Bits nehmen "1" ein.
Das letzte Wort in Horizontalrichtung des Zielbereiches 203
umfaßt die rechte Seite des Zielbereiches 203 und daher
nehmen die Daten vom Startbit (LSB) bis zum Bit, welches
durch das Versatzdatum "DE" bezeichnet ist, "1" ein, und
die verbleibenden Bits nehmen "0" ein. Mit Bezug auf die
dazwischenliegenden Worte nehmen alle Bits der
Zeichenmaskeninformation "1" ein. Somit wird die
Zeichenmasken-Information zum Definieren des Warenzeichenbereiches 203 aus dem
Masken-ROM 160 erzeugt und dann der UND-Gate-Schaltung 180
zugeführt.
-
Die UND-Gate-Schaltung 180 hat 16 UND-Gates (nicht
dargestellt), von denen jedes die zugehörigen Bit-Daten der
Zeichenmasken-Information und der
Begrenzungsmasken-Information
empfängt. Daher erzeugt jedes der UND-Gates nur dann
logisch "1", wenn die zugehörigen Bitdaten der
Zeichenmasken-Information und der Begrenzungsmasken-Information "1"
einnehmen, (das heißt der Zeichnen-möglich-Information):
Der Ausgang der UND-Gate-Schaltung 180 wird einer
Anzeigespeicherdaten-Rechenschaltung 190 zugeführt, deren
Konstruktion in der Fig 6 gezeigt ist. Diese Schaltung 190
hat sechzehn Einheitsblöcke 190-0 bis 190-15, von denen
jedoch nur zwei Einheitsblöcke 190-0 und 190-15 in der Fig.
dargestellt sind, weil jeder Block die gleiche Struktur
hat. Der erste Block 190-0 hat ein Source-Register 191-0,
das die LSB-Daten eines Wortes im Sourcebereich 202
speichert, ein Zielregister 192-0, welches die LSB-Daten
des entsprechenden Wortes im Ziel-Bereich 203 speichert und
einen Vervielfacher 193-0. Der letzte Block 190-15 hat ein
Source-Register 191-15, welches die MSB-Daten des Wortes im
Sourcebereich 202 speichert, ein Ziel-Register 192-15,
welches die MSB-Daten des Wortes im Zielbereich 203
speichert, und einen Vervielfacher 193-15. Jeder
Vervielfacher 193 wählt das Source-Register 191, wenn der
Ausgang des zugehörigen UND-Gates logisch "1" ist, und das
Zielregister 192, wenn der Ausgang desselben logisch "0"
ist. Die Schaltung 190 ist über eine Datenbusleitung 195
mit dem Anzeigespeicher 3 verbunden.
-
Wenn der Programmgeber 10 die
Bitblock-Übertragungsinstruktion vom Hauptrechner 2 erhält, liest er die sechzehn Bit-
Daten des Wortes, welches am linken Ende und am unteren
Ende des Source-Bereiches 202 positioniert ist, vom
Anzeigespeicher 3 und schreibt dann diese über die
Busleitung 195 in die Source-Register 191-0 bis 191-5. Der
Programmgeber 10 liest weiterhin die sechzehn-Bit-Daten des
zugehörigen Wortes des Zielbereiches 203, der durch die Y-
Koordinatendaten Y-s und X-Koordinatendaten X's bezeichnet
ist, und schreibt diese dann in die Zielregister 192-0 bis
192-15. Darüberhinaus schreibt der Programmgeber 10 die
vorstehend erwähnten Anfangskoordinaten-Daten, die Anzahl
der Worte und die ersten bis vierten Versatzdaten jeweils
in die vorbestimmten Register. Als ein Ergebnis wird die
Koordinaten-Vergleichsoperation durchgeführt und es wird
dann die Begrenzungsmasken-Information und die
Zeichenmasken-Information erzeugt. Bei der in der Fig. 2
gezeigten Ausführungsform ist das Wort des Zielbereiches
203, das durch die Y-Koordinatendaten Ys und X-
Koordinatendaten X's bezeichnet ist, außerhalb des
Zeichnen-möglich-Bereiches 201, und daher nehmen alle Bits
des Ausgangs an der UND-Gate-Schaltung 180 "0" ein. Als ein
Ergebnis wählen die Vervielfacher 193-0 bis 193-15 (siehe
Fig. 6) die Zielregister 192-0 bis 192-15 und geben dann
deren Inhalte auf die Busleitung 195, die ihrerseits das
Wort des Zielbereiches 203 in den Anzeigespeicher 3 bringt.
Das heißt, die Daten dieses Wortes werden nicht
wiedereingeschrieben mit den Figurendaten des zugehörigen Wortes des
Source-Bereiches 202. Wenn das Wort des Zielbereiches 203,
das durch die Y-Koordinate Ye und die X-Koordinate X's
bezeichnet ist, verarbeitet ist, ist dieses Wort vollständig
im Zeichnen-möglich-Bereich 201 enthalten, umfaßt aber die
linke Seite des Zielbereiches 203. Daher werden die Daten
vom Startbit (LSB) bis zum Bit, welches durch das
Versatzdatum "DS" bezeichnet ist, des Ausgangs an der UND-Gate-
Schaltung 180 "0" und die verbleibenden Bits nehmen das
Datum "1" ein. Als ein Ergebnis werden die Daten vom Startbit
bis zum durch das Versatzdatum "DS" bezeichneten Bit des
Wortes im Zielbereich 203 so wie sie sind aufrechterhalten
und die Daten der verbleibenden Bits werden mit den
Figurendaten der zugehörigen Bits des Wortes im Source-Bereich
202 wiedereingeschrieben. Somit wird nur der Teil 203-1 des
Zielbereiches 203 mit den Figurendaten des zugehörigen
Teils des Source-Bereiches 202 wiedereingeschrieben. Die
Begrenzungsfunktion der Bitblock-Übertragungs-Instruktion
ist damit durchgeführt.
-
Eine andere Ausführungsform der vorliegenden Erfindung ist
in der Fig. 7 gezeigt, bei der die gleichen Bestandteile
wie in der Fig. 1 mit den gleichen Bezugsziffern bezeichnet
sind, um eine weitere Beschreibung derselben weglassen zu
können. Bei dieser Ausführungsform sind ein Vervielfacher
300 und eine Inversionsschaltung 310 vorgesehen. Der
Vervielfacher 300 empfängt die Begrenzungsmasken-Information
vom Masken-ROM 160 und die umgekehrte Information desselben
über die Inversionsschaltung 310. Wenn der Vervielfacher
300 den Ausgang der Inversionsschaltung 310 in Abhängigkeit
von logisch "1" eines Wählsteuersignals 300-1 wählt, das
vom Programmgeber 10 zugeführt worden ist, sperrt das
Begrenzungsmasken-Register 170 die umgekehrte
Begrenzungsmasken-Information. Daher wird der Außenbereich des
Begrenzungsrechteckes 200 als Zeichnen-möglich-Bereich verwendet
und die Daten eines Teils des Zielbereiches 203, die im
Außenbereich des Begrenzungsrechteckes 200 enthalten sind,
werden mit den Figurendaten des zugehörigen Teils des
Source-Bereiches 202 wiedereingeschrieben. Wenn das Wähl-
Steuer-Signal 300-1 logisch "0" einnimmt, wird die
Begrenzungsmasken-Information, die am ROM 160 erzeugt worden ist,
im Begrenzungsmasken-Register 170 so wie sie ist,
gespeichert. Daher wird die gleiche Operation wie bei der in der
Fig. 1 gezeigten Schaltung erzielt.
-
Bei einer anderen Ausführungsform können die ersten und
zweiten Begrenzungs-X-Koordinatendaten Xmin und Xmax als
Referenz-X-Koordinatendatum beim Begrenzungsvergleicher 20
verwendet werden. In diesem Fall kann die
Begrenzungsfunktion für das Zeichnen einer geraden Linie oder eines
Kreises
in Punkteinheiten ausgeführt werden. Die
Begrenzungsmaskeninformation und die Zeichenmaskeninformation können
gleichzeitig miteinander durch einen einzigen ROM erzeugt
werden.